diff --git a/baselibs.conf b/baselibs.conf index 075b534..87f61fb 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,29 +1,29 @@ -libboost_atomic1_86_0 -libboost_container1_86_0 -libboost_context1_86_0 -libboost_coroutine1_86_0 -libboost_date_time1_86_0 -libboost_fiber1_86_0 -libboost_filesystem1_86_0 -libboost_graph1_86_0 -libboost_graph_parallel1_86_0 -libboost_iostreams1_86_0 -libboost_locale1_86_0 -libboost_math1_86_0 -libboost_mpi1_86_0 -libboost_nowide1_86_0 -libboost_test1_86_0 -libboost_process1_86_0 -libboost_program_options1_86_0 -libboost_python-py3-1_86_0 -libboost_random1_86_0 -libboost_serialization1_86_0 -libboost_stacktrace1_86_0 -libboost_system1_86_0 -libboost_thread1_86_0 -libboost_type_erasure1_86_0 -libboost_wave1_86_0 -libboost_url1_86_0 -libboost_regex1_86_0 -libboost_json1_86_0 -libboost_charconv1_86_0 +libboost_atomic1_87_0 +libboost_container1_87_0 +libboost_context1_87_0 +libboost_coroutine1_87_0 +libboost_date_time1_87_0 +libboost_fiber1_87_0 +libboost_filesystem1_87_0 +libboost_graph1_87_0 +libboost_graph_parallel1_87_0 +libboost_iostreams1_87_0 +libboost_locale1_87_0 +libboost_math1_87_0 +libboost_mpi1_87_0 +libboost_nowide1_87_0 +libboost_test1_87_0 +libboost_process1_87_0 +libboost_program_options1_87_0 +libboost_python-py3-1_87_0 +libboost_random1_87_0 +libboost_serialization1_87_0 +libboost_stacktrace1_87_0 +libboost_system1_87_0 +libboost_thread1_87_0 +libboost_type_erasure1_87_0 +libboost_wave1_87_0 +libboost_url1_87_0 +libboost_regex1_87_0 +libboost_json1_87_0 +libboost_charconv1_87_0 diff --git a/boost-1.85.0-python-numpy-2.patch b/boost-1.85.0-python-numpy-2.patch deleted file mode 100644 index 66fae4b..0000000 --- a/boost-1.85.0-python-numpy-2.patch +++ /dev/null @@ -1,26 +0,0 @@ -https://bugs.gentoo.org/932459 -https://github.com/boostorg/python/issues/431 -https://github.com/boostorg/python/pull/432 - -From 33ac06ca59a68266d3d26edf08205d31ddab4a6c Mon Sep 17 00:00:00 2001 -From: Alexis DUBURCQ -Date: Fri, 15 Mar 2024 14:10:16 +0100 -Subject: [PATCH] Support numpy 2.0.0b1 - ---- a/libs/python/src/numpy/dtype.cpp -+++ b/libs/python/src/numpy/dtype.cpp -@@ -98,7 +98,13 @@ python::detail::new_reference dtype::convert(object const & arg, bool align) - return python::detail::new_reference(reinterpret_cast(obj)); - } - --int dtype::get_itemsize() const { return reinterpret_cast(ptr())->elsize;} -+int dtype::get_itemsize() const { -+#if NPY_ABI_VERSION < 0x02000000 -+ return reinterpret_cast(ptr())->elsize; -+#else -+ return PyDataType_ELSIZE(reinterpret_cast(ptr())); -+#endif -+} - - bool equivalent(dtype const & a, dtype const & b) { - // On Windows x64, the behaviour described on diff --git a/boost-compute-uuid.patch b/boost-compute-uuid.patch deleted file mode 100644 index c081462..0000000 --- a/boost-compute-uuid.patch +++ /dev/null @@ -1,34 +0,0 @@ - -https://github.com/boostorg/uuid/issues/166 - -https://github.com/boostorg/compute/pull/887 -https://github.com/boostorg/compute/pull/893 - -diff --git a/boost/compute/detail/sha1.hpp b/boost/compute/detail/sha1.hpp -index 5afe5f9c4..3a1820074 100644 ---- a/boost/compute/detail/sha1.hpp -+++ b/boost/compute/detail/sha1.hpp -@@ -37,13 +37,22 @@ class sha1 { - } - - operator std::string() { -+ #if BOOST_VERSION >= 108600 -+ boost::uuids::detail::sha1::digest_type digest; -+ #else - unsigned int digest[5]; -+ #endif -+ - h.get_digest(digest); - - std::ostringstream buf; -+ #if BOOST_VERSION >= 108600 -+ for(int i = 0; i < 20; ++i) -+ buf << std::hex << std::setfill('0') << std::setw(2) << +digest[i]; -+ #else - for(int i = 0; i < 5; ++i) - buf << std::hex << std::setfill('0') << std::setw(8) << digest[i]; -- -+ #endif - return buf.str(); - } - private: diff --git a/boost-smart-ptr.patch b/boost-smart-ptr.patch new file mode 100644 index 0000000..e3b6117 --- /dev/null +++ b/boost-smart-ptr.patch @@ -0,0 +1,28 @@ +See https://github.com/boostorg/smart_ptr/commit/e7433ba54596da97cb7859455cd37ca140305a9c. + +diff --git a/include/boost/smart_ptr/intrusive_ptr.hpp b/include/boost/smart_ptr/intrusive_ptr.hpp +index ddb20c0b0e..11b476513a 100644 +--- a/boost/smart_ptr/intrusive_ptr.hpp ++++ b/boost/smart_ptr/intrusive_ptr.hpp +@@ -285,7 +285,7 @@ template intrusive_ptr dynamic_pointer_cast( intrusive_ptr< + + // operator<< + +-template std::ostream & operator<< (std::ostream & os, intrusive_ptr const & p) ++template std::basic_ostream & operator<< (std::basic_ostream & os, intrusive_ptr const & p) + { + os << p.get(); + return os; +diff --git a/include/boost/smart_ptr/shared_ptr.hpp b/include/boost/smart_ptr/shared_ptr.hpp +index 2431a33590..2deed9b632 100644 +--- a/boost/smart_ptr/shared_ptr.hpp ++++ b/boost/smart_ptr/shared_ptr.hpp +@@ -775,7 +775,7 @@ template inline typename shared_ptr::element_type * get_pointer(shar + + // operator<< + +-template std::ostream & operator<< (std::ostream & os, shared_ptr const & p) ++template std::basic_ostream & operator<< (std::basic_ostream & os, shared_ptr const & p) + { + os << p.get(); + return os; diff --git a/boost-strict_aliasing.patch b/boost-strict_aliasing.patch index 15d64cb..e7cdd02 100644 --- a/boost-strict_aliasing.patch +++ b/boost-strict_aliasing.patch @@ -2,10 +2,10 @@ Index: libs/python/build/Jamfile =================================================================== --- libs/python/build/Jamfile.orig +++ libs/python/build/Jamfile -@@ -94,6 +94,7 @@ lib boost_python - on:BOOST_DEBUG_PYTHON +@@ -115,6 +115,7 @@ + -@%boostcpp.tag -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag - @python-tag + @tag + -fno-strict-aliasing @python.require-py diff --git a/boost.changes b/boost.changes index 82c26ce..1927fe9 100644 --- a/boost.changes +++ b/boost.changes @@ -1,3 +1,45 @@ +------------------------------------------------------------------- +Tue Feb 25 08:23:54 CET 2025 - aschnell@suse.com + +- fixed required of process devel + +------------------------------------------------------------------- +Mon Feb 24 10:19:36 UTC 2025 - Jan Engelhardt + +- Modernize specfile: use ldconfig_scriptlets +- Remove idempotent %if..%endif guards + +------------------------------------------------------------------- +Thu Feb 20 11:25:55 UTC 2025 - Nicolas Morey + +- Remove dependency from boost-extra to openmpi for 32b systems + as OpenMPI >= 5 has dropped support for 32b architectures. +- Exclude arm 32b builds for HPC flavours. + +------------------------------------------------------------------- +Fri Jan 31 11:05:20 CET 2025 - aschnell@suse.com + +- added boost-smart-ptr.patch from upstream (bsc#1234430) + +------------------------------------------------------------------- +Tue Jan 07 10:32:50 CET 2025 - aschnell@suse.com + +- updated source URL + +------------------------------------------------------------------- +Thu Dec 12 07:35:36 CET 2024 - aschnell@suse.com + +- update to 1.87.0 + * new libraries: + + Parser (framework for building parsers) + * for details on all changes see, + https://www.boost.org/users/history/version_1_87_0.html +- boost-strict_aliasing.patch: updated +- python_mpi.patch: updated +- dynamic_linking.patch: updated +- boost-compute-uuid.patch: included upstream +- boost-1.85.0-python-numpy-2.patch: included upstream + ------------------------------------------------------------------- Mon Sep 02 12:53:15 CEST 2024 - aschnell@suse.com diff --git a/boost.spec b/boost.spec index dae1dcf..3336f8d 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ # # spec file for package boost # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,9 +19,9 @@ # %global flavor @BUILD_FLAVOR@%{nil} -%define ver 1.86.0 -%define _ver 1_86_0 -%define package_version 1_86_0 +%define ver 1.87.0 +%define _ver 1_87_0 +%define package_version 1_87_0 %define file_version %_ver %define lib_appendix %_ver %define docs_version 1.56.0 @@ -57,6 +57,7 @@ ExclusiveArch: do_not_build %define build_base 1 %define name_suffix -base %bcond_with hpc +%bcond_with python3 %bcond_with mpi %endif @@ -64,8 +65,11 @@ ExclusiveArch: do_not_build %define build_base 0 %define name_suffix -extra %bcond_without python3 +%ifnarch %{arm} %ix86 +# OpenMPI 5 has no support for 32bit architectures %bcond_without mpi %endif +%endif %if "%{flavor}" == "gnu-hpc" %define build_base 1 @@ -167,19 +171,12 @@ ExclusiveArch: do_not_build %if %{with ringdisabled} ExclusiveArch: do-not-build %else -ExcludeArch: s390x %{ix86} ppc64 ppc64le +ExcludeArch: s390x %{ix86} ppc64 ppc64le %{arm} %endif %endif -# Python NumPy library is only available on Leap 42.1 OpenSUSE onward -# and is not available in SLE -%if 0%{?suse_version} >= 1330 || 0%{?is_opensuse} -%bcond_without python_numpy -%else -%bcond_with python_numpy -%endif -# context hasn't been ported to most architectures yet -%ifarch %{ix86} x86_64 %{arm} aarch64 mips ppc ppc64 ppc64le riscv64 s390x +# context hasn't been ported to all architectures yet (looks complete now - aschnell - 2024-12-11) +%ifarch %{ix86} %{x86_64} %{arm} aarch64 mips ppc ppc64 ppc64le riscv64 s390x %bcond_without build_context %else %bcond_with build_context @@ -213,14 +210,14 @@ ExcludeArch: s390x %{ix86} ppc64 ppc64le %endif Name: %{base_name} -Version: 1.86.0 +Version: 1.87.0 Release: 0 -%define library_version 1_86_0 +%define library_version 1_87_0 Summary: Boost C++ Libraries License: BSL-1.0 Group: Development/Libraries/C and C++ URL: https://www.boost.org -Source0: https://boostorg.jfrog.io/artifactory/main/release/%{version}/source/boost_%{_ver}.tar.bz2 +Source0: https://archives.boost.io/release/%{version}/source/boost_%{_ver}.tar.bz2 Source1: boost-rpmlintrc Source3: https://downloads.sourceforge.net/project/boost/boost-docs/1.56.0/boost_1_56_pdf.tar.bz2 Source4: existing_extra_docs @@ -240,11 +237,9 @@ Patch15: boost-1.57.0-python-abi_letters.patch Patch16: boost-1.55.0-python-test-PyImport_AppendInittab.patch Patch17: python_mpi.patch Patch18: dynamic_linking.patch -Patch19: boost-compute-uuid.patch Patch20: python_library_name.patch Patch21: boost-remove-cmakedir.patch -# PATCH-FIX-UPSTREAM boost-1.85.0-python-numpy-2.patch -- gh#boostorg/python/pull/432 -Patch24: boost-1.85.0-python-numpy-2.patch +Patch22: boost-smart-ptr.patch %{?suse_build_hwcaps_libs} BuildRequires: fdupes BuildRequires: gcc-c++ @@ -259,10 +254,8 @@ BuildRequires: pkgconfig(zlib) BuildRequires: dos2unix %if %{with python3} BuildRequires: python3-devel -%if %{with python_numpy} BuildRequires: python3-numpy-devel %endif -%endif %if %{with build_docs} BuildRequires: docbook BuildRequires: docbook-xsl-stylesheets @@ -375,7 +368,6 @@ This package contains all that is needed to develop/compile applications that use the Boost C++ libraries. For documentation see the documentation packages (html, man or pdf). -%if %{with hpc} %package -n %{package_name}-python3 Summary: Boost.MPI Python 3.x serialization library Group: System/Libraries @@ -384,7 +376,6 @@ Requires: %{package_name} %description -n %{package_name}-python3 This package contains the Boost.MPI Python 3.x serialization interface. -%endif %package -n boost%{library_version}-jam Summary: A Boost Make Replacement @@ -620,6 +611,7 @@ Group: Development/Libraries/C and C++ Requires: libboost_atomic%{library_version}-devel = %{version} Requires: libboost_filesystem%{library_version} = %{version} Requires: libboost_headers%{library_version}-devel = %{version} +Requires: libboost_system%{library_version}-devel = %{version} Requires: libstdc++-devel Conflicts: boost-devel < 1.63 Conflicts: libboost_filesystem-devel-impl @@ -670,6 +662,8 @@ Summary: Development headers for Boost.IOStreans library Group: Development/Libraries/C and C++ Requires: libboost_headers%{library_version}-devel = %{version} Requires: libboost_iostreams%{library_version} = %{version} +Requires: libboost_random%{library_version}-devel = %{version} +Requires: libboost_regex%{library_version}-devel = %{version} Requires: pkgconfig(bzip2) Requires: pkgconfig(liblzma) Requires: pkgconfig(libzstd) @@ -700,6 +694,7 @@ Requires: libboost_date_time%{library_version}-devel = %{version} Requires: libboost_filesystem%{library_version}-devel = %{version} Requires: libboost_headers%{library_version}-devel = %{version} Requires: libboost_log%{library_version} = %{version} +Requires: libboost_random%{library_version}-devel = %{version} Requires: libboost_regex%{library_version}-devel = %{version} Requires: libboost_thread%{library_version} = %{version} Conflicts: boost-devel < 1.63 @@ -873,7 +868,7 @@ Summary: Development headers for Boost.Process library Group: Development/Libraries/C and C++ Requires: libboost_headers%{library_version}-devel = %{version} Requires: libboost_process%{library_version} = %{version} -Conflicts: boost-devel < 1.86 +Conflicts: boost-devel < 1.87 Conflicts: libboost_process-devel-impl Provides: libboost_process-devel-impl = %{version} @@ -915,6 +910,8 @@ bindings. %package -n libboost_python-py3-%{library_version}-devel Summary: Development headers for Boost.Python library Group: Development/Libraries/C and C++ +Requires: libboost_container%{library_version}-devel = %{version} +Requires: libboost_graph%{library_version}-devel = %{version} Requires: libboost_headers%{library_version}-devel = %{version} Requires: libboost_python-py3-%{library_version} = %{version} Conflicts: boost-devel < 1.63 @@ -1289,10 +1286,9 @@ find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {} %patch -P 16 -p1 %patch -P 17 -p1 %patch -P 18 -p1 -%patch -P 19 -p1 %patch -P 20 -p1 %patch -P 21 -p1 -%patch -P 24 -p1 +%patch -P 22 -p1 %build find . -type f -exec chmod u+w {} + @@ -1508,7 +1504,7 @@ module load gnu %mpi_flavor ln -s libboost_python-py3.so %{buildroot}%{package_libdir}/libboost_python3.so %endif -%if %{with python3} +%if %{with python3} && %{with mpi} mkdir -p %{buildroot}%{package_python3_sitearch}/boost/parallel/mpi/ install -m 0644 libs/mpi/build/__init__.py %{buildroot}%{package_python3_sitearch}/boost/parallel/mpi/ install -m 0644 %{SOURCE11} %{buildroot}%{package_python3_sitearch}/boost/parallel @@ -1556,6 +1552,8 @@ find %{buildroot}%{package_datadir}/boost-build/ -type f \! -name \*.py \! -name find %{buildroot}%{package_datadir}/boost-build/ -type f -exec chmod 644 {} + %endif +rm -r %{buildroot}%{package_datadir}/boost_predef + # Remove exception library, but only if the symbols are not # actually used. For now, the only symbol that is linked is # should never be used as it's only available on Windows. So, @@ -1582,6 +1580,14 @@ rm %{buildroot}%{package_libdir}/cmake/BoostDetectToolset-%{version}.cmake rm -r %{buildroot}%{package_libdir}/cmake/Boost-%{version} rm -r %{buildroot}%{package_libdir}/cmake/boost_headers-%{version} rm -rf %{buildroot}%{package_libdir}/cmake/boost_{w,}serialization-%{version} +rm -r %{buildroot}%{package_libdir}/cmake/boost_container-%{version} +rm -f %{buildroot}%{package_libdir}/libboost_container.so* +rm -r %{buildroot}%{package_libdir}/cmake/boost_graph-%{version} +rm -f %{buildroot}%{package_libdir}/libboost_graph.so* +# If no library was needed to be built, system was built to avoid building everything. +# If needs to be removed from the extra package in that case +rm -Rf %{buildroot}%{package_libdir}/cmake/boost_system-%{version} +rm -Rf %{buildroot}%{package_libdir}/libboost_system.so* rm -r %{buildroot}%{package_includedir}/boost rm -f %{buildroot}%{package_libdir}/libboost_{w,}serialization* @@ -1629,112 +1635,55 @@ EOF %endif %if %{build_base} -%post -n libboost_atomic%{library_version} -p /sbin/ldconfig -%post -n libboost_container%{library_version} -p /sbin/ldconfig -%post -n libboost_context%{library_version} -p /sbin/ldconfig -%post -n libboost_contract%{library_version} -p /sbin/ldconfig -%post -n libboost_coroutine%{library_version} -p /sbin/ldconfig -%post -n libboost_date_time%{library_version} -p /sbin/ldconfig -%post -n libboost_fiber%{library_version} -p /sbin/ldconfig -%post -n libboost_filesystem%{library_version} -p /sbin/ldconfig -%post -n libboost_iostreams%{library_version} -p /sbin/ldconfig -%post -n libboost_log%{library_version} -p /sbin/ldconfig -%post -n libboost_test%{library_version} -p /sbin/ldconfig -%post -n libboost_process%{library_version} -p /sbin/ldconfig -%post -n libboost_program_options%{library_version} -p /sbin/ldconfig -%post -n libboost_regex%{library_version} -p /sbin/ldconfig -%post -n libboost_serialization%{library_version} -p /sbin/ldconfig -%post -n libboost_thread%{library_version} -p /sbin/ldconfig -%post -n libboost_type_erasure%{library_version} -p /sbin/ldconfig -%post -n libboost_json%{library_version} -p /sbin/ldconfig -%post -n libboost_charconv%{library_version} -p /sbin/ldconfig -%post -n libboost_math%{library_version} -p /sbin/ldconfig -%post -n libboost_nowide%{library_version} -p /sbin/ldconfig -%post -n libboost_graph%{library_version} -p /sbin/ldconfig -%post -n libboost_stacktrace%{library_version} -p /sbin/ldconfig -%post -n libboost_system%{library_version} -p /sbin/ldconfig -%post -n libboost_wave%{library_version} -p /sbin/ldconfig -%post -n libboost_url%{library_version} -p /sbin/ldconfig -%post -n libboost_random%{library_version} -p /sbin/ldconfig -%post -n libboost_chrono%{library_version} -p /sbin/ldconfig -%post -n libboost_locale%{library_version} -p /sbin/ldconfig -%post -n libboost_timer%{library_version} -p /sbin/ldconfig +%ldconfig_scriptlets -n libboost_atomic%{library_version} +%ldconfig_scriptlets -n libboost_container%{library_version} +%ldconfig_scriptlets -n libboost_context%{library_version} +%ldconfig_scriptlets -n libboost_contract%{library_version} +%ldconfig_scriptlets -n libboost_coroutine%{library_version} +%ldconfig_scriptlets -n libboost_date_time%{library_version} +%ldconfig_scriptlets -n libboost_fiber%{library_version} +%ldconfig_scriptlets -n libboost_filesystem%{library_version} +%ldconfig_scriptlets -n libboost_iostreams%{library_version} +%ldconfig_scriptlets -n libboost_log%{library_version} +%ldconfig_scriptlets -n libboost_test%{library_version} +%ldconfig_scriptlets -n libboost_process%{library_version} +%ldconfig_scriptlets -n libboost_program_options%{library_version} +%ldconfig_scriptlets -n libboost_regex%{library_version} +%ldconfig_scriptlets -n libboost_serialization%{library_version} +%ldconfig_scriptlets -n libboost_thread%{library_version} +%ldconfig_scriptlets -n libboost_type_erasure%{library_version} +%ldconfig_scriptlets -n libboost_json%{library_version} +%ldconfig_scriptlets -n libboost_charconv%{library_version} +%ldconfig_scriptlets -n libboost_math%{library_version} +%ldconfig_scriptlets -n libboost_nowide%{library_version} +%ldconfig_scriptlets -n libboost_graph%{library_version} +%ldconfig_scriptlets -n libboost_stacktrace%{library_version} +%ldconfig_scriptlets -n libboost_system%{library_version} +%ldconfig_scriptlets -n libboost_wave%{library_version} +%ldconfig_scriptlets -n libboost_url%{library_version} +%ldconfig_scriptlets -n libboost_random%{library_version} +%ldconfig_scriptlets -n libboost_chrono%{library_version} +%ldconfig_scriptlets -n libboost_locale%{library_version} +%ldconfig_scriptlets -n libboost_timer%{library_version} %else %if %{with python3} -%post -n libboost_python-py3-%{library_version} -p /sbin/ldconfig -%if %{with python_numpy} -%post -n libboost_numpy-py3-%{library_version} -p /sbin/ldconfig -%endif +%ldconfig_scriptlets -n libboost_python-py3-%{library_version} +%ldconfig_scriptlets -n libboost_numpy-py3-%{library_version} %endif %if %{with mpi} -%post -n libboost_mpi%{library_version} -p /sbin/ldconfig -%post -n libboost_graph_parallel%{library_version} -p /sbin/ldconfig +%ldconfig_scriptlets -n libboost_mpi%{library_version} +%ldconfig_scriptlets -n libboost_graph_parallel%{library_version} %if %{with python3} -%post -n libboost_mpi_python-py3-%{library_version} -p /sbin/ldconfig +%ldconfig_scriptlets -n libboost_mpi_python-py3-%{library_version} %endif %endif %endif %if %{with hpc} -%post -n %base_name -p /sbin/ldconfig -%endif - -%if %{build_base} -%postun -n libboost_atomic%{library_version} -p /sbin/ldconfig -%postun -n libboost_container%{library_version} -p /sbin/ldconfig -%postun -n libboost_context%{library_version} -p /sbin/ldconfig -%postun -n libboost_contract%{library_version} -p /sbin/ldconfig -%postun -n libboost_coroutine%{library_version} -p /sbin/ldconfig -%postun -n libboost_date_time%{library_version} -p /sbin/ldconfig -%postun -n libboost_fiber%{library_version} -p /sbin/ldconfig -%postun -n libboost_filesystem%{library_version} -p /sbin/ldconfig -%postun -n libboost_iostreams%{library_version} -p /sbin/ldconfig -%postun -n libboost_log%{library_version} -p /sbin/ldconfig -%postun -n libboost_test%{library_version} -p /sbin/ldconfig -%postun -n libboost_process%{library_version} -p /sbin/ldconfig -%postun -n libboost_program_options%{library_version} -p /sbin/ldconfig -%postun -n libboost_regex%{library_version} -p /sbin/ldconfig -%postun -n libboost_serialization%{library_version} -p /sbin/ldconfig -%postun -n libboost_thread%{library_version} -p /sbin/ldconfig -%postun -n libboost_type_erasure%{library_version} -p /sbin/ldconfig -%postun -n libboost_json%{library_version} -p /sbin/ldconfig -%postun -n libboost_charconv%{library_version} -p /sbin/ldconfig -%postun -n libboost_math%{library_version} -p /sbin/ldconfig -%postun -n libboost_nowide%{library_version} -p /sbin/ldconfig -%postun -n libboost_graph%{library_version} -p /sbin/ldconfig -%postun -n libboost_stacktrace%{library_version} -p /sbin/ldconfig -%postun -n libboost_system%{library_version} -p /sbin/ldconfig -%postun -n libboost_wave%{library_version} -p /sbin/ldconfig -%postun -n libboost_url%{library_version} -p /sbin/ldconfig -%postun -n libboost_random%{library_version} -p /sbin/ldconfig -%postun -n libboost_chrono%{library_version} -p /sbin/ldconfig -%postun -n libboost_locale%{library_version} -p /sbin/ldconfig -%postun -n libboost_timer%{library_version} -p /sbin/ldconfig -%else - -%if %{with python3} -%postun -n libboost_python-py3-%{library_version} -p /sbin/ldconfig -%if %{with python_numpy} -%postun -n libboost_numpy-py3-%{library_version} -p /sbin/ldconfig -%endif -%endif - -%if %{with mpi} -%postun -n libboost_mpi%{library_version} -p /sbin/ldconfig -%postun -n libboost_graph_parallel%{library_version} -p /sbin/ldconfig - -%if %{with python3} -%postun -n libboost_mpi_python-py3-%{library_version} -p /sbin/ldconfig -%endif -%endif - -%endif - -%if %{with hpc} -%postun -n %{base_name} -p /sbin/ldconfig +%ldconfig_scriptlets -n %base_name %endif %if %{with hpc} @@ -1875,8 +1824,10 @@ EOF %endif %files -n libboost_math%{library_version}-devel +%dir %{package_libdir}/cmake/boost_math-%{version} %dir %{package_libdir}/cmake/boost_math_c99*-%{version} %dir %{package_libdir}/cmake/boost_math_tr1*-%{version} +%{package_libdir}/cmake/boost_math-%{version}/* %{package_libdir}/cmake/boost_math_c99*-%{version}/* %{package_libdir}/cmake/boost_math_tr1*-%{version}/* %{package_libdir}/libboost_math_c99f.so @@ -1983,7 +1934,6 @@ EOF %{package_libdir}/libboost_python3.so %{package_libdir}/libboost_python-py3.so -%if %{with python_numpy} %files -n libboost_numpy-py3-%{library_version} %{package_libdir}/libboost_numpy-py3.so.1* @@ -1993,7 +1943,6 @@ EOF %{package_libdir}/cmake/boost_numpy-%{version}/* %{package_libdir}/libboost_numpy-py3.so -%endif %endif %endif diff --git a/boost_1_86_0.tar.bz2 b/boost_1_86_0.tar.bz2 deleted file mode 100644 index c281147..0000000 --- a/boost_1_86_0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1bed88e40401b2cb7a1f76d4bab499e352fa4d0c5f31c0dbae64e24d34d7513b -size 126220652 diff --git a/boost_1_87_0.tar.bz2 b/boost_1_87_0.tar.bz2 new file mode 100644 index 0000000..da2456c --- /dev/null +++ b/boost_1_87_0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af57be25cb4c4f4b413ed692fe378affb4352ea50fbe294a11ef548f4d527d89 +size 131473200 diff --git a/dynamic_linking.patch b/dynamic_linking.patch index e811b7f..4c775ea 100644 --- a/dynamic_linking.patch +++ b/dynamic_linking.patch @@ -34,10 +34,10 @@ Index: boost_1_80_0/libs/chrono/build/Jamfile.v2 shared:BOOST_CHRONO_DYN_LINK=1 - static:BOOST_CHRONO_STATIC_LINK=1 + # static:BOOST_CHRONO_STATIC_LINK=1 + BOOST_CHRONO_NO_LIB=1 gcc-3.4.4:--enable-auto-import gcc-4.3.4:--enable-auto-import - gcc-4.4.0,windows:--enable-auto-import -@@ -104,8 +104,8 @@ lib boost_chrono +@@ -104,6 +104,6 @@ lib boost_chrono : $(SOURCES).cpp : $(cxx11-requirements) @@ -45,58 +45,43 @@ Index: boost_1_80_0/libs/chrono/build/Jamfile.v2 - static:BOOST_CHRONO_STATIC_LINK=1 # tell source we're building static lib's + # static:BOOST_CHRONO_STATIC_LINK=1 # tell source we're building static lib's ; - - boost-install boost_chrono ; Index: boost_1_80_0/libs/system/build/Jamfile.v2 =================================================================== --- boost_1_80_0.orig/libs/system/build/Jamfile.v2 +++ boost_1_80_0/libs/system/build/Jamfile.v2 -@@ -11,7 +11,7 @@ project boost/system - : source-location ../src - : usage-requirements # pass these requirement to dependents (i.e. users) +@@ -11,7 +11,7 @@ + ../include + $(boost_dependencies) shared:BOOST_SYSTEM_DYN_LINK=1 - static:BOOST_SYSTEM_STATIC_LINK=1 -+# static:BOOST_SYSTEM_STATIC_LINK=1 ++ # static:BOOST_SYSTEM_STATIC_LINK=1 + BOOST_SYSTEM_NO_LIB=1 ; - - SOURCES = error_code ; -@@ -19,7 +19,7 @@ SOURCES = error_code ; - lib boost_system - : $(SOURCES).cpp - : shared:BOOST_SYSTEM_DYN_LINK=1 -- static:BOOST_SYSTEM_STATIC_LINK=1 -+# static:BOOST_SYSTEM_STATIC_LINK=1 - ; - - boost-install boost_system ; + Index: boost_1_80_0/libs/timer/build/Jamfile.v2 =================================================================== --- boost_1_83_0.orig/libs/timer/build/Jamfile.v2 +++ boost_1_83_0/libs/timer/build/Jamfile.v2 -@@ -15,11 +15,11 @@ - : ../src/$(SOURCES).cpp - : # requirements - shared:BOOST_TIMER_DYN_LINK=1 -- static:BOOST_TIMER_STATIC_LINK=1 -+# static:BOOST_TIMER_STATIC_LINK=1 - : # default-build - : # usage-requirements - shared:BOOST_TIMER_DYN_LINK=1 -- static:BOOST_TIMER_STATIC_LINK=1 -+# static:BOOST_TIMER_STATIC_LINK=1 - ; +@@ -20,7 +20,7 @@ + $(boost_dependencies) + + shared:BOOST_TIMER_DYN_LINK=1 +- static:BOOST_TIMER_STATIC_LINK=1 ++ # static:BOOST_TIMER_STATIC_LINK=1 + + BOOST_TIMER_NO_LIB=1 - boost-install boost_timer ; Index: boost_1_80_0/libs/filesystem/build/Jamfile.v2 =================================================================== --- boost_1_80_0.orig/libs/filesystem/build/Jamfile.v2 +++ boost_1_80_0/libs/filesystem/build/Jamfile.v2 -@@ -130,7 +130,7 @@ project boost/filesystem +@@ -130,8 +130,8 @@ project boost/filesystem : source-location ../src : usage-requirements # pass these requirement to dependents (i.e. users) shared:BOOST_FILESYSTEM_DYN_LINK=1 - static:BOOST_FILESYSTEM_STATIC_LINK=1 -+# static:BOOST_FILESYSTEM_STATIC_LINK=1 ++ # static:BOOST_FILESYSTEM_STATIC_LINK=1 + BOOST_FILESYSTEM_NO_LIB=1 ; SOURCES = diff --git a/python_mpi.patch b/python_mpi.patch index f79d8b0..cd40199 100644 --- a/python_mpi.patch +++ b/python_mpi.patch @@ -15,10 +15,10 @@ Index: boost_1_64_0/libs/mpi/build/__init__.py - import DLFCN as dl - flags = sys.getdlopenflags() - sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL) -- import mpi +- from . import mpi - sys.setdlopenflags(flags) -else: -- import mpi +- from . import mpi +import DLFCN as dl +flags = sys.getdlopenflags() +sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL)