diff --git a/.gitignore b/.gitignore index 3f7b265..85ecb73 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ apbs-1.2.1-source.tar.gz /apbs-1.3-source.tar.gz /APBS-1.4-source.tar.gz +/apbs-1.5.tar.gz +/apbs-pdb2pqr-dfb858d32674438fb8c21421acc86e21667eb8cb.tar.gz +/apbs-pdb2pqr-vAPBS-3.0.0.tar.gz +/apbs-3.0.0.tar.gz diff --git a/LGPL_V2 b/apbs-LGPL_V2 similarity index 100% rename from LGPL_V2 rename to apbs-LGPL_V2 diff --git a/apbs-c99.patch b/apbs-c99.patch new file mode 100644 index 0000000..4a5b282 --- /dev/null +++ b/apbs-c99.patch @@ -0,0 +1,23 @@ +Partial backport of this commit, to avoid an implicit declaration of +getpid and future build failures: + +Author: Noah Oblath +Date: Mon Jan 24 15:33:56 2022 -0800 + + Nsoblath/issue 163 (#171) + +diff -ur apbs-3.0.0.orig/contrib/iapbs/src/apbs_driver.c apbs-3.0.0/contrib/iapbs/src/apbs_driver.c +--- apbs-3.0.0.orig/contrib/iapbs/src/apbs_driver.c 2020-05-30 03:47:30.000000000 +0200 ++++ apbs-3.0.0/contrib/iapbs/src/apbs_driver.c 2023-02-06 07:58:46.215007012 +0100 +@@ -18,6 +18,11 @@ + + #include "apbs_driver.h" + ++#ifdef WIN32 ++#include ++#else ++#include ++#endif + + /*! \def MAX_BUF_SIZE + \brief Buffer size for internal APBS string input. diff --git a/apbs-cmake.patch b/apbs-cmake.patch index 73a7fd3..c457571 100644 --- a/apbs-cmake.patch +++ b/apbs-cmake.patch @@ -1,13 +1,22 @@ ---- CMakeLists.txt_orig 2014-06-18 01:28:14.361212184 -0700 -+++ CMakeLists.txt 2014-06-23 22:11:12.124786178 -0700 +--- a/apbs/CMakeLists.txt_orig 2018-05-20 13:00:17.451341064 -0400 ++++ b/apbs/CMakeLists.txt 2018-05-20 13:00:47.917440250 -0400 @@ -1,4 +1,5 @@ - cmake_minimum_required (VERSION 2.6) -+SET(CMAKE_POSITION_INDEPENDENT_CODE ON) +-cmake_minimum_required (VERSION 3.12) ++cmake_minimum_required(VERSION 3.13...4.0) ++set(CMAKE_POSITION_INDEPENDENT_CODE ON) ################################################################################ - # TODO: Add option to build documentation at compile time -@@ -56,10 +57,10 @@ - set(TOOLS_PATH ${APBS_ROOT}/tools) + # TODO: Add licensing and authorship information +@@ -7,7 +8,6 @@ + # (configure.ac:1306) + ################################################################################ + set(CMAKE_VERBOSE_MAKEFILE true) +-cmake_policy(SET CMP0054 OLD) + cmake_policy(SET CMP0042 NEW) + set(CMAKE_MACOSX_RPATH 1) + +@@ -70,10 +71,10 @@ + set(TOOLS_PATH ${APBS_BUILD}/tools) set(APBS_BINARY ${EXECUTABLE_OUTPUT_PATH}/apbs) -set(LIBRARY_INSTALL_PATH lib) @@ -18,101 +27,127 @@ -set(SHARE_INSTALL_PATH share/apbs) +set(SHARE_INSTALL_PATH ${SHARE_INSTALL_PREFIX}/apbs) - find_file( - CONTRIB_PATH -@@ -84,14 +85,14 @@ + set(APBS_LIBS) + set(APBS_LIB_DIRS) +@@ -85,7 +86,7 @@ + PATHS "${APBS_ROOT}" + DOC "The path to the external git submodules") +-set(SYS_LIBPATHS /usr/lib64) ++#set(SYS_LIBPATHS /usr/lib64) + #list(APPEND SYS_LIBPATHS /usr/lib64) + + +@@ -139,11 +140,6 @@ + ################################################################################ message(STATUS "Setting lookup paths for headers and libraries") -set(CMAKE_INCLUDE_PATH "${CMAKE_INCLUDE_PATH}") -list(APPEND CMAKE_INCLUDE_PATH /usr/include) -list(APPEND CMAKE_INCLUDE_PATH /usr/local/include) - --set(SYS_LIBPATHS "") --list(APPEND SYS_LIBPATHS /usr/lib) --list(APPEND SYS_LIBPATHS /usr/local/lib) --list(APPEND SYS_LIBPATHS /lib/x86_64-linux-gnu) -+#set(CMAKE_INCLUDE_PATH "${CMAKE_INCLUDE_PATH}") -+#list(APPEND CMAKE_INCLUDE_PATH /usr/include) -+#list(APPEND CMAKE_INCLUDE_PATH /usr/local/include) -+ -+#set(SYS_LIBPATHS "") -+#list(APPEND SYS_LIBPATHS /usr/lib) -+#list(APPEND SYS_LIBPATHS /usr/local/lib) -+#list(APPEND SYS_LIBPATHS /lib/x86_64-linux-gnu) +- + ################################################################################ + # Enable ansi pedantic compiling # + ################################################################################ +@@ -307,12 +303,12 @@ + ################################################################################ + if(NOT ENABLE_FETK) + # We'll use autotools to build MALOC if FETK is enabled. +- add_subdirectory(${EXTERNALS_PATH}/fetk/maloc) +- include_directories(${EXTERNALS_PATH}/fetk/maloc/src/base +- ${EXTERNALS_PATH}/fetk/maloc/src/vsys +- ${EXTERNALS_PATH}/fetk/maloc/src/vsh +- ${EXTERNALS_PATH}/fetk/maloc/src/psh) +- list(APPEND APBS_LIB_DIRS ${EXTERNALS_PATH}/fetk/maloc/lib) ++ #add_subdirectory(${EXTERNALS_PATH}/fetk/maloc) ++ #include_directories(${EXTERNALS_PATH}/fetk/maloc/src/base ++ # ${EXTERNALS_PATH}/fetk/maloc/src/vsys ++ # ${EXTERNALS_PATH}/fetk/maloc/src/vsh ++ # ${EXTERNALS_PATH}/fetk/maloc/src/psh) ++ #list(APPEND APBS_LIB_DIRS ${EXTERNALS_PATH}/fetk/maloc/lib) + list(APPEND APBS_LIBS maloc) + endif() - set(APBS_LIBS "") - -@@ -854,29 +855,29 @@ +@@ -778,10 +774,10 @@ + ################################################################################ # Set up additional directories to install # ################################################################################ +-install(DIRECTORY ${APBS_ROOT}/doc +- DESTINATION ${SHARE_INSTALL_PATH} +- PATTERN "programmer" EXCLUDE +- PATTERN "CMakeLists.txt" EXCLUDE) ++#install(DIRECTORY ${APBS_ROOT}/doc ++# DESTINATION ${SHARE_INSTALL_PATH} ++# PATTERN "programmer" EXCLUDE ++# PATTERN "CMakeLists.txt" EXCLUDE) --install( -- DIRECTORY ${APBS_ROOT}/doc -- DESTINATION ${SHARE_INSTALL_PATH} --) + if(BUILD_DOC) + install(DIRECTORY ${APBS_BUILD}/doc/programmer +@@ -791,27 +787,11 @@ + PATTERN "mainpage.h" EXCLUDE) + endif() + +-install(DIRECTORY ${APBS_ROOT}/examples +- DESTINATION ${SHARE_INSTALL_PATH}) - --install( -- DIRECTORY ${APBS_ROOT}/examples -- DESTINATION ${SHARE_INSTALL_PATH} --) -- --install( -- DIRECTORY ${APBS_ROOT}/tests -- DESTINATION ${SHARE_INSTALL_PATH} -- FILES_MATCHING +-install(DIRECTORY ${APBS_ROOT}/tests +- DESTINATION ${SHARE_INSTALL_PATH} +- FILES_MATCHING - PATTERN "*.py" -- PATTERN "README" --) +- PATTERN "README") - --install( -- DIRECTORY ${APBS_ROOT}/tools -- DESTINATION ${SHARE_INSTALL_PATH} -- PATTERN "CMakeLists.txt" EXCLUDE --) -+#install( -+# DIRECTORY ${APBS_ROOT}/doc -+# DESTINATION ${SHARE_INSTALL_PATH} -+#) -+ -+#install( -+# DIRECTORY ${APBS_ROOT}/examples -+# DESTINATION ${SHARE_INSTALL_PATH} -+#) -+ -+#install( -+# DIRECTORY ${APBS_ROOT}/tests -+# DESTINATION ${SHARE_INSTALL_PATH} -+# FILES_MATCHING -+# PATTERN "*.py" -+# PATTERN "README" -+#) -+ -+#install( -+# DIRECTORY ${APBS_ROOT}/tools -+# DESTINATION ${SHARE_INSTALL_PATH} -+# PATTERN "CMakeLists.txt" EXCLUDE -+#) +-if(BUILD_TOOLS) +- install(DIRECTORY ${APBS_ROOT}/tools +- DESTINATION ${SHARE_INSTALL_PATH} +- USE_SOURCE_PERMISSIONS +- PATTERN "CMakeLists.txt" +- PATTERN "matlab" EXCLUDE) +- +- if(NOT "${APBS_ROOT}" STREQUAL "${APBS_BUILD}") +- install(DIRECTORY ${APBS_BUILD}/tools/bin ++if(NOT "${APBS_ROOT}" STREQUAL "${APBS_BUILD}") ++ install( ++ DIRECTORY ${APBS_BUILD}/tools/bin + DESTINATION ${SHARE_INSTALL_PATH}/tools + USE_SOURCE_PERMISSIONS) +- endif() + endif() + ################################################################################ +@@ -880,7 +860,7 @@ + set(CPACK_PACKAGE_NAME "${PACKAGE_NAME}") + set(CPACK_PACKAGE_DESCRIPTION "APBS - Adaptive Poisson Boltzmann Solver") +-set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/../LICENSE.md") ++set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.md") + set(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README.md") ---- src/CMakeLists.txt_orig 2014-06-23 19:57:35.108270115 -0700 -+++ src/CMakeLists.txt 2014-06-23 22:25:44.469683936 -0700 -@@ -32,10 +32,10 @@ + set(CPACK_SOURCE_IGNORE_FILES "${PROJECT_BINARY_DIR};/.git/;.gitignore;/tools/matlab/") +--- a/apbs/src/CMakeLists.txt_orig 2018-05-20 13:00:20.518351049 -0400 ++++ b/apbs/src/CMakeLists.txt 2018-05-20 13:00:47.917440250 -0400 +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 2.8) ++cmake_minimum_required(VERSION 3.13...4.0) + + macro(add_items TYPE) + +@@ -32,11 +32,11 @@ message(STATUS "With external header files ${EXTERNAL_HEADERS}") message(STATUS "With internal header files ${INTERNAL_HEADERS}") message(STATUS "With library dependencies ${LIBRARY_DEPENDENCIES}") -- add_library(${LIBRARY_NAME} SHARED ${SOURCES} ${EXTERNAL_HEADERS} ${INTERNAL_HEADERS}) +- add_library(${LIBRARY_NAME} ${SOURCES} ${EXTERNAL_HEADERS} ${INTERNAL_HEADERS}) - target_link_libraries(${LIBRARY_NAME} ${LIBRARY_DEPENDENCIES}) + add_library(${LIBRARY_NAME} OBJECT ${SOURCES} ${EXTERNAL_HEADERS} ${INTERNAL_HEADERS}) + # target_link_libraries(${LIBRARY_NAME} ${LIBRARY_DEPENDENCIES}) + #add_dependencies(${LIBRARY_NAME} ${LIBRARY_DEPENDENCIES}) INSTALL(FILES ${EXTERNAL_HEADERS} DESTINATION ${HEADER_INSTALL_PATH}/${LIBRARY}) - INSTALL(TARGETS ${LIBRARY_NAME} DESTINATION ${LIBRARY_INSTALL_PATH}) + # INSTALL(TARGETS ${LIBRARY_NAME} DESTINATION ${LIBRARY_INSTALL_PATH}) list(APPEND APBS_INTERNAL_LIBS ${LIBRARY_NAME}) set(APBS_INTERNAL_LIBS ${APBS_INTERNAL_LIBS} PARENT_SCOPE) message(STATUS "Added ${LIBRARY_NAME}") -@@ -46,12 +46,19 @@ +@@ -45,6 +45,11 @@ add_subdirectory(generic) add_subdirectory(pmgc) add_subdirectory(mg) @@ -121,27 +156,38 @@ +SET_TARGET_PROPERTIES(apbs PROPERTIES SOVERSION "1") +target_link_libraries(apbs ${LIBRARY_DEPENDENCIES}) +INSTALL(TARGETS apbs LIBRARY DESTINATION ${LIBRARY_INSTALL_PATH}) + if(ENABLE_FETK) add_subdirectory(fem) - endif(ENABLE_FETK) +@@ -56,7 +61,7 @@ + message(STATUS "External Headers: ${EXTERNAL_HEADERS}") + #add_executable(apbs main.c routines.c) -add_executable(apbs main.c apbs.h routines.c routines.h) --target_link_libraries(apbs ${APBS_LIBS} ${APBS_INTERNAL_LIBS}) +add_executable(apbs-bin main.c apbs.h routines.c routines.h) -+# target_link_libraries(apbs ${APBS_LIBS} ${APBS_INTERNAL_LIBS)} + message(STATUS " ") + message(STATUS "APBS Libraries: ${APBS_LIBS}") + message(STATUS "Internal Libraries: ${APBS_INTERNAL_LIBS}") +@@ -64,7 +69,8 @@ + + #add_dependencies(apbs ${BEM_LIB}) + #target_include_directories(apbs PRIVATE apbs.h routines.h) +-target_link_libraries(apbs ${APBS_LIBS} ${APBS_INTERNAL_LIBS} ${APBS_LIBS}) +target_link_libraries(apbs-bin ${APBS_LIBS} apbs) +SET_TARGET_PROPERTIES(apbs-bin PROPERTIES OUTPUT_NAME apbs) + #add_dependencies(apbs ${APBS_LIBS} ${APBS_INTERNAL_LIBS} ${APBS_LIBS}) configure_file( - ${APBS_ROOT}/src/config/apbscfg.h.in -@@ -59,4 +66,4 @@ - ) +@@ -79,6 +85,6 @@ + endif() INSTALL(FILES apbs.h routines.h DESTINATION ${HEADER_INSTALL_PATH}) -INSTALL(TARGETS apbs DESTINATION ${EXECUTABLE_INSTALL_PATH}) +INSTALL(TARGETS apbs-bin DESTINATION ${EXECUTABLE_INSTALL_PATH}) ---- tools/manip/CMakeLists.txt_orig 2014-06-23 20:06:51.205468128 -0700 -+++ tools/manip/CMakeLists.txt 2014-06-23 22:17:44.103764752 -0700 + + message(STATUS ${CMAKE_C_FLAGS}) +--- a/apbs/tools/manip/CMakeLists.txt_orig 2018-05-20 13:00:31.831387880 -0400 ++++ b/apbs/tools/manip/CMakeLists.txt 2018-05-20 13:07:07.742714938 -0400 @@ -1,9 +1,10 @@ message(STATUS "Building manip") @@ -153,9 +199,9 @@ +#list(APPEND LIBS "apbs_mg") +#list(APPEND LIBS "apbs_pmgc") +list(APPEND LIBS "apbs") - if(FETK_ENALBED) + if(FETK_ENABLED) list(APPEND LIBS "apbs_fem") - endif(FETK_ENALBED) + endif(FETK_ENABLED) @@ -11,7 +12,9 @@ message(STATUS "libraries: ${LIBS}") @@ -168,8 +214,8 @@ +target_link_libraries(born ${LIBS} ${APBS_LIBS}) + +INSTALL(TARGETS coulomb born DESTINATION ${EXECUTABLE_INSTALL_PATH}) ---- tools/mesh/CMakeLists.txt_orig 2014-06-23 19:47:12.897442708 -0700 -+++ tools/mesh/CMakeLists.txt 2014-06-23 22:16:27.230896796 -0700 +--- a/apbs/tools/mesh/CMakeLists.txt_orig 2018-05-20 13:00:26.966372042 -0400 ++++ b/apbs/tools/mesh/CMakeLists.txt 2018-05-20 13:00:47.917440250 -0400 @@ -1,9 +1,10 @@ message(STATUS "Building mesh") @@ -181,9 +227,9 @@ +#list(APPEND LIBS "apbs_mg") +#list(APPEND LIBS "apbs_pmgc") +list(APPEND LIBS "apbs") - if(FETK_ENALBED) + if(FETK_ENABLED) list(APPEND LIBS "apbs_fem") - endif(FETK_ENALBED) + endif(FETK_ENABLED) @@ -11,46 +12,48 @@ message(STATUS "libraries: ${LIBS}") @@ -248,3 +294,32 @@ +target_link_libraries(uhbd_asc2bin ${LIBS} ${APBS_LIBS}) + +INSTALL(TARGETS mgmesh smooth dxmath mergedx mergedx2 value multivalue benchmark similarity analysis dx2mol dx2uhbd del2dx tensor2dx uhbd_asc2bin DESTINATION ${EXECUTABLE_INSTALL_PATH}) +--- a/a/tools/python/CMakeLists.orig.txt 2020-05-30 03:47:30.000000000 +0200 ++++ b/b/tools/python/CMakeLists.txt 2025-07-24 20:56:31.152039088 +0200 +@@ -1,3 +1,4 @@ ++cmake_minimum_required(VERSION 3.13...4.0) + if (${CMAKE_VERSION} VERSION_GREATER "3.13") + CMAKE_POLICY(SET CMP0078 OLD) + CMAKE_POLICY(SET CMP0086 OLD) +@@ -23,18 +24,16 @@ + SET(CMAKE_SWIG_FLAGS "") + + SWIG_ADD_LIBRARY(apbslib +- #TYPE USE_BUILD_SHARED_LIBS ++ TYPE USE_BUILD_SHARED_LIBS + TYPE SHARED + LANGUAGE python + SOURCES apbslib.i) + + # Hack to get the correct shared library extensions. Why does Python suck so hard wrt to this? +-if(APPLE) +- set(CMAKE_SHARED_LIBRARY_SUFFIX ".so") +-endif(APPLE) ++set(CMAKE_SHARED_LIBRARY_SUFFIX ".so") + + # Another hack to get SWIG to use the the correct library extension! +-#SET_TARGET_PROPERTIES(${SWIG_MODULE_apbslib_REAL_NAME} PROPERTIES SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}) ++SET_TARGET_PROPERTIES(${SWIG_MODULE_apbslib_REAL_NAME} PROPERTIES SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}) + + SWIG_LINK_LIBRARIES(apbslib ${APBS_LIBS} ${APBS_INTERNAL_LIBS} ${Python3_LIBRARIES}) + diff --git a/apbs-exclude_tests.patch b/apbs-exclude_tests.patch new file mode 100644 index 0000000..5f64696 --- /dev/null +++ b/apbs-exclude_tests.patch @@ -0,0 +1,60 @@ +--- a/tests/test_cases.orig.cfg 2020-05-30 03:47:30.000000000 +0200 ++++ b/tests/test_cases.cfg 2021-11-01 11:30:08.175043842 +0100 +@@ -74,57 +74,3 @@ + apbs-mol : 1.847663548071E+03 1.883912182952E+03 2.732623683321E+03 3.123035854133E+03 -3.624863445503E+01 -3.904121297757E+02 -3.541635359318E+02 + apbs-smol : 1.847860440020E+03 1.885436377745E+03 2.734040568569E+03 3.125279428954E+03 -3.757593797629E+01 -3.912388198513E+02 -3.536628818750E+02 + +- +-[geoflow] +-input_dir : ../examples/geoflow +-imidazole : -1.030222099963E+01 5.417419E-01 +- +- +-[bem] +-input_dir : ../examples/bem +-451c_order1 : -1.172906546441e+03 +-451c_order5 : -1.175936034727E+03 +- +-[bem-pKa] +-input_dir : ../examples/bem-pKa +-ASH66 : -9.954199102140E-01 +-2LZT-ASH66 : -8.620097356247E+01 +-2LZT-noASH66 : -8.601110775968E+01 +- +-[bem-binding-energy] +-input_dir : ../examples/bem-binding-energy +-1d30 : -5.249027161163E+03 +-1d30_monomer1 : -6.232145066905E+03 +-1d30_monomer2 : -1.821470879387E+02 +- +- +-[pbam] +-input_dir : ../examples/pbam +-toy_energyforce : -4.965018552290E+01 -4.965018552290E+01 +- +-[pbsam] +-input_dir : ../examples/pbsam-gly +-gly_energyforce : 6.176608555569E-05 6.210593742215E-05 +- +- +-[protein-rna] +-input_dir : ../examples/protein-rna +-setup : python apbs_dx.py +-apbs-0.025 : 3.186122223752E+04 3.662855899462E+04 8.477786964834E+03 1.000545153104E+04 2.329205982055E+04 2.653636629928E+04 8.674116429353E+01 +-apbs-0.050 : 3.184763478312E+04 3.661493366846E+04 8.475252516617E+03 1.000292179294E+04 2.327168361816E+04 2.651594350839E+04 9.606836713866E+01 +-apbs-0.075 : 3.184033569905E+04 3.660761530545E+04 8.473669396547E+03 1.000134276339E+04 2.326088212207E+04 2.650511882057E+04 1.011537214883E+02 +-apbs-0.100 : 3.183548000794E+04 3.660274809589E+04 8.472507235893E+03 1.000018407412E+04 2.325372656922E+04 2.649794981016E+04 1.046142116108E+02 +-apbs-0.125 : 3.183190100647E+04 3.659916161996E+04 8.471585837513E+03 9.999265654586E+03 2.324845847155E+04 2.649267328362E+04 1.072226817610E+02 +-apbs-0.150 : 3.182909678356E+04 3.659635228953E+04 8.470821300868E+03 9.998503715551E+03 2.324433086171E+04 2.648854016160E+04 1.093084123761E+02 +-apbs-0.175 : 3.182680817429E+04 3.659406006570E+04 8.470167484600E+03 9.997852199372E+03 2.324096101131E+04 2.648516662194E+04 1.110412443877E+02 +-apbs-0.200 : 3.182488501939E+04 3.659213428941E+04 8.469596195763E+03 9.997282974485E+03 2.323812822097E+04 2.648233134327E+04 1.125199716537E+02 +-apbs-0.225 : 3.182323306491E+04 3.659048040133E+04 8.469088900775E+03 9.996777552566E+03 2.323569434544E+04 2.647989580221E+04 1.138070465620E+02 +-apbs-0.250 : 3.182178954360E+04 3.658903543806E+04 8.468632740499E+03 9.996323108319E+03 2.323356752071E+04 2.647776789284E+04 1.149444369078E+02 +-apbs-0.275 : 3.182051070674E+04 3.658775551975E+04 8.468218414737E+03 9.995910367297E+03 2.323168374787E+04 2.647588345522E+04 1.159616972338E+02 +-apbs-0.300 : 3.181936493519E+04 3.658660893678E+04 8.467838971928E+03 9.995532397856E+03 2.322999676177E+04 2.647419611346E+04 1.168804254687E+02 +-apbs-0.325 : 3.181832869046E+04 3.658557208654E+04 8.467489074881E+03 9.995183878464E+03 2.322847209567E+04 2.647267132259E+04 1.177168854906E+02 +-apbs-0.400 : 3.181571629593E+04 3.658295870300E+04 8.466578740909E+03 9.994277216885E+03 2.322463613929E+04 2.646883588223E+04 1.198456038803E+02 +-apbs-0.500 : 3.181302243781E+04 3.658026461575E+04 8.465598755475E+03 9.993301332440E+03 2.322070101887E+04 2.646490251594E+04 1.220607673699E+02 +-apbs-0.600 : 3.181090090954E+04 3.657814345443E+04 8.464799341688E+03 9.992505379555E+03 2.321762631365E+04 2.646183001839E+04 1.238080564885E+02 +-apbs-0.700 : 3.180915789156E+04 3.657640108752E+04 8.464126109756E+03 9.991835140855E+03 2.321512352191E+04 2.645932953757E+04 1.252364090878E+02 +-apbs-0.800 : 3.180768241803E+04 3.657492640520E+04 8.463546035019E+03 9.991257699113E+03 2.321302636223E+04 2.645723464562E+04 1.264340604647E+02 diff --git a/apbs-python311.patch b/apbs-python311.patch new file mode 100644 index 0000000..adf7420 --- /dev/null +++ b/apbs-python311.patch @@ -0,0 +1,11 @@ +--- a/tools/manip/inputgen.orig.py 2020-05-30 03:47:30.000000000 +0200 ++++ b/tools/manip/inputgen.py 2021-12-26 12:13:08.819979543 +0100 +@@ -266,7 +266,7 @@ + file (string) + """ + nproc = 0 +- file = open(filename, 'rU') ++ file = open(filename) + text = "" + while 1: + line = file.readline() diff --git a/apbs.spec b/apbs.spec index 570306a..b3c0c36 100644 --- a/apbs.spec +++ b/apbs.spec @@ -1,22 +1,43 @@ -%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} +# Workaround for GCC-10 +%define _legacy_common_support 1 + +%global commit %{nil} +%global shortcommit %{nil} +%global datecommit %{nil} + +# To perform all tests, APBS needs to be compiled together additional sub-modules +%bcond_without check Name: apbs Summary: Adaptive Poisson Boltzmann Solver -Version: 1.4 -Release: 4%{?dist} -# License of pmgZ, aqua and contrib/blas/mblasd.f is LGPLv2+, the rest is BSD. -License: LGPLv2+ and BSD -Group: Applications/Engineering -URL: http://apbs.sourceforge.net/ -Source0: http://downloads.sourceforge.net/apbs/APBS-%{version}-source.tar.gz -Patch0: apbs-cmake.patch -BuildRequires: cmake +Version: 3.0.0 +Release: 32%{datecommit}%{shortcommit}%{?dist} +# iAPBS looks licensed with a LGPLv2+, APBS is released under BSD license. +License: LGPL-2.0-or-later AND BSD-3-Clause +URL: https://www.poissonboltzmann.org/ +Source0: https://github.com/Electrostatics/apbs/archive/refs/tags/v%{version}/%{name}-%{version}.tar.gz +Source1: %{name}-LGPL_V2 + +Patch0: %{name}-cmake.patch + +# Exclude tests because they are for features inactivated +Patch1: %{name}-exclude_tests.patch + +# Porting to Python-3.11 +Patch2: %{name}-python311.patch + +Patch3: apbs-c99.patch + +BuildRequires: gcc-c++ +BuildRequires: cmake3 +BuildRequires: chrpath +BuildRequires: make BuildRequires: doxygen -BuildRequires: arpack-devel -BuildRequires: atlas-devel -BuildRequires: blas-devel +BuildRequires: graphviz BuildRequires: maloc-devel BuildRequires: zlib-devel +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: python3-%{name} %description APBS is a software package for the numerical solution of the @@ -29,74 +50,144 @@ tens to millions of atoms. It is also widely used in molecular visualization (in such applications as PyMOL). %package tools -Summary: utility programs that utilize the APBS package -Group: Applications/Engineering -Requires: %{name} = %{version}-%{release} - +Summary: Utility programs that utilize the APBS package +Requires: %{name}%{?_isa} = %{version}-%{release} %description tools - The apbs-tools package contains several utility programs for conversion, analysis and preparation of files that use the adaptive poisson boltzmann solver library. +%package libs +Summary: Libraries for APBS +%description libs +APBS solver libraries. + %package devel Summary: Libraries and header files for the APBS package -Group: Development/Libraries -Requires: %{name} = %{version}-%{release} - +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel - The apbs-devel package contains the header files and libraries necessary for developing programs using the adaptive poisson boltzmann (APBS) solver library. %package doc Summary: Documentation for the APBS package -Group: Applications/Engineering -Requires: %{name} = %{version}-%{release} - +BuildRequires: tex(latex) +BuildRequires: texlive-multirow +BuildRequires: texlive-hanging +BuildRequires: texlive-adjustbox +BuildRequires: texlive-stackengine +BuildRequires: texlive-sectsty +BuildRequires: texlive-etoc +BuildRequires: texlive-tocloft +BuildRequires: texlive-ulem +BuildRequires: texlive-newunicodechar +BuildRequires: texlive-wasy +BuildRequires: texlive-wasysym +BuildArch: noarch %description doc - The apbs-doc package contains API reference inforemation for development using the adaptive poisson boltzmann (APBS) solver library. +%package -n python3-apbs +Summary: Python interface of APBS +BuildRequires: python3-devel +BuildRequires: python3-numpy +BuildRequires: python3-sphinx +BuildRequires: swig +%{?python_provide:%python_provide python3-%{name}} +Obsoletes: %{name}-libs < 0:3.0.0-11 +%description -n python3-apbs +Python interface of APBS. + %prep -%setup -q -n %{name} -%patch0 -p0 +%autosetup -n %{name}-%{version} -N +%patch -P 0 -p2 -b .apbs-cmake +%patch -P 1 -p1 -b .exclude_tests + +%if 0%{?python3_version_nodots} >= 311 +%patch -P 2 -p1 -b .python311 +%endif + +%patch -P 3 -p1 + +cp -p contrib/iapbs/COPYING contrib/iapbs/iapbs-COPYING +cp -p %{SOURCE1} contrib/iapbs/iapbs-LGPLv2 %build -cd build -%cmake -D BUILD_DOC:BOOL=ON .. -make %{?_smp_mflags} +export CFLAGS="%{build_cflags} -fopenmp -lm" +export CXXFLAGS="%{build_cxxflags} -fopenmp -lm" +%cmake -DCMAKE_BUILD_TYPE:STRING=Release \ + -DENABLE_iAPBS:BOOL=ON -DENABLE_OPENMP:BOOL=ON -DENABLE_VERBOSE_DEBUG:BOOL=OFF \ + -DENABLE_FETK:BOOL=OFF -DCMAKE_C_FLAGS:STRING="%{build_cflags} -fopenmp -lm -DNDEBUG" \ + -DCMAKE_CXX_FLAGS:STRING="%{build_cxxflags} -fopenmp -lm -DNDEBUG" \ + -DENABLE_PYTHON:BOOL=ON -DBUILD_DOC:BOOL=ON \ + -DBUILD_TESTING:BOOL=ON -DENABLE_TESTS:BOOL=ON \ + -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ + -DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \ + -DLIB_INSTALL_DIR:PATH=%{_libdir} \ + -DSHARE_INSTALL_PREFIX:PATH=%{_datadir} + +%cmake_build %install -rm -rf %{buildroot} +%cmake_install -cd build -make install DESTDIR=%{buildroot} -cd .. - -# tools -for bin in %{buildroot}%{_bindir}/{coulomb,born,mgmesh,dxmath,mergedx2,mergedx,value,uhbd_asc2bin,smooth,dx2mol,dx2uhbd,similarity,multivalue,benchmark,analysis,del2dx,tensor2dx} tools/manip/psize.py; do - mv $bin %{buildroot}%{_bindir}/apbs-`basename $bin` +# Tools +for bin in %{buildroot}%{_bindir}/{coulomb,born,mgmesh,dxmath,mergedx2,mergedx,value,uhbd_asc2bin,smooth,dx2mol,dx2uhbd,similarity,multivalue,benchmark,analysis,del2dx,tensor2dx}; do + cp -p $bin %{buildroot}%{_bindir}/apbs-`basename $bin` + rm -f $bin done -%clean -rm -rf %{buildroot} +# Remove rpaths +for bin in %{buildroot}%{_bindir}/apbs-{coulomb,born,mgmesh,dxmath,mergedx2,mergedx,value,uhbd_asc2bin,smooth,dx2mol,dx2uhbd,similarity,multivalue,benchmark,analysis,del2dx,tensor2dx}; do + chrpath -d $bin + chrpath -d %{buildroot}%{_bindir}/apbs +done -%post -p /sbin/ldconfig +chrpath -d %{buildroot}%{_libdir}/libapbs.so.1 -%postun -p /sbin/ldconfig +# Move Python libraries under Python's tree directories +mkdir -p %{buildroot}%{python3_sitearch}/apbs +install -pm 755 tools/manip/psize.py %{buildroot}%{python3_sitearch}/apbs/ +%{__python3} %{_rpmconfigdir}/redhat/pathfix.py -pn -i "%{__python3}" %{buildroot}%{python3_sitearch}/apbs/psize.py +ln -s %{python3_sitearch}/apbs/psize.py %{buildroot}%{_bindir}/apbs-psize.py +install -pm 755 %_vpath_builddir/lib/_apbslib.so %{buildroot}%{python3_sitearch}/apbs/ + +# Remove redundant tools binary files in /usr/share +rm -rf %{buildroot}%{_datadir}/apbs + +# Remove static libraries +for i in `find %{buildroot} -type f \( -name "*.a" \)`; do + rm -f $i +done + +%if %{with check} +%check +pushd tests +export LD_LIBRARY_PATH=%{buildroot}%{_libdir} +export PATH=%{buildroot}%{_bindir} +%{__python3} ./apbs_tester.py +%endif %files -%defattr(-,root,root,-) -%doc doc/license/LICENSE.txt README ChangeLog %{_bindir}/apbs -%{_libdir}/libapbs*.so.* + +%files libs +%license LICENSE.md COPYING contrib/iapbs/iapbs-COPYING contrib/iapbs/iapbs-LGPLv2 +%doc README.md +%{_libdir}/libapbs.so.1 + +%files -n python3-apbs +%{python3_sitearch}/apbs/ + +%files devel +%{_libdir}/libapbs.so +%{_includedir}/iapbs/ +%{_includedir}/apbs %files tools -%defattr(-,root,root,-) %{_bindir}/apbs-psize.py %{_bindir}/apbs-coulomb %{_bindir}/apbs-born @@ -116,16 +207,147 @@ rm -rf %{buildroot} %{_bindir}/apbs-del2dx %{_bindir}/apbs-tensor2dx -%files devel -%defattr(-,root,root,-) -%{_libdir}/libapbs*.so -%{_includedir}/apbs - %files doc -%defattr(-,root,root,-) -%doc doc/programmer/html +%license LICENSE.md +%doc %_vpath_builddir/doc %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 3.0.0-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Sep 19 2025 Python Maint - 3.0.0-31 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Fri Aug 15 2025 Python Maint - 3.0.0-30 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Thu Jul 24 2025 Antonio Trande - 3.0.0-29 +- Fix rhbz#2380463 + +* Wed Jul 23 2025 Fedora Release Engineering - 3.0.0-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Jun 03 2025 Python Maint - 3.0.0-27 +- Rebuilt for Python 3.14 + +* Thu Jan 16 2025 Fedora Release Engineering - 3.0.0-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jul 17 2024 Fedora Release Engineering - 3.0.0-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jun 08 2024 Python Maint - 3.0.0-24 +- Rebuilt for Python 3.13 + +* Sat May 25 2024 Antonio Trande - 3.0.0-23 +- Fix patch commands + +* Mon Jan 22 2024 Fedora Release Engineering - 3.0.0-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 3.0.0-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 3.0.0-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jun 14 2023 Python Maint - 3.0.0-19 +- Rebuilt for Python 3.12 + +* Mon Feb 06 2023 Florian Weimer - 3.0.0-18 +- Fix C99 compatibility issue + +* Wed Jan 18 2023 Fedora Release Engineering - 3.0.0-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 3.0.0-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 3.0.0-15 +- Rebuilt for Python 3.11 + +* Wed Jan 19 2022 Fedora Release Engineering - 3.0.0-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Jan 04 2022 Antonio Trande - 3.0.0-13 +- Patched for Python-3.11 + +* Mon Nov 01 2021 Antonio Trande - 3.0.0-12 +- Re-enable tests + +* Mon Nov 01 2021 Antonio Trande - 3.0.0-11 +- Fix installation conflict of python package + +* Sun Oct 31 2021 Antonio Trande - 3.0.0-10 +- Compile from a new source archive + +* Wed Jul 21 2021 Fedora Release Engineering - 3.0.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 3.0.0-8 +- Rebuilt for Python 3.10 + +* Tue Jan 26 2021 Fedora Release Engineering - 3.0.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Jan 01 2021 Antonio Trande - 3.0.0-6 +- Use cmake3 options + +* Sat Aug 01 2020 Fedora Release Engineering - 3.0.0-5 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 3.0.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jun 17 2020 Antonio Trande - 3.0.0-3 +- Use cmake3 macro + +* Wed Jun 17 2020 Antonio Trande - 3.0.0-2 +- Use cmake3 + +* Sun May 31 2020 Antonio Trande - 3.0.0-1 +- Release 3.0.0 + +* Tue May 26 2020 Miro HronĨok - 3.0.0-0.3.20200512gitdfb858d +- Rebuilt for Python 3.9 + +* Wed May 13 2020 Antonio Trande - 3.0.0-0.2.20200512gitdfb858d +- Fix release tag + +* Wed May 13 2020 Antonio Trande - 3.0.0-0.1.20200512.gitdfb858d +- Pre-release 3.0.0 (rhbz#1752306, rhbz#1799157) +- Add libs sub-package +- Add workaround for GCC-10 +- Use Python3 + +* Tue Jan 28 2020 Fedora Release Engineering - 1.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 1.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 1.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jul 12 2018 Fedora Release Engineering - 1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Sat May 19 2018 Tim Fenn - 1.5-1 +- update to 1.5 + +* Wed Feb 07 2018 Fedora Release Engineering - 1.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 1.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Wed Feb 03 2016 Fedora Release Engineering - 1.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild diff --git a/sources b/sources index f659863..2e522a3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e0281bd44ffecb651e40687cdaa26361 APBS-1.4-source.tar.gz +SHA512 (apbs-3.0.0.tar.gz) = 9107acf5fb591cd7a822dc3cb0be58b5d3142e85951585749068e748459bceb0c7503ecfd95b6b4370378d619c30aedb04f5e3ca5c1ad15683533171cb7208fb