summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-03-09 17:32:20 +0100
committerMarius Bakke <mbakke@fastmail.com>2018-03-12 17:27:07 +0100
commitd5b5a15a4046362377f1a45d466b43bb6e93d4f8 (patch)
treef4d58559d251fbbfa906a442c7e46cbb13d47216
parent09a45ffb146fda75b87f89c729c31d1da5bf93da (diff)
downloadguix-d5b5a15a4046362377f1a45d466b43bb6e93d4f8.tar.gz
build-system/meson: Skip the 'fix-runpath' phase on armhf.
* guix/build-system/meson.scm (lower): Remove DEFAULT-PATCHELF from inputs
on armhf.
(meson-build): Ignore the 'fix-runpath' phase when building for arm systems.
-rw-r--r--guix/build-system/meson.scm18
1 files changed, 15 insertions, 3 deletions
diff --git a/guix/build-system/meson.scm b/guix/build-system/meson.scm
index d7754e460a..529a2b8b0f 100644
--- a/guix/build-system/meson.scm
+++ b/guix/build-system/meson.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
+;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -80,8 +81,15 @@
          (system system)
          (build-inputs `(("meson" ,meson)
                          ("ninja" ,ninja)
-                         ;; Add patchelf for (guix build rpath) to work.
-                         ("patchelf" ,(default-patchelf))
+                         ;; XXX PatchELF fails to build on armhf, so we skip
+                         ;; the 'fix-runpath' phase there for now.  It is used
+                         ;; to avoid superfluous entries in RUNPATH as described
+                         ;; in <https://bugs.gnu.org/28444#46>, so armhf may now
+                         ;; have different runtime dependencies from other arches.
+                         ,@(if (not (string-prefix? "arm" (or (%current-target-system)
+                                                              (%current-system))))
+                               `(("patchelf" ,(default-patchelf)))
+                               '())
                          ,@native-inputs))
          (host-inputs `(,@(if source
                               `(("source" ,source))
@@ -139,7 +147,11 @@ has a 'meson.build' file."
                     #:inputs %build-inputs
                     #:search-paths ',(map search-path-specification->sexp
                                           search-paths)
-                    #:phases build-phases
+                    #:phases
+                    (if (string-prefix? "arm" ,(or (%current-target-system)
+                                                   (%current-system)))
+                        (modify-phases build-phases (delete 'fix-runpath))
+                        build-phases)
                     #:configure-flags ,configure-flags
                     #:build-type ,build-type
                     #:tests? ,tests?