make version(...) kwargs explicit (#36998)

- [x] Replace `version(ver, checksum=None, **kwargs)` signature with
      `version(ver, checksum=None, *, sha256=..., ...)` explicitly listing all arguments.
- [x] Fix various issues in packages:
  - `tags` instead of `tag`
  - `default` instead of `preferred`
  - `sha26` instead of `sha256`
  - etc

Also, use `sha256=...` consistently.

Note: setting `sha256` currently doesn't validate the checksum length, so you could do
`sha256="a"*32` and it would get checked as `md5`... but that's something for another PR.
This commit is contained in:
Harmen Stoppels 2023-04-19 23:17:47 +02:00 committed by GitHub
parent c7508dc216
commit d51af675ef
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
308 changed files with 661 additions and 580 deletions

View file

@ -604,9 +604,9 @@ add a line like this in the package class:
url = "http://example.com/foo-1.0.tar.gz" url = "http://example.com/foo-1.0.tar.gz"
version("8.2.1", "4136d7b4c04df68b686570afa26988ac") version("8.2.1", md5="4136d7b4c04df68b686570afa26988ac")
version("8.2.0", "1c9f62f0778697a09d36121ead88e08e") version("8.2.0", md5="1c9f62f0778697a09d36121ead88e08e")
version("8.1.2", "d47dd09ed7ae6e7fd6f9a816d7f5fdf6") version("8.1.2", md5="d47dd09ed7ae6e7fd6f9a816d7f5fdf6")
Versions should be listed in descending order, from newest to oldest. Versions should be listed in descending order, from newest to oldest.
@ -695,7 +695,7 @@ of its versions, you can add an explicit URL for a particular version:
.. code-block:: python .. code-block:: python
version("8.2.1", "4136d7b4c04df68b686570afa26988ac", version("8.2.1", md5="4136d7b4c04df68b686570afa26988ac",
url="http://example.com/foo-8.2.1-special-version.tar.gz") url="http://example.com/foo-8.2.1-special-version.tar.gz")
@ -757,7 +757,7 @@ executables and other custom archive types), you can add ``expand=False`` to a
.. code-block:: python .. code-block:: python
version("8.2.1", "4136d7b4c04df68b686570afa26988ac", version("8.2.1", md5="4136d7b4c04df68b686570afa26988ac",
url="http://example.com/foo-8.2.1-special-version.sh", expand=False) url="http://example.com/foo-8.2.1-special-version.sh", expand=False)
When ``expand`` is set to ``False``, Spack sets the current working When ``expand`` is set to ``False``, Spack sets the current working
@ -955,10 +955,10 @@ file:
.. code-block:: console .. code-block:: console
==> Checksummed new versions of libelf: ==> Checksummed new versions of libelf:
version("0.8.13", "4136d7b4c04df68b686570afa26988ac") version("0.8.13", md5="4136d7b4c04df68b686570afa26988ac")
version("0.8.12", "e21f8273d9f5f6d43a59878dc274fec7") version("0.8.12", md5="e21f8273d9f5f6d43a59878dc274fec7")
version("0.8.11", "e931910b6d100f6caa32239849947fbf") version("0.8.11", md5="e931910b6d100f6caa32239849947fbf")
version("0.8.10", "9db4d36c283d9790d8fa7df1f4d7b4d9") version("0.8.10", md5="9db4d36c283d9790d8fa7df1f4d7b4d9")
By default, Spack will search for new tarball downloads by scraping By default, Spack will search for new tarball downloads by scraping
the parent directory of the tarball you gave it. So, if your tarball the parent directory of the tarball you gave it. So, if your tarball
@ -1112,8 +1112,8 @@ class-level tarball URL and VCS. For example:
version("develop", branch="develop") version("develop", branch="develop")
version("master", branch="master") version("master", branch="master")
version("12.12.1", "ecd4606fa332212433c98bf950a69cc7") version("12.12.1", md5="ecd4606fa332212433c98bf950a69cc7")
version("12.10.1", "667333dbd7c0f031d47d7c5511fd0810") version("12.10.1", md5="667333dbd7c0f031d47d7c5511fd0810")
version("12.8.1", "9f37f683ee2b427b5540db8a20ed6b15") version("12.8.1", "9f37f683ee2b427b5540db8a20ed6b15")
If a package contains both a ``url`` and ``git`` class-level attribute, If a package contains both a ``url`` and ``git`` class-level attribute,
@ -1276,7 +1276,7 @@ checksum.
.. code-block:: python .. code-block:: python
version("1.9.5.1.1", "d035e4bc704d136db79b43ab371b27d2", version("1.9.5.1.1", md5="d035e4bc704d136db79b43ab371b27d2",
url="https://www.github.com/jswhit/pyproj/tarball/0be612cc9f972e38b50a90c946a9b353e2ab140f") url="https://www.github.com/jswhit/pyproj/tarball/0be612cc9f972e38b50a90c946a9b353e2ab140f")
.. _hg-fetch: .. _hg-fetch:
@ -2212,7 +2212,7 @@ looks like this:
homepage = "http://www.openssl.org" homepage = "http://www.openssl.org"
url = "http://www.openssl.org/source/openssl-1.0.1h.tar.gz" url = "http://www.openssl.org/source/openssl-1.0.1h.tar.gz"
version("1.0.1h", "8d6d684a9430d5cc98a62a5d8fbda8cf") version("1.0.1h", md5="8d6d684a9430d5cc98a62a5d8fbda8cf")
depends_on("zlib") depends_on("zlib")
parallel = False parallel = False
@ -2309,7 +2309,7 @@ Spack makes this relatively easy. Let's take a look at the
url = "http://www.prevanders.net/libdwarf-20130729.tar.gz" url = "http://www.prevanders.net/libdwarf-20130729.tar.gz"
list_url = homepage list_url = homepage
version("20130729", "4cc5e48693f7b93b7aa0261e63c0e21d") version("20130729", md5="4cc5e48693f7b93b7aa0261e63c0e21d")
... ...
depends_on("libelf") depends_on("libelf")
@ -2808,7 +2808,7 @@ supplying a ``depends_on`` call in the package definition. For example:
homepage = "https://github.com/hpc/mpileaks" homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz" url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version("1.0", "8838c574b39202a57d7c2d68692718aa") version("1.0", md5="8838c574b39202a57d7c2d68692718aa")
depends_on("mpi") depends_on("mpi")
depends_on("adept-utils") depends_on("adept-utils")

