Procedure to deprecate old versions of software (#20767)

* Procedure to deprecate old versions of software

* Add documentation

* Fix bug in logic

* Update tab completion

* Deprecate legacy packages

* Deprecate old mxnet as well

* More explicit docs
This commit is contained in:
Adam J. Stewart 2021-02-09 12:51:18 -06:00 committed by GitHub
parent e5ab686d77
commit 7ccb9992a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 215 additions and 97 deletions

View File

@ -107,7 +107,7 @@ config:
# If set to true, Spack will attempt to build any compiler on the spec # If set to true, Spack will attempt to build any compiler on the spec
# that is not already available. If set to False, Spack will only use # that is not already available. If set to False, Spack will only use
# compilers already configured in compilers.yaml # compilers already configured in compilers.yaml
install_missing_compilers: False install_missing_compilers: false
# If set to true, Spack will always check checksums after downloading # If set to true, Spack will always check checksums after downloading
@ -115,6 +115,11 @@ config:
checksum: true checksum: true
# If set to true, Spack will fetch deprecated versions without warning.
# If false, Spack will raise an error when trying to install a deprecated version.
deprecated: false
# If set to true, `spack install` and friends will NOT clean # If set to true, `spack install` and friends will NOT clean
# potentially harmful variables from the build environment. Use wisely. # potentially harmful variables from the build environment. Use wisely.
dirty: false dirty: false

View File

@ -612,6 +612,62 @@ it executable, then runs it with some arguments.
installer = Executable(self.stage.archive_file) installer = Executable(self.stage.archive_file)
installer('--prefix=%s' % prefix, 'arg1', 'arg2', 'etc.') installer('--prefix=%s' % prefix, 'arg1', 'arg2', 'etc.')
^^^^^^^^^^^^^^^^^^^^^^^^
Deprecating old versions
^^^^^^^^^^^^^^^^^^^^^^^^
There are many reasons to remove old versions of software:
#. Security vulnerabilities (most serious reason)
#. Changing build systems that increase package complexity
#. Changing dependencies/patches/resources/flags that increase package complexity
#. Maintainer/developer inability/unwillingness to support old versions
#. No longer available for download (right to be forgotten)
#. Package or version rename
At the same time, there are many reasons to keep old versions of software:
#. Reproducibility
#. Requirements for older packages (e.g. some packages still rely on Qt 3)
In general, you should not remove old versions from a ``package.py``. Instead,
you should first deprecate them using the following syntax:
.. code-block:: python
version('1.2.3', sha256='...', deprecated=True)
This has two effects. First, ``spack info`` will no longer advertise that
version. Second, commands like ``spack install`` that fetch the package will
require user approval:
.. code-block:: console
$ spack install openssl@1.0.1e
==> Warning: openssl@1.0.1e is deprecated and may be removed in a future Spack release.
==> Fetch anyway? [y/N]
If you use ``spack install --deprecated``, this check can be skipped.
This also applies to package recipes that are renamed or removed. You should
first deprecate all versions before removing a package. If you need to rename
it, you can deprecate the old package and create a new package at the same
time.
Version deprecations should always last at least one Spack minor release cycle
before the version is completely removed. For example, if a version is
deprecated in Spack 0.16.0, it should not be removed until Spack 0.17.0. No
version should be removed without such a deprecation process. This gives users
a chance to complain about the deprecation in case the old version is needed
for some application. If you require a deprecated version of a package, simply
submit a PR to remove ``deprecated=True`` from the package. However, you may be
asked to help maintain this version of the package if the current maintainers
are unwilling to support this older version.
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
Download caching Download caching
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^

View File

@ -277,6 +277,13 @@ def no_checksum():
help="do not use checksums to verify downloaded files (unsafe)") help="do not use checksums to verify downloaded files (unsafe)")
@arg
def deprecated():
return Args(
'--deprecated', action='store_true', default=False,
help='fetch deprecated versions without warning')
def add_cdash_args(subparser, add_help): def add_cdash_args(subparser, add_help):
cdash_help = {} cdash_help = {}
if add_help: if add_help:

View File

@ -26,7 +26,7 @@ def setup_parser(subparser):
subparser.add_argument( subparser.add_argument(
'-i', '--ignore-dependencies', action='store_true', dest='ignore_deps', '-i', '--ignore-dependencies', action='store_true', dest='ignore_deps',
help="don't try to install dependencies of requested packages") help="don't try to install dependencies of requested packages")
arguments.add_common_arguments(subparser, ['no_checksum']) arguments.add_common_arguments(subparser, ['no_checksum', 'deprecated'])
subparser.add_argument( subparser.add_argument(
'--keep-prefix', action='store_true', '--keep-prefix', action='store_true',
help="do not remove the install prefix if installation fails") help="do not remove the install prefix if installation fails")
@ -98,6 +98,9 @@ def dev_build(self, args):
if args.no_checksum: if args.no_checksum:
spack.config.set('config:checksum', False, scope='command_line') spack.config.set('config:checksum', False, scope='command_line')
if args.deprecated:
spack.config.set('config:deprecated', True, scope='command_line')
tests = False tests = False
if args.test == 'all': if args.test == 'all':
tests = True tests = True

View File

@ -16,7 +16,7 @@
def setup_parser(subparser): def setup_parser(subparser):
arguments.add_common_arguments(subparser, ['no_checksum']) arguments.add_common_arguments(subparser, ['no_checksum', 'deprecated'])
subparser.add_argument( subparser.add_argument(
'-m', '--missing', action='store_true', '-m', '--missing', action='store_true',
help="fetch only missing (not yet installed) dependencies") help="fetch only missing (not yet installed) dependencies")
@ -33,6 +33,9 @@ def fetch(parser, args):
if args.no_checksum: if args.no_checksum:
spack.config.set('config:checksum', False, scope='command_line') spack.config.set('config:checksum', False, scope='command_line')
if args.deprecated:
spack.config.set('config:deprecated', True, scope='command_line')
specs = spack.cmd.parse_specs(args.specs, concretize=True) specs = spack.cmd.parse_specs(args.specs, concretize=True)
for spec in specs: for spec in specs:
if args.missing or args.dependencies: if args.missing or args.dependencies:

View File

@ -189,10 +189,11 @@ def print_text_info(pkg):
color.cprint(section_title('Safe versions: ')) color.cprint(section_title('Safe versions: '))
for v in reversed(sorted(pkg.versions)): for v in reversed(sorted(pkg.versions)):
if pkg.has_code: if not pkg.versions[v].get('deprecated', False):
url = fs.for_package_version(pkg, v) if pkg.has_code:
line = version(' {0}'.format(pad(v))) + color.cescape(url) url = fs.for_package_version(pkg, v)
color.cprint(line) line = version(' {0}'.format(pad(v))) + color.cescape(url)
color.cprint(line)
color.cprint('') color.cprint('')
color.cprint(section_title('Variants:')) color.cprint(section_title('Variants:'))

