summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorGreg Becker <becker33@llnl.gov>2019-11-04 23:03:35 -0600
committerTodd Gamblin <tgamblin@llnl.gov>2019-11-04 22:03:35 -0700
commit385e41d70b6562e19a549f9141697ba12b4e7b6d (patch)
tree9b564b445c49d89af8618fdca0be0c2afa225518 /var
parentedf9548310b59bf7c52d75f02b619520bba467ad (diff)
downloadspack-385e41d70b6562e19a549f9141697ba12b4e7b6d.tar.gz
spack-385e41d70b6562e19a549f9141697ba12b4e7b6d.tar.bz2
spack-385e41d70b6562e19a549f9141697ba12b4e7b6d.tar.xz
spack-385e41d70b6562e19a549f9141697ba12b4e7b6d.zip
binary distribution: relocate text files properly in relative binaries (#13578)
* Make relative binaries relocate text files properly * rb strings aren't valid in python 2 * move perl to new interface for setup_environment family methods
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/perl/package.py32
1 files changed, 25 insertions, 7 deletions
diff --git a/var/spack/repos/builtin/packages/perl/package.py b/var/spack/repos/builtin/packages/perl/package.py
index 45239576da..5df5692895 100644
--- a/var/spack/repos/builtin/packages/perl/package.py
+++ b/var/spack/repos/builtin/packages/perl/package.py
@@ -165,12 +165,13 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
make()
make('install')
- def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
+ def setup_dependent_build_environment(self, env, dependent_spec):
"""Set PATH and PERL5LIB to include the extension and
any other perl extensions it depends on,
assuming they were installed with INSTALL_BASE defined."""
- perl_lib_dirs = []
- perl_bin_dirs = []
+ perl_lib_dirs = [join_path(self.spec.prefix.lib,
+ str(self.spec.version))]
+ perl_bin_dirs = [self.spec.prefix.bin]
for d in dependent_spec.traverse(
deptype=('build', 'run'), deptype_query='run'):
if d.package.extends(self.spec):
@@ -178,12 +179,29 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
perl_bin_dirs.append(d.prefix.bin)
if perl_bin_dirs:
perl_bin_path = ':'.join(perl_bin_dirs)
- spack_env.prepend_path('PATH', perl_bin_path)
- run_env.prepend_path('PATH', perl_bin_path)
+ env.prepend_path('PATH', perl_bin_path)
if perl_lib_dirs:
perl_lib_path = ':'.join(perl_lib_dirs)
- spack_env.prepend_path('PERL5LIB', perl_lib_path)
- run_env.prepend_path('PERL5LIB', perl_lib_path)
+ env.prepend_path('PERL5LIB', perl_lib_path)
+
+ def setup_dependent_run_environment(self, env, dependent_spec):
+ """Set PATH and PERL5LIB to include the extension and
+ any other perl extensions it depends on,
+ assuming they were installed with INSTALL_BASE defined."""
+ perl_lib_dirs = [join_path(self.spec.prefix.lib,
+ str(self.spec.version))]
+ perl_bin_dirs = [self.spec.prefix.bin]
+ for d in dependent_spec.traverse(
+ deptype=('run',), deptype_query='run'):
+ if d.package.extends(self.spec):
+ perl_lib_dirs.append(d.prefix.lib.perl5)
+ perl_bin_dirs.append(d.prefix.bin)
+ if perl_bin_dirs:
+ perl_bin_path = ':'.join(perl_bin_dirs)
+ env.prepend_path('PATH', perl_bin_path)
+ if perl_lib_dirs:
+ perl_lib_path = ':'.join(perl_lib_dirs)
+ env.prepend_path('PERL5LIB', perl_lib_path)
def setup_dependent_package(self, module, dependent_spec):
"""Called before perl modules' install() methods.