summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralalazo <massimiliano.culpo@googlemail.com>2016-03-23 11:18:11 +0100
committeralalazo <massimiliano.culpo@googlemail.com>2016-03-24 10:57:46 +0100
commit758a9c9096bd6c306f2dba0e40b46544dcec1992 (patch)
tree1e84c71f87075afb247295b7871d0ba4e15d761d
parent7cf1b7ed51bae677f60d61f5f9db40b98df5dc6b (diff)
downloadspack-758a9c9096bd6c306f2dba0e40b46544dcec1992.tar.gz
spack-758a9c9096bd6c306f2dba0e40b46544dcec1992.tar.bz2
spack-758a9c9096bd6c306f2dba0e40b46544dcec1992.tar.xz
spack-758a9c9096bd6c306f2dba0e40b46544dcec1992.zip
python extensions : create PYTHONPATH in module files
-rw-r--r--lib/spack/spack/modules.py10
-rw-r--r--var/spack/repos/builtin/packages/python/package.py5
2 files changed, 9 insertions, 6 deletions
diff --git a/lib/spack/spack/modules.py b/lib/spack/spack/modules.py
index 6c32937c3c..d45fdde703 100644
--- a/lib/spack/spack/modules.py
+++ b/lib/spack/spack/modules.py
@@ -161,13 +161,13 @@ class EnvModule(object):
# Let the extendee modify their extensions before asking for
# package-specific modifications
- for extendee in self.pkg.extendees:
- extendee_spec = self.spec[extendee]
- extendee_spec.package.setup_dependent_package(
- self.pkg.module, self.spec)
+ spack_env = EnvironmentModifications()
+ for item in self.pkg.extendees:
+ package = self.spec[item].package
+ package.setup_dependent_package(self.pkg.module, self.spec)
+ package.setup_dependent_environment(spack_env, env, self.spec)
# Package-specific environment modifications
- spack_env = EnvironmentModifications()
self.spec.package.setup_environment(spack_env, env)
# TODO : implement site-specific modifications and filters
diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py
index 6d9030805b..f5237c3b57 100644
--- a/var/spack/repos/builtin/packages/python/package.py
+++ b/var/spack/repos/builtin/packages/python/package.py
@@ -105,7 +105,10 @@ class Python(Package):
pythonpath = ':'.join(python_paths)
spack_env.set('PYTHONPATH', pythonpath)
- run_env.set('PYTHONPATH', pythonpath)
+
+ # For run time environment set only the path for extension_spec and prepend it to PYTHONPATH
+ if extension_spec.package.extends(self.spec):
+ run_env.prepend_path('PYTHONPATH', os.path.join(extension_spec.prefix, self.site_packages_dir))
def setup_dependent_package(self, module, ext_spec):