aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Devos <maximedevos@telenet.be>2021-08-25 14:37:39 +0200
committerMathieu Othacehe <othacehe@gnu.org>2021-09-20 11:15:08 +0000
commit76362337b9f67fbe60de6c9288ab5ca054653d59 (patch)
treeff8321be43cdb8d0d0f1fe69af531a9ea5146069
parent4823adb26b5022193df83315df6734cfb5d491d1 (diff)
downloadguix-76362337b9f67fbe60de6c9288ab5ca054653d59.tar
guix-76362337b9f67fbe60de6c9288ab5ca054653d59.tar.gz
gnu: xorg: Unify --disable-malloc0-returnsnull code.
The idea is to keep the comments in one place, instead of copying them over and over. It's also documented more now. * gnu/packages/xorg.scm (malloc0-flags): New procedure. (libxext,libxrender,libx11,libxt): Use new procedures.
-rw-r--r--gnu/packages/xorg.scm32
1 files changed, 14 insertions, 18 deletions
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 95d3442d36..1eaf95ff31 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -102,6 +102,16 @@
+;; When cross-compiling certain packages, "--disable-malloc0returnsnull"
+;; needs to be passed. Otherwise, the configure script will try to run a
+;; binary for the host on the build machine.
+(define (malloc0-flags)
+ (if (%current-target-system)
+ ;; At least on glibc-based systems, malloc(0) evaluates to a non-NULL
+ ;; pointer (except in out-of-memory situations). On other systems,
+ ;; --enable-malloc0returnsnull might be required instead.
+ '("--disable-malloc0returnsnull")
+ '()))
;; packages without propagated input
;; (rationale for this separation: The packages in PROPAGATED_INPUTS need to
@@ -4791,10 +4801,7 @@ cannot be adequately worked around on the client side of the wire.")
(string-append "--mandir="
(assoc-ref %outputs "doc")
"/share/man")
- ;; Disable zero malloc check that fails when cross-compiling.
- ,@(if (%current-target-system)
- '("--disable-malloc0returnsnull")
- '()))))
+ ,@(malloc0-flags))))
(propagated-inputs
`(("xorgproto" ,xorgproto)))
(inputs
@@ -4884,11 +4891,7 @@ cannot be adequately worked around on the client side of the wire.")
(build-system gnu-build-system)
(arguments
`(#:configure-flags
- (list "--disable-static"
- ;; Disable zero malloc check that fails when cross-compiling.
- ,@(if (%current-target-system)
- '("--disable-malloc0returnsnull")
- '()))))
+ (list "--disable-static" ,@(malloc0-flags))))
(propagated-inputs
`(("xorgproto" ,xorgproto)))
(inputs
@@ -5561,11 +5564,7 @@ draggable titlebars and borders.")
(assoc-ref %outputs "doc")
"/share/man")
"--disable-static"
-
- ;; Disable zero malloc check that fails when cross-compiling.
- ,@(if (%current-target-system)
- '("--disable-malloc0returnsnull")
- '()))))
+ ,@(malloc0-flags))))
(propagated-inputs
`(("xorgproto" ,xorgproto)
("libxcb" ,libxcb)))
@@ -5643,10 +5642,7 @@ draggable titlebars and borders.")
(assoc-ref %outputs "doc")
"/share/man")
"--disable-static"
- ;; Disable zero malloc check that fails when cross-compiling.
- ,@(if (%current-target-system)
- '("--disable-malloc0returnsnull")
- '()))))
+ ,@(malloc0-flags))))
(propagated-inputs
`(("libx11" ,libx11)
("libice" ,libice)