diff --git a/lib/spack/spack/build_systems/perl.py b/lib/spack/spack/build_systems/perl.py index 78184c85dc65b3c73b9058c56ee27fb874470dba..2f272373d2fff8fe84e34a2ea6dacb9e57d637ca 100644 --- a/lib/spack/spack/build_systems/perl.py +++ b/lib/spack/spack/build_systems/perl.py @@ -27,7 +27,7 @@ import os from llnl.util.filesystem import join_path -from spack.directives import extends +from spack.directives import depends_on, extends from spack.package import PackageBase, run_after from spack.util.executable import Executable @@ -64,6 +64,8 @@ class PerlPackage(PackageBase): extends('perl') + depends_on('perl', type=('build', 'run')) + def configure_args(self): """Produces a list containing the arguments that must be passed to :py:meth:`~.PerlPackage.configure`. Arguments should not include @@ -85,7 +87,7 @@ def configure(self, spec, prefix): self.build_executable = inspect.getmodule(self).make elif os.path.isfile('Build.PL'): self.build_method = 'Build.PL' - self.build_executable = Executable( + self.build_executable = Executable( join_path(self.stage.source_path, 'Build')) else: raise RuntimeError('Unknown build_method for perl package') diff --git a/lib/spack/spack/build_systems/python.py b/lib/spack/spack/build_systems/python.py index 2c8ccebae6aa83848a40dea1554a53874be39676..904f0dbaa0adf8b0174f70c50baba0088640df3d 100644 --- a/lib/spack/spack/build_systems/python.py +++ b/lib/spack/spack/build_systems/python.py @@ -26,7 +26,7 @@ import inspect import os -from spack.directives import extends +from spack.directives import depends_on, extends from spack.package import PackageBase, run_after from llnl.util.filesystem import working_dir @@ -114,6 +114,8 @@ def configure(self, spec, prefix): extends('python') + depends_on('python', type=('build', 'run')) + def setup_file(self): """Returns the name of the setup file to use.""" return 'setup.py' diff --git a/lib/spack/spack/build_systems/r.py b/lib/spack/spack/build_systems/r.py index cde3dc9fdd6028a46445e7037994ad5aca1415b6..618ba398e17d8ac473052faef7bd221fff538bac 100644 --- a/lib/spack/spack/build_systems/r.py +++ b/lib/spack/spack/build_systems/r.py @@ -25,7 +25,7 @@ import inspect -from spack.directives import extends +from spack.directives import depends_on, extends from spack.package import PackageBase, run_after @@ -47,6 +47,8 @@ class RPackage(PackageBase): extends('r') + depends_on('r', type=('build', 'run')) + def install(self, spec, prefix): """Installs an R package.""" inspect.getmodule(self).R(