View File

@ -126,7 +126,7 @@ def setup_parser(subparser):
subparser.add_argument( subparser.add_argument(
'--source', action='store_true', dest='install_source', '--source', action='store_true', dest='install_source',
help="install source files in prefix") help="install source files in prefix")
arguments.add_common_arguments(subparser, ['no_checksum']) arguments.add_common_arguments(subparser, ['no_checksum', 'deprecated'])
subparser.add_argument( subparser.add_argument(
'-v', '--verbose', action='store_true', '-v', '--verbose', action='store_true',
help="display verbose build output while installing") help="display verbose build output while installing")
@ -288,6 +288,9 @@ def install(parser, args, **kwargs):
if args.no_checksum: if args.no_checksum:
spack.config.set('config:checksum', False, scope='command_line') spack.config.set('config:checksum', False, scope='command_line')
if args.deprecated:
spack.config.set('config:deprecated', True, scope='command_line')
# Parse cli arguments and construct a dictionary # Parse cli arguments and construct a dictionary
# that will be passed to the package installer # that will be passed to the package installer
update_kwargs_from_args(args, kwargs) update_kwargs_from_args(args, kwargs)

View File

@ -28,7 +28,7 @@
def setup_parser(subparser): def setup_parser(subparser):
arguments.add_common_arguments(subparser, ['no_checksum']) arguments.add_common_arguments(subparser, ['no_checksum', 'deprecated'])
sp = subparser.add_subparsers( sp = subparser.add_subparsers(
metavar='SUBCOMMAND', dest='mirror_command') metavar='SUBCOMMAND', dest='mirror_command')
@ -371,4 +371,7 @@ def mirror(parser, args):
if args.no_checksum: if args.no_checksum:
spack.config.set('config:checksum', False, scope='command_line') spack.config.set('config:checksum', False, scope='command_line')
if args.deprecated:
spack.config.set('config:deprecated', True, scope='command_line')
action[args.mirror_command](args) action[args.mirror_command](args)

View File

@ -16,7 +16,8 @@
def setup_parser(subparser): def setup_parser(subparser):
arguments.add_common_arguments(subparser, ['no_checksum', 'specs']) arguments.add_common_arguments(
subparser, ['no_checksum', 'deprecated', 'specs'])
def patch(parser, args): def patch(parser, args):
@ -26,6 +27,9 @@ def patch(parser, args):
if args.no_checksum: if args.no_checksum:
spack.config.set('config:checksum', False, scope='command_line') spack.config.set('config:checksum', False, scope='command_line')
if args.deprecated:
spack.config.set('config:deprecated', True, scope='command_line')
specs = spack.cmd.parse_specs(args.specs, concretize=True) specs = spack.cmd.parse_specs(args.specs, concretize=True)
for spec in specs: for spec in specs:
package = spack.repo.get(spec) package = spack.repo.get(spec)

View File

@ -16,7 +16,8 @@
def setup_parser(subparser): def setup_parser(subparser):
arguments.add_common_arguments(subparser, ['no_checksum', 'specs']) arguments.add_common_arguments(
subparser, ['no_checksum', 'deprecated', 'specs'])
subparser.add_argument( subparser.add_argument(
'-p', '--path', dest='path', '-p', '--path', dest='path',
help="path to stage package, does not add to spack tree") help="path to stage package, does not add to spack tree")
@ -37,6 +38,9 @@ def stage(parser, args):
if args.no_checksum: if args.no_checksum:
spack.config.set('config:checksum', False, scope='command_line') spack.config.set('config:checksum', False, scope='command_line')
if args.deprecated:
spack.config.set('config:deprecated', True, scope='command_line')
specs = spack.cmd.parse_specs(args.specs, concretize=True) specs = spack.cmd.parse_specs(args.specs, concretize=True)
for spec in specs: for spec in specs:
package = spack.repo.get(spec) package = spack.repo.get(spec)

View File

@ -278,6 +278,9 @@ def version(ver, checksum=None, **kwargs):
The ``dict`` of arguments is turned into a valid fetch strategy for The ``dict`` of arguments is turned into a valid fetch strategy for
code packages later. See ``spack.fetch_strategy.for_package_version()``. code packages later. See ``spack.fetch_strategy.for_package_version()``.
Keyword Arguments:
deprecated (bool): whether or not this version is deprecated
""" """
def _execute_version(pkg): def _execute_version(pkg):
if checksum is not None: if checksum is not None:

View File

@ -1309,7 +1309,6 @@ def do_fetch(self, mirror_only=False):
tty.debug('No fetch required for {0}: package has no code.' tty.debug('No fetch required for {0}: package has no code.'
.format(self.name)) .format(self.name))
start_time = time.time()
checksum = spack.config.get('config:checksum') checksum = spack.config.get('config:checksum')
fetch = self.stage.managed_by_spack fetch = self.stage.managed_by_spack
if checksum and fetch and self.version not in self.versions: if checksum and fetch and self.version not in self.versions:
@ -1331,8 +1330,34 @@ def do_fetch(self, mirror_only=False):
raise FetchError("Will not fetch %s" % raise FetchError("Will not fetch %s" %
self.spec.format('{name}{@version}'), ck_msg) self.spec.format('{name}{@version}'), ck_msg)
deprecated = spack.config.get('config:deprecated')
if not deprecated and self.versions.get(
self.version, {}).get('deprecated', False):
tty.warn("{0} is deprecated and may be removed in a future Spack "
"release.".format(
self.spec.format('{name}{@version}')))
# Ask the user whether to install deprecated version if we're
# interactive, but just fail if non-interactive.
dp_msg = ("If you are willing to be a maintainer for this version "
"of the package, submit a PR to remove `deprecated=False"
"`, or use `--deprecated` to skip this check.")
ignore_deprecation = False
if sys.stdout.isatty():
ignore_deprecation = tty.get_yes_or_no(" Fetch anyway?",
default=False)
if ignore_deprecation:
tty.debug("Fetching deprecated version. {0}".format(
dp_msg))
if not ignore_deprecation:
raise FetchError("Will not fetch {0}".format(
self.spec.format('{name}{@version}')), dp_msg)
self.stage.create() self.stage.create()
err_msg = None if not self.manual_download else self.download_instr err_msg = None if not self.manual_download else self.download_instr
start_time = time.time()
self.stage.fetch(mirror_only, err_msg=err_msg) self.stage.fetch(mirror_only, err_msg=err_msg)
self._fetch_time = time.time() - start_time self._fetch_time = time.time() - start_time

