Backport several bugfixes and support for Boost v1.82 from upstream
This commit is contained in:
parent
ae71be464b
commit
fb7816c555
@ -0,0 +1,44 @@
|
|||||||
|
From 853f069103f00b3f487833787b5388c7e79ff3c3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Craig Scott <craig.scott@crascit.com>
|
||||||
|
Date: Fri, 7 Apr 2023 18:11:05 +1000
|
||||||
|
Subject: [PATCH 1/5] Sphinx: Specify encoding when opening files for title
|
||||||
|
extraction
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
When the encoding is not specified, open() may choose an encoding
|
||||||
|
based on the locale in use. That encoding may have no relationship
|
||||||
|
to the encoding of the file being opened. Use the locale from the
|
||||||
|
document settings instead, which should better match the file's
|
||||||
|
encoding.
|
||||||
|
|
||||||
|
Fixes: #24679
|
||||||
|
Signed-off-by: Björn Esser <besser82@fedoraproject.org>
|
||||||
|
---
|
||||||
|
Utilities/Sphinx/cmake.py | 5 +++--
|
||||||
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Utilities/Sphinx/cmake.py b/Utilities/Sphinx/cmake.py
|
||||||
|
index 47e4909ba0..e4e06aba1a 100644
|
||||||
|
--- a/Utilities/Sphinx/cmake.py
|
||||||
|
+++ b/Utilities/Sphinx/cmake.py
|
||||||
|
@@ -224,12 +224,13 @@ class CMakeTransform(Transform):
|
||||||
|
The cmake --help-*-list commands also depend on this convention.
|
||||||
|
Return the title or False if the document file does not exist.
|
||||||
|
"""
|
||||||
|
- env = self.document.settings.env
|
||||||
|
+ settings = self.document.settings
|
||||||
|
+ env = settings.env
|
||||||
|
title = self.titles.get(docname)
|
||||||
|
if title is None:
|
||||||
|
fname = os.path.join(env.srcdir, docname+'.rst')
|
||||||
|
try:
|
||||||
|
- f = open(fname, 'r')
|
||||||
|
+ f = open(fname, 'r', encoding=settings.input_encoding)
|
||||||
|
except IOError:
|
||||||
|
title = False
|
||||||
|
else:
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
@ -0,0 +1,44 @@
|
|||||||
|
From fc2b60ca6b23a7204043075e0c04a727d5b6a06b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Craig Scott <craig.scott@crascit.com>
|
||||||
|
Date: Fri, 7 Apr 2023 18:14:18 +1000
|
||||||
|
Subject: [PATCH 2/5] Sphinx: Modernize UTF-8 encoding handling when updating
|
||||||
|
CMake.qhp
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Signed-off-by: Björn Esser <besser82@fedoraproject.org>
|
||||||
|
---
|
||||||
|
Utilities/Sphinx/create_identifiers.py | 8 ++++----
|
||||||
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Utilities/Sphinx/create_identifiers.py b/Utilities/Sphinx/create_identifiers.py
|
||||||
|
index 0ff39a0c2a..61dd819b42 100755
|
||||||
|
--- a/Utilities/Sphinx/create_identifiers.py
|
||||||
|
+++ b/Utilities/Sphinx/create_identifiers.py
|
||||||
|
@@ -6,12 +6,12 @@ if len(sys.argv) != 2:
|
||||||
|
sys.exit(-1)
|
||||||
|
name = sys.argv[1] + "/CMake.qhp"
|
||||||
|
|
||||||
|
-f = open(name, "rb")
|
||||||
|
+f = open(name, "r", encoding="utf-8")
|
||||||
|
|
||||||
|
if not f:
|
||||||
|
sys.exit(-1)
|
||||||
|
|
||||||
|
-lines = f.read().decode("utf-8").splitlines()
|
||||||
|
+lines = f.read().splitlines()
|
||||||
|
|
||||||
|
if not lines:
|
||||||
|
sys.exit(-1)
|
||||||
|
@@ -47,5 +47,5 @@ for line in lines:
|
||||||
|
line = part1 + prefix + "id=\"" + domain_object_type + "/" + domain_object + "\" " + part2
|
||||||
|
newlines.append(line + "\n")
|
||||||
|
|
||||||
|
-f = open(name, "wb")
|
||||||
|
-f.writelines(map(lambda line: line.encode("utf-8"), newlines))
|
||||||
|
+f = open(name, "w", encoding="utf-8")
|
||||||
|
+f.writelines(newlines)
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
45
0003-Tests-Always-load-presets-schema-as-UTF-8.patch
Normal file
45
0003-Tests-Always-load-presets-schema-as-UTF-8.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
From e4f26edc1c1bb999b12df83f41459fe7174bef29 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Craig Scott <craig.scott@crascit.com>
|
||||||
|
Date: Fri, 7 Apr 2023 18:21:27 +1000
|
||||||
|
Subject: [PATCH 3/5] Tests: Always load presets schema as UTF-8
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
We know the encoding of the schema file, so we should specify it
|
||||||
|
when we open it for reading. Previously, by not specifying it, the test
|
||||||
|
was open to using an encoding based on the active locale when
|
||||||
|
running the test. We may have been enforcing a "C" locale at a higher
|
||||||
|
level, but we don't need to rely on that here, we can force correct
|
||||||
|
behavior without that assumption.
|
||||||
|
|
||||||
|
Issue: #24679
|
||||||
|
Signed-off-by: Björn Esser <besser82@fedoraproject.org>
|
||||||
|
---
|
||||||
|
Tests/RunCMake/CMakePresets/validate_schema.py | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Tests/RunCMake/CMakePresets/validate_schema.py b/Tests/RunCMake/CMakePresets/validate_schema.py
|
||||||
|
index b2a67fc4b9..836147aab2 100644
|
||||||
|
--- a/Tests/RunCMake/CMakePresets/validate_schema.py
|
||||||
|
+++ b/Tests/RunCMake/CMakePresets/validate_schema.py
|
||||||
|
@@ -4,13 +4,13 @@ import os.path
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
-with open(sys.argv[1], "rb") as f:
|
||||||
|
- contents = json.loads(f.read().decode("utf-8-sig"))
|
||||||
|
+with open(sys.argv[1], "r", encoding="utf-8-sig") as f:
|
||||||
|
+ contents = json.load(f)
|
||||||
|
|
||||||
|
schema_file = os.path.join(
|
||||||
|
os.path.dirname(__file__),
|
||||||
|
"..", "..", "..", "Help", "manual", "presets", "schema.json")
|
||||||
|
-with open(schema_file) as f:
|
||||||
|
+with open(schema_file, "r", encoding="utf-8") as f:
|
||||||
|
schema = json.load(f)
|
||||||
|
|
||||||
|
jsonschema.validate(contents, schema)
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
@ -0,0 +1,38 @@
|
|||||||
|
From cec6f980181d9ca88ff53f0b1626713ed98a3369 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Raul Tambre <raul@tambre.ee>
|
||||||
|
Date: Mon, 29 May 2023 17:18:55 +0300
|
||||||
|
Subject: [PATCH 4/5] CMakeDetermineCompilerABI: Avoid removing the flag after
|
||||||
|
-Werror
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
The matching became too eager after commit 079ea66468
|
||||||
|
(CMakeDetermineCompilerABI: Handle NVCC-style -Werror flags, 2020-10-04,
|
||||||
|
v3.19.0-rc1~45^2). When -Werror was specified without a value we would
|
||||||
|
eat the following flag. Prevent this by disallowing "-" as the first
|
||||||
|
character of the flag's value.
|
||||||
|
|
||||||
|
Fixes: 079ea66468a6ffe0b02c3d6622bc0230fdf455b0
|
||||||
|
See-also: https://discourse.cmake.org/t/8230
|
||||||
|
Signed-off-by: Björn Esser <besser82@fedoraproject.org>
|
||||||
|
---
|
||||||
|
Modules/CMakeDetermineCompilerABI.cmake | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/Modules/CMakeDetermineCompilerABI.cmake b/Modules/CMakeDetermineCompilerABI.cmake
|
||||||
|
index 3fd54cc7ef..df177968c3 100644
|
||||||
|
--- a/Modules/CMakeDetermineCompilerABI.cmake
|
||||||
|
+++ b/Modules/CMakeDetermineCompilerABI.cmake
|
||||||
|
@@ -42,7 +42,7 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
|
||||||
|
__TestCompiler_setTryCompileTargetType()
|
||||||
|
|
||||||
|
# Avoid failing ABI detection on warnings.
|
||||||
|
- string(REGEX REPLACE "(^| )-Werror([= ][^ ]*)?( |$)" " " CMAKE_${lang}_FLAGS "${CMAKE_${lang}_FLAGS}")
|
||||||
|
+ string(REGEX REPLACE "(^| )-Werror([= ][^-][^ ]*)?( |$)" " " CMAKE_${lang}_FLAGS "${CMAKE_${lang}_FLAGS}")
|
||||||
|
|
||||||
|
# Save the current LC_ALL, LC_MESSAGES, and LANG environment variables
|
||||||
|
# and set them to "C" that way GCC's "search starts here" text is in
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
60
0005-FindBoost-Add-support-for-Boost-1.82.patch
Normal file
60
0005-FindBoost-Add-support-for-Boost-1.82.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
From 5cbbe55de85bdd0d6d90241a9b18683f13375fc1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: huangqinjin <huangqinjin@gmail.com>
|
||||||
|
Date: Sun, 28 May 2023 17:13:18 +0800
|
||||||
|
Subject: [PATCH 5/5] FindBoost: Add support for Boost 1.82
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Update the list of known versions.
|
||||||
|
|
||||||
|
There is a new header-only library, Boost.MySQL. It has no
|
||||||
|
dependencies and has a core header `<boost/mysql.hpp>`.
|
||||||
|
|
||||||
|
Run the command
|
||||||
|
|
||||||
|
cmake -DBOOST_DIR=/path/to/boost_1_82_0 \
|
||||||
|
-P Utilities/Scripts/BoostScanDeps.cmake
|
||||||
|
|
||||||
|
to extract dependencies from the 1.82.0 source tree.
|
||||||
|
They are the same as 1.81's dependencies, so just update
|
||||||
|
the version check for warning about newer versions.
|
||||||
|
|
||||||
|
Signed-off-by: Björn Esser <besser82@fedoraproject.org>
|
||||||
|
---
|
||||||
|
Modules/FindBoost.cmake | 5 +++--
|
||||||
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
|
||||||
|
index 72a9a4c192..f2e4804d04 100644
|
||||||
|
--- a/Modules/FindBoost.cmake
|
||||||
|
+++ b/Modules/FindBoost.cmake
|
||||||
|
@@ -1380,7 +1380,7 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret)
|
||||||
|
set(_Boost_TIMER_DEPENDENCIES chrono)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES filesystem serialization thread chrono atomic)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
- if(Boost_VERSION_STRING VERSION_GREATER_EQUAL 1.82.0 AND NOT Boost_NO_WARN_NEW_VERSIONS)
|
||||||
|
+ if(Boost_VERSION_STRING VERSION_GREATER_EQUAL 1.83.0 AND NOT Boost_NO_WARN_NEW_VERSIONS)
|
||||||
|
message(WARNING "New Boost version may have incorrect or missing dependencies and imported targets")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
@@ -1445,6 +1445,7 @@ function(_Boost_COMPONENT_HEADERS component _hdrs)
|
||||||
|
set(_Boost_MATH_TR1L_HEADERS "boost/math/tr1.hpp")
|
||||||
|
set(_Boost_MPI_HEADERS "boost/mpi.hpp")
|
||||||
|
set(_Boost_MPI_PYTHON_HEADERS "boost/mpi/python/config.hpp")
|
||||||
|
+ set(_Boost_MYSQL_HEADERS "boost/mysql.hpp")
|
||||||
|
set(_Boost_NUMPY_HEADERS "boost/python/numpy.hpp")
|
||||||
|
set(_Boost_NOWIDE_HEADERS "boost/nowide/cstdlib.hpp")
|
||||||
|
set(_Boost_PRG_EXEC_MONITOR_HEADERS "boost/test/prg_exec_monitor.hpp")
|
||||||
|
@@ -1654,7 +1655,7 @@ else()
|
||||||
|
# _Boost_COMPONENT_HEADERS. See the instructions at the top of
|
||||||
|
# _Boost_COMPONENT_DEPENDENCIES.
|
||||||
|
set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
|
||||||
|
- "1.81.0" "1.81" "1.80.0" "1.80" "1.79.0" "1.79"
|
||||||
|
+ "1.82.0" "1.82" "1.81.0" "1.81" "1.80.0" "1.80" "1.79.0" "1.79"
|
||||||
|
"1.78.0" "1.78" "1.77.0" "1.77" "1.76.0" "1.76" "1.75.0" "1.75" "1.74.0" "1.74"
|
||||||
|
"1.73.0" "1.73" "1.72.0" "1.72" "1.71.0" "1.71" "1.70.0" "1.70" "1.69.0" "1.69"
|
||||||
|
"1.68.0" "1.68" "1.67.0" "1.67" "1.66.0" "1.66" "1.65.1" "1.65.0" "1.65"
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
12
cmake.spec
12
cmake.spec
@ -76,7 +76,7 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# For handling bump release by rpmdev-bumpspec and mass rebuild
|
# For handling bump release by rpmdev-bumpspec and mass rebuild
|
||||||
%global baserelease 3
|
%global baserelease 4
|
||||||
|
|
||||||
# Uncomment if building for EPEL
|
# Uncomment if building for EPEL
|
||||||
#global name_suffix %%{major_version}
|
#global name_suffix %%{major_version}
|
||||||
@ -121,6 +121,13 @@ Patch102: %{name}-mingw-dl.patch
|
|||||||
Patch1: %{name}-rename.patch
|
Patch1: %{name}-rename.patch
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
# Backported from upstream.
|
||||||
|
Patch10001: 0001-Sphinx-Specify-encoding-when-opening-files-for-title.patch
|
||||||
|
Patch10002: 0002-Sphinx-Modernize-UTF-8-encoding-handling-when-updati.patch
|
||||||
|
Patch10003: 0003-Tests-Always-load-presets-schema-as-UTF-8.patch
|
||||||
|
Patch10004: 0004-CMakeDetermineCompilerABI-Avoid-removing-the-flag-af.patch
|
||||||
|
Patch10005: 0005-FindBoost-Add-support-for-Boost-1.82.patch
|
||||||
|
|
||||||
BuildRequires: coreutils
|
BuildRequires: coreutils
|
||||||
BuildRequires: findutils
|
BuildRequires: findutils
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@ -539,6 +546,9 @@ popd
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jun 01 2023 Björn Esser <besser82@fedoraproject.org> - 3.26.4-4
|
||||||
|
- Backport several bugfixes and support for Boost v1.82 from upstream
|
||||||
|
|
||||||
* Sat May 27 2023 Björn Esser <besser82@fedoraproject.org> - 3.26.4-3
|
* Sat May 27 2023 Björn Esser <besser82@fedoraproject.org> - 3.26.4-3
|
||||||
- Rename macros.cmake -> macros.cmake.in
|
- Rename macros.cmake -> macros.cmake.in
|
||||||
- macros: Fix formatting and indentation
|
- macros: Fix formatting and indentation
|
||||||
|
Loading…
Reference in New Issue
Block a user