!73 [sync] PR-71: fix boost-build known issue
Merge pull request !73 from openeuler-sync-bot/sync-pr71-openEuler-22.03-LTS-Next-to-master
This commit is contained in:
commit
0ecd5e495a
@ -0,0 +1,71 @@
|
||||
From 62e7321669f66a90e2a90c8f31af34f59ebc5d7a Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Arkhipov <grisumbras@gmail.com>
|
||||
Date: Thu, 9 Dec 2021 08:11:57 +0300
|
||||
Subject: [PATCH] Don't skip install targets if there's <build>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 <build>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 : <build>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",
|
||||
32
boost.spec
32
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 <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
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user