View File

@ -78,6 +78,7 @@
'install_missing_compilers': {'type': 'boolean'}, 'install_missing_compilers': {'type': 'boolean'},
'debug': {'type': 'boolean'}, 'debug': {'type': 'boolean'},
'checksum': {'type': 'boolean'}, 'checksum': {'type': 'boolean'},
'deprecated': {'type': 'boolean'},
'locks': {'type': 'boolean'}, 'locks': {'type': 'boolean'},
'dirty': {'type': 'boolean'}, 'dirty': {'type': 'boolean'},
'build_language': {'type': 'string'}, 'build_language': {'type': 'string'},

View File

@ -732,7 +732,7 @@ _spack_deprecate() {
_spack_dev_build() { _spack_dev_build() {
if $list_options if $list_options
then then
SPACK_COMPREPLY="-h --help -j --jobs -d --source-path -i --ignore-dependencies -n --no-checksum --keep-prefix --skip-patch -q --quiet --drop-in --test -b --before -u --until --clean --dirty" SPACK_COMPREPLY="-h --help -j --jobs -d --source-path -i --ignore-dependencies -n --no-checksum --deprecated --keep-prefix --skip-patch -q --quiet --drop-in --test -b --before -u --until --clean --dirty"
else else
_all_packages _all_packages
fi fi
@ -895,7 +895,7 @@ _spack_external_list() {
_spack_fetch() { _spack_fetch() {
if $list_options if $list_options
then then
SPACK_COMPREPLY="-h --help -n --no-checksum -m --missing -D --dependencies" SPACK_COMPREPLY="-h --help -n --no-checksum --deprecated -m --missing -D --dependencies"
else else
_all_packages _all_packages
fi fi
@ -1033,7 +1033,7 @@ _spack_info() {
_spack_install() { _spack_install() {
if $list_options if $list_options
then then
SPACK_COMPREPLY="-h --help --only -u --until -j --jobs --overwrite --fail-fast --keep-prefix --keep-stage --dont-restage --use-cache --no-cache --cache-only --include-build-deps --no-check-signature --require-full-hash-match --show-log-on-error --source -n --no-checksum -v --verbose --fake --only-concrete -f --file --clean --dirty --test --run-tests --log-format --log-file --help-cdash --cdash-upload-url --cdash-build --cdash-site --cdash-track --cdash-buildstamp -y --yes-to-all" SPACK_COMPREPLY="-h --help --only -u --until -j --jobs --overwrite --fail-fast --keep-prefix --keep-stage --dont-restage --use-cache --no-cache --cache-only --include-build-deps --no-check-signature --require-full-hash-match --show-log-on-error --source -n --no-checksum --deprecated -v --verbose --fake --only-concrete -f --file --clean --dirty --test --run-tests --log-format --log-file --help-cdash --cdash-upload-url --cdash-build --cdash-site --cdash-track --cdash-buildstamp -y --yes-to-all"
else else
_all_packages _all_packages
fi fi
@ -1117,7 +1117,7 @@ _spack_mark() {
_spack_mirror() { _spack_mirror() {
if $list_options if $list_options
then then
SPACK_COMPREPLY="-h --help -n --no-checksum" SPACK_COMPREPLY="-h --help -n --no-checksum --deprecated"
else else
SPACK_COMPREPLY="create add remove rm set-url list" SPACK_COMPREPLY="create add remove rm set-url list"
fi fi
@ -1283,7 +1283,7 @@ _spack_module_tcl_loads() {
_spack_patch() { _spack_patch() {
if $list_options if $list_options
then then
SPACK_COMPREPLY="-h --help -n --no-checksum" SPACK_COMPREPLY="-h --help -n --no-checksum --deprecated"
else else
_all_packages _all_packages
fi fi
@ -1502,7 +1502,7 @@ _spack_spec() {
_spack_stage() { _spack_stage() {
if $list_options if $list_options
then then
SPACK_COMPREPLY="-h --help -n --no-checksum -p --path" SPACK_COMPREPLY="-h --help -n --no-checksum --deprecated -p --path"
else else
_all_packages _all_packages
fi fi

View File

@ -46,7 +46,7 @@ class ArpackNg(Package):
version('3.6.0', sha256='3c88e74cc10bba81dc2c72c4f5fff38a800beebaa0b4c64d321c28c9203b37ea') version('3.6.0', sha256='3c88e74cc10bba81dc2c72c4f5fff38a800beebaa0b4c64d321c28c9203b37ea')
version('3.5.0', sha256='50f7a3e3aec2e08e732a487919262238f8504c3ef927246ec3495617dde81239') version('3.5.0', sha256='50f7a3e3aec2e08e732a487919262238f8504c3ef927246ec3495617dde81239')
version('3.4.0', sha256='69e9fa08bacb2475e636da05a6c222b17c67f1ebeab3793762062248dd9d842f') version('3.4.0', sha256='69e9fa08bacb2475e636da05a6c222b17c67f1ebeab3793762062248dd9d842f')
version('3.3.0', sha256='ad59811e7d79d50b8ba19fd908f92a3683d883597b2c7759fdcc38f6311fe5b3') version('3.3.0', sha256='ad59811e7d79d50b8ba19fd908f92a3683d883597b2c7759fdcc38f6311fe5b3', deprecated=True)
variant('shared', default=True, variant('shared', default=True,
description='Enables the build of shared libraries') description='Enables the build of shared libraries')

View File

@ -20,8 +20,8 @@ class Atk(Package):
version('2.36.0', sha256='fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788') version('2.36.0', sha256='fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788')
version('2.30.0', sha256='dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b') version('2.30.0', sha256='dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b')
version('2.28.1', sha256='cd3a1ea6ecc268a2497f0cd018e970860de24a6d42086919d6bf6c8e8d53f4fc') version('2.28.1', sha256='cd3a1ea6ecc268a2497f0cd018e970860de24a6d42086919d6bf6c8e8d53f4fc')
version('2.20.0', sha256='493a50f6c4a025f588d380a551ec277e070b28a82e63ef8e3c06b3ee7c1238f0') version('2.20.0', sha256='493a50f6c4a025f588d380a551ec277e070b28a82e63ef8e3c06b3ee7c1238f0', deprecated=True)
version('2.14.0', sha256='2875cc0b32bfb173c066c22a337f79793e0c99d2cc5e81c4dac0d5a523b8fbad') version('2.14.0', sha256='2875cc0b32bfb173c066c22a337f79793e0c99d2cc5e81c4dac0d5a523b8fbad', deprecated=True)
depends_on('meson@0.40.1:', type='build', when='@2.28:') depends_on('meson@0.40.1:', type='build', when='@2.28:')
depends_on('meson@0.46.0:', type='build', when='@2.29:') depends_on('meson@0.46.0:', type='build', when='@2.29:')

View File

@ -14,7 +14,7 @@ class BlastLegacy(Package):
homepage = "https://www.ncbi.nlm.nih.gov/" homepage = "https://www.ncbi.nlm.nih.gov/"
url = "ftp://ftp.ncbi.nlm.nih.gov/blast/executables/legacy.NOTSUPPORTED/2.2.26/ncbi.tar.gz" url = "ftp://ftp.ncbi.nlm.nih.gov/blast/executables/legacy.NOTSUPPORTED/2.2.26/ncbi.tar.gz"
version('2.2.26', sha256='d8fffac25efc8ca894c707c840a4797a8a949ae6fd983d2f91c9972f788efb7d') version('2.2.26', sha256='d8fffac25efc8ca894c707c840a4797a8a949ae6fd983d2f91c9972f788efb7d', deprecated=True)
depends_on('tcsh', type='build') depends_on('tcsh', type='build')

View File

@ -45,7 +45,7 @@ class Gdal(AutotoolsPackage):
version('2.3.0', sha256='6f75e49aa30de140525ccb58688667efe3a2d770576feb7fbc91023b7f552aa2') version('2.3.0', sha256='6f75e49aa30de140525ccb58688667efe3a2d770576feb7fbc91023b7f552aa2')
version('2.1.2', sha256='b597f36bd29a2b4368998ddd32b28c8cdf3c8192237a81b99af83cc17d7fa374') version('2.1.2', sha256='b597f36bd29a2b4368998ddd32b28c8cdf3c8192237a81b99af83cc17d7fa374')
version('2.0.2', sha256='90f838853cc1c07e55893483faa7e923e4b4b1659c6bc9df3538366030a7e622') version('2.0.2', sha256='90f838853cc1c07e55893483faa7e923e4b4b1659c6bc9df3538366030a7e622')
version('1.11.5', sha256='d4fdc3e987b9926545f0a514b4328cd733f2208442f8d03bde630fe1f7eff042') version('1.11.5', sha256='d4fdc3e987b9926545f0a514b4328cd733f2208442f8d03bde630fe1f7eff042', deprecated=True)
variant('libtool', default=True, description='Use libtool to build the library') variant('libtool', default=True, description='Use libtool to build the library')
variant('libz', default=True, description='Include libz support') variant('libz', default=True, description='Include libz support')

View File

@ -21,7 +21,7 @@ class GdkPixbuf(Package):
version('2.40.0', sha256='1582595099537ca8ff3b99c6804350b4c058bb8ad67411bbaae024ee7cead4e6') version('2.40.0', sha256='1582595099537ca8ff3b99c6804350b4c058bb8ad67411bbaae024ee7cead4e6')
version('2.38.2', sha256='73fa651ec0d89d73dd3070b129ce2203a66171dfc0bd2caa3570a9c93d2d0781') version('2.38.2', sha256='73fa651ec0d89d73dd3070b129ce2203a66171dfc0bd2caa3570a9c93d2d0781')
version('2.38.0', sha256='dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47') version('2.38.0', sha256='dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47')
version('2.31.2', sha256='9e467ed09894c802499fb2399cd9a89ed21c81700ce8f27f970a833efb1e47aa') version('2.31.2', sha256='9e467ed09894c802499fb2399cd9a89ed21c81700ce8f27f970a833efb1e47aa', deprecated=True)
variant('x11', default=False, description="Enable X11 support") variant('x11', default=False, description="Enable X11 support")

View File

@ -31,17 +31,17 @@ class Glib(Package):
version('2.62.6', sha256='104fa26fbefae8024ff898330c671ec23ad075c1c0bce45c325c6d5657d58b9c') version('2.62.6', sha256='104fa26fbefae8024ff898330c671ec23ad075c1c0bce45c325c6d5657d58b9c')
version('2.60.7', sha256='8b12c0af569afd3b71200556ad751bad4cf4bf7bc4b5f880638459a42ca86310') version('2.60.7', sha256='8b12c0af569afd3b71200556ad751bad4cf4bf7bc4b5f880638459a42ca86310')
version('2.58.3', sha256='8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481') version('2.58.3', sha256='8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481')
version('2.56.4', sha256='27f703d125efb07f8a743666b580df0b4095c59fc8750e8890132c91d437504c') version('2.56.4', sha256='27f703d125efb07f8a743666b580df0b4095c59fc8750e8890132c91d437504c', deprecated=True)
version('2.56.3', sha256='a9a4c5b4c81b6c75bc140bdf5e32120ef3ce841b7413214ecf5f987acec74cb2') version('2.56.3', sha256='a9a4c5b4c81b6c75bc140bdf5e32120ef3ce841b7413214ecf5f987acec74cb2', deprecated=True)
version('2.56.2', sha256='d64abd16813501c956c4e123ae79f47f1b58de573df9fdd3b0795f1e2c1aa789') version('2.56.2', sha256='d64abd16813501c956c4e123ae79f47f1b58de573df9fdd3b0795f1e2c1aa789', deprecated=True)
version('2.56.1', sha256='40ef3f44f2c651c7a31aedee44259809b6f03d3d20be44545cd7d177221c0b8d') version('2.56.1', sha256='40ef3f44f2c651c7a31aedee44259809b6f03d3d20be44545cd7d177221c0b8d', deprecated=True)
version('2.56.0', sha256='ecef6e17e97b8d9150d0e8a4b3edee1ac37331213b8a2a87a083deea408a0fc7') version('2.56.0', sha256='ecef6e17e97b8d9150d0e8a4b3edee1ac37331213b8a2a87a083deea408a0fc7', deprecated=True)
version('2.55.1', sha256='0cbb3d31c9d181bbcc97cba3d9dbe3250f75e2da25e5f7c8bf5a993fe54baf6a') version('2.55.1', sha256='0cbb3d31c9d181bbcc97cba3d9dbe3250f75e2da25e5f7c8bf5a993fe54baf6a', deprecated=True)
version('2.53.1', sha256='c8740f1d1a138086eede889b596a511fddda180646ab2f1d98aed4fdb6be7f72') version('2.53.1', sha256='c8740f1d1a138086eede889b596a511fddda180646ab2f1d98aed4fdb6be7f72', deprecated=True)
version('2.49.7', sha256='0fd13406ca31d6f654c3be620e0adaaa4f9fb788e164e265e33edf4b21e64ef6') version('2.49.7', sha256='0fd13406ca31d6f654c3be620e0adaaa4f9fb788e164e265e33edf4b21e64ef6', deprecated=True)
version('2.49.4', sha256='9e914f9d7ebb88f99f234a7633368a7c1133ea21b5cac9db2a33bc25f7a0e0d1') version('2.49.4', sha256='9e914f9d7ebb88f99f234a7633368a7c1133ea21b5cac9db2a33bc25f7a0e0d1', deprecated=True)
version('2.48.1', sha256='74411bff489cb2a3527bac743a51018841a56a4d896cc1e0d0d54f8166a14612') version('2.48.1', sha256='74411bff489cb2a3527bac743a51018841a56a4d896cc1e0d0d54f8166a14612', deprecated=True)
version('2.42.1', sha256='8f3f0865280e45b8ce840e176ef83bcfd511148918cc8d39df2ee89b67dcf89a') version('2.42.1', sha256='8f3f0865280e45b8ce840e176ef83bcfd511148918cc8d39df2ee89b67dcf89a', deprecated=True)
variant('libmount', default=False, description='Build with libmount support') variant('libmount', default=False, description='Build with libmount support')
variant( variant(

View File

@ -14,8 +14,8 @@ class Glog(Package):
version('0.4.0', sha256='f28359aeba12f30d73d9e4711ef356dc842886968112162bc73002645139c39c') version('0.4.0', sha256='f28359aeba12f30d73d9e4711ef356dc842886968112162bc73002645139c39c')
version('0.3.5', sha256='7580e408a2c0b5a89ca214739978ce6ff480b5e7d8d7698a2aa92fadc484d1e0') version('0.3.5', sha256='7580e408a2c0b5a89ca214739978ce6ff480b5e7d8d7698a2aa92fadc484d1e0')
version('0.3.4', sha256='ce99d58dce74458f7656a68935d7a0c048fa7b4626566a71b7f4e545920ceb10') version('0.3.4', sha256='ce99d58dce74458f7656a68935d7a0c048fa7b4626566a71b7f4e545920ceb10', deprecated=True)
version('0.3.3', sha256='544e178644bd9b454768c2c91716c3b8365cc5d47adfbdbaecd8cf3fa17adfcb') version('0.3.3', sha256='544e178644bd9b454768c2c91716c3b8365cc5d47adfbdbaecd8cf3fa17adfcb', deprecated=True)
depends_on('gflags') depends_on('gflags')
depends_on('cmake', when="@0.3.5:", type='build') depends_on('cmake', when="@0.3.5:", type='build')

View File

@ -25,7 +25,7 @@ class Gmt(Package):
version('6.0.0', sha256='7a733e670f01d99f8fc0da51a4337320d764c06a68746621f83ccf2e3453bcb7') version('6.0.0', sha256='7a733e670f01d99f8fc0da51a4337320d764c06a68746621f83ccf2e3453bcb7')
version('5.4.4', sha256='b593dfb101e6507c467619f3d2190a9f78b09d49fe2c27799750b8c4c0cd2da0') version('5.4.4', sha256='b593dfb101e6507c467619f3d2190a9f78b09d49fe2c27799750b8c4c0cd2da0')
version('4.5.9', sha256='9b13be96ccf4bbd38c14359c05dfa7eeeb4b5f06d6f4be9c33d6c3ea276afc86', version('4.5.9', sha256='9b13be96ccf4bbd38c14359c05dfa7eeeb4b5f06d6f4be9c33d6c3ea276afc86',
url='ftp://ftp.soest.hawaii.edu/gmt/legacy/gmt-4.5.9.tar.bz2') url='ftp://ftp.soest.hawaii.edu/gmt/legacy/gmt-4.5.9.tar.bz2', deprecated=True)
variant('ghostscript', default=False, description='Ability to convert PostScript plots to PDF and rasters') variant('ghostscript', default=False, description='Ability to convert PostScript plots to PDF and rasters')
variant('gdal', default=False, description='Ability to read and write numerous grid and image formats') variant('gdal', default=False, description='Ability to read and write numerous grid and image formats')

View File

@ -13,9 +13,9 @@ class KokkosKernelsLegacy(MakefilePackage):
homepage = "https://github.com/kokkos/kokkos-kernels" homepage = "https://github.com/kokkos/kokkos-kernels"
url = "https://github.com/kokkos/kokkos-kernels/archive/2.7.00.tar.gz" url = "https://github.com/kokkos/kokkos-kernels/archive/2.7.00.tar.gz"
version('2.7.00', sha256='adf4af44eadbdfbeb9ec69dd5fae4e2852bd1fbe4a69213efd199e49f4098254') version('2.7.00', sha256='adf4af44eadbdfbeb9ec69dd5fae4e2852bd1fbe4a69213efd199e49f4098254', deprecated=True)
version('2.6.00', sha256='14ebf806f66b9ca73949a478b8d959be7fa1165a640935760a724d7cc0a66335') version('2.6.00', sha256='14ebf806f66b9ca73949a478b8d959be7fa1165a640935760a724d7cc0a66335', deprecated=True)
version('2.5.00', sha256='2c2289da3a41dafd97726e90507debafbb9f5e49ca5b0f5c8d1e044a5796f000') version('2.5.00', sha256='2c2289da3a41dafd97726e90507debafbb9f5e49ca5b0f5c8d1e044a5796f000', deprecated=True)
# make sure kokkos kernels version matches kokkos # make sure kokkos kernels version matches kokkos
depends_on('kokkos-legacy@2.5.00', when='@2.5.00') depends_on('kokkos-legacy@2.5.00', when='@2.5.00')

View File

@ -14,19 +14,19 @@ class KokkosLegacy(Package):
url = "https://github.com/kokkos/kokkos/archive/2.03.00.tar.gz" url = "https://github.com/kokkos/kokkos/archive/2.03.00.tar.gz"
git = "https://github.com/kokkos/kokkos.git" git = "https://github.com/kokkos/kokkos.git"
version('2.9.00', sha256='e0621197791ed3a381b4f02c78fa529f3cff3abb74d52157b4add17e8aa04bc4') version('2.9.00', sha256='e0621197791ed3a381b4f02c78fa529f3cff3abb74d52157b4add17e8aa04bc4', deprecated=True)
version('2.8.00', sha256='1c72661f2d770517bff98837001b42b9c677d1df29f7493a1d7c008549aff630') version('2.8.00', sha256='1c72661f2d770517bff98837001b42b9c677d1df29f7493a1d7c008549aff630', deprecated=True)
version('2.7.24', sha256='a308a80ea1488f4c18884b828ce7ae9f5210b9a6b2f61b208d875084d8da8cb0') version('2.7.24', sha256='a308a80ea1488f4c18884b828ce7ae9f5210b9a6b2f61b208d875084d8da8cb0', deprecated=True)
version('2.7.00', sha256='01595996e612ef7410aa42fa265a23101cfe1b6993fa9810ca844db5c89ad765') version('2.7.00', sha256='01595996e612ef7410aa42fa265a23101cfe1b6993fa9810ca844db5c89ad765', deprecated=True)
version('2.5.00', sha256='ea232594bf746abb99ae2aafaeef5d07adc089968010a62a88aaa892106d9476') version('2.5.00', sha256='ea232594bf746abb99ae2aafaeef5d07adc089968010a62a88aaa892106d9476', deprecated=True)
version('2.04.11', sha256='f2680aee0169f6cbbec38410f9c80bf8a160435f6a07769c1e9112da8b9349a0') version('2.04.11', sha256='f2680aee0169f6cbbec38410f9c80bf8a160435f6a07769c1e9112da8b9349a0', deprecated=True)
version('2.04.04', sha256='5bac8ddc2fac9bc6e01dd40f92ca6cbbb346a25deca5be2fec71acf712d0d0c7') version('2.04.04', sha256='5bac8ddc2fac9bc6e01dd40f92ca6cbbb346a25deca5be2fec71acf712d0d0c7', deprecated=True)
version('2.04.00', sha256='b04658d368986df207662a7a37c1ad974c321447bc2c2b5b696d7e9ee4481f34') version('2.04.00', sha256='b04658d368986df207662a7a37c1ad974c321447bc2c2b5b696d7e9ee4481f34', deprecated=True)
version('2.03.13', sha256='002748bdd0319d5ab82606cf92dc210fc1c05d0607a2e1d5538f60512b029056') version('2.03.13', sha256='002748bdd0319d5ab82606cf92dc210fc1c05d0607a2e1d5538f60512b029056', deprecated=True)
version('2.03.05', sha256='b18ddaa1496130ff3f675ea9ddbc6df9cdf378d53edf96df89e70ff189e10e1d') version('2.03.05', sha256='b18ddaa1496130ff3f675ea9ddbc6df9cdf378d53edf96df89e70ff189e10e1d', deprecated=True)
version('2.03.00', sha256='722bea558d8986efee765ac912febb3c1ce289a8e9bdfef77cd0145df0ea8a3d') version('2.03.00', sha256='722bea558d8986efee765ac912febb3c1ce289a8e9bdfef77cd0145df0ea8a3d', deprecated=True)
version('2.02.15', sha256='6b4a7f189f0341f378f950f3c798f520d2e473b13435b137ff3b666e799a076d') version('2.02.15', sha256='6b4a7f189f0341f378f950f3c798f520d2e473b13435b137ff3b666e799a076d', deprecated=True)
version('2.02.07', sha256='7b4ac81021d6868f4eb8e2a1cb92ba76bad9c3f197403b8b1eac0f11c983247c') version('2.02.07', sha256='7b4ac81021d6868f4eb8e2a1cb92ba76bad9c3f197403b8b1eac0f11c983247c', deprecated=True)
variant('debug', default=False, description="Build debug version of Kokkos") variant('debug', default=False, description="Build debug version of Kokkos")

View File

@ -23,9 +23,9 @@ class LibjpegTurbo(Package):
version('2.0.3', sha256='a69598bf079463b34d45ca7268462a18b6507fdaa62bb1dfd212f02041499b5d') version('2.0.3', sha256='a69598bf079463b34d45ca7268462a18b6507fdaa62bb1dfd212f02041499b5d')
version('2.0.2', sha256='b45255bd476c19c7c6b198c07c0487e8b8536373b82f2b38346b32b4fa7bb942') version('2.0.2', sha256='b45255bd476c19c7c6b198c07c0487e8b8536373b82f2b38346b32b4fa7bb942')
version('1.5.90', sha256='cb948ade92561d8626fd7866a4a7ba3b952f9759ea3dd642927bc687470f60b7') version('1.5.90', sha256='cb948ade92561d8626fd7866a4a7ba3b952f9759ea3dd642927bc687470f60b7')
version('1.5.3', sha256='1a17020f859cb12711175a67eab5c71fc1904e04b587046218e36106e07eabde') version('1.5.3', sha256='1a17020f859cb12711175a67eab5c71fc1904e04b587046218e36106e07eabde', deprecated=True)
version('1.5.0', sha256='232280e1c9c3e6a1de95fe99be2f7f9c0362ee08f3e3e48d50ee83b9a2ed955b') version('1.5.0', sha256='232280e1c9c3e6a1de95fe99be2f7f9c0362ee08f3e3e48d50ee83b9a2ed955b', deprecated=True)
version('1.3.1', sha256='5008aeeac303ea9159a0ec3ccff295434f4e63b05aed4a684c9964d497304524') version('1.3.1', sha256='5008aeeac303ea9159a0ec3ccff295434f4e63b05aed4a684c9964d497304524', deprecated=True)
provides('jpeg') provides('jpeg')

View File

@ -21,7 +21,7 @@ class Mesa18(AutotoolsPackage):
# whatever version of LLVM you're using. # whatever version of LLVM you're using.
git = "https://gitlab.freedesktop.org/mesa/mesa.git" git = "https://gitlab.freedesktop.org/mesa/mesa.git"
version('18.3.6', tag='mesa-18.3.6', preferred=True) version('18.3.6', tag='mesa-18.3.6', preferred=True, deprecated=True)
depends_on('autoconf', type='build') depends_on('autoconf', type='build')
depends_on('automake', type='build') depends_on('automake', type='build')

View File

@ -39,7 +39,7 @@ class Mxnet(CMakePackage, CudaPackage):
version('1.master', branch='v1.x') version('1.master', branch='v1.x')
version('1.7.0', sha256='1d20c9be7d16ccb4e830e9ee3406796efaf96b0d93414d676337b64bc59ced18') version('1.7.0', sha256='1d20c9be7d16ccb4e830e9ee3406796efaf96b0d93414d676337b64bc59ced18')
version('1.6.0', sha256='01eb06069c90f33469c7354946261b0a94824bbaf819fd5d5a7318e8ee596def') version('1.6.0', sha256='01eb06069c90f33469c7354946261b0a94824bbaf819fd5d5a7318e8ee596def')
version('1.3.0', sha256='c00d6fbb2947144ce36c835308e603f002c1eb90a9f4c5a62f4d398154eed4d2') version('1.3.0', sha256='c00d6fbb2947144ce36c835308e603f002c1eb90a9f4c5a62f4d398154eed4d2', deprecated=True)
variant('build_type', default='Distribution', variant('build_type', default='Distribution',
description='CMake build type', description='CMake build type',

View File

@ -40,39 +40,39 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package
version('1.1.1', sha256='2836875a0f89c03d0fdf483941512613a50cfb421d6fd94b9f41d7279d586a3d') version('1.1.1', sha256='2836875a0f89c03d0fdf483941512613a50cfb421d6fd94b9f41d7279d586a3d')
# The 1.1.0 series is out of support and should not be used. # The 1.1.0 series is out of support and should not be used.
version('1.1.0l', sha256='74a2f756c64fd7386a29184dc0344f4831192d61dc2481a93a4c5dd727f41148') version('1.1.0l', sha256='74a2f756c64fd7386a29184dc0344f4831192d61dc2481a93a4c5dd727f41148', deprecated=True)
version('1.1.0k', sha256='efa4965f4f773574d6cbda1cf874dbbe455ab1c0d4f906115f867d30444470b1') version('1.1.0k', sha256='efa4965f4f773574d6cbda1cf874dbbe455ab1c0d4f906115f867d30444470b1', deprecated=True)
version('1.1.0j', sha256='31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246') version('1.1.0j', sha256='31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246', deprecated=True)
version('1.1.0i', sha256='ebbfc844a8c8cc0ea5dc10b86c9ce97f401837f3fa08c17b2cdadc118253cf99') version('1.1.0i', sha256='ebbfc844a8c8cc0ea5dc10b86c9ce97f401837f3fa08c17b2cdadc118253cf99', deprecated=True)
version('1.1.0g', sha256='de4d501267da39310905cb6dc8c6121f7a2cad45a7707f76df828fe1b85073af') version('1.1.0g', sha256='de4d501267da39310905cb6dc8c6121f7a2cad45a7707f76df828fe1b85073af', deprecated=True)
version('1.1.0e', sha256='57be8618979d80c910728cfc99369bf97b2a1abd8f366ab6ebdee8975ad3874c') version('1.1.0e', sha256='57be8618979d80c910728cfc99369bf97b2a1abd8f366ab6ebdee8975ad3874c', deprecated=True)
version('1.1.0d', sha256='7d5ebb9e89756545c156ff9c13cf2aa6214193b010a468a3bc789c3c28fe60df') version('1.1.0d', sha256='7d5ebb9e89756545c156ff9c13cf2aa6214193b010a468a3bc789c3c28fe60df', deprecated=True)
version('1.1.0c', sha256='fc436441a2e05752d31b4e46115eb89709a28aef96d4fe786abe92409b2fd6f5') version('1.1.0c', sha256='fc436441a2e05752d31b4e46115eb89709a28aef96d4fe786abe92409b2fd6f5', deprecated=True)
# The 1.0.2 series is out of support and should not be used. # The 1.0.2 series is out of support and should not be used.
version('1.0.2u', sha256='ecd0c6ffb493dd06707d38b14bb4d8c2288bb7033735606569d8f90f89669d16') version('1.0.2u', sha256='ecd0c6ffb493dd06707d38b14bb4d8c2288bb7033735606569d8f90f89669d16', deprecated=True)
version('1.0.2t', sha256='14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc') version('1.0.2t', sha256='14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc', deprecated=True)
version('1.0.2s', sha256='cabd5c9492825ce5bd23f3c3aeed6a97f8142f606d893df216411f07d1abab96') version('1.0.2s', sha256='cabd5c9492825ce5bd23f3c3aeed6a97f8142f606d893df216411f07d1abab96', deprecated=True)
version('1.0.2r', sha256='ae51d08bba8a83958e894946f15303ff894d75c2b8bbd44a852b64e3fe11d0d6') version('1.0.2r', sha256='ae51d08bba8a83958e894946f15303ff894d75c2b8bbd44a852b64e3fe11d0d6', deprecated=True)
version('1.0.2p', sha256='50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00') version('1.0.2p', sha256='50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00', deprecated=True)
version('1.0.2o', sha256='ec3f5c9714ba0fd45cb4e087301eb1336c317e0d20b575a125050470e8089e4d') version('1.0.2o', sha256='ec3f5c9714ba0fd45cb4e087301eb1336c317e0d20b575a125050470e8089e4d', deprecated=True)
version('1.0.2n', sha256='370babb75f278c39e0c50e8c4e7493bc0f18db6867478341a832a982fd15a8fe') version('1.0.2n', sha256='370babb75f278c39e0c50e8c4e7493bc0f18db6867478341a832a982fd15a8fe', deprecated=True)
version('1.0.2m', sha256='8c6ff15ec6b319b50788f42c7abc2890c08ba5a1cdcd3810eb9092deada37b0f') version('1.0.2m', sha256='8c6ff15ec6b319b50788f42c7abc2890c08ba5a1cdcd3810eb9092deada37b0f', deprecated=True)
version('1.0.2k', sha256='6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0') version('1.0.2k', sha256='6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0', deprecated=True)
version('1.0.2j', sha256='e7aff292be21c259c6af26469c7a9b3ba26e9abaaffd325e3dccc9785256c431') version('1.0.2j', sha256='e7aff292be21c259c6af26469c7a9b3ba26e9abaaffd325e3dccc9785256c431', deprecated=True)
version('1.0.2i', sha256='9287487d11c9545b6efb287cdb70535d4e9b284dd10d51441d9b9963d000de6f') version('1.0.2i', sha256='9287487d11c9545b6efb287cdb70535d4e9b284dd10d51441d9b9963d000de6f', deprecated=True)
version('1.0.2h', sha256='1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919') version('1.0.2h', sha256='1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919', deprecated=True)
version('1.0.2g', sha256='b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33') version('1.0.2g', sha256='b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33', deprecated=True)
version('1.0.2f', sha256='932b4ee4def2b434f85435d9e3e19ca8ba99ce9a065a61524b429a9d5e9b2e9c') version('1.0.2f', sha256='932b4ee4def2b434f85435d9e3e19ca8ba99ce9a065a61524b429a9d5e9b2e9c', deprecated=True)
version('1.0.2e', sha256='e23ccafdb75cfcde782da0151731aa2185195ac745eea3846133f2e05c0e0bff') version('1.0.2e', sha256='e23ccafdb75cfcde782da0151731aa2185195ac745eea3846133f2e05c0e0bff', deprecated=True)
version('1.0.2d', sha256='671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8') version('1.0.2d', sha256='671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8', deprecated=True)
# The 1.0.1 version is out of support and should not be used. # The 1.0.1 version is out of support and should not be used.
version('1.0.1u', sha256='4312b4ca1215b6f2c97007503d80db80d5157f76f8f7d3febbe6b4c56ff26739') version('1.0.1u', sha256='4312b4ca1215b6f2c97007503d80db80d5157f76f8f7d3febbe6b4c56ff26739', deprecated=True)
version('1.0.1t', sha256='4a6ee491a2fdb22e519c76fdc2a628bb3cec12762cd456861d207996c8a07088') version('1.0.1t', sha256='4a6ee491a2fdb22e519c76fdc2a628bb3cec12762cd456861d207996c8a07088', deprecated=True)
version('1.0.1r', sha256='784bd8d355ed01ce98b812f873f8b2313da61df7c7b5677fcf2e57b0863a3346') version('1.0.1r', sha256='784bd8d355ed01ce98b812f873f8b2313da61df7c7b5677fcf2e57b0863a3346', deprecated=True)
version('1.0.1h', sha256='9d1c8a9836aa63e2c6adb684186cbd4371c9e9dcc01d6e3bb447abf2d4d3d093') version('1.0.1h', sha256='9d1c8a9836aa63e2c6adb684186cbd4371c9e9dcc01d6e3bb447abf2d4d3d093', deprecated=True)
version('1.0.1e', sha256='f74f15e8c8ff11aa3d5bb5f276d202ec18d7246e95f961db76054199c69c1ae3') version('1.0.1e', sha256='f74f15e8c8ff11aa3d5bb5f276d202ec18d7246e95f961db76054199c69c1ae3', deprecated=True)
variant('systemcerts', default=True, description='Use system certificates') variant('systemcerts', default=True, description='Use system certificates')

View File

@ -40,7 +40,7 @@ class Protobuf(Package):
version('3.2.0', sha256='a839d3f1519ff9d68ab908de5a0f269650ef1fc501c10f6eefd4cae51d29b86f') version('3.2.0', sha256='a839d3f1519ff9d68ab908de5a0f269650ef1fc501c10f6eefd4cae51d29b86f')
version('3.1.0', sha256='fb2a314f4be897491bb2446697be693d489af645cb0e165a85e7e64e07eb134d') version('3.1.0', sha256='fb2a314f4be897491bb2446697be693d489af645cb0e165a85e7e64e07eb134d')
version('3.0.2', sha256='a0a265bcc9d4e98c87416e59c33afc37cede9fb277292523739417e449b18c1e') version('3.0.2', sha256='a0a265bcc9d4e98c87416e59c33afc37cede9fb277292523739417e449b18c1e')
version('2.5.0', sha256='c2665a7aa2ac1a206e61b28e014486e3de59009ea2be2bde9182e0847f38b62f') version('2.5.0', sha256='c2665a7aa2ac1a206e61b28e014486e3de59009ea2be2bde9182e0847f38b62f', deprecated=True)
variant('shared', default=True, variant('shared', default=True,
description='Enables the build of shared libraries') description='Enables the build of shared libraries')

View File

@ -44,10 +44,10 @@ class PyMatplotlib(PythonPackage):
version('2.2.2', sha256='4dc7ef528aad21f22be85e95725234c5178c0f938e2228ca76640e5e84d8cde8') version('2.2.2', sha256='4dc7ef528aad21f22be85e95725234c5178c0f938e2228ca76640e5e84d8cde8')
version('2.0.2', sha256='0ffbc44faa34a8b1704bc108c451ecf87988f900ef7ce757b8e2e84383121ff1') version('2.0.2', sha256='0ffbc44faa34a8b1704bc108c451ecf87988f900ef7ce757b8e2e84383121ff1')
version('2.0.0', sha256='36cf0985829c1ab2b8b1dae5e2272e53ae681bf33ab8bedceed4f0565af5f813') version('2.0.0', sha256='36cf0985829c1ab2b8b1dae5e2272e53ae681bf33ab8bedceed4f0565af5f813')
version('1.5.3', sha256='a0a5dc39f785014f2088fed2c6d2d129f0444f71afbb9c44f7bdf1b14d86ebbc') version('1.5.3', sha256='a0a5dc39f785014f2088fed2c6d2d129f0444f71afbb9c44f7bdf1b14d86ebbc', deprecated=True)
version('1.5.1', sha256='3ab8d968eac602145642d0db63dd8d67c85e9a5444ce0e2ecb2a8fedc7224d40') version('1.5.1', sha256='3ab8d968eac602145642d0db63dd8d67c85e9a5444ce0e2ecb2a8fedc7224d40', deprecated=True)
version('1.4.3', sha256='61f201c6a82e89e4d9e324266203fad44f95fd8f36d8eec0d8690273e1182f75') version('1.4.3', sha256='61f201c6a82e89e4d9e324266203fad44f95fd8f36d8eec0d8690273e1182f75', deprecated=True)
version('1.4.2', sha256='17a3c7154f152d8dfed1f37517c0a8c5db6ade4f6334f684989c36dab84ddb54') version('1.4.2', sha256='17a3c7154f152d8dfed1f37517c0a8c5db6ade4f6334f684989c36dab84ddb54', deprecated=True)
# https://matplotlib.org/tutorials/introductory/usage.html#backends # https://matplotlib.org/tutorials/introductory/usage.html#backends
# From `lib/matplotlib/rcsetup.py`: # From `lib/matplotlib/rcsetup.py`:

View File

@ -19,10 +19,10 @@ class SingularityLegacy(AutotoolsPackage):
# Versions before 2.5.2 suffer from a serious security problem. # Versions before 2.5.2 suffer from a serious security problem.
# https://nvd.nist.gov/vuln/detail/CVE-2018-12021 # https://nvd.nist.gov/vuln/detail/CVE-2018-12021
version('2.6-release', branch='vault/2.6-release') version('2.6-release', branch='vault/2.6-release', deprecated=True)
version('2.6.1', sha256='f38d46a225e8368eb4693137806d2dc96e925a50bdf7f6983662848831041df2') version('2.6.1', sha256='f38d46a225e8368eb4693137806d2dc96e925a50bdf7f6983662848831041df2', deprecated=True)
version('2.6.0', sha256='7c425211a099f6fa6f74037e6e17be58fb5923b0bd11aea745e48ef83c488b49') version('2.6.0', sha256='7c425211a099f6fa6f74037e6e17be58fb5923b0bd11aea745e48ef83c488b49', deprecated=True)
version('2.5.2', sha256='eca09dbf4de5e971404a31f24d6c90081aef77075f51be8b3eb15b8715d6805e') version('2.5.2', sha256='eca09dbf4de5e971404a31f24d6c90081aef77075f51be8b3eb15b8715d6805e', deprecated=True)
depends_on('libarchive', when='@2.5.2:') depends_on('libarchive', when='@2.5.2:')
# these are only needed if we're grabbing the unreleased tree # these are only needed if we're grabbing the unreleased tree