guix-commits
[Top][All Lists]
Advanced

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

40/52: gnu: xorg: Unify --disable-malloc0-returnsnull code.


From: guix-commits
Subject: 40/52: gnu: xorg: Unify --disable-malloc0-returnsnull code.
Date: Mon, 20 Sep 2021 07:19:38 -0400 (EDT)

mothacehe pushed a commit to branch core-updates-frozen
in repository guix.

commit 76362337b9f67fbe60de6c9288ab5ca054653d59
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Wed Aug 25 14:37:39 2021 +0200

    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.
---
 gnu/packages/xorg.scm | 32 ++++++++++++++------------------
 1 file changed, 14 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 95d3442..1eaf95f 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)



reply via email to

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