6 Star 0 Fork 40

src-openEuler/boost
Closed

Create your Gitee Account
Explore and code with more than 14 million developers,Free private repositories !:)
Sign up
文件
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
boost.spec 17.47 KB
Copy Edit Raw Blame History
laokz authored 2023-07-02 17:27 +08:00 . add -latomic flag to lockfree tests for riscv64
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588
%global version_enc 1_78_0
Name: boost
Version: 1.78.0
Release: 17
Summary: The free peer-reviewed portable C++ source libraries
License: Boost Software License 1.0
URL: http://www.boost.org
Source0: https://boostorg.jfrog.io/ui/native/main/release/%{version}/source/%{name}_%{version_enc}.tar.gz
# These following patches have been merged into boost develop branch
# Remove them at the next release
# https://github.com/boostorg/pool/pull/42
Patch0: boost-1.78-pool-fix-integer-overflows-in-pool-ordered_malloc.patch
# https://github.com/boostorg/locale/pull/72
Patch1: boost-1.78-locale-Fix-access-to-first-element-of-empty-vector.patch
# https://github.com/boostorg/locale/pull/38
Patch2: boost-1.77-locale-remove-linking-with-boost-system.patch
# https://github.com/boostorg/type_erasure/pull/19
Patch3: boost-1.77-type_erasure-remove-boost-system-linkage.patch
# https://github.com/bfgroup/b2/pull/113
Patch4: boost-1.78-build-Don-t-skip-install-targets-if-there-s-build-no-in-ureqs.patch
# https://github.com/boostorg/filesystem/commit/41d076ace558cfae01e233f9746dc955dcf78dba
Patch5: boost-1.78-filesystem-Added-protection-for-CVE-2022-21658.patch
# https://github.com/boostorg/filesystem/commit/dbec3baaadf7d899e66aa90843d285e749e88b2d
Patch6: boost-1.78-filesystem-Use-O_NONBLOCK-instead-of-O_NDELAY.patch
# These patches have not been merged yet.
# https://github.com/boostorg/python/pull/373
Patch9000: boost-1.78-python-Update-call_method-hpp.patch
Patch9001: boost_1_78_0-sw.patch
Patch9002: boost-1.78-graph-Skip-performance-test.patch
Patch9003: boost-1.78-icl-Avoid-gcc-bugs.patch
Patch9004: boost-1.78-add-boost-context-support-for-loongarch64.patch
Requires: %{name}-atomic%{?_isa} = %{version}-%{release}
Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
Requires: %{name}-container%{?_isa} = %{version}-%{release}
Requires: %{name}-context%{?_isa} = %{version}-%{release}
Requires: %{name}-contract%{?_isa} = %{version}-%{release}
Requires: %{name}-coroutine%{?_isa} = %{version}-%{release}
Requires: %{name}-date-time%{?_isa} = %{version}-%{release}
Requires: %{name}-fiber%{?_isa} = %{version}-%{release}
Requires: %{name}-filesystem%{?_isa} = %{version}-%{release}
Requires: %{name}-graph%{?_isa} = %{version}-%{release}
Requires: %{name}-iostreams%{?_isa} = %{version}-%{release}
Requires: %{name}-json%{?_isa} = %{version}-%{release}
Requires: %{name}-locale%{?_isa} = %{version}-%{release}
Requires: %{name}-log%{?_isa} = %{version}-%{release}
Requires: %{name}-math%{?_isa} = %{version}-%{release}
Requires: %{name}-nowide%{?_isa} = %{version}-%{release}
Requires: %{name}-program-options%{?_isa} = %{version}-%{release}
Requires: %{name}-python3%{?_isa} = %{version}-%{release}
Requires: %{name}-random%{?_isa} = %{version}-%{release}
Requires: %{name}-regex%{?_isa} = %{version}-%{release}
Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
Requires: %{name}-stacktrace%{?_isa} = %{version}-%{release}
Requires: %{name}-system%{?_isa} = %{version}-%{release}
Requires: %{name}-test%{?_isa} = %{version}-%{release}
Requires: %{name}-thread%{?_isa} = %{version}-%{release}
Requires: %{name}-timer%{?_isa} = %{version}-%{release}
Requires: %{name}-type_erasure%{?_isa} = %{version}-%{release}
Requires: %{name}-wave%{?_isa} = %{version}-%{release}
BuildRequires: gcc-c++
# required by python3
BuildRequires: python3-devel python3-unversioned-command
# optional library for asio
BuildRequires: openssl-devel
# optional libraries for iostreams
BuildRequires: bzip2-devel libzstd-devel xz-devel zlib-devel
# optional library for multiprecision
BuildRequires: libquadmath-devel libquadmath-static
# optional library for python3
BuildRequires: python3-numpy
# optional library for regex
BuildRequires: libicu-devel
%ifarch riscv64
BuildRequires: libatomic
%endif
Obsoletes: boost-signals < 1.69.0
%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.
%package atomic
Summary: Run-time component for boost atomic.
%description atomic
C++11-style atomic<>.
%package chrono
Summary: Run-time component for boost chrono.
%description chrono
Useful time utilities.
%package container
Summary: Run-time component for boost container.
%description container
Standard library containers and extensions.
%package context
Summary: Run-time component for boost context.
%description context
(C++11) Context switching library.
%package contract
Summary: Run-time component for boost contract.
%description contract
Contract programming for C++.
%package coroutine
Summary: Run-time component for boost coroutine.
%description coroutine
(deprecated) Coroutine library.
%package date-time
Summary: Run-time component for boost date-time.
%description date-time
A set of date-time libraries based on generic programming concepts.
%package fiber
Summary: Run-time component for boost fiber.
%description fiber
(C++11) Userland threads library.
%package filesystem
Summary: Run-time component for boost filesystem.
%description filesystem
Portable facilities to query and manipulate paths, files, and directories.
%package graph
Summary: Run-time component for boost graph.
Requires: boost-regex%{?_isa} = %{version}-%{release}
%description graph
The BGL graph interface and graph components are generic.
%package iostreams
Summary: Run-time component for boost iostreams.
%description iostreams
A framework for defining streams, stream buffers and i/o filters.
%package json
Summary: Run-time component for boost json.
%description json
JSON parsing, serialization, and DOM in C++11
%package locale
Summary: Run-time component for boost locale.
Requires: boost-chrono%{?_isa} = %{version}-%{release}
Requires: boost-thread%{?_isa} = %{version}-%{release}
%description locale
Provide localization and Unicode handling tools for C++.
%package log
Summary: Run-time component for boost log.
%description log
Logging library.
%package math
Summary: Run-time component for boost math.
%description math
Boost.Math includes several contributions in the domain of mathematics.
%package nowide
Summary: Run-time component for boost nowide.
%description nowide
Standard library functions with UTF-8 API on Windows.
%package program-options
Summary: Run-time component for boost program-options.
%description program-options
The program_options library allows program developers to obtain program options.
%package python3
Summary: Run-time component for boost python.
%description python3
A framework for interfacing Python and C++.
%package random
Summary: Run-time component for boost random.
%description random
A complete system for random number generation.
%package regex
Summary: Run-time component for boost regex.
%description regex
Regular expression library.
%package serialization
Summary: Run-time component for boost serialization.
%description serialization
Serialization for persistence and marshalling.
%package stacktrace
Summary: Run-time component for boost stacktrace.
%description stacktrace
Gather, store, copy and print backtraces.
%package system
Summary: Run-time component for boost system.
%description system
Extensible error reporting.
%package test
Summary: Run-time component for boost test.
%description test
Support for simple program testing, full unit testing, and for program execution monitoring.
%package thread
Summary: Run-time component for boost thread.
%description thread
Portable C++ multi-threading.
%package timer
Summary: Run-time component for boost timer.
Requires: boost-chrono%{?_isa} = %{version}-%{release}
%description timer
Event timer, progress timer, and progress display classes.
%package type_erasure
Summary: Run-time component for boost type-erasure.
Requires: boost-chrono%{?_isa} = %{version}-%{release}
%description type_erasure
Runtime polymorphism based on concepts.
%package wave
Summary: Run-time component for boost wave.
Requires: boost-chrono%{?_isa} = %{version}-%{release}
Requires: boost-filesystem%{?_isa} = %{version}-%{release}
Requires: boost-thread%{?_isa} = %{version}-%{release}
%description wave
An implementation of the mandated C99/C++ preprocessor functionality.
%package devel
Summary: The Boost C++ headers, shared and static development libraries
Requires: boost%{?_isa} = %{version}-%{release}
Requires: libicu-devel%{?_isa}
Requires: libquadmath-devel%{?_isa}
Provides: boost-static
Obsoletes: boost-static < %{version}
%description devel
Headers shared object symbolic links for the Boost C++ libraries and static
Boost C++ libraries distributed with boost.
%package help
Summary: HTML documentation and source code example for the Boost C++ libraries
BuildArch: noarch
Requires: boost-devel = %{version}-%{release}
%description help
This package contains the documentation in the HTML format and source code examples
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}).
%prep
%autosetup -p1 -n %{name}_%{version_enc}
%build
./bootstrap.sh
%define opt_build -d+2 -q %{?_smp_mflags} --no-cmake-config
%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}
%check
cd status
../b2 %{?_smp_mflags} --check-libs-only
../b2 %{?_smp_mflags} %{opt_feature} cxxflags="$RPM_OPT_FLAGS" %{boost_macros} \
--include-tests=algorithm,graph,intrusive,dynamic_bitset,property_map,crc,lexical_cast,range \
--exclude-tests=mpi,graph_parallel
%ifarch riscv64
LINKFLAGS='linkflags="-Wl,-latomic"'
%else
LINKFLAGS=
%endif
../b2 %{?_smp_mflags} %{opt_feature} cxxflags="$RPM_OPT_FLAGS" $LINKFLAGS %{boost_macros} \
--include-tests=bimap,circular_buffer,container,heap,icl,lockfree,logic,multi_array,multi_index,poly_collection,property_tree,ptr_container,sort \
--exclude-tests=container_hash
%install
./b2 %{b2_options} \
--prefix=$RPM_BUILD_ROOT%{_prefix} \
--libdir=$RPM_BUILD_ROOT%{_libdir} \
install
mkdir boost-doc boost-example
find libs doc more -regex '.*\.\(html?\|css\|png\|gif\)' -exec cp {} boost-doc --parents \;
cp index.html boost.png rst.css boost.css boost-doc
find libs -name example -exec cp {} boost-example --parents -r \;
%files
%license LICENSE_1_0.txt
%files atomic
%license LICENSE_1_0.txt
%{_libdir}/libboost_atomic.so.%{version}
%files chrono
%license LICENSE_1_0.txt
%{_libdir}/libboost_chrono.so.%{version}
%files container
%license LICENSE_1_0.txt
%{_libdir}/libboost_container.so.%{version}
%files context
%license LICENSE_1_0.txt
%{_libdir}/libboost_context.so.%{version}
%files contract
%license LICENSE_1_0.txt
%{_libdir}/libboost_contract.so.%{version}
%files coroutine
%license LICENSE_1_0.txt
%{_libdir}/libboost_coroutine.so.%{version}
%files date-time
%license LICENSE_1_0.txt
%{_libdir}/libboost_date_time.so.%{version}
%files fiber
%license LICENSE_1_0.txt
%{_libdir}/libboost_fiber.so.%{version}
%files filesystem
%license LICENSE_1_0.txt
%{_libdir}/libboost_filesystem.so.%{version}
%files graph
%license LICENSE_1_0.txt
%{_libdir}/libboost_graph.so.%{version}
%files iostreams
%license LICENSE_1_0.txt
%{_libdir}/libboost_iostreams.so.%{version}
%files json
%license LICENSE_1_0.txt
%{_libdir}/libboost_json.so.%{version}
%files locale
%license LICENSE_1_0.txt
%{_libdir}/libboost_locale.so.%{version}
%files log
%license LICENSE_1_0.txt
%{_libdir}/libboost_log.so.%{version}
%{_libdir}/libboost_log_setup.so.%{version}
%files math
%license LICENSE_1_0.txt
%{_libdir}/libboost_math_c99.so.%{version}
%{_libdir}/libboost_math_c99f.so.%{version}
%{_libdir}/libboost_math_c99l.so.%{version}
%{_libdir}/libboost_math_tr1.so.%{version}
%{_libdir}/libboost_math_tr1f.so.%{version}
%{_libdir}/libboost_math_tr1l.so.%{version}
%files nowide
%license LICENSE_1_0.txt
%{_libdir}/libboost_nowide.so.%{version}
%files program-options
%license LICENSE_1_0.txt
%{_libdir}/libboost_program_options.so.%{version}
%files python3
%license LICENSE_1_0.txt
%{_libdir}/libboost_python%{python3_version_nodots}.so.%{version}
%{_libdir}/libboost_numpy%{python3_version_nodots}.so.%{version}
%files random
%license LICENSE_1_0.txt
%{_libdir}/libboost_random.so.%{version}
%files regex
%license LICENSE_1_0.txt
%{_libdir}/libboost_regex.so.%{version}
%files serialization
%license LICENSE_1_0.txt
%{_libdir}/libboost_serialization.so.%{version}
%{_libdir}/libboost_wserialization.so.%{version}
%files stacktrace
%license LICENSE_1_0.txt
%{_libdir}/libboost_stacktrace_addr2line.so.%{version}
%{_libdir}/libboost_stacktrace_basic.so.%{version}
%{_libdir}/libboost_stacktrace_noop.so.%{version}
%files system
%license LICENSE_1_0.txt
%{_libdir}/libboost_system.so.%{version}
%files test
%license LICENSE_1_0.txt
%{_libdir}/libboost_prg_exec_monitor.so.%{version}
%{_libdir}/libboost_unit_test_framework.so.%{version}
%files thread
%license LICENSE_1_0.txt
%{_libdir}/libboost_thread.so.%{version}
%files timer
%license LICENSE_1_0.txt
%{_libdir}/libboost_timer.so.%{version}
%files type_erasure
%license LICENSE_1_0.txt
%{_libdir}/libboost_type_erasure.so.%{version}
%files wave
%license LICENSE_1_0.txt
%{_libdir}/libboost_wave.so.%{version}
%files help
%license LICENSE_1_0.txt
%doc boost-doc boost-example
%files devel
%license LICENSE_1_0.txt
%{_includedir}/%{name}
%{_libdir}/*.so
%{_libdir}/*.a
%changelog
* Mon Aug 14 2023 laokz <zhangkai@iscas.ac.cn> - 1.78.0-17
- add -latomic flag to lockfree tests for riscv64
* Thu Aug 10 2023 herengui <herengui@kylinsec.com.cn> - 1.78.0-16
- add loongarch64 patch
* Mon Dec 12 2022 Liu Zixian <liuzixian4@huawei.com> - 1.78.0-15
- enable more regression tests to covers commonly used container libraries
* Mon Dec 12 2022 Liu Zixian <liuzixian4@huawei.com> - 1.78.0-14
- backport master build commands and enable some regression test
* Wed Oct 19 2022 wuzx<wuzx1226@qq.com> - 1.78.0-13
- add sw64 patch
* Sun Mar 20 2022 Liu Zixian <liuzixian4@huawei.com> - 1.78.0-12
- backport upstream filesystem patches to fix a possible security issue
* Wed Mar 02 2022 Liu Zixian <liuzixian4@huawei.com> - 1.78.0-11
- fix boost-example, only libs/*/example should go into boost-example.
* Thu Feb 03 2022 Liu Zixian <liuzixian4@huawei.com> - 1.78.0-10
- disable auto_ptr which is warned by -Wdeprecated-declarations
- Replaced deprecated python API
* Sat Jan 29 2022 Liu Zixian <liuzixian4@huawei.com> - 1.78.0-9
- simplify building scripts
* Fri Jan 28 2022 Liu Zixian <liuzixian4@huawei.com> - 1.78.0-8
- backport bugfix for boost 1.78.0 known issues
- https://www.boost.org/users/history/version_1_78_0.html
* Sun Jan 23 2022 Liu Zixian <liuzixian4@huawei.com> - 1.78.0-7
- refactor boost-help
* Fri Dec 31 2021 sdlzx <sdlzx@163.com> - 1.78.0-6
- Don't package boost build tools
* Mon Dec 27 2021 sdlzx <sdlzx@163.com> - 1.78.0-5
- Remove mpi related scripts
* Fri Dec 24 2021 sdlzx <sdlzx@163.com> - 1.78.0-4
- Update package info
- Reference: https://www.boost.org/doc/libs/1_78_0/
* Sun Dec 19 2021 sdlzx <sdlzx@163.com> - 1.78.0-3
- Simplify spec: extract common b2 configs into b2_config
* Fri Dec 10 2021 sdlzx <sdlzx@163.com> - 1.78.0-2
- Simplify spec: remove useless bcond
* Fri Dec 10 2021 sdlzx <sdlzx@163.com> - 1.78.0-1
- update to 1.78.0
* Wed Oct 06 2021 Liu Zixian <liuzixian4@huawei.com> - 1.77.0-4
- Remove dependencies on header-only libraries
* Sun Sep 26 2021 Liu Zixian <liuzixian4@huawei.com> - 1.77.0-3
- Remove linking script which is fixed in upstream PR266
* Wed Sep 22 2021 Liu Zixian <liuzixian4@huawei.com> - 1.77.0-2
- Correct license name for ci.
* Wed Sep 15 2021 Liu Zixian <liuzixian4@huawei.com> - 1.77.0-1
- update to 1.77.0
* Sat Jul 24 2021 Liu Zixian <liuzixian4@huawei.com> - 1.76.0-1
- update to 1.76.0
* Sat Jul 24 2021 Liu Zixian <liuzixian4@huawei.com> - 1.75.0-6
- remove needless BuildRequires
* Fri Jul 23 2021 zhouwenpei <zhouwenpei1@huawei.com> - 1.75.0-5
- remove useless buildrequires
* Wed Jun 23 2021 Xu Huijie <xuhuijie2@huawei.com> - 1.75.0-4
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix dead loop in parse_repeat()
* Fri Feb 5 2021 xinghe <xinghe1@huawei.com> - 1.75.0-3
- fix the conflict between the devel package file and the other subpackage file
* Thu Feb 4 2021 xinghe <xinghe1@huawei.com> - 1.75.0-2
- fix master build
* Wed Feb 3 2021 xinghe <xinghe1@huawei.com> - 1.75.0-1
- update version to 1.75.0
* Wed Dec 16 2020 xinghe <xinghe1@huawei.com> - 1.73.0-2
- correct license
* Fri Jul 24 2020 Wang Shuo<wangshuo47@huawei.com> - 1.73.0-1
- Type:requirement
- ID:NA
- SUG:NA
- DESC:update boost to 1.73.0
* Mon Apr 20 2020 Wang Shuo<wangshuo47@huawei.com> - 1.72.0-1
- Type:requirement
- ID:NA
- SUG:NA
- DESC:update boost to 1.72.0
* Thu Mar 19 2020 Yu Xiangyang<yuxiangyang4@huawei.com> - 1.66.0-18
- Type:bugfix
- ID:NA
- SUG:NA
- DESC: fix build src.rpm error
* Tue Mar 10 2020 Wang Shuo<wangshuo47@huawei.com> - 1.66.0-17
- Type:enhancement
- ID:NA
- SUG:NA
- DESC: move examples files to examples package
* Mon Oct 28 2019 caomeng <caomeng5@huawei.com> - 1.66.0-16
- Type:NA
- ID:NA
- SUG:NA
- DESC:add bcondwith openmpi and mpich
* Wed Aug 28 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.66.0-15
- Package init
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/src-openeuler/boost.git
git@gitee.com:src-openeuler/boost.git
src-openeuler
boost
boost
openEuler-22.03-LTS-SP2

Search