From dab666cd8d91bf2c4aacc920e3ea2ec01221123f Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Wed, 13 Sep 2017 14:50:02 +0200 Subject: [PATCH] gnu: Add meson-for-build. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/build-tools.scm (meson-for-build): New variable. * gnu/packages/patches/meson-for-build-rpath.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/build-tools.scm | 18 ++++++++++++++ .../patches/meson-for-build-rpath.patch | 24 +++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 gnu/packages/patches/meson-for-build-rpath.patch diff --git a/gnu/local.mk b/gnu/local.mk index c906f34a3e..418cc5e2af 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -856,6 +856,7 @@ dist_patch_DATA = \ %D%/packages/patches/mcrypt-CVE-2012-4527.patch \ %D%/packages/patches/mesa-skip-disk-cache-test.patch \ %D%/packages/patches/mesa-wayland-egl-symbols-check-mips.patch \ + %D%/packages/patches/meson-for-build-rpath.patch \ %D%/packages/patches/metabat-fix-compilation.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \ %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \ diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 5cc0da55d0..c535f52400 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -93,6 +93,24 @@ files}, are written in a custom domain-specific language (DSL) that resembles Python.") (license license:asl2.0))) +(define-public meson-for-build + (package + (inherit meson) + (name "meson-for-build") + (version "0.42.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mesonbuild/meson/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vyp9rkymzzzilhnf04ryszslyp9a0y0wf4agyijd4w5lcnqlcbc")) + (patches (search-patches "meson-for-build-rpath.patch")))) + + ;; People should probably install "meson", not "meson-for-build". + (properties `((hidden? . #t))))) + (define-public premake4 (package (name "premake") diff --git a/gnu/packages/patches/meson-for-build-rpath.patch b/gnu/packages/patches/meson-for-build-rpath.patch new file mode 100644 index 0000000000..4e20c9aed3 --- /dev/null +++ b/gnu/packages/patches/meson-for-build-rpath.patch @@ -0,0 +1,24 @@ +This patch removes a part of meson that clears the rpath upon installation. +This will only be applied to a special version of meson, used for the +meson-build-system. + +Patch by Peter Mikkelsen + +--- meson-0.42.0/mesonbuild/scripts/meson_install.py.orig 2017-09-09 01:49:39.147374148 +0200 ++++ meson-0.42.0/mesonbuild/scripts/meson_install.py 2017-09-09 01:51:01.209134717 +0200 +@@ -345,15 +345,6 @@ + print("Symlink creation does not work on this platform. " + "Skipping all symlinking.") + printed_symlink_error = True +- if is_elf_platform() and os.path.isfile(outname): +- try: +- e = depfixer.Elf(outname, False) +- e.fix_rpath(install_rpath) +- except SystemExit as e: +- if isinstance(e.code, int) and e.code == 0: +- pass +- else: +- raise + + def run(args): + global install_log_file