From 94eb59fb4ac3dfa501e9cac42454c030506ab7f1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Jul 2018 23:44:26 +0200 Subject: build-system/meson: Remove RUNPATH workarounds. * guix/build-system/meson.scm (default-patchelf): Remove. (lower)[build-inputs]: Remove PATCHELF. (meson-build): Don't delete 'fix-runpath' phase on armhf. * guix/build/meson-build-system.scm (configure): Add "--c_link_args" and "-cpp_link_args" instead of setting LDFLAGS. (meson-build): Don't apply 'fix-runpath' phase. --- guix/build/meson-build-system.scm | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'guix/build/meson-build-system.scm') diff --git a/guix/build/meson-build-system.scm b/guix/build/meson-build-system.scm index e4aae8212f..80e54723c5 100644 --- a/guix/build/meson-build-system.scm +++ b/guix/build/meson-build-system.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Peter Mikkelsen +;;; Copyright © 2018 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,18 +45,13 @@ (define* (configure #:key outputs configure-flags build-type (prefix (assoc-ref outputs "out")) (args `(,(string-append "--prefix=" prefix) ,(string-append "--buildtype=" build-type) + ,(string-append "-Dc_link_args=-Wl,-rpath=" + (assoc-ref outputs "out") "/lib") + ,(string-append "-Dcpp_link_args=-Wl,-rpath=" + (assoc-ref outputs "out") "/lib") ,@configure-flags ,source-dir))) - ;; Meson lacks good facilities for dealing with RUNPATH, so we - ;; add the output "lib" directory here to avoid doing that in - ;; many users. Related issues: - ;; * - ;; * - ;; * - (unless (getenv "LDFLAGS") - (setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib"))) - (mkdir build-dir) (chdir build-dir) (apply invoke "meson" args))) @@ -148,8 +144,13 @@ (define %standard-phases (replace 'configure configure) (replace 'build build) (replace 'check check) - (replace 'install install) - (add-after 'strip 'fix-runpath fix-runpath))) + ;; XXX: We used to have 'fix-runpath' here, but it appears no longer + ;; necessary with newer Meson. However on 'core-updates' there is a + ;; useful 'strip-runpath' procedure to ensure no bogus directories in + ;; RUNPATH (remember that we tell Meson to not touch RUNPATH in + ;; (@ (gnu packages build-tools) meson-for-build)), so it should be + ;; re-added there sans the augment-rpath calls (which are not needed). + (replace 'install install))) (define* (meson-build #:key inputs phases #:allow-other-keys #:rest args) -- cgit v1.2.3