Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ghc-rpm-macros for openSUSE:Factory 
checked in at 2023-11-02 20:21:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-rpm-macros (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-rpm-macros.new.17445 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-rpm-macros"

Thu Nov  2 20:21:09 2023 rev:45 rq:1121668 version:2.5.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-rpm-macros/ghc-rpm-macros.changes    
2023-08-07 15:29:21.332411468 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-rpm-macros.new.17445/ghc-rpm-macros.changes 
2023-11-02 20:21:23.947679409 +0100
@@ -1,0 +2,17 @@
+Tue Oct 24 14:39:05 UTC 2023 - Peter Simons <[email protected]>
+
+- 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.
+
+-------------------------------------------------------------------

New:
----
  reproducible-builds.patch

BETA DEBUG BEGIN:
  New:
- Apply "reproducible-builds.patch", which makes GHC output
  deterministic by disabling multi-threaded compilation. Adding
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-rpm-macros.spec ++++++
--- /var/tmp/diff_new_pack.bo8kgg/_old  2023-11-02 20:21:24.447697807 +0100
+++ /var/tmp/diff_new_pack.bo8kgg/_new  2023-11-02 20:21:24.451697954 +0100
@@ -26,6 +26,7 @@
 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 @@
 for example in ghc and haskell-platform.
 
 %prep
-%setup -q
+%autosetup -p1
 
 %build
 echo no build stage needed

++++++ reproducible-builds.patch ++++++
>From fc753c7f752ea77650ca708104acc384f025dd54 Mon Sep 17 00:00:00 2001
From: "Bernhard M. Wiedemann" <[email protected]>
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

Reply via email to