guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: xorg-server: Build reproducibly.


From: Ludovic Courtès
Subject: 01/01: gnu: xorg-server: Build reproducibly.
Date: Mon, 30 Oct 2017 20:02:38 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit c2eb8cd98c82277e851eb4302b7f12614e215a76
Author: Ludovic Courtès <address@hidden>
Date:   Tue Oct 31 00:47:35 2017 +0100

    gnu: xorg-server: Build reproducibly.
    
    Fixes <https://bugs.gnu.org/24112>.
    
    * gnu/packages/xorg.scm (xorg-server)[arguments]: Pass "--with-os-name"
    and "--with-os-vendor" as #:configure-flags.
    Augment 'pre-configure' phase to set 'BUILD_DATE' and 'BUILD_TIME' in
    'configure'.
---
 gnu/packages/xorg.scm | 36 +++++++++++++++++++++++++-----------
 1 file changed, 25 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 28d0d75..5820b3d 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -5178,6 +5178,12 @@ over Xlib, including:
              ;; It's not used anyway, so set it to empty.
              "--with-default-font-path="
 
+             ;; The default is to use "uname -srm", which captures the kernel
+             ;; version and makes builds non-reproducible.
+             "--with-os-name=GNU"
+
+             "--with-os-vendor=GuixSD"    ;not strictly needed, but looks nice
+
 
              ;; For the log file, etc.
              "--localstatedir=/var"
@@ -5187,17 +5193,25 @@ over Xlib, including:
 
        #:phases
        (modify-phases %standard-phases
-         (add-before
-          'configure 'pre-configure
-          (lambda _
-            (substitute* (find-files "." "\\.c$")
-              (("/bin/sh") (which "sh")))
-
-            ;; Don't try to 'mkdir /var'.
-            (substitute* "hw/xfree86/Makefile.in"
-              (("\\$\\(MKDIR_P\\).*logdir.*")
-               "true\n"))
-            #t)))))
+         (add-before 'configure 'pre-configure
+           (lambda _
+             (substitute* (find-files "." "\\.c$")
+               (("/bin/sh") (which "sh")))
+
+             ;; Don't try to 'mkdir /var'.
+             (substitute* "hw/xfree86/Makefile.in"
+               (("\\$\\(MKDIR_P\\).*logdir.*")
+                "true\n"))
+
+             ;; Strip timestamps that would otherwise end up in the 'Xorg'
+             ;; binary.
+             (substitute* "configure"
+               (("^BUILD_DATE=.*$")
+                "BUILD_DATE=19700101\n")
+               (("^BUILD_TIME=.*$")
+                "BUILD_TIME=000001\n"))
+
+             #t)))))
     (home-page "https://www.x.org/wiki/";)
     (synopsis "Xorg implementation of the X Window System")
     (description



reply via email to

[Prev in Thread] Current Thread [Next in Thread]