summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/octave/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/octave/package.py')
-rw-r--r--var/spack/repos/builtin/packages/octave/package.py21
1 files changed, 18 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/octave/package.py b/var/spack/repos/builtin/packages/octave/package.py
index 72ff0ee6fc..aa521899e5 100644
--- a/var/spack/repos/builtin/packages/octave/package.py
+++ b/var/spack/repos/builtin/packages/octave/package.py
@@ -36,6 +36,8 @@ class Octave(Package):
homepage = "https://www.gnu.org/software/octave/"
url = "ftp://ftp.gnu.org/gnu/octave/octave-4.0.0.tar.gz"
+ extendable = True
+
version('4.0.2', 'c2a5cacc6e4c52f924739cdf22c2c687')
version('4.0.0', 'a69f8320a4f20a8480c1b278b1adb799')
@@ -59,16 +61,16 @@ class Octave(Package):
variant('qrupdate', default=False)
variant('qscintilla', default=False)
variant('qt', default=False)
- variant('suiteparse', default=False)
+ variant('suitesparse', default=False)
variant('zlib', default=False)
# Required dependencies
depends_on('blas')
depends_on('lapack')
# Octave does not configure with sed from darwin:
- depends_on('sed', sys.platform == 'darwin')
+ depends_on('sed', when=sys.platform == 'darwin', type='build')
depends_on('pcre')
- depends_on('pkg-config')
+ depends_on('pkg-config', type='build')
# Strongly recommended dependencies
depends_on('readline', when='+readline')
@@ -212,3 +214,16 @@ class Octave(Package):
make()
make("install")
+
+ # ========================================================================
+ # Set up environment to make install easy for Octave extensions.
+ # ========================================================================
+
+ def setup_dependent_package(self, module, ext_spec):
+ """Called before Octave modules' install() methods.
+
+ In most cases, extensions will only need to have one line:
+ octave('--eval', 'pkg install %s' % self.stage.archive_file)
+ """
+ # Octave extension builds can have a global Octave executable function
+ module.octave = Executable(join_path(self.spec.prefix.bin, 'octave'))