summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Kuhn <michael.kuhn@informatik.uni-hamburg.de>2020-04-10 00:11:52 +0200
committerGitHub <noreply@github.com>2020-04-09 17:11:52 -0500
commit35c4f614c4255dbd5c8d5ab7ac93c7bd79b5e397 (patch)
tree6ec16cf94ef2821c712dacf88e4e3ca349d7050f
parente0e092050caa25c1c37db22496aaaba1deeef0c7 (diff)
downloadspack-35c4f614c4255dbd5c8d5ab7ac93c7bd79b5e397.tar.gz
spack-35c4f614c4255dbd5c8d5ab7ac93c7bd79b5e397.tar.bz2
spack-35c4f614c4255dbd5c8d5ab7ac93c7bd79b5e397.tar.xz
spack-35c4f614c4255dbd5c8d5ab7ac93c7bd79b5e397.zip
meson: Add 0.54.0 (#15952)
* meson: Add 0.54.0 This change also improves the rpath patch we are using. Instead of never removing the rpath, we now only keep it if running within Spack to guarantee consistent behavior of Meson. * meson: Make ninja a hard dependency
-rw-r--r--var/spack/repos/builtin/packages/meson/package.py10
-rw-r--r--var/spack/repos/builtin/packages/meson/rpath-0.49.patch20
-rw-r--r--var/spack/repos/builtin/packages/meson/rpath-0.54.patch20
-rw-r--r--var/spack/repos/builtin/packages/meson/rpath.patch11
4 files changed, 45 insertions, 16 deletions
diff --git a/var/spack/repos/builtin/packages/meson/package.py b/var/spack/repos/builtin/packages/meson/package.py
index 59edec8167..dbda0f5e78 100644
--- a/var/spack/repos/builtin/packages/meson/package.py
+++ b/var/spack/repos/builtin/packages/meson/package.py
@@ -14,6 +14,7 @@ class Meson(PythonPackage):
homepage = "http://mesonbuild.com/"
url = "https://github.com/mesonbuild/meson/archive/0.49.0.tar.gz"
+ version('0.54.0', sha256='95efdbaa7cb3e915ab9a7b26b1412475398fdc3e834842a780f1646c7764f2d9')
version('0.53.2', sha256='eab4f5d5dde12d002b7ddd958a9a0658589b63622b6cea2715e0235b95917888')
version('0.49.1', sha256='a944e7f25a2bc8e4ba3502ab5835d8a8b8f2530415c9d6fcffb53e0abaea2ced')
version('0.49.0', sha256='11bc959e7173e714e4a4e85dd2bd9d0149b0a51c8ba82d5f44cc63735f603c74')
@@ -21,13 +22,12 @@ class Meson(PythonPackage):
version('0.41.2', sha256='2daf448d3f2479d60e30617451f09bf02d26304dd1bd12ee1de936a53e42c7a4')
version('0.41.1', sha256='a48901f02ffeb9ff5cf5361d71b1fca202f9cd72998043ad011fc5de0294cf8b')
- variant('ninjabuild', default=True)
-
- depends_on('python@3:', type=('build', 'run'))
+ depends_on('python@3.5:', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
- depends_on('ninja', when='+ninjabuild', type=('build', 'run'))
+ depends_on('ninja', type='run')
# By default, Meson strips the rpath on installation. This patch disables
# rpath modification completely to make sure that Spack's rpath changes
# are not reverted.
- patch('rpath.patch', when='@0.49:')
+ patch('rpath-0.49.patch', when='@0.49:0.53')
+ patch('rpath-0.54.patch', when='@0.54:')
diff --git a/var/spack/repos/builtin/packages/meson/rpath-0.49.patch b/var/spack/repos/builtin/packages/meson/rpath-0.49.patch
new file mode 100644
index 0000000000..05b4d142f5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/meson/rpath-0.49.patch
@@ -0,0 +1,20 @@
+--- a/mesonbuild/scripts/depfixer.py
++++ b/mesonbuild/scripts/depfixer.py
+@@ -15,6 +15,7 @@
+
+ import sys, struct
+ import shutil, subprocess
++import os
+
+ from ..mesonlib import OrderedSet
+
+@@ -429,6 +430,9 @@ def fix_jar(fname):
+ subprocess.check_call(['jar', 'ufm', fname, 'META-INF/MANIFEST.MF'])
+
+ def fix_rpath(fname, new_rpath, final_path, install_name_mappings, verbose=True):
++ # Do not strip rpath when run from within Spack
++ if 'SPACK_RPATH_DIRS' in os.environ:
++ return
+ # Static libraries never have rpaths
+ if fname.endswith('.a'):
+ return
diff --git a/var/spack/repos/builtin/packages/meson/rpath-0.54.patch b/var/spack/repos/builtin/packages/meson/rpath-0.54.patch
new file mode 100644
index 0000000000..110e9106dd
--- /dev/null
+++ b/var/spack/repos/builtin/packages/meson/rpath-0.54.patch
@@ -0,0 +1,20 @@
+--- a/mesonbuild/scripts/depfixer.py
++++ b/mesonbuild/scripts/depfixer.py
+@@ -15,6 +15,7 @@
+
+ import sys, struct
+ import shutil, subprocess
++import os
+
+ from ..mesonlib import OrderedSet
+
+@@ -432,6 +433,9 @@ def fix_jar(fname):
+
+ def fix_rpath(fname, new_rpath, final_path, install_name_mappings, verbose=True):
+ global INSTALL_NAME_TOOL
++ # Do not strip rpath when run from within Spack
++ if 'SPACK_RPATH_DIRS' in os.environ:
++ return
+ # Static libraries, import libraries, debug information, headers, etc
+ # never have rpaths
+ # DLLs and EXE currently do not need runtime path fixing
diff --git a/var/spack/repos/builtin/packages/meson/rpath.patch b/var/spack/repos/builtin/packages/meson/rpath.patch
deleted file mode 100644
index 3290c7e824..0000000000
--- a/var/spack/repos/builtin/packages/meson/rpath.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ru meson-0.49.1.orig/mesonbuild/scripts/depfixer.py meson-0.49.1/mesonbuild/scripts/depfixer.py
---- meson-0.49.1.orig/mesonbuild/scripts/depfixer.py 2019-01-23 17:46:50.000000000 +0100
-+++ meson-0.49.1/mesonbuild/scripts/depfixer.py 2019-01-29 14:38:45.590583458 +0100
-@@ -429,6 +429,7 @@
- subprocess.check_call(['jar', 'ufm', fname, 'META-INF/MANIFEST.MF'])
-
- def fix_rpath(fname, new_rpath, final_path, install_name_mappings, verbose=True):
-+ return
- # Static libraries never have rpaths
- if fname.endswith('.a'):
- return