Compare commits

...

19 Commits

Author SHA1 Message Date
97f663b2f1 try fix dep issue 2025-02-10 01:42:24 +08:00
7ab099b038 try fix build issues 2025-02-09 22:58:55 +08:00
628d6d01ff try fix build issues 2025-02-09 21:01:27 +08:00
75b1b31899 try fix build issue 2025-02-09 19:01:57 +08:00
4e4d0bf4c9 try fix build issues 2025-02-09 17:28:42 +08:00
325fb30677 try fix build issues 2025-02-09 15:53:05 +08:00
1f884eab07 try fix build issues 2025-02-09 11:18:41 +08:00
09e37527f3 try fix build issues 2025-02-09 00:09:44 +08:00
77c516cc82 try fix build issues 2025-02-08 22:17:45 +08:00
5a748d0e5c try to fix build issues 2025-02-08 21:15:44 +08:00
43777c8c09 fix cmake invalid path err 2025-02-08 19:13:46 +08:00
bd10b67d19 add test_exec_monitor to boost-test 2025-02-08 13:29:49 +08:00
e14e032cab enable cmake config and dynamic linking 2025-02-08 13:27:58 +08:00
openeuler-ci-bot
b98d772597
!131 No libquadmath-devel libquadmath-static on RISC-V64
From: @yinist 
Reviewed-by: @liqingqing_1229 
Signed-off-by: @liqingqing_1229
2024-05-07 00:51:12 +00:00
Yinsist
d6d0cd080d gcc does not currently support RISC-V's libquadmath 2024-04-28 12:58:19 +00:00
openeuler-ci-bot
dcf73bd889
!128 Fix Support specify CC
From: @shafeipaozi 
Reviewed-by: @luofeng14, @liyunfei33, @liqingqing_1229 
Signed-off-by: @liqingqing_1229
2024-03-28 03:40:44 +00:00
jammyjellyfish
ae9cfff951 Support specify CC
Signed-off-by: shafeipaozi <sunbo.oerv@isrc.iscas.ac.cn>
2024-03-25 11:54:06 +08:00
openeuler-ci-bot
d1a0697992
!126 No libquadmath-devel libquadmath-static on loongarch64
From: @zhangwenlong01 
Reviewed-by: @liqingqing_1229 
Signed-off-by: @liqingqing_1229
2024-03-07 14:45:16 +00:00
Wenlong Zhang
d2bd4bf112 No libquadmath-devel libquadmath-static on loongarch64 2024-03-07 06:51:45 +00:00
3 changed files with 491 additions and 4 deletions

View File

