summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2015-02-16 21:53:34 -0800
committerTodd Gamblin <tgamblin@llnl.gov>2015-02-16 21:53:34 -0800
commit13376efafc42c6eeb1bf0ad3b35f509924f1a6df (patch)
tree06484390246d161d4e8a2100ca743890280cce8f
parente6b2c2701184dd9128b729e11fc1f142272caa1d (diff)
downloadspack-13376efafc42c6eeb1bf0ad3b35f509924f1a6df.tar.gz
spack-13376efafc42c6eeb1bf0ad3b35f509924f1a6df.tar.bz2
spack-13376efafc42c6eeb1bf0ad3b35f509924f1a6df.tar.xz
spack-13376efafc42c6eeb1bf0ad3b35f509924f1a6df.zip
Add package-specific rpath back to shiboken and pyside.
-rw-r--r--var/spack/packages/py-pyside/package.py13
-rw-r--r--var/spack/packages/py-shiboken/package.py7
2 files changed, 16 insertions, 4 deletions
diff --git a/var/spack/packages/py-pyside/package.py b/var/spack/packages/py-pyside/package.py
index c165d9b3bf..6583431124 100644
--- a/var/spack/packages/py-pyside/package.py
+++ b/var/spack/packages/py-pyside/package.py
@@ -1,5 +1,4 @@
from spack import *
-import spack.package
import os
class PyPyside(Package):
@@ -9,25 +8,33 @@ class PyPyside(Package):
version('1.2.2', 'c45bc400c8a86d6b35f34c29e379e44d')
+ # TODO: make build dependency
+ # depends_on("cmake")
+
extends('python')
depends_on('py-setuptools')
depends_on('qt@:4')
def patch(self):
"""Undo PySide RPATH handling and add Spack RPATH."""
+ # Figure out the special RPATH
+ pypkg = self.spec['python'].package
+ rpath = self.rpath
+ rpath.append(os.path.join(self.prefix, pypkg.site_packages_dir, 'PySide'))
+
# Add Spack's standard CMake args to the sub-builds.
# They're called BY setup.py so we have to patch it.
filter_file(
r'OPTION_CMAKE,',
r'OPTION_CMAKE, ' + (
'"-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE", '
- '"-DCMAKE_INSTALL_RPATH=%s",' % ':'.join(self.rpath)),
+ '"-DCMAKE_INSTALL_RPATH=%s",' % ':'.join(rpath)),
'setup.py')
# PySide tries to patch ELF files to remove RPATHs
# Disable this and go with the one we set.
filter_file(
- r'rpath_cmd\(pyside_path, srcpath\)',
+ r'^\s*rpath_cmd\(pyside_path, srcpath\)',
r'#rpath_cmd(pyside_path, srcpath)',
'pyside_postinstall.py')
diff --git a/var/spack/packages/py-shiboken/package.py b/var/spack/packages/py-shiboken/package.py
index e900947939..e4bf4ce07e 100644
--- a/var/spack/packages/py-shiboken/package.py
+++ b/var/spack/packages/py-shiboken/package.py
@@ -1,4 +1,5 @@
from spack import *
+import os
class PyShiboken(Package):
"""Shiboken generates bindings for C++ libraries using CPython source code."""
@@ -19,11 +20,15 @@ class PyShiboken(Package):
"""Undo Shiboken RPATH handling and add Spack RPATH."""
# Add Spack's standard CMake args to the sub-builds.
# They're called BY setup.py so we have to patch it.
+ pypkg = self.spec['python'].package
+ rpath = self.rpath
+ rpath.append(os.path.join(self.prefix, pypkg.site_packages_dir, 'Shiboken'))
+
filter_file(
r'OPTION_CMAKE,',
r'OPTION_CMAKE, ' + (
'"-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE", '
- '"-DCMAKE_INSTALL_RPATH=%s",' % ':'.join(self.rpath)),
+ '"-DCMAKE_INSTALL_RPATH=%s",' % ':'.join(rpath)),
'setup.py')
# Shiboken tries to patch ELF files to remove RPATHs