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>
master
Peter Mikkelsen 2017-09-13 14:50:02 +02:00 committed by Ludovic Courtès
parent 67f8ba118e
commit dab666cd8d
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
3 changed files with 43 additions and 0 deletions

View File

@ -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 \

View File

@ -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")

View File

@ -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