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-18 14:13:42 -0700
commit99dfff447509a68d672a82812e5abfbc463b6d26 (patch)
tree1dd04bfa2ab55c9e8b681fde804145c7ef03053c /var
parente433a5dc0b8a98a13cfaee43f57787be6ead4292 (diff)
downloadspack-99dfff447509a68d672a82812e5abfbc463b6d26.tar.gz
spack-99dfff447509a68d672a82812e5abfbc463b6d26.tar.bz2
spack-99dfff447509a68d672a82812e5abfbc463b6d26.tar.xz
spack-99dfff447509a68d672a82812e5abfbc463b6d26.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.