diff --git a/0002-boost-1.78.0-no-rpath.patch b/0002-boost-1.78.0-no-rpath.patch deleted file mode 100644 index 1c519cd5d0dd833f9eadec849048606493cc9aa2..0000000000000000000000000000000000000000 --- a/0002-boost-1.78.0-no-rpath.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2018-01-19 13:23:45.361330881 +0000 -+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 13:23:45.362330880 +0000 -@@ -1191,7 +1191,7 @@ rule link ( targets * : sources * : prop - - actions link bind LIBRARIES - { -- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,$(RPATH) -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) -+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) - } - - actions link.dll bind LIBRARIES -@@ -1204,7 +1204,7 @@ rule link.dll ( targets * : sources * : - - actions link.dll bind LIBRARIES - { -- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,$(RPATH) "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) -+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) - } - - ### diff --git a/0006-boost-1.81.0-pool-test_linking.patch b/0006-boost-1.81.0-pool-test_linking.patch deleted file mode 100644 index d06a676ef9afb108efae37238f3802d2b2dcaa38..0000000000000000000000000000000000000000 --- a/0006-boost-1.81.0-pool-test_linking.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/libs/pool/test/Jamfile.v2 b/libs/pool/test/Jamfile.v2 -index 3ec77eaac..51ce406d2 100644 ---- a/libs/pool/test/Jamfile.v2 -+++ b/libs/pool/test/Jamfile.v2 -@@ -23,19 +23,19 @@ import os ; - import testing ; - - test-suite pool : -- [ run test_simple_seg_storage.cpp : : : msvc:-wd4267 ] -- [ run test_pool_alloc.cpp ] -- [ run pool_msvc_compiler_bug_test.cpp : : : msvc:-wd4512 ] -- [ run test_msvc_mem_leak_detect.cpp ] -- [ run test_bug_3349.cpp ] -- [ run test_bug_4960.cpp ] -+ [ run test_simple_seg_storage.cpp : : : msvc:-wd4267 /boost/system//boost_system ] -+ [ run test_pool_alloc.cpp : : : /boost/system//boost_system ] -+ [ run pool_msvc_compiler_bug_test.cpp : : : msvc:-wd4512 /boost/system//boost_system ] -+ [ run test_msvc_mem_leak_detect.cpp : : : /boost/system//boost_system ] -+ [ run test_bug_3349.cpp : : : /boost/system//boost_system ] -+ [ run test_bug_4960.cpp : : : /boost/system//boost_system ] - [ run test_bug_1252.cpp : : : - clang:-Wno-c++11-long-long - gcc:-Wno-long-long -- pathscale:-Wno-long-long ] -- [ run test_bug_2696.cpp ] -- [ run test_bug_5526.cpp ] -- [ run test_bug_6701.cpp ] -+ pathscale:-Wno-long-long /boost/system//boost_system ] -+ [ run test_bug_2696.cpp : : : /boost/system//boost_system ] -+ [ run test_bug_5526.cpp : : : /boost/system//boost_system ] -+ [ run test_bug_6701.cpp : : : /boost/system//boost_system ] - [ run test_threading.cpp : : : multi /boost/thread//boost_thread ] - [ compile test_poisoned_macros.cpp ] - ; diff --git a/0007-boost-1.74.0-linking.patch b/0007-boost-1.74.0-linking.patch deleted file mode 100644 index e4012db10db9bd37fed0da7c718e8503d61649e0..0000000000000000000000000000000000000000 --- a/0007-boost-1.74.0-linking.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up ./tools/build/src/tools/gcc.jam.orig ./tools/build/src/tools/gcc.jam ---- ./tools/build/src/tools/gcc.jam.orig 2020-01-24 22:59:03.119054312 +0200 -+++ ./tools/build/src/tools/gcc.jam 2020-01-24 23:01:07.875695346 +0200 -@@ -1093,7 +1093,7 @@ rule link ( targets * : sources * : prop - - actions link bind LIBRARIES - { -- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) -+ "$(CONFIG_COMMAND)" $(OPTIONS) $(USER_OPTIONS) -L"$(LINKPATH)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) - } - - actions link.dll bind LIBRARIES -@@ -1106,7 +1106,7 @@ rule link.dll ( targets * : sources * : - - actions link.dll bind LIBRARIES - { -- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) -+ "$(CONFIG_COMMAND)" $(OPTIONS) $(USER_OPTIONS) -L"$(LINKPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) - } - - ### diff --git a/0008-boost-1.57.0-python-libpython_dep.patch b/0008-boost-1.57.0-python-libpython_dep.patch deleted file mode 100644 index 57bfc26774eafc55894de34928b14786ed1fa389..0000000000000000000000000000000000000000 --- a/0008-boost-1.57.0-python-libpython_dep.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: boost_1_57_0/tools/build/src/tools/python.jam -=================================================================== ---- boost_1_57_0/tools/build/src/tools/python.jam (revision 50406) -+++ boost_1_57_0/tools/build/src/tools/python.jam (working copy) -@@ -994,7 +994,7 @@ - else - { - alias python_for_extensions -- : -+ : python - : $(target-requirements) - : - : $(usage-requirements) diff --git a/0009-boost-1.72.0-mpi-python-build.patch b/0009-boost-1.72.0-mpi-python-build.patch deleted file mode 100644 index f977b1321cb3d03534371d600b9e8dbdef1263db..0000000000000000000000000000000000000000 --- a/0009-boost-1.72.0-mpi-python-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up ./tools/build/src/tools/python.jam.orig ./tools/build/src/tools/python.jam ---- ./tools/build/src/tools/python.jam.orig 2020-01-26 17:46:41.999427777 +0200 -+++ ./tools/build/src/tools/python.jam 2020-01-26 17:50:55.406745619 +0200 -@@ -1001,7 +1001,8 @@ local rule configure ( version ? : cmd-o - # linux). - : $(usage-requirements) - $(set-PYTHONPATH) -- $(libraries) $(dll-path) python.lib -+ # $(libraries) $(dll-path) python.lib -+ $(libraries) python.lib - ; - } - diff --git a/0011-add-loongarch64-support-for-boost-1.81.patch b/0011-add-loongarch64-support-for-boost-1.81.patch deleted file mode 100644 index 2f2cf7b6c82f8d3a632c29fdea684112ecd50c03..0000000000000000000000000000000000000000 --- a/0011-add-loongarch64-support-for-boost-1.81.patch +++ /dev/null @@ -1,85 +0,0 @@ -From c14b7c6d206fb579fa169f5d288ce1c49d391e49 Mon Sep 17 00:00:00 2001 -From: Wenlong Zhang -Date: Wed, 29 Nov 2023 07:45:19 +0000 -Subject: [PATCH] add loongarch64 support for boost 1.81 - ---- - boostcpp.jam | 5 +++-- - libs/config/checks/architecture/Jamfile.jam | 1 + - libs/config/checks/architecture/loongarch.cpp | 11 +++++++++++ - tools/build/src/engine/jam.h | 4 ++++ - 4 files changed, 19 insertions(+), 2 deletions(-) - create mode 100644 libs/config/checks/architecture/loongarch.cpp - -diff --git a/boostcpp.jam b/boostcpp.jam -index 082536e2a..7565dae80 100644 ---- a/boostcpp.jam -+++ b/boostcpp.jam -@@ -634,7 +634,7 @@ rule address-model ( ) - return @boostcpp.deduce-address-model ; - } - --local deducable-architectures = arm mips1 power riscv s390x sparc x86 combined ; -+local deducable-architectures = arm loongarch mips1 power riscv s390x sparc x86 combined ; - feature.feature deduced-architecture : $(deducable-architectures) : propagated optional composite hidden ; - for a in $(deducable-architectures) - { -@@ -645,9 +645,10 @@ rule deduce-architecture ( properties * ) - { - local result ; - local filtered = [ toolset-properties $(properties) ] ; -- local names = arm mips1 power riscv s390x sparc x86 combined ; -+ local names = arm loongarch mips1 power riscv s390x sparc x86 combined ; - local idx = [ configure.find-builds "default architecture" : $(filtered) - : /boost/architecture//arm -+ : /boost/architecture//loongarch - : /boost/architecture//mips1 - : /boost/architecture//power - : /boost/architecture//riscv -diff --git a/libs/config/checks/architecture/Jamfile.jam b/libs/config/checks/architecture/Jamfile.jam -index c3779d917..ea41afb4a 100644 ---- a/libs/config/checks/architecture/Jamfile.jam -+++ b/libs/config/checks/architecture/Jamfile.jam -@@ -18,6 +18,7 @@ obj 64 : 64.cpp ; - - obj arm : arm.cpp ; - obj combined : combined.cpp ; -+obj loongarch : loongarch.cpp ; - obj mips : mips.cpp ; - alias mips1 : mips ; # Backwards compatibility - obj power : power.cpp ; -diff --git a/libs/config/checks/architecture/loongarch.cpp b/libs/config/checks/architecture/loongarch.cpp -new file mode 100644 -index 000000000..5be8cb09b ---- /dev/null -+++ b/libs/config/checks/architecture/loongarch.cpp -@@ -0,0 +1,11 @@ -+// loongarch.cpp -+// -+// Copyright (c) 2012 Steven Watanabe -+// -+// Distributed under the Boost Software License Version 1.0. (See -+// accompanying file LICENSE_1_0.txt or copy at -+// http://www.boost.org/LICENSE_1_0.txt) -+ -+#if !defined(__loongarch__) -+#error "Not LoongArch" -+#endif -diff --git a/tools/build/src/engine/jam.h b/tools/build/src/engine/jam.h -index b6f291865..27772284e 100644 ---- a/tools/build/src/engine/jam.h -+++ b/tools/build/src/engine/jam.h -@@ -437,6 +437,10 @@ - #define OSPLAT "OSPLAT=PARISC" - #endif - -+#ifdef __loongarch64 -+ #define OSPLAT "OSPLAT=LOONGARCH64" -+#endif -+ - #ifndef OSPLAT - #define OSPLAT "" - #endif --- -2.41.0 - diff --git a/0003-boost-1.73.0-cmakedir.patch b/boost-1.73.0-cmakedir.patch similarity index 100% rename from 0003-boost-1.73.0-cmakedir.patch rename to boost-1.73.0-cmakedir.patch diff --git a/boost-1.76.0-fix-narrowing-conversions-for-ppc.patch b/boost-1.76.0-fix-narrowing-conversions-for-ppc.patch new file mode 100644 index 0000000000000000000000000000000000000000..ce495408b50366ea52efb11dd8448261c9f2da85 --- /dev/null +++ b/boost-1.76.0-fix-narrowing-conversions-for-ppc.patch @@ -0,0 +1,32 @@ +From 0039878782516ea3313608f99f0d50e846151bc2 Mon Sep 17 00:00:00 2001 +From: Jonathan Wakely +Date: Mon, 31 Jan 2022 11:37:29 +0000 +Subject: [PATCH] Fix narrowing conversions for ppc + +These constants are too large for `long long` so are unsigned, +and then cannot be narrowed to the signed type. + +Fixes #29 +--- + .../numeric/interval/detail/ppc_rounding_control.hpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/include/boost/numeric/interval/detail/ppc_rounding_control.hpp b/include/boost/numeric/interval/detail/ppc_rounding_control.hpp +index 87fe8ee..99f9986 100644 +--- boost_1_76_0/boost/numeric/interval/detail/ppc_rounding_control.hpp ++++ boost_1_76_0/boost/numeric/interval/detail/ppc_rounding_control.hpp +@@ -28,10 +28,10 @@ typedef union { + double dmode; + } rounding_mode_struct; + +-static const rounding_mode_struct mode_upward = { 0xFFF8000000000002LL }; +-static const rounding_mode_struct mode_downward = { 0xFFF8000000000003LL }; +-static const rounding_mode_struct mode_to_nearest = { 0xFFF8000000000000LL }; +-static const rounding_mode_struct mode_toward_zero = { 0xFFF8000000000001LL }; ++static const rounding_mode_struct mode_upward = { (::boost::long_long_type)0xFFF8000000000002LL }; ++static const rounding_mode_struct mode_downward = { (::boost::long_long_type)0xFFF8000000000003LL }; ++static const rounding_mode_struct mode_to_nearest = { (::boost::long_long_type)0xFFF8000000000000LL }; ++static const rounding_mode_struct mode_toward_zero = { (::boost::long_long_type)0xFFF8000000000001LL }; + + struct ppc_rounding_control + { diff --git a/0005-boost-1.76.0-random-test.patch b/boost-1.76.0-random-test.patch similarity index 100% rename from 0005-boost-1.76.0-random-test.patch rename to boost-1.76.0-random-test.patch diff --git a/0004-boost-1.78.0-b2-build-flags.patch b/boost-1.78.0-b2-build-flags.patch similarity index 100% rename from 0004-boost-1.78.0-b2-build-flags.patch rename to boost-1.78.0-b2-build-flags.patch diff --git a/boost-1.78.0-no-rpath.patch b/boost-1.78.0-no-rpath.patch new file mode 100644 index 0000000000000000000000000000000000000000..6f0f9d115567a079ec539d3b2b87b51cc3b8bf56 --- /dev/null +++ b/boost-1.78.0-no-rpath.patch @@ -0,0 +1,31 @@ +From 6a8ff06728b64a1121a6179d891ab0baf3b9290b Mon Sep 17 00:00:00 2001 +From: Patrick Palka +Date: Mon, 4 Dec 2023 09:27:13 -0500 +Subject: [PATCH] Adjust options to remove RPATH for Fedora package builds + +--- + tools/build/src/tools/gcc.jam | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam +index c753afc23..e0b627726 100644 +--- a/tools/build/src/tools/gcc.jam ++++ b/tools/build/src/tools/gcc.jam +@@ -1035,12 +1035,12 @@ rule link.dll ( targets * : sources * : properties * ) + + actions link bind LIBRARIES + { +- "$(CONFIG_COMMAND)" @($(<[1]:T).rsp:O=FC:<=@":>=":E=-L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,$(RPATH) -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" $(START-GROUP) "$(>:T)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)) ++ "$(CONFIG_COMMAND)" @($(<[1]:T).rsp:O=FC:<=@":>=":E=-L"$(LINKPATH)" -o "$(<)" $(START-GROUP) "$(>:T)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)) + } + + actions link.dll bind LIBRARIES + { +- "$(CONFIG_COMMAND)" @($(<[1]:T).rsp:O=FC:<=@":>=":E=-L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,$(RPATH) -Wl,$(IMPLIB_OPTION:E=--out-implib),"$(<[2])" -o "$(<[1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,"$(SONAME_PREFIX:E=)$(<[1]:D=)" $(SHARED_OPTION:E=-shared) $(START-GROUP) "$(>:T)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)) ++ "$(CONFIG_COMMAND)" @($(<[1]:T).rsp:O=FC:<=@":>=":E=-L"$(LINKPATH)" -Wl,$(IMPLIB_OPTION:E=--out-implib),"$(<[2])" -o "$(<[1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,"$(SONAME_PREFIX:E=)$(<[1]:D=)" $(SHARED_OPTION:E=-shared) $(START-GROUP) "$(>:T)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)) + } + + ### +-- +2.43.0 + diff --git a/0010-stl-tuple-change-uarg-N-to-internal-linkage.patch b/boost-1.81-phoenix-multiple-defn.patch similarity index 32% rename from 0010-stl-tuple-change-uarg-N-to-internal-linkage.patch rename to boost-1.81-phoenix-multiple-defn.patch index 0f500a3a268c218328aadff3bdac99a4c28fee9d..6deaa403070309b5ce21e69b113553f7ae3d9b8a 100644 --- a/0010-stl-tuple-change-uarg-N-to-internal-linkage.patch +++ b/boost-1.81-phoenix-multiple-defn.patch @@ -1,34 +1,20 @@ -From 99b3bdf601dc2d69e793be070f63772e42e89cb3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= - -Date: Tue, 29 Nov 2022 07:34:17 +0700 -Subject: [PATCH] stl/tuple: change uarg##N to internal linkage - -8b6a9c2 (std::tuple support (Resolving #103) (#104), 2021-03-11) put -uarg##N in all translation units, which includes -boost/phoenix/stl/tuple.hpp or boost/phoenix/stl.hp, with external -linkage. Thus, we'll run into below error: - -> multiple definition of `boost::phoenix::placeholders::uarg1' - -Change it to internal linkage. ---- - boost/phoenix/stl/tuple.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/boost/phoenix/stl/tuple.hpp b/include/boost/phoenix/stl/tuple.hpp -index a83014a..d04ad16 100644 ---- a/boost/phoenix/stl/tuple.hpp -+++ b/boost/phoenix/stl/tuple.hpp -@@ -110,7 +110,7 @@ namespace boost { namespace phoenix { +--- boost_1_81_0/boost/phoenix/stl/tuple.hpp~ 2023-03-15 09:31:59.327721489 +0000 ++++ boost_1_81_0/boost/phoenix/stl/tuple.hpp 2023-03-15 09:32:02.787722445 +0000 +@@ -106,14 +106,16 @@ + tuple_detail::idx_wrap(), t); + } + ++#ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS + // Make unpacked argument placeholders namespace placeholders { #define BOOST_PP_LOCAL_LIMITS (1, BOOST_PHOENIX_ARG_LIMIT) #define BOOST_PP_LOCAL_MACRO(N) \ - auto uarg##N = \ -+ const auto uarg##N = \ ++ const auto uarg##N = \ boost::phoenix::get_<(N)-1>(boost::phoenix::placeholders::arg1); #include BOOST_PP_LOCAL_ITERATE() } --- -2.39.0 - ++#endif + }} // namespace boost::phoenix + + #endif // C++ 14 diff --git a/0001-boost-1.81.0-build-optflags.patch b/boost-1.81.0-build-optflags.patch similarity index 60% rename from 0001-boost-1.81.0-build-optflags.patch rename to boost-1.81.0-build-optflags.patch index f83729f275fec25bd9da4fb5ee350532961a536c..0f482c887354d0a2e289228e545004d61320242c 100644 --- a/0001-boost-1.81.0-build-optflags.patch +++ b/boost-1.81.0-build-optflags.patch @@ -1,26 +1,35 @@ +From ebc90bc3e372dc8e5db21f79d2a79e4f5c4d01ee Mon Sep 17 00:00:00 2001 +From: Patrick Palka +Date: Mon, 4 Dec 2023 09:24:20 -0500 +Subject: [PATCH] Adjust options for Fedora package build + +--- + tools/build/src/tools/gcc.jam | 30 +++++++++++++++--------------- + 1 file changed, 15 insertions(+), 15 deletions(-) + diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam -index d2e608a22..8920e96ba 100644 +index 834f5e1bf..c753afc23 100644 --- a/tools/build/src/tools/gcc.jam +++ b/tools/build/src/tools/gcc.jam -@@ -511,7 +511,7 @@ rule compile.fortran ( targets * : sources * : properties * ) +@@ -513,7 +513,7 @@ rule compile.fortran ( targets * : sources * : properties * ) actions compile.c++ bind PCH_FILE { -- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -include"$(PCH_FILE:S=)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" -c -o "$(<:W)" "$(>:W)" -+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -include"$(PCH_FILE:S=)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" -c -o "$(<:W)" "$(>:W)" +- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) $(INCLUDE-GCH)$(_)"$(PCH_FILE:S=)" $(INCLUDE-PCH)$(_)"$(PCH_FILE)" -I"$(INCLUDES)" -include$(_)"$(FORCE_INCLUDES)" -c -o "$(<)" "$(>:T)" ++ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) $(INCLUDE-GCH)$(_)"$(PCH_FILE:S=)" $(INCLUDE-PCH)$(_)"$(PCH_FILE)" -I"$(INCLUDES)" -include$(_)"$(FORCE_INCLUDES)" -c -o "$(<)" "$(>:T)" } actions compile.c bind PCH_FILE -@@ -521,7 +521,7 @@ actions compile.c bind PCH_FILE +@@ -523,7 +523,7 @@ actions compile.c bind PCH_FILE actions compile.c++.preprocess bind PCH_FILE { -- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -include"$(PCH_FILE:S=)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" "$(>:W)" -E >"$(<:W)" -+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -include"$(PCH_FILE:S=)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" "$(>:W)" -E >"$(<:W)" +- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) $(INCLUDE-GCH)$(_)"$(PCH_FILE:S=)" $(INCLUDE-PCH)$(_)"$(PCH_FILE)" -I"$(INCLUDES)" -include$(_)"$(FORCE_INCLUDES)" "$(>:T)" -E >"$(<)" ++ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) $(INCLUDE-GCH)$(_)"$(PCH_FILE:S=)" $(INCLUDE-PCH)$(_)"$(PCH_FILE)" -I"$(INCLUDES)" -include$(_)"$(FORCE_INCLUDES)" "$(>:T)" -E >"$(<)" } actions compile.c.preprocess bind PCH_FILE -@@ -624,21 +624,21 @@ actions compile.c.pch +@@ -627,22 +627,22 @@ actions compile.c.pch ### # Declare flags and action for compilation. @@ -28,32 +37,34 @@ index d2e608a22..8920e96ba 100644 -toolset.flags gcc.compile OPTIONS speed : -O3 ; -toolset.flags gcc.compile OPTIONS space : -Os ; -toolset.flags gcc.compile OPTIONS minimal : -O1 ; --toolset.flags gcc.compile OPTIONS debug : -Og ; -- ++toolset.flags gcc.compile OPTIONS off : ; ++toolset.flags gcc.compile OPTIONS speed : ; ++toolset.flags gcc.compile OPTIONS space : ; ++toolset.flags gcc.compile OPTIONS minimal : ; + toolset.flags gcc.compile OPTIONS debug : -Og ; + -toolset.flags gcc.compile OPTIONS off : -fno-inline ; -toolset.flags gcc.compile OPTIONS on : -Wno-inline ; -toolset.flags gcc.compile OPTIONS full : -finline-functions -Wno-inline ; -- ++toolset.flags gcc.compile OPTIONS off : ; ++toolset.flags gcc.compile OPTIONS on : ; ++toolset.flags gcc.compile OPTIONS full : ; + -toolset.flags gcc.compile OPTIONS off : -w ; -toolset.flags gcc.compile OPTIONS on : -Wall ; -toolset.flags gcc.compile OPTIONS all : -Wall ; -toolset.flags gcc.compile OPTIONS extra : -Wall -Wextra ; -toolset.flags gcc.compile OPTIONS pedantic : -Wall -Wextra -pedantic ; -+toolset.flags gcc.compile OPTIONS off : ; -+toolset.flags gcc.compile OPTIONS speed : ; -+toolset.flags gcc.compile OPTIONS space : ; -+toolset.flags gcc.compile OPTIONS minimal : ; -+toolset.flags gcc.compile OPTIONS debug : ; -+ -+toolset.flags gcc.compile OPTIONS off : ; -+toolset.flags gcc.compile OPTIONS on : ; -+toolset.flags gcc.compile OPTIONS full : ; -+ +-toolset.flags gcc.compile OPTIONS on : -Werror ; +toolset.flags gcc.compile OPTIONS off : ; +toolset.flags gcc.compile OPTIONS on : ; +toolset.flags gcc.compile OPTIONS all : ; +toolset.flags gcc.compile OPTIONS extra : ; +toolset.flags gcc.compile OPTIONS pedantic : ; - toolset.flags gcc.compile OPTIONS on : -Werror ; ++toolset.flags gcc.compile OPTIONS on : ; toolset.flags gcc.compile OPTIONS on : -g ; + toolset.flags gcc.compile OPTIONS on : -pg ; +-- +2.43.0 + diff --git a/boost-1.81.0-random-test-fixes.patch b/boost-1.81.0-random-test-fixes.patch new file mode 100644 index 0000000000000000000000000000000000000000..0b493c625ef36d2913232a0324fdcfe21c9db08b --- /dev/null +++ b/boost-1.81.0-random-test-fixes.patch @@ -0,0 +1,28 @@ +diff -up boost_1_81_0/libs/random/test/multiprecision_float_test.cpp.testfix boost_1_81_0/libs/random/test/multiprecision_float_test.cpp +--- boost_1_81_0/libs/random/test/multiprecision_float_test.cpp.testfix 2023-08-29 16:07:40.127905519 -0400 ++++ boost_1_81_0/libs/random/test/multiprecision_float_test.cpp 2023-08-29 16:08:44.114856281 -0400 +@@ -77,7 +77,7 @@ typedef boost::mpl::list < + boost::random::lognormal_distribution, + boost::random::normal_distribution, + #ifndef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +- boost::random::piecewise_constant_distribution, ++ boost::random::piecewise_constant_distribution, + boost::random::piecewise_linear_distribution, + #endif + boost::random::student_t_distribution, +diff -up boost_1_81_0/libs/random/test/multiprecision_int_test.cpp.testfix boost_1_81_0/libs/random/test/multiprecision_int_test.cpp +--- boost_1_81_0/libs/random/test/multiprecision_int_test.cpp.testfix 2023-08-29 16:06:58.543287627 -0400 ++++ boost_1_81_0/libs/random/test/multiprecision_int_test.cpp 2023-08-29 16:07:26.788707316 -0400 +@@ -216,7 +216,11 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(discrete_d + ss >> d2; + BOOST_CHECK(d == d2); + +- boost::random::independent_bits_engine::digits, boost::multiprecision::uint1024_t > big_random; ++ // ++ // The number of digits in the independent_bits_engine must be low enough that we don't overflow ++ // when converting to a double (see other_distributions declared above). ++ // ++ boost::random::independent_bits_engine::digits - 2, boost::multiprecision::uint1024_t > big_random; + for(unsigned i = 0; i < 200; ++i) + { + result_type r = d(big_random); diff --git a/boost-1.83-regex-test-fixes.patch b/boost-1.83-regex-test-fixes.patch new file mode 100644 index 0000000000000000000000000000000000000000..b8745a42f78d52edc7cb74f2437adadff6253426 --- /dev/null +++ b/boost-1.83-regex-test-fixes.patch @@ -0,0 +1,37 @@ +From 9c974cf22c53315d90a7c1bef7cea9b4f552d088 Mon Sep 17 00:00:00 2001 +From: Patrick Palka +Date: Wed, 6 Dec 2023 14:21:13 -0500 +Subject: [PATCH] Work around spurious Boost.Regex test failures + +--- + libs/regex/example/timer/regex_timer.cpp | 1 + + libs/regex/test/static_mutex/static_mutex_test.cpp | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/libs/regex/example/timer/regex_timer.cpp b/libs/regex/example/timer/regex_timer.cpp +index d121b70f1..bee544908 100644 +--- a/libs/regex/example/timer/regex_timer.cpp ++++ b/libs/regex/example/timer/regex_timer.cpp +@@ -13,6 +13,7 @@ + #pragma warning(disable: 4996 4127) + #endif + ++#define BOOST_TIMER_ENABLE_DEPRECATED + #include + #include + #include +diff --git a/libs/regex/test/static_mutex/static_mutex_test.cpp b/libs/regex/test/static_mutex/static_mutex_test.cpp +index be7500bd3..935e74525 100644 +--- a/libs/regex/test/static_mutex/static_mutex_test.cpp ++++ b/libs/regex/test/static_mutex/static_mutex_test.cpp +@@ -16,6 +16,7 @@ + * DESCRIPTION: test program for boost::static_mutex. + */ + ++#define BOOST_TIMER_ENABLE_DEPRECATED + #include + #include + #include +-- +2.43.0 + diff --git a/boost.spec b/boost.spec index b4fa99cd0e06ce6085aaa7e51327d64b431cab90..184336cbb3eed4c78f141907cc592e411f26e3fe 100644 --- a/boost.spec +++ b/boost.spec @@ -1,10 +1,10 @@ -%define anolis_release 8 - +%define anolis_release 1 %global boost_docdir __tmp_docdir %global boost_examplesdir __tmp_examplesdir -%global sonamever %{version} %if 0%{?flatpak} +# For bundling in Flatpak, currently build without mpich and openmpi, +# which aren't needed and cause prefix=/app errors. %bcond_with mpich %bcond_with openmpi %else @@ -13,7 +13,7 @@ %bcond_without openmpi %endif -%ifnarch x86_64 aarch64 loongarch64 +%ifnarch %{ix86} x86_64 %{arm} ppc64 ppc64le aarch64 s390x riscv64 %bcond_with context %else %bcond_without context @@ -21,56 +21,43 @@ %bcond_without python3 -%ifnarch x86_64 +%ifnarch %{ix86} x86_64 %bcond_with quadmath %else %bcond_without quadmath %endif -%bcond_with tests -%bcond_with docs_generated -Name: boost -Version: 1.81.0 -Release: %{anolis_release}%{dist} -License: Boost and MIT and Python -Summary: The free peer-reviewed portable C++ source libraries -URL: http://www.boost.org -# Replace each . with _ in %%{version} -%define version_enc %(echo "%{version}" | tr "." "_") -Source0: https://boostorg.jfrog.io/artifactory/main/release/%{version}/source/%{name}_%{version_enc}.tar.bz2 -Source1: libboost_thread.so -Source2: b2.1 +Name: boost +%global real_name boost +Summary: The free peer-reviewed portable C++ source libraries +Version: 1.83.0 +Release: %{anolis_release}%{?dist} +License: BSL-1.0 AND MIT AND Python-2.0.1 -Patch0001: 0001-boost-1.81.0-build-optflags.patch -Patch0002: 0002-boost-1.78.0-no-rpath.patch -# https://lists.boost.org/Archives/boost/2020/04/248812.php -Patch0003: 0003-boost-1.73.0-cmakedir.patch -Patch0004: 0004-boost-1.78.0-b2-build-flags.patch -# https://github.com/boostorg/random/issues/82 -Patch0005: 0005-boost-1.76.0-random-test.patch -# https://svn.boost.org/trac/boost/ticket/9038 -Patch0006: 0006-boost-1.81.0-pool-test_linking.patch -# Fix library overlinking -Patch0007: 0007-boost-1.74.0-linking.patch -# Fix linking with py3 -Patch0008: 0008-boost-1.57.0-python-libpython_dep.patch -# Hack to fix mpi build -Patch0009: 0009-boost-1.72.0-mpi-python-build.patch -# Fixes freeorion build and maybe some more -# https://github.com/boostorg/phoenix/issues/111 -# https://github.com/boostorg/phoenix/pull/112 -Patch0010: 0010-stl-tuple-change-uarg-N-to-internal-linkage.patch -Patch0011: 0011-add-loongarch64-support-for-boost-1.81.patch +# Replace each . with _ in %%{version} +%global version_enc %{lua: + local ver = rpm.expand("%{version}") + ver = ver:gsub("%.", "_") + print(ver) +} +%global toplev_dirname %{real_name}_%{version_enc} +URL: http://www.boost.org + +# https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_83_0.tar.bz2 +Source0: https://boostorg.jfrog.io/artifactory/main/release/%{version}/source/%{name}_%{version_enc}.tar.bz2 +Source1: libboost_thread.so +# Add a manual page for b2, based on the online documentation: +# http://www.boost.org/boost-build2/doc/html/bbv2/overview.html +Source2: b2.1 -BuildRequires: gcc-c++ python3 m4 lua-posix bison zlib-devel libicu-devel -BuildRequires: libstdc++-devel bzip2-devel xz-devel libzstd-devel -%if %{with python3} -BuildRequires: python3-devel python3-numpy -%endif -%if %{with quadmath} -BuildRequires: libquadmath-devel -%endif +%global sonamever %{version} +# boost is an "umbrella" package that pulls in all boost shared library +# components, except for MPI sub-packages. Those are special in that +# there are alternative implementations to choose from (Open MPI and MPICH), +# and it's not a big burden to have interested parties install them explicitly. +# The subpackages that don't install shared libraries are also not pulled in +# (b2, build, doc, doctools, examples, static). Requires: %{name}-atomic = %{version}-%{release} Requires: %{name}-chrono = %{version}-%{release} Requires: %{name}-container = %{version}-%{release} @@ -86,6 +73,7 @@ Requires: %{name}-fiber = %{version}-%{release} Requires: %{name}-filesystem = %{version}-%{release} Requires: %{name}-graph = %{version}-%{release} Requires: %{name}-iostreams = %{version}-%{release} +Requires: %{name}-json = %{version}-%{release} Requires: %{name}-locale = %{version}-%{release} Requires: %{name}-log = %{version}-%{release} Requires: %{name}-math = %{version}-%{release} @@ -103,231 +91,61 @@ Requires: %{name}-test = %{version}-%{release} Requires: %{name}-thread = %{version}-%{release} Requires: %{name}-timer = %{version}-%{release} Requires: %{name}-type_erasure = %{version}-%{release} -Requires: %{name}-url = %{version}-%{release} Requires: %{name}-wave = %{version}-%{release} %if %{with python3} Recommends: (boost-numpy3 if python3-numpy) %endif -%description -Boost provides free peer-reviewed portable C++ source libraries. - -We emphasize libraries that work well with the C++ Standard Library. Boost libraries are -intended to be widely useful, and usable across a broad spectrum of applications. The Boost -license encourages the use of Boost libraries for all users with minimal restrictions. - -We aim to establish "existing practice" and provide reference implementations so that Boost -libraries are suitable for eventual standardization. Beginning with the ten Boost Libraries -included in the Library Technical Report (TR1) and continuing with every release of the ISO -standard for C++ since 2011, the C++ Standards Committee has continued to rely on Boost as -a valuable source for additions to the Standard C++ Library. - -%package devel -Summary: The Boost C++ headers and shared development libraries -Requires: %{name} = %{version}-%{release} -Requires: libicu-devel -%if %{with quadmath} -Requires: libquadmath-devel -%endif -%if %{with python3} -# Require boost-numpy3 here, because main boost metapackage only Recommends: it -Requires: %{name}-numpy3 = %{version}-%{release} -Obsoletes: %{name}-python3-devel < 1.69.0 -Provides: %{name}-python3-devel = %{version}-%{release} -%endif -Obsoletes: boost-nowide-devel <= 0.20190814 -Provides: boost-nowide-devel = %{version} - -%description devel -Headers and shared object symbolic links for the Boost C++ libraries. - - -%if %{with context} -%package context -Summary: Run-time component of boost context switching library - -%description context - -Run-time support for Boost.Context, a foundational library that -provides a sort of cooperative multitasking on a single thread. - -%package coroutine -Summary: Run-time component of boost coroutine library - -%description coroutine -Run-time support for Boost.Coroutine, a library that provides -generalized subroutines which allow multiple entry points for -suspending and resuming execution. - -%package fiber -Summary: Run-time component of boost fiber library - -%description fiber - -Run-time support for the Boost Fiber library, a framework for -micro-/userland-threads (fibers) scheduled cooperatively. - -%endif - - -%if %{with python3} - -%package numpy3 -Summary: Run-time component of boost numpy library for Python 3 -Requires: %{name}-python3 = %{version}-%{release} -Requires: python3-numpy - -%description numpy3 - -The Boost Python Library is a framework for interfacing Python and -C++. It allows you to quickly and seamlessly expose C++ classes, -functions and objects to Python, and vice versa, using no special -tools -- just your C++ compiler. This package contains run-time -support for the NumPy extension of the Boost Python Library for Python 3. - -%package python3 -Summary: Run-time component of boost python library for Python 3 -Requires: python(abi) = %{python3_version} - -%description python3 - -The Boost Python Library is a framework for interfacing Python and -C++. It allows you to quickly and seamlessly expose C++ classes, -functions and objects to Python, and vice versa, using no special -tools -- just your C++ compiler. This package contains run-time -support for the Boost Python Library compiled for Python 3. - -%endif - -%if %{with openmpi} - -%package openmpi -Summary: Run-time component of Boost.MPI library -BuildRequires: openmpi-devel -Requires: %{name}-serialization = %{version}-%{release} - -%description openmpi - -Run-time support for Boost.MPI-OpenMPI, a library providing a clean C++ -API over the OpenMPI implementation of MPI. - -%package openmpi-devel -Summary: Shared library symbolic links for Boost.MPI -Requires: %{name}-devel = %{version}-%{release} -Requires: %{name}-openmpi = %{version}-%{release} -Requires: %{name}-graph-openmpi = %{version}-%{release} - -%description openmpi-devel - -Devel package for Boost.MPI-OpenMPI, a library providing a clean C++ -API over the OpenMPI implementation of MPI. - +BuildRequires: gcc-c++ +BuildRequires: m4 +BuildRequires: libstdc++-devel +BuildRequires: bzip2-devel +BuildRequires: zlib-devel +BuildRequires: xz-devel %if %{with python3} - -%package openmpi-python3 -Summary: Python 3 run-time component of Boost.MPI library -Requires: %{name}-openmpi = %{version}-%{release} -Requires: %{name}-python3 = %{version}-%{release} -Requires: %{name}-serialization = %{version}-%{release} -Requires: python3-openmpi - -%description openmpi-python3 - -Python 3 support for Boost.MPI-OpenMPI, a library providing a clean C++ -API over the OpenMPI implementation of MPI. - -%package openmpi-python3-devel -Summary: Shared library symbolic links for Boost.MPI Python 3 component -Requires: %{name}-devel = %{version}-%{release} -Requires: %{name}-openmpi-devel = %{version}-%{release} -Requires: %{name}-openmpi-python3 = %{version}-%{release} - -%description openmpi-python3-devel - -Devel package for the Python 3 interface of Boost.MPI-OpenMPI, a library -providing a clean C++ API over the OpenMPI implementation of MPI. - -%endif - -%package graph-openmpi -Summary: Run-time component of parallel boost graph library -Requires: %{name}-openmpi = %{version}-%{release} -Requires: %{name}-serialization = %{version}-%{release} - -%description graph-openmpi - -Run-time support for the Parallel BGL graph library. The interface and -graph components are generic, in the same sense as the Standard -Template Library (STL). This libraries in this package use OpenMPI -back-end to do the parallel work. - +BuildRequires: python3-devel +BuildRequires: python3-numpy %endif - - -%if %{with mpich} - -%package mpich -Summary: Run-time component of Boost.MPI library -BuildRequires: mpich-devel -Requires: %{name}-serialization = %{version}-%{release} - -%description mpich - -Run-time support for Boost.MPI-MPICH, a library providing a clean C++ -API over the MPICH implementation of MPI. - -%package mpich-devel -Summary: Shared library symbolic links for Boost.MPI -Requires: %{name}-devel%{?_isa} = %{version}-%{release} -Requires: %{name}-mpich%{?_isa} = %{version}-%{release} -Requires: %{name}-graph-mpich%{?_isa} = %{version}-%{release} - -%description mpich-devel - -Devel package for Boost.MPI-MPICH, a library providing a clean C++ -API over the MPICH implementation of MPI. - -%if %{with python3} - -%package mpich-python3 -Summary: Python 3 run-time component of Boost.MPI library -Requires: %{name}-mpich = %{version}-%{release} -Requires: %{name}-python3 = %{version}-%{release} -Requires: %{name}-serialization = %{version}-%{release} -Requires: python3-mpich - -%description mpich-python3 - -Python 3 support for Boost.MPI-MPICH, a library providing a clean C++ -API over the MPICH implementation of MPI. - -%package mpich-python3-devel -Summary: Shared library symbolic links for Boost.MPI Python 3 component -Requires: %{name}-devel = %{version}-%{release} -Requires: %{name}-mpich-devel = %{version}-%{release} -Requires: %{name}-mpich-python3 = %{version}-%{release} - -%description mpich-python3-devel - -Devel package for the Python 3 interface of Boost.MPI-MPICH, a library -providing a clean C++ API over the MPICH implementation of MPI. - +BuildRequires: libicu-devel +%if %{with quadmath} +BuildRequires: libquadmath-devel %endif +BuildRequires: bison +BuildRequires: libzstd-devel -%package graph-mpich -Summary: Run-time component of parallel boost graph library -Requires: %{name}-mpich = %{version}-%{release} -Requires: %{name}-serialization = %{version}-%{release} +Patch0: boost-1.81.0-build-optflags.patch +Patch1: boost-1.78.0-no-rpath.patch +# https://lists.boost.org/Archives/boost/2020/04/248812.php +Patch2: boost-1.73.0-cmakedir.patch +Patch3: boost-1.78.0-b2-build-flags.patch +# https://github.com/boostorg/random/issues/82 +Patch4: boost-1.76.0-random-test.patch +# PR https://github.com/boostorg/interval/pull/30 +# Fixes narrowing conversions for ppc - +# https://github.com/boostorg/interval/issues/29 +Patch5: boost-1.76.0-fix-narrowing-conversions-for-ppc.patch +# https://github.com/boostorg/phoenix/issues/111 +# https://github.com/boostorg/phoenix/issues/115 +Patch6: boost-1.81-phoenix-multiple-defn.patch +# https://github.com/boostorg/random/commit/7561690135c67ecf88c2133bad7680ebd2665c36 +# https://github.com/boostorg/random/commit/4239d93dad32a11e4c3829050f8070d456266133 +Patch7: boost-1.81.0-random-test-fixes.patch -%description graph-mpich +Patch8: boost-1.83-regex-test-fixes.patch -Run-time support for the Parallel BGL graph library. The interface and -graph components are generic, in the same sense as the Standard -Template Library (STL). This libraries in this package use MPICH -back-end to do the parallel work. +%bcond_with tests +%bcond_with docs_generated -%endif +%description +Boost provides free peer-reviewed portable C++ source libraries. The +emphasis is on libraries which work well with the C++ Standard +Library, in the hopes of establishing "existing practice" for +extensions and providing reference implementations so that the Boost +libraries are suitable for eventual standardization. (Some of the +libraries have already been included in the C++ 2011 standard and +others have been proposed to the C++ Standards Committee for inclusion +in future standards.) %package atomic Summary: Run-time component of boost atomic library @@ -369,6 +187,25 @@ preconditions, customizable actions on assertion failure (e.g., terminate or throw), optional compilation and checking of assertions, etc, from Lorenzo Caminiti. +%if %{with context} +%package context +Summary: Run-time component of boost context switching library + +%description context + +Run-time support for Boost.Context, a foundational library that +provides a sort of cooperative multitasking on a single thread. + +%package coroutine +Summary: Run-time component of boost coroutine library + +%description coroutine +Run-time support for Boost.Coroutine, a library that provides +generalized subroutines which allow multiple entry points for +suspending and resuming execution. + +%endif + %package date-time Summary: Run-time component of boost date-time library @@ -377,6 +214,16 @@ Summary: Run-time component of boost date-time library Run-time support for Boost Date Time, a set of date-time libraries based on generic programming concepts. +%if %{with context} +%package fiber +Summary: Run-time component of boost fiber library + +%description fiber + +Run-time support for the Boost Fiber library, a framework for +micro-/userland-threads (fibers) scheduled cooperatively. +%endif + %package filesystem Summary: Run-time component of boost filesystem library Requires: %{name}-system = %{version}-%{release} @@ -444,19 +291,50 @@ portion of Boost.TR1. %package nowide Summary: Standard library functions with UTF-8 API on Windows -Obsoletes: boost-nowide <= 0.20190814 %description nowide + Run-time support for Boost.Nowide. -%package program-options -Summary: Run-time component of boost program_options library +%if %{with python3} -%description program-options -Run-time support of boost program options library, which allows program -developers to obtain (name, value) pairs from the user, via -conventional methods such as command-line and configuration file. +%package numpy3 +Summary: Run-time component of boost numpy library for Python 3 +Requires: %{name}-python3 = %{version}-%{release} +Requires: python3-numpy + +%description numpy3 + +The Boost Python Library is a framework for interfacing Python and +C++. It allows you to quickly and seamlessly expose C++ classes, +functions and objects to Python, and vice versa, using no special +tools -- just your C++ compiler. This package contains run-time +support for the NumPy extension of the Boost Python Library for Python 3. + +%endif + +%package program-options +Summary: Run-time component of boost program_options library + +%description program-options + +Run-time support of boost program options library, which allows program +developers to obtain (name, value) pairs from the user, via +conventional methods such as command-line and configuration file. + +%if %{with python3} +%package python3 +Summary: Run-time component of boost python library for Python 3 +Requires: python(abi) = %{python3_version} +%description python3 + +The Boost Python Library is a framework for interfacing Python and +C++. It allows you to quickly and seamlessly expose C++ classes, +functions and objects to Python, and vice versa, using no special +tools -- just your C++ compiler. This package contains run-time +support for the Boost Python Library compiled for Python 3. +%endif %package random Summary: Run-time component of boost random library @@ -530,19 +408,17 @@ Requires: %{name}-chrono = %{version}-%{release} Requires: %{name}-system = %{version}-%{release} %description type_erasure + The Boost.TypeErasure library provides runtime polymorphism in C++ that is more flexible than that provided by the core language. %package url -Summary: Run-time component of boost url library -Requires: %{name}-system = %{version}-%{release} +Summary: Runtime component of boost URL library %description url -Boost.URL is a portable C++ library which provides containers and algorithms -which model a "URL", more formally described using the Uniform Resource -Identifier (URI) specification (henceforth referred to as rfc3986). A URL -is a compact sequence of characters that identifies an abstract or physical -resource. + +Run-time support for the Boost.URL library, a Standards conforming +library for parsing Uniform Resource Locators. %package wave Summary: Run-time component of boost C99/C++ preprocessing library @@ -558,6 +434,23 @@ Run-time support for the Boost.Wave library, a Standards conforming, and highly configurable implementation of the mandated C99/C++ preprocessor functionality. +%package devel +Summary: The Boost C++ headers and shared development libraries +Requires: %{name} = %{version}-%{release} +Requires: libicu-devel +%if %{with quadmath} +Requires: libquadmath-devel +%endif +%if %{with python3} +# Require boost-numpy3 here, because main boost metapackage only Recommends: it +Requires: %{name}-numpy3 = %{version}-%{release} +# Old Provides: for compatibility with packages that still require it. +Provides: %{name}-python3-devel = %{version}-%{release} +%endif + +%description devel +Headers and shared object symbolic links for the Boost C++ libraries. + %package static Summary: The Boost C++ static development libraries Requires: %{name}-devel = %{version}-%{release} @@ -565,13 +458,153 @@ Requires: %{name}-devel = %{version}-%{release} %description static Static Boost C++ libraries. +%package doc +Summary: HTML documentation for the Boost C++ libraries +BuildArch: noarch + +%description doc +This package contains the documentation in the HTML format of the Boost C++ +libraries. The documentation provides the same content as that on the Boost +web page (http://www.boost.org/doc/libs/%{version_enc}). + %package examples Summary: Source examples for the Boost C++ libraries +BuildArch: noarch Requires: %{name}-devel = %{version}-%{release} %description examples This package contains example source files distributed with boost. + +%if %{with openmpi} + +%package openmpi +Summary: Run-time component of Boost.MPI library +BuildRequires: openmpi-devel +Requires: %{name}-serialization = %{version}-%{release} + +%description openmpi + +Run-time support for Boost.MPI-OpenMPI, a library providing a clean C++ +API over the OpenMPI implementation of MPI. + +%package openmpi-devel +Summary: Shared library symbolic links for Boost.MPI +Requires: %{name}-devel = %{version}-%{release} +Requires: %{name}-openmpi = %{version}-%{release} +Requires: %{name}-graph-openmpi = %{version}-%{release} + +%description openmpi-devel + +Devel package for Boost.MPI-OpenMPI, a library providing a clean C++ +API over the OpenMPI implementation of MPI. + +%if %{with python3} + +%package openmpi-python3 +Summary: Python 3 run-time component of Boost.MPI library +Requires: %{name}-openmpi = %{version}-%{release} +Requires: %{name}-python3 = %{version}-%{release} +Requires: %{name}-serialization = %{version}-%{release} +Requires: python3-openmpi + +%description openmpi-python3 + +Python 3 support for Boost.MPI-OpenMPI, a library providing a clean C++ +API over the OpenMPI implementation of MPI. + +%package openmpi-python3-devel +Summary: Shared library symbolic links for Boost.MPI Python 3 component +Requires: %{name}-devel = %{version}-%{release} +Requires: %{name}-openmpi-devel = %{version}-%{release} +Requires: %{name}-openmpi-python3 = %{version}-%{release} + +%description openmpi-python3-devel + +Devel package for the Python 3 interface of Boost.MPI-OpenMPI, a library +providing a clean C++ API over the OpenMPI implementation of MPI. + +%endif + +%package graph-openmpi +Summary: Run-time component of parallel boost graph library +Requires: %{name}-openmpi = %{version}-%{release} +Requires: %{name}-serialization = %{version}-%{release} + +%description graph-openmpi + +Run-time support for the Parallel BGL graph library. The interface and +graph components are generic, in the same sense as the Standard +Template Library (STL). This libraries in this package use OpenMPI +back-end to do the parallel work. + +%endif + + +%if %{with mpich} + +%package mpich +Summary: Run-time component of Boost.MPI library +BuildRequires: mpich-devel +Requires: %{name}-serialization = %{version}-%{release} + +%description mpich + +Run-time support for Boost.MPI-MPICH, a library providing a clean C++ +API over the MPICH implementation of MPI. + +%package mpich-devel +Summary: Shared library symbolic links for Boost.MPI +Requires: %{name}-devel = %{version}-%{release} +Requires: %{name}-mpich = %{version}-%{release} +Requires: %{name}-graph-mpich = %{version}-%{release} + +%description mpich-devel + +Devel package for Boost.MPI-MPICH, a library providing a clean C++ +API over the MPICH implementation of MPI. + +%if %{with python3} + +%package mpich-python3 +Summary: Python 3 run-time component of Boost.MPI library +Requires: %{name}-mpich = %{version}-%{release} +Requires: %{name}-python3 = %{version}-%{release} +Requires: %{name}-serialization = %{version}-%{release} +Requires: python3-mpich + +%description mpich-python3 + +Python 3 support for Boost.MPI-MPICH, a library providing a clean C++ +API over the MPICH implementation of MPI. + +%package mpich-python3-devel +Summary: Shared library symbolic links for Boost.MPI Python 3 component +Requires: %{name}-devel = %{version}-%{release} +Requires: %{name}-mpich-devel = %{version}-%{release} +Requires: %{name}-mpich-python3 = %{version}-%{release} + +%description mpich-python3-devel + +Devel package for the Python 3 interface of Boost.MPI-MPICH, a library +providing a clean C++ API over the MPICH implementation of MPI. + +%endif + +%package graph-mpich +Summary: Run-time component of parallel boost graph library +Requires: %{name}-mpich = %{version}-%{release} +Requires: %{name}-serialization = %{version}-%{release} + +%description graph-mpich + +Run-time support for the Parallel BGL graph library. The interface and +graph components are generic, in the same sense as the Standard +Template Library (STL). This libraries in this package use MPICH +back-end to do the parallel work. + +%endif + %package build Summary: Cross platform build system for C++ projects Requires: %{name}-b2 @@ -596,24 +629,15 @@ Tools for working with Boost documentation in BoostBook or QuickBook format. %package b2 Summary: A low-level build tool -Obsoletes: boost-jam < 1.73.0 -Provides: boost-jam = %{version} %description b2 B2 (formerly Boost.Jam) is the low-level build engine tool for Boost.Build. Historically, B2 was based on on FTJam and on Perforce Jam but has grown a number of significant features and is now developed independently. -%package doc -Summary: Documentation files for %{name} -Requires: %{name} = %{EVR} -BuildArch: noarch - -%description doc -The %{name}-doc package contains documentation files for %{name}. - %prep -%autosetup -p1 -n %{name}_%{version_enc} +%autosetup -n %{toplev_dirname} -p1 +find ./boost -name '*.hpp' -perm /111 | xargs --no-run-if-empty chmod a-x %build %set_build_flags @@ -624,8 +648,11 @@ PYTHON3_ABIFLAGS=$(/usr/bin/python3-config --abiflags) : PYTHON3_ABIFLAGS=${PYTHON3_ABIFLAGS} %endif -export RPM_OPT_FLAGS="%{build_cxxflags} -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations" -export RPM_LD_FLAGS="%{build_ldflags}" +# There are many strict aliasing warnings, and it's not feasible to go +# through them all at this time. +# There are also lots of noisy but harmless unused local typedef warnings. +export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations" +export RPM_LD_FLAGS cat > ./tools/build/src/user-config.jam << "EOF" import os ; @@ -646,10 +673,14 @@ EOF ./bootstrap.sh --with-toolset=%{toolchain} --with-icu +# N.B. When we build the following with PCH, parts of boost (math +# library in particular) end up being built second time during +# installation. Unsure why that is, but all sub-builds need to be +# built with pch=off to avoid this. echo ============================= build serial ================== ./b2 -d+2 -q %{?_smp_mflags} \ - --build-dir=serial \ + --without-mpi --without-graph_parallel --build-dir=serial \ %if !%{with context} --without-context --without-coroutine \ --without-fiber \ @@ -719,7 +750,7 @@ echo ============================= build Boost.Build ================== %install -cd %{_builddir}/%{name}_%{version_enc} +cd %{_builddir}/%{toplev_dirname} %if %{with openmpi} || %{with mpich} # First, purge all modules so that user environment does not conflict @@ -729,28 +760,32 @@ module purge ||: %if %{with openmpi} %{_openmpi_load} +# XXX We want to extract this from RPM flags +# b2 instruction-set=i686 etc. %if %{with python3} echo ============================= install $MPI_COMPILER ================== ./b2 -q %{?_smp_mflags} \ --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \ - --stagedir=%{buildroot}${MPI_HOME} \ + --stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \ variant=release threading=multi debug-symbols=on pch=off \ python=%{python3_version} stage # Move Python module to proper location for automatic loading -mkdir -p %{buildroot}%{python3_sitearch}/openmpi/boost -touch %{buildroot}%{python3_sitearch}/openmpi/boost/__init__.py -mv %{buildroot}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \ - %{buildroot}%{python3_sitearch}/openmpi/boost/ +mkdir -p ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost +touch ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/__init__.py +mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \ + ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/ %endif -# Remove generic parts of boost that were built for dependencies. -rm -f %{buildroot}${MPI_HOME}/lib/libboost_{python,{w,}serialization}* -rm -f %{buildroot}${MPI_HOME}/lib/libboost_numpy* +# Using 'b2 stage' does not fix the paths in these files, so do it manually +sed -i -e 's|get_filename_component(_BOOST_INCLUDEDIR "${_BOOST_CMAKEDIR}/.*"|get_filename_component(_BOOST_INCLUDEDIR "${_BOOST_CMAKEDIR}/../../../../include"|' ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/*/*-config.cmake -# Remove cmake files (some of these are duplicates of the generic bits anyway). -rm -r %{buildroot}${MPI_HOME}/lib/cmake +# Remove generic parts of boost that were built for dependencies. +rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}* +rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy* +rm -rf ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/boost_{python,{w,}serialization}* +rm -rf ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/boost_numpy* %{_openmpi_unload} export PATH=/bin${PATH:+:}$PATH @@ -763,23 +798,25 @@ export PATH=/bin${PATH:+:}$PATH echo ============================= install $MPI_COMPILER ================== ./b2 -q %{?_smp_mflags} \ --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \ - --stagedir=%{buildroot}${MPI_HOME} \ + --stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \ variant=release threading=multi debug-symbols=on pch=off \ python=%{python3_version} stage # Move Python module to proper location for automatic loading -mkdir -p %{buildroot}%{python3_sitearch}/mpich/boost -touch %{buildroot}%{python3_sitearch}/mpich/boost/__init__.py -mv %{buildroot}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \ - %{buildroot}%{python3_sitearch}/mpich/boost/ +mkdir -p ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost +touch ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/__init__.py +mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \ + ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/ %endif -# Remove generic parts of boost that were built for dependencies. -rm -f %{buildroot}${MPI_HOME}/lib/libboost_{python,{w,}serialization}* -rm -f %{buildroot}${MPI_HOME}/lib/libboost_numpy* +# Using 'b2 stage' does not fix the paths in these files, so do it manually +sed -i -e 's|get_filename_component(_BOOST_INCLUDEDIR "${_BOOST_CMAKEDIR}/.*"|get_filename_component(_BOOST_INCLUDEDIR "${_BOOST_CMAKEDIR}/../../../../include"|' ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/*/*-config.cmake -# Remove cmake files (some of these are duplicates of the generic bits anyway). -rm -r %{buildroot}${MPI_HOME}/lib/cmake +# Remove generic parts of boost that were built for dependencies. +rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}* +rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy* +rm -rf ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/boost_{python,{w,}serialization}* +rm -rf ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake/boost_numpy* %{_mpich_unload} export PATH=/bin${PATH:+:}$PATH @@ -787,13 +824,13 @@ export PATH=/bin${PATH:+:}$PATH echo ============================= install serial ================== ./b2 -d+2 -q %{?_smp_mflags} \ - --build-dir=serial \ + --without-mpi --without-graph_parallel --build-dir=serial \ %if !%{with context} --without-context --without-coroutine \ --without-fiber \ %endif - --prefix=%{buildroot}%{_prefix} \ - --libdir=%{buildroot}%{_libdir} \ + --prefix=$RPM_BUILD_ROOT%{_prefix} \ + --libdir=$RPM_BUILD_ROOT%{_libdir} \ variant=release threading=multi debug-symbols=on pch=off \ %if %{with python3} python=%{python3_version} \ @@ -802,34 +839,44 @@ echo ============================= install serial ================== # Override DSO symlink with a linker script. See the linker script # itself for details of why we need to do this. -[ -f %{buildroot}%{_libdir}/libboost_thread.so ] # Must be present -rm -f %{buildroot}%{_libdir}/libboost_thread.so -install -p -m 644 $(basename %{SOURCE1}) %{buildroot}%{_libdir}/ - -# Remove cmake files until we know somebody wants them. -rm -r %{buildroot}/%{_libdir}/cmake +[ -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so ] # Must be present +rm -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so +install -p -m 644 $(basename %{SOURCE1}) $RPM_BUILD_ROOT%{_libdir}/ echo ============================= install Boost.Build ================== (cd tools/build - ./b2 --prefix=%{buildroot}%{_prefix} install + ./b2 --prefix=$RPM_BUILD_ROOT%{_prefix} install + + # Somewhere along the line the boost-build install directory became b2 + # which seems not so great for our purposes, fix that up + mv $RPM_BUILD_ROOT%{_datadir}/b2 $RPM_BUILD_ROOT%{_datadir}/boost-build + + # but make a symlink so b2 knows where to look + pushd $RPM_BUILD_ROOT%{_datadir}/ + ln -s ./boost-build b2 + popd + # Fix some permissions - chmod +x %{buildroot}%{_datadir}/b2/src/tools/doxproc.py + chmod +x $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxproc.py # Fix shebang using unversioned python - sed -i '1s@^#!/usr/bin.python$@&3@' %{buildroot}%{_datadir}/b2/src/tools/doxproc.py + sed -i '1s@^#!/usr/bin.python$@&3@' $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxproc.py + # Empty file + rm $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp + rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp # Install the manual page - %{__install} -p -m 644 %{SOURCE2} -D %{buildroot}%{_mandir}/man1/b2.1 + %{__install} -p -m 644 %{SOURCE2} -D $RPM_BUILD_ROOT%{_mandir}/man1/b2.1 ) echo ============================= install Boost.QuickBook ================== (cd tools/quickbook - ../build/b2 --prefix=%{buildroot}%{_prefix} - %{__install} -p -m 755 ../../dist/bin/quickbook %{buildroot}%{_bindir}/ + ../build/b2 --prefix=$RPM_BUILD_ROOT%{_prefix} + %{__install} -p -m 755 ../../dist/bin/quickbook $RPM_BUILD_ROOT%{_bindir}/ cd ../boostbook find dtd -type f -name '*.dtd' | while read tobeinstalledfiles; do - install -p -m 644 $tobeinstalledfiles -D %{buildroot}%{_datadir}/boostbook/$tobeinstalledfiles + install -p -m 644 $tobeinstalledfiles -D $RPM_BUILD_ROOT%{_datadir}/boostbook/$tobeinstalledfiles done find xsl -type f | while read tobeinstalledfiles; do - install -p -m 644 $tobeinstalledfiles -D %{buildroot}%{_datadir}/boostbook/$tobeinstalledfiles + install -p -m 644 $tobeinstalledfiles -D $RPM_BUILD_ROOT%{_datadir}/boostbook/$tobeinstalledfiles done ) @@ -895,6 +942,7 @@ rm -f tmp-doc-directories %generate_compatibility_deps + %post doctools CATALOG=%{_sysconfdir}/xml/catalog %{_bindir}/xmlcatalog --noout --add "rewriteSystem" \ @@ -925,180 +973,45 @@ fi %dir %{abidir} %license LICENSE_1_0.txt -%files devel +%files atomic %license LICENSE_1_0.txt -%{_includedir}/%{name} -%{_libdir}/libboost_atomic.so -%{_libdir}/libboost_chrono.so -%{_libdir}/libboost_container.so -%{_libdir}/libboost_contract.so +%{_libdir}/libboost_atomic.so.%{sonamever} +%{abidir}/libboost_atomic.dump + +%files chrono +%license LICENSE_1_0.txt +%{_libdir}/libboost_chrono.so.%{sonamever} +%{abidir}/libboost_chrono.dump + +%files container +%license LICENSE_1_0.txt +%{_libdir}/libboost_container.so.%{sonamever} +%{abidir}/libboost_container.dump + %if %{with context} -%{_libdir}/libboost_context.so -%{_libdir}/libboost_coroutine.so + +%files context +%license LICENSE_1_0.txt +%{_libdir}/libboost_context.so.%{sonamever} +%{abidir}/libboost_context.dump + +%files coroutine +%license LICENSE_1_0.txt +%{_libdir}/libboost_coroutine.so.%{sonamever} +%{abidir}/libboost_coroutine.dump %endif -%{_libdir}/libboost_date_time.so + +%files date-time +%license LICENSE_1_0.txt +%{_libdir}/libboost_date_time.so.%{sonamever} +%{abidir}/libboost_date_time.dump + %if %{with context} -%{_libdir}/libboost_fiber.so +%files fiber +%license LICENSE_1_0.txt +%{_libdir}/libboost_fiber.so.%{sonamever} +%{abidir}/libboost_fiber.dump %endif -%{_libdir}/libboost_filesystem.so -%{_libdir}/libboost_graph.so -%{_libdir}/libboost_iostreams.so -%{_libdir}/libboost_json.so -%{_libdir}/libboost_locale.so -%{_libdir}/libboost_log.so -%{_libdir}/libboost_log_setup.so -%{_libdir}/libboost_math_tr1.so -%{_libdir}/libboost_math_tr1f.so -%{_libdir}/libboost_math_tr1l.so -%{_libdir}/libboost_math_c99.so -%{_libdir}/libboost_math_c99f.so -%{_libdir}/libboost_math_c99l.so -%{_libdir}/libboost_nowide.so -%if %{with python3} -%{_libdir}/libboost_numpy%{python3_version_nodots}.so -%endif -%{_libdir}/libboost_prg_exec_monitor.so -%{_libdir}/libboost_unit_test_framework.so -%{_libdir}/libboost_program_options.so -%if %{with python3} -%{_libdir}/libboost_python%{python3_version_nodots}.so -%endif -%{_libdir}/libboost_random.so -%{_libdir}/libboost_regex.so -%{_libdir}/libboost_serialization.so -%{_libdir}/libboost_wserialization.so -%{_libdir}/libboost_stacktrace_addr2line.so -%{_libdir}/libboost_stacktrace_basic.so -%{_libdir}/libboost_stacktrace_noop.so -%{_libdir}/libboost_system.so -%{_libdir}/libboost_thread.so -%{_libdir}/libboost_timer.so -%{_libdir}/libboost_url.so -%{_libdir}/libboost_type_erasure.so -%{_libdir}/libboost_wave.so - - -%if %{with context} - -%files context -%license LICENSE_1_0.txt -%{_libdir}/libboost_context.so.%{sonamever} -%{abidir}/libboost_context.dump - -%files coroutine -%license LICENSE_1_0.txt -%{_libdir}/libboost_coroutine.so.%{sonamever} -%{abidir}/libboost_coroutine.dump - -%files fiber -%license LICENSE_1_0.txt -%{_libdir}/libboost_fiber.so.%{sonamever} -%{abidir}/libboost_fiber.dump -%endif - - -%if %{with python3} -%files numpy3 -%license LICENSE_1_0.txt -%{_libdir}/libboost_numpy%{python3_version_nodots}.so.%{sonamever} -%{abidir}/libboost_numpy%{python3_version_nodots}.dump - -%files python3 -%license LICENSE_1_0.txt -%{_libdir}/libboost_python%{python3_version_nodots}.so.%{sonamever} -%{abidir}/libboost_python%{python3_version_nodots}.dump - -%endif - -# OpenMPI packages -%if %{with openmpi} - -%files openmpi -%license LICENSE_1_0.txt -%{_libdir}/openmpi/lib/libboost_mpi.so.%{sonamever} -%{abidir}/libboost_mpi.dump - -%files openmpi-devel -%license LICENSE_1_0.txt -%{_libdir}/openmpi/lib/libboost_mpi.so -%{_libdir}/openmpi/lib/libboost_graph_parallel.so -%{abidir}/libboost_graph_parallel.dump - -%if %{with python3} - -%files openmpi-python3 -%license LICENSE_1_0.txt -%{_libdir}/openmpi/lib/libboost_mpi_python%{python3_version_nodots}.so.%{sonamever} -%{abidir}/libboost_mpi_python%{python3_version_nodots}.dump -%{python3_sitearch}/openmpi/boost/ - -%files openmpi-python3-devel -%license LICENSE_1_0.txt -%{_libdir}/openmpi/lib/libboost_mpi_python%{python3_version_nodots}.so - -%endif - -%files graph-openmpi -%license LICENSE_1_0.txt -%{_libdir}/openmpi/lib/libboost_graph_parallel.so.%{sonamever} - -%endif - -# MPICH packages -%if %{with mpich} - -%files mpich -%license LICENSE_1_0.txt -%{_libdir}/mpich/lib/libboost_mpi.so.%{sonamever} - -%files mpich-devel -%license LICENSE_1_0.txt -%{_libdir}/mpich/lib/libboost_mpi.so -%{_libdir}/mpich/lib/libboost_graph_parallel.so - -%if %{with python3} - -%files mpich-python3 -%license LICENSE_1_0.txt -%{_libdir}/mpich/lib/libboost_mpi_python%{python3_version_nodots}.so.%{sonamever} -%{python3_sitearch}/mpich/boost/ - -%files mpich-python3-devel -%license LICENSE_1_0.txt -%{_libdir}/mpich/lib/libboost_mpi_python%{python3_version_nodots}.so - -%endif - -%files graph-mpich -%license LICENSE_1_0.txt -%{_libdir}/mpich/lib/libboost_graph_parallel.so.%{sonamever} - -%endif - -%files atomic -%license LICENSE_1_0.txt -%{_libdir}/libboost_atomic.so.%{sonamever} -%{abidir}/libboost_atomic.dump - -%files chrono -%license LICENSE_1_0.txt -%{_libdir}/libboost_chrono.so.%{sonamever} -%{abidir}/libboost_chrono.dump - -%files container -%license LICENSE_1_0.txt -%{_libdir}/libboost_container.so.%{sonamever} -%{abidir}/libboost_container.dump - -%files contract -%license LICENSE_1_0.txt -%{_libdir}/libboost_contract.so.%{sonamever} -%{abidir}/libboost_contract.dump - -%files date-time -%license LICENSE_1_0.txt -%{_libdir}/libboost_date_time.so.%{sonamever} -%{abidir}/libboost_date_time.dump %files filesystem %license LICENSE_1_0.txt @@ -1148,11 +1061,32 @@ fi %{_libdir}/libboost_nowide.so.%{sonamever} %{abidir}/libboost_nowide.dump +%if %{with python3} +%files numpy3 +%license LICENSE_1_0.txt +%{_libdir}/libboost_numpy%{python3_version_nodots}.so.%{sonamever} +%{abidir}/libboost_numpy%{python3_version_nodots}.dump +%endif + +%files test +%license LICENSE_1_0.txt +%{_libdir}/libboost_prg_exec_monitor.so.%{sonamever} +%{_libdir}/libboost_unit_test_framework.so.%{sonamever} +%{abidir}/libboost_prg_exec_monitor.dump +%{abidir}/libboost_unit_test_framework.dump + %files program-options %license LICENSE_1_0.txt %{_libdir}/libboost_program_options.so.%{sonamever} %{abidir}/libboost_program_options.dump +%if %{with python3} +%files python3 +%license LICENSE_1_0.txt +%{_libdir}/libboost_python%{python3_version_nodots}.so.%{sonamever} +%{abidir}/libboost_python%{python3_version_nodots}.dump +%endif + %files random %license LICENSE_1_0.txt %{_libdir}/libboost_random.so.%{sonamever} @@ -1189,13 +1123,6 @@ fi %{_libdir}/libboost_thread.so.%{sonamever} %{abidir}/libboost_thread.dump -%files test -%license LICENSE_1_0.txt -%{_libdir}/libboost_prg_exec_monitor.so.%{sonamever} -%{_libdir}/libboost_unit_test_framework.so.%{sonamever} -%{abidir}/libboost_prg_exec_monitor.dump -%{abidir}/libboost_unit_test_framework.dump - %files timer %license LICENSE_1_0.txt %{_libdir}/libboost_timer.so.%{sonamever} @@ -1216,9 +1143,70 @@ fi %{_libdir}/libboost_wave.so.%{sonamever} %{abidir}/libboost_wave.dump +%files contract +%license LICENSE_1_0.txt +%{_libdir}/libboost_contract.so.%{sonamever} +%{abidir}/libboost_contract.dump + +%files doc +%doc %{boost_docdir}/* + %files examples %doc %{boost_examplesdir}/* +%files devel +%license LICENSE_1_0.txt +%{_includedir}/%{name} +%{_libdir}/cmake +%{_libdir}/libboost_atomic.so +%{_libdir}/libboost_chrono.so +%{_libdir}/libboost_container.so +%{_libdir}/libboost_contract.so +%if %{with context} +%{_libdir}/libboost_context.so +%{_libdir}/libboost_coroutine.so +%endif +%{_libdir}/libboost_date_time.so +%if %{with context} +%{_libdir}/libboost_fiber.so +%endif +%{_libdir}/libboost_filesystem.so +%{_libdir}/libboost_graph.so +%{_libdir}/libboost_iostreams.so +%{_libdir}/libboost_json.so +%{_libdir}/libboost_locale.so +%{_libdir}/libboost_log.so +%{_libdir}/libboost_log_setup.so +%{_libdir}/libboost_math_tr1.so +%{_libdir}/libboost_math_tr1f.so +%{_libdir}/libboost_math_tr1l.so +%{_libdir}/libboost_math_c99.so +%{_libdir}/libboost_math_c99f.so +%{_libdir}/libboost_math_c99l.so +%{_libdir}/libboost_nowide.so +%if %{with python3} +%{_libdir}/libboost_numpy%{python3_version_nodots}.so +%endif +%{_libdir}/libboost_prg_exec_monitor.so +%{_libdir}/libboost_unit_test_framework.so +%{_libdir}/libboost_program_options.so +%if %{with python3} +%{_libdir}/libboost_python%{python3_version_nodots}.so +%endif +%{_libdir}/libboost_random.so +%{_libdir}/libboost_regex.so +%{_libdir}/libboost_serialization.so +%{_libdir}/libboost_wserialization.so +%{_libdir}/libboost_stacktrace_addr2line.so +%{_libdir}/libboost_stacktrace_basic.so +%{_libdir}/libboost_stacktrace_noop.so +%{_libdir}/libboost_system.so +%{_libdir}/libboost_thread.so +%{_libdir}/libboost_timer.so +%{_libdir}/libboost_type_erasure.so +%{_libdir}/libboost_url.so +%{_libdir}/libboost_wave.so + %files static %license LICENSE_1_0.txt %{_libdir}/*.a @@ -1230,8 +1218,75 @@ fi %endif %{abidir}/mpi.dump +# OpenMPI packages +%if %{with openmpi} + +%files openmpi +%license LICENSE_1_0.txt +%{_libdir}/openmpi/lib/libboost_mpi.so.%{sonamever} +%{abidir}/libboost_mpi.dump + +%files openmpi-devel +%license LICENSE_1_0.txt +%{_libdir}/openmpi/lib/cmake +%{_libdir}/openmpi/lib/libboost_mpi.so +%{_libdir}/openmpi/lib/libboost_graph_parallel.so +%{abidir}/libboost_graph_parallel.dump + +%if %{with python3} + +%files openmpi-python3 +%license LICENSE_1_0.txt +%{_libdir}/openmpi/lib/libboost_mpi_python%{python3_version_nodots}.so.%{sonamever} +%{abidir}/libboost_mpi_python%{python3_version_nodots}.dump +%{python3_sitearch}/openmpi/boost/ + +%files openmpi-python3-devel +%license LICENSE_1_0.txt +%{_libdir}/openmpi/lib/libboost_mpi_python%{python3_version_nodots}.so + +%endif + +%files graph-openmpi +%license LICENSE_1_0.txt +%{_libdir}/openmpi/lib/libboost_graph_parallel.so.%{sonamever} + +%endif + +# MPICH packages +%if %{with mpich} + +%files mpich +%license LICENSE_1_0.txt +%{_libdir}/mpich/lib/libboost_mpi.so.%{sonamever} + +%files mpich-devel +%license LICENSE_1_0.txt +%{_libdir}/mpich/lib/cmake +%{_libdir}/mpich/lib/libboost_mpi.so +%{_libdir}/mpich/lib/libboost_graph_parallel.so + +%if %{with python3} + +%files mpich-python3 +%license LICENSE_1_0.txt +%{_libdir}/mpich/lib/libboost_mpi_python%{python3_version_nodots}.so.%{sonamever} +%{python3_sitearch}/mpich/boost/ + +%files mpich-python3-devel +%license LICENSE_1_0.txt +%{_libdir}/mpich/lib/libboost_mpi_python%{python3_version_nodots}.so +%endif + +%files graph-mpich +%license LICENSE_1_0.txt +%{_libdir}/mpich/lib/libboost_graph_parallel.so.%{sonamever} + +%endif + %files build %license LICENSE_1_0.txt +%{_datadir}/%{name}-build/ %{_datadir}/b2 %files doctools @@ -1246,20 +1301,21 @@ fi %{abidir}/b2-option.list %{_mandir}/man1/b2.1* -%files doc -%doc %{boost_docdir}/* - %changelog +* Wed Feb 26 2025 Zhao Hang - 1.83.0-1 +- Refer to CentOS Stream boost-1.83.0-5 (tdawson@redhat.com) +- optimise spec file (mgb01105731@alibaba-inc.com) + * Sun Apr 07 2024 Zhao Hang - 1.81.0-8 - Rebuild for loongarch64 * Mon Mar 11 2024 Bo Ren - 1.81.0-7 - Rebuild with python3.11 -* Wed Nov 29 7 2023 Wenlong Zhang - 1.81.0-6 +* Wed Nov 29 2023 Wenlong Zhang - 1.81.0-6 - add loongarch64 support for boost 1.81 -* Mon Nov 13 7 2023 Wenlong Zhang - 1.81.0-5 +* Mon Nov 13 2023 Wenlong Zhang - 1.81.0-5 - Remove useless patches for loongarch * Tue Nov 7 2023 Wenlong Zhang - 1.81.0-4 diff --git a/boost_1_81_0.tar.bz2 b/boost_1_81_0.tar.bz2 deleted file mode 100644 index 15dda77a73711c9142825d7e1438dacfec2207e3..0000000000000000000000000000000000000000 Binary files a/boost_1_81_0.tar.bz2 and /dev/null differ diff --git a/download b/download new file mode 100644 index 0000000000000000000000000000000000000000..a195e4d25da228976c4af41b5f1bdb0909bdf7b2 --- /dev/null +++ b/download @@ -0,0 +1 @@ +406f0b870182b4eb17a23a9d8fce967d boost_1_83_0.tar.bz2