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:
		| @@ -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 | ||||||
|   | |||||||
| @@ -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 | ||||||
| ^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^ | ||||||
|   | |||||||
| @@ -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: | ||||||
|   | |||||||
| @@ -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 | ||||||
|   | |||||||
| @@ -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: | ||||||
|   | |||||||
| @@ -189,6 +189,7 @@ 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 not pkg.versions[v].get('deprecated', False): | ||||||
|                 if pkg.has_code: |                 if pkg.has_code: | ||||||
|                     url = fs.for_package_version(pkg, v) |                     url = fs.for_package_version(pkg, v) | ||||||
|                 line = version('    {0}'.format(pad(v))) + color.cescape(url) |                 line = version('    {0}'.format(pad(v))) + color.cescape(url) | ||||||
|   | |||||||
| @@ -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) | ||||||
|   | |||||||
| @@ -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) | ||||||
|   | |||||||
| @@ -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) | ||||||
|   | |||||||
| @@ -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) | ||||||
|   | |||||||
| @@ -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: | ||||||
|   | |||||||
| @@ -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 | ||||||
| 
 | 
 | ||||||
|   | |||||||
| @@ -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'}, | ||||||
|   | |||||||
| @@ -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 | ||||||
|   | |||||||
| @@ -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') | ||||||
|   | |||||||
| @@ -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:') | ||||||
|   | |||||||
| @@ -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') | ||||||
| 
 | 
 | ||||||
|   | |||||||
| @@ -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') | ||||||
|   | |||||||
| @@ -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") | ||||||
| 
 | 
 | ||||||
|   | |||||||
| @@ -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( | ||||||
|   | |||||||
| @@ -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') | ||||||
|   | |||||||
| @@ -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') | ||||||
|   | |||||||
| @@ -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') | ||||||
|   | |||||||
| @@ -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") | ||||||
| 
 | 
 | ||||||
|   | |||||||
| @@ -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') | ||||||
| 
 | 
 | ||||||
|   | |||||||
| @@ -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') | ||||||
|   | |||||||
| @@ -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', | ||||||
|   | |||||||
| @@ -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') | ||||||
| 
 | 
 | ||||||
|   | |||||||
| @@ -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') | ||||||
|   | |||||||
| @@ -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`: | ||||||
|   | |||||||
| @@ -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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Adam J. Stewart
					Adam J. Stewart