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'.
This commit is contained in:
parent
8ff5b8aaa3
commit
c2eb8cd98c
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue