osc copypac from project:devel:languages:haskell:ghc-9.4.x package:ghc-rpm-macros revision:17, using keep-link

OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-rpm-macros?expand=0&rev=115
This commit is contained in:
Peter Simons 2023-10-27 08:29:41 +00:00 committed by Git OBS Bridge
parent 1ffbf6729a
commit ee4a085226
3 changed files with 45 additions and 2 deletions

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Tue Oct 24 14:39:05 UTC 2023 - Peter Simons <psimons@suse.com>
- Apply "reproducible-builds.patch", which makes GHC output
deterministic by disabling multi-threaded compilation. Adding
Macros:
# Enable multi-threaded builds in this project. This makes our
# build products non-deterministic, e.g. not reproducible, but
# we don't need them to be and would rather have fast results.
%ghc_smp_mflags %{?_smp_mflags}
:Macros
to an OBS project configuration re-enables multi-threaded builds,
which might be useful for development projects that don't deliver
binaries.
-------------------------------------------------------------------
Sun Aug 6 14:34:29 UTC 2023 - Ondřej Súkup <mimi.vx@gmail.com>
@ -24,7 +41,7 @@ Thu Mar 16 18:26:11 UTC 2023 - Ondřej Súkup <mimi.vx@gmail.com>
-------------------------------------------------------------------
Mon Nov 1 05:59:41 UTC 2021 - Ondřej Súkup <mimi.vx@gmail.com>
- fix build, remove white space
- fix build, remove white space
-------------------------------------------------------------------
Mon May 10 10:37:06 UTC 2021 - Ondřej Súkup <mimi.vx@gmail.com>

View File

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

25
reproducible-builds.patch Normal file
View File

@ -0,0 +1,25 @@
From fc753c7f752ea77650ca708104acc384f025dd54 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
but give an option to do fast non-deterministic builds
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..61a154a 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 for distribution releases we build single-threaded, which is slower, but gives reproducible results
+# for devel project set ghc_smp_flags in Macros