From 0fd9080c13e8f5874f2e9878afe5e411f9eae723 Mon Sep 17 00:00:00 2001 From: Liu Zixian Date: Fri, 28 Jan 2022 11:09:41 +0800 Subject: [PATCH] fix build known issue --- ...targets-if-there-s-build-no-in-ureqs.patch | 71 +++++++++++++++++++ boost.spec | 32 ++++++++- 2 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 boost-1.78-build-Don-t-skip-install-targets-if-there-s-build-no-in-ureqs.patch diff --git a/boost-1.78-build-Don-t-skip-install-targets-if-there-s-build-no-in-ureqs.patch b/boost-1.78-build-Don-t-skip-install-targets-if-there-s-build-no-in-ureqs.patch new file mode 100644 index 0000000..ca4e6ba --- /dev/null +++ b/boost-1.78-build-Don-t-skip-install-targets-if-there-s-build-no-in-ureqs.patch @@ -0,0 +1,71 @@ +From 62e7321669f66a90e2a90c8f31af34f59ebc5d7a Mon Sep 17 00:00:00 2001 +From: Dmitry Arkhipov +Date: Thu, 9 Dec 2021 08:11:57 +0300 +Subject: [PATCH] Don't skip install targets if there's no in ureqs + +--- + tools/build/src/tools/stage.jam | 4 ++++ + tools/build/test/install_build_no.py | 26 ++++++++++++++++++++++++++ + tools/build/test/test_all.py | 1 + + 3 files changed, 31 insertions(+) + create mode 100755 test/install_build_no.py + +diff --git a/tools/build/src/tools/stage.jam b/tools/build/src/tools/stage.jam +index c5f02e3ba4..325129dc81 100644 +--- a/tools/build/src/tools/stage.jam ++++ b/tools/build/src/tools/stage.jam +@@ -478,6 +478,10 @@ class install-target-class : basic-target + return [ sequence.unique $(result2) ] ; + } + ++ rule skip-from-usage-requirements ( ) ++ { ++ } ++ + # Returns true iff 'type' is subtype of some element of 'types-to-include'. + # + local rule include-type ( type : types-to-include * ) +diff --git a/tools/build/test/install_build_no.py b/tools/build/test/install_build_no.py +new file mode 100755 +index 0000000000..0ccf3c5cc6 +--- /dev/null ++++ b/tools/build/test/install_build_no.py +@@ -0,0 +1,26 @@ ++#!/usr/bin/python ++ ++# Copyright 2021 Dmitry Arkhipov (grisumbras@gmail.com) ++# Distributed under the Boost Software License, Version 1.0. ++# (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt) ++ ++# Check that no in usage-requirements of dependencies does not affect ++# install rule, i.e. a skipped installed target does not affect insallation of ++# other targets. ++ ++import BoostBuild ++ ++t = BoostBuild.Tester() ++ ++t.write("a.cpp", "int main() {}\n") ++ ++t.write("jamroot.jam", """ ++make x : : maker : no ; ++exe a : a.cpp ; ++install install : x a ; ++""") ++ ++t.run_build_system() ++t.expect_addition("install/a.exe") ++ ++t.cleanup() +diff --git a/tools/build/test/test_all.py b/tools/build/test/test_all.py +index b7ef5ad701..9ed729d017 100644 +--- a/tools/build/test/test_all.py ++++ b/tools/build/test/test_all.py +@@ -250,6 +250,7 @@ def reorder_tests(tests, first_test): + "inherit_toolset", + "inherited_dependency", + "inline", ++ "install_build_no", + "libjpeg", + "liblzma", + "libpng", diff --git a/boost.spec b/boost.spec index 977dcf5..50f28f1 100644 --- a/boost.spec +++ b/boost.spec @@ -2,7 +2,7 @@ Name: boost Version: 1.78.0 -Release: 7 +Release: 8 Summary: The free peer-reviewed portable C++ source libraries License: Boost Software License 1.0 URL: http://www.boost.org @@ -18,6 +18,8 @@ Patch1: boost-1.78-locale-Fix-access-to-first-element-of-empty-vector.patch 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 Requires: %{name}-atomic%{?_isa} = %{version}-%{release} Requires: %{name}-chrono%{?_isa} = %{version}-%{release} @@ -26,6 +28,7 @@ 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} @@ -39,6 +42,7 @@ 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} @@ -112,6 +116,12 @@ 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. @@ -193,6 +203,12 @@ 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. @@ -333,6 +349,10 @@ find . -name example -exec cp {} boost-example --parents -r \; %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} @@ -393,6 +413,12 @@ find . -name example -exec cp {} boost-example --parents -r \; %{_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} @@ -429,6 +455,10 @@ find . -name example -exec cp {} boost-example --parents -r \; %{_libdir}/*.a %changelog +* Fri Jan 28 2022 Liu Zixian - 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 - 1.78.0-7 - refactor boost-help -- Gitee