Accepting request 1095295 from home:bmwiedemann:reproducible

Add 1.patch to make ghc builds reproducible (boo#1102408)

OBS-URL: https://build.opensuse.org/request/show/1095295
OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-rpm-macros?expand=0&rev=109
This commit is contained in:
Ana Guerrero 2023-07-27 19:35:46 +00:00 committed by Git OBS Bridge
parent a0eb1e96e8
commit 65099d199a
3 changed files with 33 additions and 0 deletions

25
1.patch Normal file
View File

@ -0,0 +1,25 @@
https://github.com/opensuse-haskell/ghc-rpm-macros/pull/1
From ea3438d89744e6a741c420b1aaaed9004c69af65 Mon Sep 17 00:00:00 2001
From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
Date: Sat, 15 Apr 2023 07:09:01 +0200
Subject: [PATCH] Compile with only 1 thread
parallel compile causes assignment of random symbol names
so we build single-threaded, which is slower, but gives reproducible results
---
macros.ghc-suse | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/macros.ghc-suse b/macros.ghc-suse
index 3fe39a0..7c4a536 100644
--- a/macros.ghc-suse
+++ b/macros.ghc-suse
@@ -29,4 +29,6 @@ mkdir -p %{buildroot}/usr/src/debug
%with_ghc_prof 1
# %%{?_smp_ncpus_max:--jobs=%%{?_smp_ncpus_max}}
-%ghc_smp_mflags %{?_smp_mflags}
+# parallel compile causes assignment of random symbol names
+# so we build single-threaded, which is slower, but gives reproducible results
+%ghc_smp_mflags -j1

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Mon Jun 26 03:34:18 UTC 2023 - Bernhard Wiedemann <bwiedemann@suse.com>
- Add 1.patch to make ghc builds reproducible (boo#1102408)
-------------------------------------------------------------------
Sat Mar 18 18:33:27 UTC 2023 - Ondřej Súkup <mimi.vx@gmail.com>

View File

@ -26,6 +26,8 @@ Group: Development/Libraries/Other
URL: https://fedoraproject.org/wiki/Haskell_SIG
# source gets updated with osc service dr
Source0: %{name}-%{version}.tar.xz
# PATCH-FIX-UPSTREAM https://github.com/opensuse-haskell/ghc-rpm-macros/pull/1
Patch1: 1.patch
BuildRequires: xz
Requires: rpm
Requires: chrpath
@ -50,6 +52,7 @@ for example in ghc and haskell-platform.
%prep
%setup -q
%patch1 -p1
%build
echo no build stage needed