View file

@ -807,7 +807,7 @@ def get_versions(args, name):
# Default version with hash # Default version with hash
hashed_versions = """\ hashed_versions = """\
# FIXME: Add proper versions and checksums here. # FIXME: Add proper versions and checksums here.
# version("1.2.3", "0123456789abcdef0123456789abcdef")""" # version("1.2.3", md5="0123456789abcdef0123456789abcdef")"""
# Default version without hash # Default version without hash
unhashed_versions = """\ unhashed_versions = """\

View file

@ -32,7 +32,7 @@ class OpenMpi(Package):
import functools import functools
import os.path import os.path
import re import re
from typing import List, Set from typing import List, Optional, Set
import llnl.util.lang import llnl.util.lang
import llnl.util.tty.color import llnl.util.tty.color
@ -317,34 +317,100 @@ def remove_directives(arg):
@directive("versions") @directive("versions")
def version(ver, checksum=None, **kwargs): def version(
ver: str,
# this positional argument is deprecated, use sha256=... instead
checksum: Optional[str] = None,
*,
# generic version options
preferred: Optional[bool] = None,
deprecated: Optional[bool] = None,
no_cache: Optional[bool] = None,
# url fetch options
url: Optional[str] = None,
extension: Optional[str] = None,
expand: Optional[bool] = None,
fetch_options: Optional[dict] = None,
# url archive verification options
md5: Optional[str] = None,
sha1: Optional[str] = None,
sha224: Optional[str] = None,
sha256: Optional[str] = None,
sha384: Optional[str] = None,
sha512: Optional[str] = None,
# git fetch options
git: Optional[str] = None,
commit: Optional[str] = None,
tag: Optional[str] = None,
branch: Optional[str] = None,
get_full_repo: Optional[bool] = None,
submodules: Optional[bool] = None,
submodules_delete: Optional[bool] = None,
# other version control
svn: Optional[str] = None,
hg: Optional[str] = None,
cvs: Optional[str] = None,
revision: Optional[str] = None,
date: Optional[str] = None,
):
"""Adds a version and, if appropriate, metadata for fetching its code. """Adds a version and, if appropriate, metadata for fetching its code.
The ``version`` directives are aggregated into a ``versions`` dictionary The ``version`` directives are aggregated into a ``versions`` dictionary
attribute with ``Version`` keys and metadata values, where the metadata attribute with ``Version`` keys and metadata values, where the metadata
is stored as a dictionary of ``kwargs``. is stored as a dictionary of ``kwargs``.
The ``dict`` of arguments is turned into a valid fetch strategy for The (keyword) arguments are 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 (
if hasattr(pkg, "has_code") and not pkg.has_code: any((sha256, sha384, sha512, md5, sha1, sha224, checksum))
and hasattr(pkg, "has_code")
and not pkg.has_code
):
raise VersionChecksumError( raise VersionChecksumError(
"{0}: Checksums not allowed in no-code packages" "{0}: Checksums not allowed in no-code packages "
"(see '{1}' version).".format(pkg.name, ver) "(see '{1}' version).".format(pkg.name, ver)
) )
kwargs["checksum"] = checksum kwargs = {
key: value
for key, value in (
("sha256", sha256),
("sha384", sha384),
("sha512", sha512),
("preferred", preferred),
("deprecated", deprecated),
("expand", expand),
("url", url),
("extension", extension),
("no_cache", no_cache),
("fetch_options", fetch_options),
("git", git),
("svn", svn),
("hg", hg),
("cvs", cvs),
("get_full_repo", get_full_repo),
("branch", branch),
("submodules", submodules),
("submodules_delete", submodules_delete),
("commit", commit),
("tag", tag),
("revision", revision),
("date", date),
("md5", md5),
("sha1", sha1),
("sha224", sha224),
("checksum", checksum),
)
if value is not None
}
# Store kwargs for the package to later with a fetch_strategy. # Store kwargs for the package to later with a fetch_strategy.
version = Version(ver) version = Version(ver)
if isinstance(version, GitVersion): if isinstance(version, GitVersion):
if not hasattr(pkg, "git") and "git" not in kwargs: if git is None and not hasattr(pkg, "git"):
msg = "Spack version directives cannot include git hashes fetched from" msg = "Spack version directives cannot include git hashes fetched from"
msg += " URLs. Error in package '%s'\n" % pkg.name msg += " URLs. Error in package '%s'\n" % pkg.name
msg += " version('%s', " % version.string msg += " version('%s', " % version.string

View file