@ -0,0 +1,31 @@
Index: boost_1_80_0/tools/boost_install/boost-install.jam
===================================================================
--- boost_1_80_0.orig/tools/boost_install/boost-install.jam
+++ boost_1_80_0/tools/boost_install/boost-install.jam
@@ -753,25 +753,6 @@ rule generate-cmake-config- ( target : s
"get_filename_component(_BOOST_CMAKEDIR \"${CMAKE_CURRENT_LIST_DIR}/../\" REALPATH)"
: true ;
- if [ path.is-rooted $(cmakedir) ]
- {
- local cmakedir-native = [ path-native-fwd $(cmakedir) ] ;
-
- print.text
-
- ""
- "# If the computed and the original directories are symlink-equivalent, use original"
- "if(EXISTS \"$(cmakedir-native)\")"
- " get_filename_component(_BOOST_CMAKEDIR_ORIGINAL \"$(cmakedir-native)\" REALPATH)"
- " if(_BOOST_CMAKEDIR STREQUAL _BOOST_CMAKEDIR_ORIGINAL)"
- " set(_BOOST_CMAKEDIR \"$(cmakedir-native)\")"
- " endif()"
- " unset(_BOOST_CMAKEDIR_ORIGINAL)"
- "endif()"
- ""
- : true ;
- }
-
get-dir "_BOOST_INCLUDEDIR" : $(includedir) ;
if $(library-type) = INTERFACE

View File

@ -2,7 +2,7 @@
Name: boost
Version: 1.83.0
Release: 1
Release: 4
Summary: The free peer-reviewed portable C++ source libraries
License: BSL-1.0
URL: http://www.boost.org
@ -18,7 +18,8 @@ Patch3: boost-1.81-random-Update-multiprecision_int_test.cpp-to-not-accidental.p
Patch4: boost-1.81-random-test-Add-missing-includes.patch
# https://github.com/boostorg/phoenix/pull/116
Patch5: boost-1.81-phoenix-Update-avoid-placeholders-uarg1.10-ODR-violates.patch
Patch6: dynamic_linking.patch
Patch7: boost-remove-cmakedir.patch
Requires: %{name}-atomic%{?_isa} = %{version}-%{release}
Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
Requires: %{name}-container%{?_isa} = %{version}-%{release}
@ -56,8 +57,10 @@ BuildRequires: python3-devel python3-unversioned-command
BuildRequires: openssl-devel
# optional libraries for iostreams
BuildRequires: bzip2-devel libzstd-devel xz-devel zlib-devel
%ifnarch loongarch64 riscv64
# optional library for multiprecision
BuildRequires: libquadmath-devel libquadmath-static
%endif
# optional library for python3
BuildRequires: python3-numpy
# optional library for regex
@ -252,6 +255,151 @@ Requires: boost-chrono%{?_isa} = %{version}-%{release}
Requires: boost-filesystem%{?_isa} = %{version}-%{release}
Requires: boost-thread%{?_isa} = %{version}-%{release}
%package test-devel
Summary: Development headers for Boost.test
%description test-devel
Development header files and libraries for Boost.test
%package stacktrace-devel
Summary: Development headers for Boost.stacktrace
%description stacktrace-devel
Development header files and libraries for Boost.stacktrace
%package serialization-devel
Summary: Development headers for Boost.serialization
%description serialization-devel
Development header files and libraries for Boost.serialization
%package python3-devel
Summary: Development headers for Boost.python3
%description python3-devel
Development header files and libraries for Boost.python3
%package math-devel
Summary: Development headers for Boost.math
%description math-devel
Development header files and libraries for Boost.math
%package log-devel
Summary: Development headers for Boost.log
%description log-devel
Development header files and libraries for Boost.log
%package wave-devel
Summary: Development headers for Boost.wave
%description wave-devel
Development header files and libraries for Boost.wave
%package url-devel
Summary: Development headers for Boost.url
%description url-devel
Development header files and libraries for Boost.url
%package type_erasure-devel
Summary: Development headers for Boost.type_erasure
%description type_erasure-devel
Development header files and libraries for Boost.type_erasure
%package timer-devel
Summary: Development headers for Boost.timer
%description timer-devel
Development header files and libraries for Boost.timer
%package thread-devel
Summary: Development headers for Boost.thread
%description thread-devel
Development header files and libraries for Boost.thread
%package system-devel
Summary: Development headers for Boost.system
%description system-devel
Development header files and libraries for Boost.system
%package regex-devel
Summary: Development headers for Boost.regex
%description regex-devel
Development header files and libraries for Boost.regex
%package random-devel
Summary: Development headers for Boost.random
%description random-devel
Development header files and libraries for Boost.random
%package program-options-devel
Summary: Development headers for Boost.program-options
%description program-options-devel
Development header files and libraries for Boost.program-options
%package nowide-devel
Summary: Development headers for Boost.nowide
%description nowide-devel
Development header files and libraries for Boost.nowide
%package locale-devel
Summary: Development headers for Boost.locale
%description locale-devel
Development header files and libraries for Boost.locale
%package json-devel
Summary: Development headers for Boost.json
%description json-devel
Development header files and libraries for Boost.json
%package iostreams-devel
Summary: Development headers for Boost.iostreams
%description iostreams-devel
Development header files and libraries for Boost.iostreams
%package graph-devel
Summary: Development headers for Boost.graph
%description graph-devel
Development header files and libraries for Boost.graph
%package filesystem-devel
Summary: Development headers for Boost.filesystem
%description filesystem-devel
Development header files and libraries for Boost.filesystem
%package fiber-devel
Summary: Development headers for Boost.fiber
%description fiber-devel
Development header files and libraries for Boost.fiber
%package date-time-devel
Summary: Development headers for Boost.date-time
%description date-time-devel
Development header files and libraries for Boost.date-time
%package coroutine-devel
Summary: Development headers for Boost.coroutine
%description coroutine-devel
Development header files and libraries for Boost.coroutine
%package contract-devel
Summary: Development headers for Boost.contract
%description contract-devel
Development header files and libraries for Boost.contract
%package context-devel
Summary: Development headers for Boost.context
%description context-devel
Development header files and libraries for Boost.context
%package container-devel
Summary: Development headers for Boost.container
%description container-devel
Development header files and libraries for Boost.container
%package chrono-devel
Summary: Development headers for Boost.chrono
%description chrono-devel
Development header files and libraries for Boost.chrono
%package atomic-devel
Summary: Development headers for Boost.atomic
%description atomic-devel
Development header files and libraries for Boost.atomic
%description wave
An implementation of the mandated C99/C++ preprocessor functionality.
@ -261,6 +409,64 @@ Requires: boost%{?_isa} = %{version}-%{release}
Provides: boost-static
Obsoletes: boost-static < %{version}
Requires: %{name}-test-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-stacktrace-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-serialization-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-python3-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-math-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-log-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-wave-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-url-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-type_erasure-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-timer-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-thread-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-system-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-regex-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-random-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-program-options-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-nowide-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-locale-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-json-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-iostreams-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-graph-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-filesystem-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-fiber-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-date-time-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-coroutine-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-contract-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-context-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-container-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-chrono-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-atomic-devel%{?_isa} = %{version}-%{release}
%description devel
Headers shared object symbolic links for the Boost C++ libraries and static
Boost C++ libraries distributed with boost.
@ -279,14 +485,20 @@ as that on the Boost web page (http://www.boost.org/doc/libs/%{version_enc}).
%autosetup -p1 -n %{name}_%{version_enc}
%build
./bootstrap.sh
%define opt_build -d+2 -q %{?_smp_mflags} --no-cmake-config
./bootstrap.sh --with-toolset=%{__cc}
# cmake config is enabled
%define opt_build -d+2 -q %{?_smp_mflags}
%define opt_feature release debug-symbols=on pch=off
%define opt_libs --without-mpi --without-graph_parallel
%define b2_options %{opt_build} %{opt_feature} %{opt_libs}
%define boost_macros define=BOOST_NO_AUTO_PTR define=BOOST_STATECHART_USE_NATIVE_RTTI
./b2 %{b2_options} cxxflags="$RPM_OPT_FLAGS" %{boost_macros}
# 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,
# verify that here.
%check
(cd status
../b2 %{?_smp_mflags} --check-libs-only
@ -302,6 +514,11 @@ mkdir boost-doc boost-example
cp -r index.html boost.png rst.css boost.css doc more boost-doc
find libs -name doc -exec cp {} boost-doc --parents -r \;
find libs -name example -exec cp {} boost-example --parents -r \;
rm %{buildroot}/%{_libdir}/libboost_exception.a
# not used or duplicated in boost-extra flavour
rm -r %{buildroot}/%{_libdir}/cmake/boost_exception-*
%files
%license LICENSE_1_0.txt
@ -416,6 +633,7 @@ find libs -name example -exec cp {} boost-example --parents -r \;
%license LICENSE_1_0.txt
%{_libdir}/libboost_prg_exec_monitor.so.%{version}
%{_libdir}/libboost_unit_test_framework.so.%{version}
%{_libdir}/libboost_test_exec_monitor.so.%{version}
%files thread
%license LICENSE_1_0.txt
@ -443,11 +661,236 @@ find libs -name example -exec cp {} boost-example --parents -r \;
%files devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/Boost-%{version}
%{_libdir}/cmake/Boost-%{version}/*
%{_libdir}/cmake/*.cmake
# I think it's necessary to include Headers into this package
%dir %{_libdir}/cmake/boost_headers-%{version}
%{_libdir}/cmake/boost_headers-%{version}/*
%{_includedir}/%{name}
%{_libdir}/*.so
%{_libdir}/*.a
%files test-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_prg_exec_monitor-%{version}
%dir %{_libdir}/cmake/boost_test_exec_monitor-%{version}
%dir %{_libdir}/cmake/boost_unit_test_framework-%{version}
%{_libdir}/cmake/boost_prg_exec_monitor-%{version}/*
%{_libdir}/cmake/boost_test_exec_monitor-%{version}/*
%{_libdir}/cmake/boost_unit_test_framework-%{version}/*
%{_libdir}/libboost_prg_exec_monitor.so.%{version}
%{_libdir}/libboost_unit_test_framework.so.%{version}
%{_libdir}/libboost_test_exec_monitor.so.%{version}
%files stacktrace-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_stacktrace_addr2line-%{version}
%dir %{_libdir}/cmake/boost_stacktrace_basic-%{version}
%dir %{_libdir}/cmake/boost_stacktrace_noop-%{version}
%{_libdir}/cmake/boost_stacktrace_addr2line-%{version}/*
%{_libdir}/cmake/boost_stacktrace_basic-%{version}/*
%{_libdir}/cmake/boost_stacktrace_noop-%{version}/*
%{_libdir}/libboost_stacktrace_addr2line.so.%{version}
%{_libdir}/libboost_stacktrace_basic.so.%{version}
%{_libdir}/libboost_stacktrace_noop.so.%{version}
%files serialization-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_serialization-%{version}
%dir %{_libdir}/cmake/boost_wserialization-%{version}
%{_libdir}/cmake/boost_serialization-%{version}/*
%{_libdir}/cmake/boost_wserialization-%{version}/*
%{_libdir}/libboost_serialization.so.%{version}
%{_libdir}/libboost_wserialization.so.%{version}
%files python3-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_python-%{version}
%dir %{_libdir}/cmake/boost_numpy-%{version}
%{_libdir}/cmake/boost_python-%{version}/*
%{_libdir}/cmake/boost_numpy-%{version}/*
%{_libdir}/libboost_python%{python3_version_nodots}.so.%{version}
%{_libdir}/libboost_numpy%{python3_version_nodots}.so.%{version}
%files math-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_math_c99-%{version}
%dir %{_libdir}/cmake/boost_math_tr1-%{version}
%{_libdir}/cmake/boost_math_c99-%{version}/*
%{_libdir}/cmake/boost_math_c99f-%{version}/*
%{_libdir}/cmake/boost_math_c99l-%{version}/*
%{_libdir}/cmake/boost_math_tr1-%{version}/*
%{_libdir}/cmake/boost_math_tr1l-%{version}/*
%{_libdir}/cmake/boost_math_tr1f-%{version}/*
%{_libdir}/libboost_math_c99.so.%{version}
%{_libdir}/libboost_math_c99f.so.%{version}
%ifnarch ppc64le
%{_libdir}/libboost_math_c99l.so.%{version}
%endif
%{_libdir}/libboost_math_tr1.so.%{version}
%{_libdir}/libboost_math_tr1f.so.%{version}
%ifnarch ppc64le
%{_libdir}/libboost_math_tr1l.so.%{version}
%endif
%files log-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_log-%{version}
%dir %{_libdir}/cmake/boost_log_setup-%{version}
%{_libdir}/cmake/boost_log-%{version}/*
%{_libdir}/cmake/boost_log_setup-%{version}/*
%{_libdir}/libboost_log.so.%{version}
%{_libdir}/libboost_log_setup.so.%{version}
%files wave-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_wave-%{version}
%{_libdir}/cmake/boost_wave-%{version}/*
%{_libdir}/libboost_wave.so.%{version}
%files url-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_url-%{version}
%{_libdir}/cmake/boost_url-%{version}/*
%{_libdir}/libboost_url.so.%{version}
%files type_erasure-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_type_erasure-%{version}
%{_libdir}/cmake/boost_type_erasure-%{version}/*
%{_libdir}/libboost_type_erasure.so.%{version}
%files timer-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_timer-%{version}
%{_libdir}/cmake/boost_timer-%{version}/*
%{_libdir}/libboost_timer.so.%{version}
%files thread-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_thread-%{version}
%{_libdir}/cmake/boost_thread-%{version}/*
%{_libdir}/libboost_thread.so.%{version}
%files system-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_system-%{version}
%{_libdir}/cmake/boost_system-%{version}/*
%{_libdir}/libboost_system.so.%{version}
%files regex-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_regex-%{version}
%{_libdir}/cmake/boost_regex-%{version}/*
%{_libdir}/libboost_regex.so.%{version}
%files random-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_random-%{version}
%{_libdir}/cmake/boost_random-%{version}/*
%{_libdir}/libboost_random.so.%{version}
%files program-options-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_program_options-%{version}
%{_libdir}/cmake/boost_program_options-%{version}/*
%{_libdir}/libboost_program_options.so.%{version}
%files nowide-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_nowide-%{version}
%{_libdir}/cmake/boost_nowide-%{version}/*
%{_libdir}/libboost_nowide.so.%{version}
%files locale-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_locale-%{version}
%{_libdir}/cmake/boost_locale-%{version}/*
%{_libdir}/libboost_locale.so.%{version}
%files json-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_json-%{version}
%{_libdir}/cmake/boost_json-%{version}/*
%{_libdir}/libboost_json.so.%{version}
%files iostreams-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_iostreams-%{version}
%{_libdir}/cmake/boost_iostreams-%{version}/*
%{_libdir}/libboost_iostreams.so.%{version}
%files graph-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_graph-%{version}
%{_libdir}/cmake/boost_graph-%{version}/*
%{_libdir}/libboost_graph.so.%{version}
%files filesystem-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_filesystem-%{version}
%{_libdir}/cmake/boost_filesystem-%{version}/*
%{_libdir}/libboost_filesystem.so.%{version}
%files fiber-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_fiber-%{version}
%{_libdir}/cmake/boost_fiber-%{version}/*
%{_libdir}/libboost_fiber.so.%{version}
%files date-time-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_date_time-%{version}
%{_libdir}/cmake/boost_date_time-%{version}/*
%{_libdir}/libboost_date_time.so.%{version}
%files coroutine-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_coroutine-%{version}
%{_libdir}/cmake/boost_coroutine-%{version}/*
%{_libdir}/libboost_coroutine.so.%{version}
%files contract-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_contract-%{version}
%{_libdir}/cmake/boost_contract-%{version}/*
%{_libdir}/libboost_contract.so.%{version}
%files context-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_context-%{version}
%{_libdir}/cmake/boost_context-%{version}/*
%{_libdir}/libboost_context.so.%{version}
%files container-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_container-%{version}
%{_libdir}/cmake/boost_container-%{version}/*
%{_libdir}/libboost_container.so.%{version}
%files chrono-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_chrono-%{version}
%{_libdir}/cmake/boost_chrono-%{version}/*
%{_libdir}/libboost_chrono.so.%{version}
%files atomic-devel
%license LICENSE_1_0.txt
%dir %{_libdir}/cmake/boost_atomic-%{version}
%{_libdir}/cmake/boost_atomic-%{version}/*
%{_libdir}/libboost_atomic.so.%{version}
%changelog
* Sun Apr 28 2024 yinsist <jianhui.oerv@isrc.iscas.ac.cn> - 1.83.0-4
- Disable libquadmath dependency for RISC-V as gcc does not currently support RISC-V's libquadmath
* Thu Mar 14 2024 jammyjellyfish <jammyjellyfish255@outlook.com> - 1.83.0-3
- Support specify CC
* Sat Mar 2 2024 Wenlong Zhang <zhangwenlong@loongson.cn> - 1.83.0-2
- No libquadmath-devel libquadmath-static on loongarch64
* Thu Jan 25 2024 chenhaixiang <chenhaixiang3@huawei.com> - 1.83.0-1
- Update to 1.83.0

13
dynamic_linking.patch Normal file
View File

@ -0,0 +1,13 @@
Index: boost_1_80_0/libs/test/build/Jamfile.v2
===================================================================
--- boost_1_80_0.orig/libs/test/build/Jamfile.v2
+++ boost_1_80_0/libs/test/build/Jamfile.v2
@@ -95,7 +95,7 @@ lib boost_test_exec_monitor
: # sources
$(TEST_EXEC_MON_SOURCES).cpp
: # requirements
- <link>static
+ # <link>static
: # default build
: # usage-requirements
<link>shared:<define>BOOST_TEST_DYN_LINK=1