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'.
master
Ludovic Courtès 2017-10-31 00:47:35 +01:00
parent 8ff5b8aaa3
commit c2eb8cd98c
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 24 additions and 10 deletions

View File

@ -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")))
(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)))))
;; 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