@ -25,7 +25,7 @@ class {name}(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/test-1.0.tar.gz" url = "http://www.example.com/test-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef') version("1.0", md5="0123456789abcdef0123456789abcdef")
def install(self, spec, prefix): def install(self, spec, prefix):
pass pass

View file

@ -14,8 +14,8 @@ class Callbacks(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("2.0", "abcdef0123456789abcdef0123456789") version("2.0", md5="abcdef0123456789abcdef0123456789")
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
class GenericBuilder(spack.build_systems.generic.GenericBuilder): class GenericBuilder(spack.build_systems.generic.GenericBuilder):

View file

@ -14,8 +14,8 @@ class CustomPhases(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("2.0", "abcdef0123456789abcdef0123456789") version("2.0", md5="abcdef0123456789abcdef0123456789")
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
class GenericBuilder(spack.build_systems.generic.GenericBuilder): class GenericBuilder(spack.build_systems.generic.GenericBuilder):

View file

@ -11,5 +11,5 @@ class Gnuconfig(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("2.0", "abcdef0123456789abcdef0123456789") version("2.0", md5="abcdef0123456789abcdef0123456789")
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")

View file

@ -15,8 +15,8 @@ class OldStyleAutotools(AutotoolsPackage):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("2.0", "abcdef0123456789abcdef0123456789") version("2.0", md5="abcdef0123456789abcdef0123456789")
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
def configure(self, spec, prefix): def configure(self, spec, prefix):
pass pass

View file

@ -15,8 +15,8 @@ class OldStyleCustomPhases(AutotoolsPackage):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("2.0", "abcdef0123456789abcdef0123456789") version("2.0", md5="abcdef0123456789abcdef0123456789")
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
phases = ["configure"] phases = ["configure"]

View file

@ -14,8 +14,8 @@ class OldStyleDerived(spack.pkg.builder.test.old_style_autotools.OldStyleAutotoo
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("2.0", "abcdef0123456789abcdef0123456789") version("2.0", md5="abcdef0123456789abcdef0123456789")
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
def configure_args(self): def configure_args(self):
return ["--with-bar"] + super(OldStyleDerived, self).configure_args() return ["--with-bar"] + super(OldStyleDerived, self).configure_args()

View file

@ -12,8 +12,8 @@ class A(AutotoolsPackage):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
version("2.0", "abcdef0123456789abcdef0123456789") version("2.0", md5="abcdef0123456789abcdef0123456789")
variant( variant(
"foo", description="", values=any_combination_of("bar", "baz", "fee").with_default("bar") "foo", description="", values=any_combination_of("bar", "baz", "fee").with_default("bar")

View file

@ -12,8 +12,8 @@ class ArchiveFiles(AutotoolsPackage):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
version("2.0", "abcdef0123456789abcdef0123456789") version("2.0", md5="abcdef0123456789abcdef0123456789")
@property @property
def archive_files(self): def archive_files(self):

View file

@ -12,7 +12,7 @@ class B(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/b-1.0.tar.gz" url = "http://www.example.com/b-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
version("0.9", "abcd456789abcdef0123456789abcdef") version("0.9", md5="abcd456789abcdef0123456789abcdef")
depends_on("test-dependency", type="test") depends_on("test-dependency", type="test")

View file

@ -12,7 +12,7 @@ class Boost(Package):
homepage = "http://www.boost.org" homepage = "http://www.boost.org"
url = "http://downloads.sourceforge.net/project/boost/boost/1.63.0/boost_1_63_0.tar.bz2" url = "http://downloads.sourceforge.net/project/boost/boost/1.63.0/boost_1_63_0.tar.bz2"
version("1.63.0", "1c837ecd990bb022d07e7aab32b09847") version("1.63.0", md5="1c837ecd990bb022d07e7aab32b09847")
default_install_libs = set( default_install_libs = set(
[ [

View file

@ -18,7 +18,7 @@ class BothLinkAndBuildDepA(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/1.0.tar.gz" url = "http://www.example.com/1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("both-link-and-build-dep-b", type="build") depends_on("both-link-and-build-dep-b", type="build")
depends_on("both-link-and-build-dep-c", type="link") depends_on("both-link-and-build-dep-c", type="link")

View file

@ -18,6 +18,6 @@ class BothLinkAndBuildDepB(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/1.0.tar.gz" url = "http://www.example.com/1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("both-link-and-build-dep-c", type="link") depends_on("both-link-and-build-dep-c", type="link")

View file

@ -18,4 +18,4 @@ class BothLinkAndBuildDepC(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/1.0.tar.gz" url = "http://www.example.com/1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")

View file

@ -11,10 +11,10 @@ class Bowtie(Package):
homepage = "http://www.example.org" homepage = "http://www.example.org"
url = "http://bowtie-1.2.2.tar.bz2" url = "http://bowtie-1.2.2.tar.bz2"
version("1.4.0", "1c837ecd990bb022d07e7aab32b09847") version("1.4.0", md5="1c837ecd990bb022d07e7aab32b09847")
version("1.3.0", "1c837ecd990bb022d07e7aab32b09847") version("1.3.0", md5="1c837ecd990bb022d07e7aab32b09847")
version("1.2.2", "1c837ecd990bb022d07e7aab32b09847") version("1.2.2", md5="1c837ecd990bb022d07e7aab32b09847")
version("1.2.0", "1c837ecd990bb022d07e7aab32b09847") version("1.2.0", md5="1c837ecd990bb022d07e7aab32b09847")
conflicts("%gcc@:4.5.0", when="@1.2.2") conflicts("%gcc@:4.5.0", when="@1.2.2")
conflicts("%gcc@:10.2.1", when="@:1.3.0") conflicts("%gcc@:10.2.1", when="@:1.3.0")

View file

@ -12,7 +12,7 @@ class BuildError(Package):
homepage = "http://www.example.com/trivial_install" homepage = "http://www.example.com/trivial_install"
url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz" url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
def install(self, spec, prefix): def install(self, spec, prefix):
with open("configure", "w") as f: with open("configure", "w") as f:

View file

@ -12,7 +12,7 @@ class BuildWarnings(Package):
homepage = "http://www.example.com/trivial_install" homepage = "http://www.example.com/trivial_install"
url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz" url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
def install(self, spec, prefix): def install(self, spec, prefix):
with open("configure", "w") as f: with open("configure", "w") as f:

View file

@ -12,4 +12,4 @@ class C(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/c-1.0.tar.gz" url = "http://www.example.com/c-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")

View file

@ -10,9 +10,9 @@ class Callpath(Package):
homepage = "https://github.com/tgamblin/callpath" homepage = "https://github.com/tgamblin/callpath"
url = "http://github.com/tgamblin/callpath-1.0.tar.gz" url = "http://github.com/tgamblin/callpath-1.0.tar.gz"
version(0.8, "0123456789abcdef0123456789abcdef") version(0.8, md5="0123456789abcdef0123456789abcdef")
version(0.9, "0123456789abcdef0123456789abcdef") version(0.9, md5="0123456789abcdef0123456789abcdef")
version(1.0, "0123456789abcdef0123456789abcdef") version(1.0, md5="0123456789abcdef0123456789abcdef")
depends_on("dyninst") depends_on("dyninst")
depends_on("mpi") depends_on("mpi")

View file

@ -13,7 +13,7 @@ class Canfail(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
def set_install_succeed(self): def set_install_succeed(self):
os.environ["CANFAIL_SUCCEED"] = "1" os.environ["CANFAIL_SUCCEED"] = "1"

View file

@ -20,7 +20,7 @@ class CmakeClient(CMakePackage):
homepage = "https://www.example.com" homepage = "https://www.example.com"
url = "https://www.example.com/cmake-client-1.0.tar.gz" url = "https://www.example.com/cmake-client-1.0.tar.gz"
version("1.0", "4cb3ff35b2472aae70f542116d616e63") version("1.0", md5="4cb3ff35b2472aae70f542116d616e63")
variant( variant(
"multi", "multi",

View file

@ -23,12 +23,12 @@ class Cmake(Package):
version( version(
"3.23.1", "3.23.1",
"4cb3ff35b2472aae70f542116d616e63", md5="4cb3ff35b2472aae70f542116d616e63",
url="https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz", url="https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz",
) )
version( version(
"3.4.3", "3.4.3",
"4cb3ff35b2472aae70f542116d616e63", md5="4cb3ff35b2472aae70f542116d616e63",
url="https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz", url="https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz",
) )

View file

@ -12,8 +12,8 @@ class ConditionalVariantPkg(Package):
homepage = "http://www.example.com/conditional-variant-pkg" homepage = "http://www.example.com/conditional-variant-pkg"
url = "http://www.unit-test-should-replace-this-url/conditional-variant-1.0.tar.gz" url = "http://www.unit-test-should-replace-this-url/conditional-variant-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
version("2.0", "abcdef0123456789abcdef0123456789") version("2.0", md5="abcdef0123456789abcdef0123456789")
variant( variant(
"version_based", "version_based",

View file

@ -14,6 +14,6 @@ class ConditionallyPatchDependency(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/patch-a-dependency-1.0.tar.gz" url = "http://www.example.com/patch-a-dependency-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
variant("jasper", default=False) variant("jasper", default=False)
depends_on("libelf@0.8.10", patches=[patch("uuid.patch")], when="+jasper") depends_on("libelf@0.8.10", patches=[patch("uuid.patch")], when="+jasper")

View file

@ -13,7 +13,7 @@ class ConfigureWarning(AutotoolsPackage):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/configure-warning-1.0.tar.gz" url = "http://www.example.com/configure-warning-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
parallel = False parallel = False

View file

@ -10,9 +10,9 @@ class ConflictParent(Package):
homepage = "https://github.com/tgamblin/callpath" homepage = "https://github.com/tgamblin/callpath"
url = "http://github.com/tgamblin/callpath-1.0.tar.gz" url = "http://github.com/tgamblin/callpath-1.0.tar.gz"
version(0.8, "0123456789abcdef0123456789abcdef") version(0.8, md5="0123456789abcdef0123456789abcdef")
version(0.9, "0123456789abcdef0123456789abcdef") version(0.9, md5="0123456789abcdef0123456789abcdef")
version(1.0, "0123456789abcdef0123456789abcdef") version(1.0, md5="0123456789abcdef0123456789abcdef")
depends_on("conflict") depends_on("conflict")

View file

@ -10,9 +10,9 @@ class Conflict(Package):
homepage = "https://github.com/tgamblin/callpath" homepage = "https://github.com/tgamblin/callpath"
url = "http://github.com/tgamblin/callpath-1.0.tar.gz" url = "http://github.com/tgamblin/callpath-1.0.tar.gz"
version(0.8, "0123456789abcdef0123456789abcdef") version(0.8, md5="0123456789abcdef0123456789abcdef")
version(0.9, "0123456789abcdef0123456789abcdef") version(0.9, md5="0123456789abcdef0123456789abcdef")
version(1.0, "0123456789abcdef0123456789abcdef") version(1.0, md5="0123456789abcdef0123456789abcdef")
variant("foo", default=True, description="") variant("foo", default=True, description="")

View file

@ -14,6 +14,6 @@ class ConflictingDependent(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("dependency-install@:1.0") depends_on("dependency-install@:1.0")

View file

@ -14,7 +14,7 @@ class CumulativeVrangeBottom(Package):
homepage = "https://www.example.org" homepage = "https://www.example.org"
url = "https://example.org/files/v3.4/cmake-3.4.3.tar.gz" url = "https://example.org/files/v3.4/cmake-3.4.3.tar.gz"
version("3.0", "4cb3ff35b2472aae70f542116d616e63") version("3.0", md5="4cb3ff35b2472aae70f542116d616e63")
version("2.2", "4cb3ff35b2472aae70f542116d616e63") version("2.2", md5="4cb3ff35b2472aae70f542116d616e63")
version("2.1", "4cb3ff35b2472aae70f542116d616e63") version("2.1", md5="4cb3ff35b2472aae70f542116d616e63")
version("2.0", "4cb3ff35b2472aae70f542116d616e63") version("2.0", md5="4cb3ff35b2472aae70f542116d616e63")

View file

@ -14,6 +14,6 @@ class CumulativeVrangeMiddle(Package):
homepage = "https://www.example.org" homepage = "https://www.example.org"
url = "https://example.org/files/v3.4/cmake-3.4.3.tar.gz" url = "https://example.org/files/v3.4/cmake-3.4.3.tar.gz"
version("1.0", "4cb3ff35b2472aae70f542116d616e63") version("1.0", md5="4cb3ff35b2472aae70f542116d616e63")
depends_on("cumulative-vrange-bottom@2.1:") depends_on("cumulative-vrange-bottom@2.1:")

View file

@ -14,7 +14,7 @@ class CumulativeVrangeRoot(Package):
homepage = "https://www.example.org" homepage = "https://www.example.org"
url = "https://example.org/files/v3.4/cmake-3.4.3.tar.gz" url = "https://example.org/files/v3.4/cmake-3.4.3.tar.gz"
version("1.0", "4cb3ff35b2472aae70f542116d616e63") version("1.0", md5="4cb3ff35b2472aae70f542116d616e63")
depends_on("cumulative-vrange-middle") depends_on("cumulative-vrange-middle")
depends_on("cumulative-vrange-bottom@:2") depends_on("cumulative-vrange-bottom@:2")

View file

@ -12,7 +12,7 @@ class DefineCmakePrefixPaths(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/definecmakeprefixpaths-1.0.tar.gz" url = "http://www.example.com/definecmakeprefixpaths-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
@property @property
def cmake_prefix_paths(self): def cmake_prefix_paths(self):

View file

@ -21,7 +21,7 @@ class DepDiamondPatchMid1(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/patch-a-dependency-1.0.tar.gz" url = "http://www.example.com/patch-a-dependency-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
# single patch file in repo # single patch file in repo
depends_on("patch", patches="mid1.patch") depends_on("patch", patches="mid1.patch")

View file

@ -21,7 +21,7 @@ class DepDiamondPatchMid2(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/patch-a-dependency-1.0.tar.gz" url = "http://www.example.com/patch-a-dependency-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
# single patch file in repo # single patch file in repo
depends_on( depends_on(

View file

@ -21,7 +21,7 @@ class DepDiamondPatchTop(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/patch-a-dependency-1.0.tar.gz" url = "http://www.example.com/patch-a-dependency-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
# single patch file in repo # single patch file in repo
depends_on("patch", patches="top.patch") depends_on("patch", patches="top.patch")

View file

@ -12,7 +12,7 @@ class Depb(AutotoolsPackage):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("b") depends_on("b")

View file

@ -12,8 +12,8 @@ class DependencyInstall(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
version("2.0", "abcdef0123456789abcdef0123456789") version("2.0", md5="abcdef0123456789abcdef0123456789")
def install(self, spec, prefix): def install(self, spec, prefix):
touch(join_path(prefix, "an_installation_file")) touch(join_path(prefix, "an_installation_file"))

View file

@ -12,8 +12,8 @@ class DependentInstall(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
version("2.0", "0123456789abcdef0123456789abcdef") version("2.0", md5="0123456789abcdef0123456789abcdef")
depends_on("dependency-install@2.0", when="@2.0") depends_on("dependency-install@2.0", when="@2.0")
depends_on("dependency-install@1.0", when="@1.0") depends_on("dependency-install@1.0", when="@1.0")

View file

@ -12,6 +12,6 @@ class DependsOnDefineCmakePrefixPaths(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dependsonefinecmakeprefixpaths-1.0.tar.gz" url = "http://www.example.com/dependsonefinecmakeprefixpaths-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("define-cmake-prefix-paths") depends_on("define-cmake-prefix-paths")

View file

@ -14,7 +14,7 @@ class DependsOnRunEnv(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("modifies-run-env", type=("run",)) depends_on("modifies-run-env", type=("run",))

View file

@ -11,5 +11,5 @@ class DeprecatedVersions(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/c-1.0.tar.gz" url = "http://www.example.com/c-1.0.tar.gz"
version("1.1.0", "0123456789abcdef0123456789abcdef", deprecated=True) version("1.1.0", md5="0123456789abcdef0123456789abcdef", deprecated=True)
version("1.0.0", "0123456789abcdef0123456789abcdef") version("1.0.0", md5="0123456789abcdef0123456789abcdef")

View file

@ -14,4 +14,4 @@ class DevelopBranchVersion(Package):
git = "https://github.com/dummy/repo.git" git = "https://github.com/dummy/repo.git"
version("develop", branch="develop") version("develop", branch="develop")
version("0.2.15", "b1190f3d3471685f17cfd1ec1d252ac9") version("0.2.15", md5="b1190f3d3471685f17cfd1ec1d252ac9")

View file

@ -13,4 +13,4 @@ class DevelopTest(Package):
url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz" url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
version("develop", git="https://github.com/dummy/repo.git") version("develop", git="https://github.com/dummy/repo.git")
version("0.2.15", "b1190f3d3471685f17cfd1ec1d252ac9") version("0.2.15", md5="b1190f3d3471685f17cfd1ec1d252ac9")

View file

@ -13,4 +13,4 @@ class DevelopTest2(Package):
url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz" url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
version("0.2.15.develop", git="https://github.com/dummy/repo.git") version("0.2.15.develop", git="https://github.com/dummy/repo.git")
version("0.2.15", "b1190f3d3471685f17cfd1ec1d252ac9") version("0.2.15", md5="b1190f3d3471685f17cfd1ec1d252ac9")

View file

@ -12,4 +12,4 @@ class DiamondLinkBottom(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/diamond-link-bottom-1.0.tar.gz" url = "http://www.example.com/diamond-link-bottom-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")

View file

@ -12,6 +12,6 @@ class DiamondLinkLeft(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/diamond-link-left-1.0.tar.gz" url = "http://www.example.com/diamond-link-left-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("diamond-link-bottom", type="link") depends_on("diamond-link-bottom", type="link")

View file

@ -12,6 +12,6 @@ class DiamondLinkRight(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/diamond-link-right-1.0.tar.gz" url = "http://www.example.com/diamond-link-right-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("diamond-link-bottom", type="link") depends_on("diamond-link-bottom", type="link")

View file

@ -12,7 +12,7 @@ class DiamondLinkTop(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/diamond-link-top-1.0.tar.gz" url = "http://www.example.com/diamond-link-top-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("diamond-link-left", type="link") depends_on("diamond-link-left", type="link")
depends_on("diamond-link-right", type="link") depends_on("diamond-link-right", type="link")

View file

@ -10,6 +10,6 @@ class DirectMpich(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/direct_mpich-1.0.tar.gz" url = "http://www.example.com/direct_mpich-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("mpich") depends_on("mpich")

View file

@ -12,4 +12,4 @@ class DtDiamondBottom(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dt-diamond-bottom-1.0.tar.gz" url = "http://www.example.com/dt-diamond-bottom-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")

View file

@ -12,6 +12,6 @@ class DtDiamondLeft(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dt-diamond-left-1.0.tar.gz" url = "http://www.example.com/dt-diamond-left-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("dt-diamond-bottom", type="build") depends_on("dt-diamond-bottom", type="build")

View file

@ -12,6 +12,6 @@ class DtDiamondRight(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dt-diamond-right-1.0.tar.gz" url = "http://www.example.com/dt-diamond-right-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("dt-diamond-bottom", type=("build", "link", "run")) depends_on("dt-diamond-bottom", type=("build", "link", "run"))

View file

@ -12,7 +12,7 @@ class DtDiamond(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dt-diamond-1.0.tar.gz" url = "http://www.example.com/dt-diamond-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("dt-diamond-left") depends_on("dt-diamond-left")
depends_on("dt-diamond-right") depends_on("dt-diamond-right")

View file

@ -13,8 +13,8 @@ class Dtbuild1(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dtbuild1-1.0.tar.gz" url = "http://www.example.com/dtbuild1-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
version("0.5", "fedcba9876543210fedcba9876543210") version("0.5", md5="fedcba9876543210fedcba9876543210")
depends_on("dtbuild2", type="build") depends_on("dtbuild2", type="build")
depends_on("dtlink2") depends_on("dtlink2")

View file

@ -12,4 +12,4 @@ class Dtbuild2(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dtbuild2-1.0.tar.gz" url = "http://www.example.com/dtbuild2-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")

View file

@ -12,4 +12,4 @@ class Dtbuild3(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dtbuild3-1.0.tar.gz" url = "http://www.example.com/dtbuild3-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")

View file

@ -12,6 +12,6 @@ class Dtlink1(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dtlink1-1.0.tar.gz" url = "http://www.example.com/dtlink1-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("dtlink3") depends_on("dtlink3")

View file

@ -12,4 +12,4 @@ class Dtlink2(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dtlink2-1.0.tar.gz" url = "http://www.example.com/dtlink2-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")

View file

@ -12,7 +12,7 @@ class Dtlink3(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dtlink3-1.0.tar.gz" url = "http://www.example.com/dtlink3-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("dtbuild2", type="build") depends_on("dtbuild2", type="build")
depends_on("dtlink4") depends_on("dtlink4")

View file

@ -12,4 +12,4 @@ class Dtlink4(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dtlink4-1.0.tar.gz" url = "http://www.example.com/dtlink4-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")

View file

@ -12,4 +12,4 @@ class Dtlink5(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dtlink5-1.0.tar.gz" url = "http://www.example.com/dtlink5-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")

View file

@ -12,7 +12,7 @@ class Dtrun1(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dtrun1-1.0.tar.gz" url = "http://www.example.com/dtrun1-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("dtlink5") depends_on("dtlink5")
depends_on("dtrun3", type="run") depends_on("dtrun3", type="run")

View file

@ -12,4 +12,4 @@ class Dtrun2(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dtrun2-1.0.tar.gz" url = "http://www.example.com/dtrun2-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")

View file

@ -12,6 +12,6 @@ class Dtrun3(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dtrun3-1.0.tar.gz" url = "http://www.example.com/dtrun3-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("dtbuild3", type="build") depends_on("dtbuild3", type="build")

View file

@ -12,7 +12,7 @@ class Dttop(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dttop-1.0.tar.gz" url = "http://www.example.com/dttop-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("dtbuild1", type="build") depends_on("dtbuild1", type="build")
depends_on("dtlink1") depends_on("dtlink1")

View file

@ -12,6 +12,6 @@ class Dtuse(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/dtuse-1.0.tar.gz" url = "http://www.example.com/dtuse-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("dttop") depends_on("dttop")

View file

@ -12,17 +12,17 @@ class Dyninst(Package):
version( version(
"8.2", "8.2",
"0123456789abcdef0123456789abcdef", md5="0123456789abcdef0123456789abcdef",
url="http://www.paradyn.org/release8.2/DyninstAPI-8.2.tgz", url="http://www.paradyn.org/release8.2/DyninstAPI-8.2.tgz",
) )
version( version(
"8.1.2", "8.1.2",
"fedcba9876543210fedcba9876543210", md5="fedcba9876543210fedcba9876543210",
url="http://www.paradyn.org/release8.1.2/DyninstAPI-8.1.2.tgz", url="http://www.paradyn.org/release8.1.2/DyninstAPI-8.1.2.tgz",
) )
version( version(
"8.1.1", "8.1.1",
"123456789abcdef0123456789abcdef0", md5="123456789abcdef0123456789abcdef0",
url="http://www.paradyn.org/release8.1/DyninstAPI-8.1.1.tgz", url="http://www.paradyn.org/release8.1/DyninstAPI-8.1.1.tgz",
) )

View file

@ -12,4 +12,4 @@ class E(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/e-1.0.tar.gz" url = "http://www.example.com/e-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")

View file

@ -14,7 +14,7 @@ class Extendee(Package):
extendable = True extendable = True
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
def install(self, spec, prefix): def install(self, spec, prefix):
mkdirp(prefix.bin) mkdirp(prefix.bin)

View file

@ -12,6 +12,6 @@ class ExtendsSpec(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/example-1.0.tar.gz" url = "http://www.example.com/example-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
extends("extendee@1:") extends("extendee@1:")

View file

@ -16,8 +16,8 @@ class Extension1(Package):
extends("extendee") extends("extendee")
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
version("2.0", "abcdef0123456789abcdef0123456789") version("2.0", md5="abcdef0123456789abcdef0123456789")
def install(self, spec, prefix): def install(self, spec, prefix):
mkdirp(prefix.bin) mkdirp(prefix.bin)

View file

@ -18,7 +18,7 @@ class Extension2(Package):
extends("extendee") extends("extendee")
depends_on("extension1", type=("build", "run")) depends_on("extension1", type=("build", "run"))
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
def install(self, spec, prefix): def install(self, spec, prefix):
mkdirp(prefix.bin) mkdirp(prefix.bin)

View file

@ -10,8 +10,8 @@ class ExternalBuildableWithVariant(Package):
homepage = "http://somewhere.com" homepage = "http://somewhere.com"
url = "http://somewhere.com/module-1.0.tar.gz" url = "http://somewhere.com/module-1.0.tar.gz"
version("1.0", "1234567890abcdef1234567890abcdef") version("1.0", md5="1234567890abcdef1234567890abcdef")
version("0.9", "1234567890abcdef1234567890abcdef") version("0.9", md5="1234567890abcdef1234567890abcdef")
variant("baz", default=False, description="nope") variant("baz", default=False, description="nope")

View file

@ -10,4 +10,4 @@ class ExternalCommonGdbm(Package):
homepage = "http://www.gnu.org.ua/software/gdbm/gdbm.html" homepage = "http://www.gnu.org.ua/software/gdbm/gdbm.html"
url = "https://ftpmirror.gnu.org/gdbm/gdbm-1.18.1.tar.gz" url = "https://ftpmirror.gnu.org/gdbm/gdbm-1.18.1.tar.gz"
version("1.18.1", "be78e48cdfc1a7ad90efff146dce6cfe") version("1.18.1", md5="be78e48cdfc1a7ad90efff146dce6cfe")

View file

@ -10,5 +10,5 @@ class ExternalCommonOpenssl(Package):
homepage = "http://www.openssl.org" homepage = "http://www.openssl.org"
url = "http://www.openssl.org/source/openssl-1.1.1i.tar.gz" url = "http://www.openssl.org/source/openssl-1.1.1i.tar.gz"
version("1.1.1i", "be78e48cdfc1a7ad90efff146dce6cfe") version("1.1.1i", md5="be78e48cdfc1a7ad90efff146dce6cfe")
depends_on("external-common-perl") depends_on("external-common-perl")

View file

@ -10,5 +10,5 @@ class ExternalCommonPerl(Package):
homepage = "http://www.perl.org" homepage = "http://www.perl.org"
url = "http://www.cpan.org/src/5.0/perl-5.32.0.tar.gz" url = "http://www.cpan.org/src/5.0/perl-5.32.0.tar.gz"
version("5.32.0", "be78e48cdfc1a7ad90efff146dce6cfe") version("5.32.0", md5="be78e48cdfc1a7ad90efff146dce6cfe")
depends_on("external-common-gdbm") depends_on("external-common-gdbm")

View file

@ -10,6 +10,6 @@ class ExternalCommonPython(Package):
homepage = "http://www.python.org" homepage = "http://www.python.org"
url = "http://www.python.org/ftp/python/3.8.7/Python-3.8.7.tgz" url = "http://www.python.org/ftp/python/3.8.7/Python-3.8.7.tgz"
version("3.8.7", "be78e48cdfc1a7ad90efff146dce6cfe") version("3.8.7", md5="be78e48cdfc1a7ad90efff146dce6cfe")
depends_on("external-common-openssl") depends_on("external-common-openssl")
depends_on("external-common-gdbm") depends_on("external-common-gdbm")

View file

@ -11,7 +11,7 @@ class ExternalNonDefaultVariant(Package):
homepage = "http://www.python.org" homepage = "http://www.python.org"
url = "http://www.python.org/ftp/python/3.8.7/Python-3.8.7.tgz" url = "http://www.python.org/ftp/python/3.8.7/Python-3.8.7.tgz"
version("3.8.7", "be78e48cdfc1a7ad90efff146dce6cfe") version("3.8.7", md5="be78e48cdfc1a7ad90efff146dce6cfe")
variant("foo", default=True, description="just a variant") variant("foo", default=True, description="just a variant")
variant("bar", default=True, description="just a variant") variant("bar", default=True, description="just a variant")

View file

@ -10,6 +10,6 @@ class Externalmodule(Package):
homepage = "http://somewhere.com" homepage = "http://somewhere.com"
url = "http://somewhere.com/module-1.0.tar.gz" url = "http://somewhere.com/module-1.0.tar.gz"
version("1.0", "1234567890abcdef1234567890abcdef") version("1.0", md5="1234567890abcdef1234567890abcdef")
depends_on("externalprereq") depends_on("externalprereq")

View file

@ -10,4 +10,4 @@ class Externalprereq(Package):
homepage = "http://somewhere.com" homepage = "http://somewhere.com"
url = "http://somewhere.com/prereq-1.0.tar.gz" url = "http://somewhere.com/prereq-1.0.tar.gz"
version("1.4", "f1234567890abcdef1234567890abcde") version("1.4", md5="f1234567890abcdef1234567890abcde")

View file

@ -10,7 +10,7 @@ class Externaltest(Package):
homepage = "http://somewhere.com" homepage = "http://somewhere.com"
url = "http://somewhere.com/test-1.0.tar.gz" url = "http://somewhere.com/test-1.0.tar.gz"
version("1.0", "1234567890abcdef1234567890abcdef") version("1.0", md5="1234567890abcdef1234567890abcdef")
depends_on("stuff") depends_on("stuff")
depends_on("externaltool") depends_on("externaltool")

View file

@ -10,8 +10,8 @@ class Externaltool(Package):
homepage = "http://somewhere.com" homepage = "http://somewhere.com"
url = "http://somewhere.com/tool-1.0.tar.gz" url = "http://somewhere.com/tool-1.0.tar.gz"
version("1.0", "1234567890abcdef1234567890abcdef") version("1.0", md5="1234567890abcdef1234567890abcdef")
version("0.9", "1234567890abcdef1234567890abcdef") version("0.9", md5="1234567890abcdef1234567890abcdef")
version("0.8.1", "1234567890abcdef1234567890abcdef") version("0.8.1", md5="1234567890abcdef1234567890abcdef")
depends_on("externalprereq") depends_on("externalprereq")

View file

@ -10,9 +10,9 @@ class Externalvirtual(Package):
homepage = "http://somewhere.com" homepage = "http://somewhere.com"
url = "http://somewhere.com/stuff-1.0.tar.gz" url = "http://somewhere.com/stuff-1.0.tar.gz"
version("1.0", "1234567890abcdef1234567890abcdef") version("1.0", md5="1234567890abcdef1234567890abcdef")
version("2.0", "234567890abcdef1234567890abcdef1") version("2.0", md5="234567890abcdef1234567890abcdef1")
version("2.1", "34567890abcdef1234567890abcdef12") version("2.1", md5="34567890abcdef1234567890abcdef12")
version("2.2", "4567890abcdef1234567890abcdef123") version("2.2", md5="4567890abcdef1234567890abcdef123")
provides("stuff", when="@1.0:") provides("stuff", when="@1.0:")

View file

@ -11,8 +11,8 @@ class FailTestAudit(MakefilePackage):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
version("2.0", "abcdef0123456789abcdef0123456789") version("2.0", md5="abcdef0123456789abcdef0123456789")
build_time_test_callbacks = ["test"] build_time_test_callbacks = ["test"]

View file

@ -12,7 +12,7 @@ class FailingBuild(Package):
homepage = "http://www.example.com/trivial_install" homepage = "http://www.example.com/trivial_install"
url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz" url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
def install(self, spec, prefix): def install(self, spec, prefix):
raise InstallError("Expected failure.") raise InstallError("Expected failure.")

View file

@ -11,7 +11,7 @@ class FailingEmptyInstall(Package):
homepage = "http://www.example.com/trivial_install" homepage = "http://www.example.com/trivial_install"
url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz" url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
def install(self, spec, prefix): def install(self, spec, prefix):
pass pass

View file

@ -10,4 +10,4 @@ class Fake(Package):
homepage = "http://www.fake-spack-example.org" homepage = "http://www.fake-spack-example.org"
url = "http://www.fake-spack-example.org/downloads/fake-1.0.tar.gz" url = "http://www.fake-spack-example.org/downloads/fake-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")

View file

@ -17,6 +17,6 @@ class FetchOptions(Package):
timeout = {"timeout": 65} timeout = {"timeout": 65}
cookie = {"cookie": "baz"} cookie = {"cookie": "baz"}
version("1.2", "00000000000000000000000000000012", fetch_options=cookie) version("1.2", md5="00000000000000000000000000000012", fetch_options=cookie)
version("1.1", "00000000000000000000000000000011", fetch_options=timeout) version("1.1", md5="00000000000000000000000000000011", fetch_options=timeout)
version("1.0", "00000000000000000000000000000010") version("1.0", md5="00000000000000000000000000000010")

View file

@ -14,8 +14,8 @@ class Fftw(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/fftw-1.0.tar.gz" url = "http://www.example.com/fftw-1.0.tar.gz"
version(2.0, "abcdef1234567890abcdef1234567890") version(2.0, md5="abcdef1234567890abcdef1234567890")
version(1.0, "1234567890abcdef1234567890abcdef") version(1.0, md5="1234567890abcdef1234567890abcdef")
variant("mpi", default=False, description="Enable MPI") variant("mpi", default=False, description="Enable MPI")

View file

@ -14,7 +14,7 @@ class FindExternals1(AutotoolsPackage):
url = "http://www.example.com/find-externals-1.0.tar.gz" url = "http://www.example.com/find-externals-1.0.tar.gz"
version("1.0", "abcdef1234567890abcdef1234567890") version("1.0", md5="abcdef1234567890abcdef1234567890")
@classmethod @classmethod
def determine_spec_details(cls, prefix, exes_in_prefix): def determine_spec_details(cls, prefix, exes_in_prefix):

View file

@ -12,7 +12,7 @@ class FlattenDeps(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz" url = "http://www.example.com/a-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
depends_on("dependency-install") depends_on("dependency-install")

View file

@ -12,9 +12,9 @@ class Gcc(Package):
homepage = "http://www.example.com" homepage = "http://www.example.com"
url = "http://www.example.com/gcc-1.0.tar.gz" url = "http://www.example.com/gcc-1.0.tar.gz"
version("1.0", "0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef")
version("2.0", "abcdef0123456789abcdef0123456789") version("2.0", md5="abcdef0123456789abcdef0123456789")
version("3.0", "def0123456789abcdef0123456789abc") version("3.0", md5="def0123456789abcdef0123456789abc")
depends_on("conflict", when="@3.0") depends_on("conflict", when="@3.0")

View file

@ -31,7 +31,7 @@ class GitUrlTopLevel(Package):
# These resolve to URL fetchers # These resolve to URL fetchers
version( version(
"2.3", "2.3",
"0000000000000000000000000000000000000000000000000000000000000023", sha256="0000000000000000000000000000000000000000000000000000000000000023",
url="https://www.example.com/foo2.3.tar.gz", url="https://www.example.com/foo2.3.tar.gz",
) )
version( version(
@ -40,7 +40,7 @@ class GitUrlTopLevel(Package):
url="https://www.example.com/foo2.2.tar.gz", url="https://www.example.com/foo2.2.tar.gz",
) )
version("2.1", sha256="0000000000000000000000000000000000000000000000000000000000000021") version("2.1", sha256="0000000000000000000000000000000000000000000000000000000000000021")
version("2.0", "0000000000000000000000000000000000000000000000000000000000000020") version("2.0", sha256="0000000000000000000000000000000000000000000000000000000000000020")
# These result in a FetcherConflict b/c we can't tell what to use # These result in a FetcherConflict b/c we can't tell what to use
version( version(
@ -55,4 +55,4 @@ class GitUrlTopLevel(Package):
branch="releases/v1.2", branch="releases/v1.2",
) )
version("1.1", md5="00000000000000000000000000000011", tag="v1.1") version("1.1", md5="00000000000000000000000000000011", tag="v1.1")
version("1.0", "00000000000000000000000000000011", tag="abc123") version("1.0", md5="00000000000000000000000000000011", tag="abc123")

View file

@ -9,7 +9,7 @@ class Gmt(Package):
url = "http://www.example.com/" url = "http://www.example.com/"
url = "http://www.example.com/2.0.tar.gz" url = "http://www.example.com/2.0.tar.gz"
version("2.0", "abcdef1234567890abcdef1234567890") version("2.0", md5="abcdef1234567890abcdef1234567890")
version("1.0", "abcdef1234567890abcdef1234567890") version("1.0", md5="abcdef1234567890abcdef1234567890")
depends_on("mvdefaults", when="@1.0") depends_on("mvdefaults", when="@1.0")

View file

@ -14,13 +14,13 @@ class HashTest1(Package):
homepage = "http://www.hashtest1.org" homepage = "http://www.hashtest1.org"
url = "http://www.hashtest1.org/downloads/hashtest1-1.1.tar.bz2" url = "http://www.hashtest1.org/downloads/hashtest1-1.1.tar.bz2"
version("1.1", "a" * 32) version("1.1", md5="a" * 32)
version("1.2", "b" * 32) version("1.2", md5="b" * 32)
version("1.3", "c" * 32) version("1.3", md5="c" * 32)
version("1.4", "d" * 32) version("1.4", md5="d" * 32)
version("1.5", "d" * 32) version("1.5", md5="d" * 32)
version("1.6", "e" * 32) version("1.6", md5="e" * 32)
version("1.7", "f" * 32) version("1.7", md5="f" * 32)
patch("patch1.patch", when="@1.1") patch("patch1.patch", when="@1.1")
patch("patch2.patch", when="@1.4") patch("patch2.patch", when="@1.4")

View file

@ -14,10 +14,10 @@ class HashTest2(Package):
homepage = "http://www.hashtest2.org" homepage = "http://www.hashtest2.org"
url = "http://www.hashtest1.org/downloads/hashtest2-1.1.tar.bz2" url = "http://www.hashtest1.org/downloads/hashtest2-1.1.tar.bz2"
version("1.1", "a" * 32) version("1.1", md5="a" * 32)
version("1.2", "b" * 32) version("1.2", md5="b" * 32)
version("1.3", "c" * 31 + "x") # Source hash differs from hash-test1@1.3 version("1.3", md5="c" * 31 + "x") # Source hash differs from hash-test1@1.3
version("1.4", "d" * 32) version("1.4", md5="d" * 32)
patch("patch1.patch", when="@1.1") patch("patch1.patch", when="@1.1")

View file

@ -14,11 +14,11 @@ class HashTest3(Package):
homepage = "http://www.hashtest3.org" homepage = "http://www.hashtest3.org"
url = "http://www.hashtest1.org/downloads/hashtest3-1.1.tar.bz2" url = "http://www.hashtest1.org/downloads/hashtest3-1.1.tar.bz2"
version("1.2", "b" * 32) version("1.2", md5="b" * 32)
version("1.3", "c" * 32) version("1.3", md5="c" * 32)
version("1.5", "d" * 32) version("1.5", md5="d" * 32)
version("1.6", "e" * 32) version("1.6", md5="e" * 32)
version("1.7", "f" * 32) version("1.7", md5="f" * 32)
variant("variantx", default=False, description="Test variant X") variant("variantx", default=False, description="Test variant X")
variant("varianty", default=False, description="Test variant Y") variant("varianty", default=False, description="Test variant Y")

Some files were not shown because too many files have changed in this diff Show more