From c2778d8898e99581d7ea0974dc61fb8463286f5f Mon Sep 17 00:00:00 2001 From: Michael Kuhn Date: Wed, 15 Jan 2020 21:12:51 +0100 Subject: perl: Add 5.30.1 (and 5.31.7) (#14509) This also fixes actually building the development releases. --- var/spack/repos/builtin/packages/perl/package.py | 25 +++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/perl/package.py b/var/spack/repos/builtin/packages/perl/package.py index b51d65961b..176dea0495 100644 --- a/var/spack/repos/builtin/packages/perl/package.py +++ b/var/spack/repos/builtin/packages/perl/package.py @@ -31,10 +31,12 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package # explanation of version numbering scheme # Development releases (odd numbers) + version('5.31.7', sha256='d05c4e72128f95ef6ffad42728ecbbd0d9437290bf0f88268b51af011f26b57d') version('5.31.4', sha256='418a7e6fe6485cc713a86d1227ef112f0bb3f80322e3b715ffe42851d97804a5') # Maintenance releases (even numbers, recommended) - version('5.30.0', sha256='851213c754d98ccff042caa40ba7a796b2cee88c5325f121be5cbb61bbf975f2', preferred=True) + version('5.30.1', sha256='bf3d25571ff1ee94186177c2cdef87867fd6a14aa5a84f0b1fb7bf798f42f964', preferred=True) + version('5.30.0', sha256='851213c754d98ccff042caa40ba7a796b2cee88c5325f121be5cbb61bbf975f2') # End of life releases version('5.28.0', sha256='7e929f64d4cb0e9d1159d4a59fc89394e27fa1f7004d0836ca0d514685406ea8') @@ -137,6 +139,9 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package if '+threads' in spec: config_args.append('-Dusethreads') + if spec.satisfies('@5.31'): + config_args.append('-Dusedevel') + return config_args def configure(self, spec, prefix): @@ -290,3 +295,21 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package # Make deactivate idempotent if ext_pkg.name in exts: del exts[ext_pkg.name] + + @property + def command(self): + """Returns the Perl command, which may vary depending on the version + of Perl. In general, Perl comes with a ``perl`` command. However, + development releases have a ``perlX.Y.Z`` command. + + Returns: + Executable: the Perl command + """ + for ver in (self.spec.version, ''): + path = os.path.join(self.prefix.bin, '{0}{1}'.format( + self.spec.name, ver)) + if os.path.exists(path): + return Executable(path) + else: + msg = 'Unable to locate {0} command in {1}' + raise RuntimeError(msg.format(self.spec.name, self.prefix.bin)) -- cgit v1.2.3-70-g09d2