diff --git a/apbs-cmake.patch b/apbs-cmake.patch index c457571..dbcb876 100644 --- a/apbs-cmake.patch +++ b/apbs-cmake.patch @@ -1,20 +1,11 @@ --- 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 3.12) -+cmake_minimum_required(VERSION 3.13...4.0) + cmake_minimum_required (VERSION 3.12) +set(CMAKE_POSITION_INDEPENDENT_CODE ON) ################################################################################ # 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) @@ -126,12 +117,6 @@ 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}") @@ -294,32 +279,3 @@ +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.spec b/apbs.spec index b3c0c36..cbb96f6 100644 --- a/apbs.spec +++ b/apbs.spec @@ -11,9 +11,9 @@ Name: apbs Summary: Adaptive Poisson Boltzmann Solver Version: 3.0.0 -Release: 32%{datecommit}%{shortcommit}%{?dist} +Release: 22%{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 +License: LGPLv2+ and BSD URL: https://www.poissonboltzmann.org/ Source0: https://github.com/Electrostatics/apbs/archive/refs/tags/v%{version}/%{name}-%{version}.tar.gz Source1: %{name}-LGPL_V2 @@ -103,36 +103,38 @@ Python interface of APBS. %prep %autosetup -n %{name}-%{version} -N -%patch -P 0 -p2 -b .apbs-cmake -%patch -P 1 -p1 -b .exclude_tests +%patch0 -p2 -b .apbs-cmake +%patch1 -p1 -b .exclude_tests %if 0%{?python3_version_nodots} >= 311 -%patch -P 2 -p1 -b .python311 +%patch2 -p1 -b .python311 %endif -%patch -P 3 -p1 +%patch3 -p1 cp -p contrib/iapbs/COPYING contrib/iapbs/iapbs-COPYING cp -p %{SOURCE1} contrib/iapbs/iapbs-LGPLv2 %build +# CMake needs BUILD_SHARED_LIBS:BOOL=OFF to build Python libraries +# Using CMake rpm macro automatically enables the shared libs building export CFLAGS="%{build_cflags} -fopenmp -lm" export CXXFLAGS="%{build_cxxflags} -fopenmp -lm" -%cmake -DCMAKE_BUILD_TYPE:STRING=Release \ +mkdir -p build +cmake -S . -B build -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_SHARED_LIBS:BOOL=OFF -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 +make -O -j1 V=1 -C build %install -%cmake_install +%make_install -C build # 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 @@ -153,7 +155,7 @@ 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/ +install -pm 755 build/lib/_apbslib.so %{buildroot}%{python3_sitearch}/apbs/ # Remove redundant tools binary files in /usr/share rm -rf %{buildroot}%{_datadir}/apbs @@ -167,7 +169,6 @@ done %check pushd tests export LD_LIBRARY_PATH=%{buildroot}%{_libdir} -export PATH=%{buildroot}%{_bindir} %{__python3} ./apbs_tester.py %endif @@ -209,39 +210,9 @@ export PATH=%{buildroot}%{_bindir} %files doc %license LICENSE.md -%doc %_vpath_builddir/doc +%doc build/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