summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Mikkelsen <petermikkelsen10@gmail.com>2017-09-13 14:50:02 +0200
committerLudovic Courtès <ludo@gnu.org>2017-09-16 00:03:53 +0200
commitdab666cd8d91bf2c4aacc920e3ea2ec01221123f (patch)
treef52af9a4f0fbf38d2e7dbd2489c14ae514669d54
parent67f8ba118e2b98755253a5b4ba647efb4314e03f (diff)
downloadgnu-guix-dab666cd8d91bf2c4aacc920e3ea2ec01221123f.tar
gnu-guix-dab666cd8d91bf2c4aacc920e3ea2ec01221123f.tar.gz
gnu: Add meson-for-build.
* 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 <ludo@gnu.org>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/build-tools.scm18
-rw-r--r--gnu/packages/patches/meson-for-build-rpath.patch24
3 files changed, 43 insertions, 0 deletions
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 <petermikkelsen10@gmail.com>
+
+--- 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