[packages/catch2] upstream patch to fix debugsource package creation

atler atler at pld-linux.org
Thu Dec 28 21:31:54 CET 2023


commit 4590f9ca9315ccf16d63df4aa91b28a953abdfb0
Author: Jan Palus <atler at pld-linux.org>
Date:   Thu Dec 28 21:30:11 2023 +0100

    upstream patch to fix debugsource package creation
    
    introduce option to make -ffile-prefix-map flag conditional
    from: https://github.com/catchorg/Catch2/pull/2785

 catch2.spec                    |  5 +++-
 optional-reproducibility.patch | 52 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+), 1 deletion(-)
---
diff --git a/catch2.spec b/catch2.spec
index c011885..fac53cb 100644
--- a/catch2.spec
+++ b/catch2.spec
@@ -6,6 +6,7 @@ License:	Boost v1.0
 Group:		Libraries
 Source0:	https://github.com/catchorg/Catch2/archive/v%{version}/%{name}-%{version}.tar.gz
 # Source0-md5:	8e56bcccbc86e68e916cce0d43450116
+Patch0:		optional-reproducibility.patch
 URL:		https://github.com/catchorg/Catch2
 BuildRequires:	cmake >= 3.10
 BuildRequires:	libstdc++-devel
@@ -27,13 +28,15 @@ Header files for catch2 library.
 
 %prep
 %setup -q -n Catch2-%{version}
+%patch0 -p1
 
 %build
 install -d build
 cd build
 %cmake .. \
 	-DPKGCONFIG_INSTALL_DIR:PATH="%{_pkgconfigdir}" \
-	-DCATCH_INSTALL_DOCS:BOOL=OFF
+	-DCATCH_INSTALL_DOCS:BOOL=OFF \
+	-DCATCH_ENABLE_REPRODUCIBLE_BUILD:BOOL=OFF
 
 %{__make}
 
diff --git a/optional-reproducibility.patch b/optional-reproducibility.patch
new file mode 100644
index 0000000..ed2688e
--- /dev/null
+++ b/optional-reproducibility.patch
@@ -0,0 +1,52 @@
+From 1512dac7e4c2fddadcc15f7ab316ce3d5b67e7f3 Mon Sep 17 00:00:00 2001
+From: Jan Palus <jpalus at fastmail.com>
+Date: Thu, 28 Dec 2023 00:41:54 +0100
+Subject: [PATCH] Make compiler flags for reproducible builds optional
+
+no change in default behavior: -ffile-prefix-map is still added if
+supported by compiler but add option for disabling it as it breaks
+generic tools for extracting debuginfo/debugsource from build artifacts
+like: https://sourceware.org/git/?p=debugedit.git;a=blob;f=scripts/find-debuginfo.in
+---
+ CMakeLists.txt     | 1 +
+ src/CMakeLists.txt | 8 ++++++--
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2cfb6cd143..20e4036e18 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,6 +11,7 @@ endif()
+ option(CATCH_INSTALL_DOCS "Install documentation alongside library" ON)
+ option(CATCH_INSTALL_EXTRAS "Install extras (CMake scripts, debugger helpers) alongside library" ON)
+ option(CATCH_DEVELOPMENT_BUILD "Build tests, enable warnings, enable Werror, etc" OFF)
++option(CATCH_ENABLE_REPRODUCIBLE_BUILD "Add compiler flags for improving build reproducibility" ON)
+ 
+ include(CMakeDependentOption)
+ cmake_dependent_option(CATCH_BUILD_TESTING "Build the SelfTest project" ON "CATCH_DEVELOPMENT_BUILD" OFF)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index d01aab2d5c..eb805ddd0b 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -348,7 +348,9 @@ source_group("generated headers"
+ )
+ 
+ add_library(Catch2 ${ALL_FILES})
+-add_build_reproducibility_settings(Catch2)
++if (CATCH_ENABLE_REPRODUCIBLE_BUILD)
++    add_build_reproducibility_settings(Catch2)
++endif()
+ add_library(Catch2::Catch2 ALIAS Catch2)
+ 
+ if (ANDROID)
+@@ -401,7 +403,9 @@ target_include_directories(Catch2
+ add_library(Catch2WithMain
+     ${SOURCES_DIR}/internal/catch_main.cpp
+ )
+-add_build_reproducibility_settings(Catch2WithMain)
++if (CATCH_ENABLE_REPRODUCIBLE_BUILD)
++    add_build_reproducibility_settings(Catch2WithMain)
++endif()
+ add_library(Catch2::Catch2WithMain ALIAS Catch2WithMain)
+ target_link_libraries(Catch2WithMain PUBLIC Catch2)
+ set_target_properties(Catch2WithMain
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/catch2.git/commitdiff/4590f9ca9315ccf16d63df4aa91b28a953abdfb0



More information about the pld-cvs-commit mailing list