Compare commits
6 Commits
features/c
...
python/tes
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
614714fc01 | ||
|
|
b328b5d169 | ||
|
|
cda1a2fd91 | ||
|
|
4181237bcd | ||
|
|
7a4859721a | ||
|
|
d4a28b4e22 |
2
.github/workflows/coverage.yml
vendored
2
.github/workflows/coverage.yml
vendored
@@ -29,7 +29,7 @@ jobs:
|
||||
- run: coverage xml
|
||||
|
||||
- name: "Upload coverage report to CodeCov"
|
||||
uses: codecov/codecov-action@1e68e06f1dbfde0e4cefc87efeba9e4643565303
|
||||
uses: codecov/codecov-action@05f5a9cfad807516dbbef9929c4a42df3eb78766
|
||||
with:
|
||||
verbose: true
|
||||
fail_ci_if_error: false
|
||||
|
||||
@@ -65,7 +65,6 @@ packages:
|
||||
unwind: [libunwind]
|
||||
uuid: [util-linux-uuid, libuuid]
|
||||
wasi-sdk: [wasi-sdk-prebuilt]
|
||||
xkbdata-api: [xkeyboard-config, xkbdata]
|
||||
xxd: [xxd-standalone, vim]
|
||||
yacc: [bison, byacc]
|
||||
ziglang: [zig]
|
||||
|
||||
@@ -25,23 +25,14 @@ These settings can be overridden in ``etc/spack/config.yaml`` or
|
||||
The location where Spack will install packages and their dependencies.
|
||||
Default is ``$spack/opt/spack``.
|
||||
|
||||
---------------
|
||||
``projections``
|
||||
---------------
|
||||
---------------------------------------------------
|
||||
``install_hash_length`` and ``install_path_scheme``
|
||||
---------------------------------------------------
|
||||
|
||||
.. warning::
|
||||
|
||||
Modifying projections of the install tree is strongly discouraged.
|
||||
|
||||
By default Spack installs all packages into a unique directory relative to the install
|
||||
tree root with the following layout:
|
||||
|
||||
.. code-block::
|
||||
|
||||
{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}
|
||||
|
||||
In very rare cases, it may be necessary to reduce the length of this path. For example,
|
||||
very old versions of the Intel compiler are known to segfault when input paths are too long:
|
||||
The default Spack installation path can be very long and can create problems
|
||||
for scripts with hardcoded shebangs. Additionally, when using the Intel
|
||||
compiler, and if there is also a long list of dependencies, the compiler may
|
||||
segfault. If you see the following:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@@ -49,25 +40,36 @@ very old versions of the Intel compiler are known to segfault when input paths a
|
||||
** Segmentation violation signal raised. **
|
||||
Access violation or stack overflow. Please contact Intel Support for assistance.
|
||||
|
||||
Another case is Python and R packages with many runtime dependencies, which can result
|
||||
in very large ``PYTHONPATH`` and ``R_LIBS`` environment variables. This can cause the
|
||||
``execve`` system call to fail with ``E2BIG``, preventing processes from starting.
|
||||
it may be because variables containing dependency specs may be too long. There
|
||||
are two parameters to help with long path names. Firstly, the
|
||||
``install_hash_length`` parameter can set the length of the hash in the
|
||||
installation path from 1 to 32. The default path uses the full 32 characters.
|
||||
|
||||
For this reason, Spack allows users to modify the installation layout through custom
|
||||
projections. For example
|
||||
Secondly, it is also possible to modify the entire installation
|
||||
scheme. By default Spack uses
|
||||
``{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}``
|
||||
where the tokens that are available for use in this directive are the
|
||||
same as those understood by the :meth:`~spack.spec.Spec.format`
|
||||
method. Using this parameter it is possible to use a different package
|
||||
layout or reduce the depth of the installation paths. For example
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
config:
|
||||
install_tree:
|
||||
root: $spack/opt/spack
|
||||
projections:
|
||||
all: "{name}/{version}/{hash:16}"
|
||||
install_path_scheme: '{name}/{version}/{hash:7}'
|
||||
|
||||
would install packages into sub-directories using only the package name, version and a
|
||||
hash length of 16 characters.
|
||||
would install packages into sub-directories using only the package
|
||||
name, version and a hash length of 7 characters.
|
||||
|
||||
Notice that reducing the hash length increases the likelihood of hash collisions.
|
||||
When using either parameter to set the hash length it only affects the
|
||||
representation of the hash in the installation directory. You
|
||||
should be aware that the smaller the hash length the more likely
|
||||
naming conflicts will occur. These parameters are independent of those
|
||||
used to configure module names.
|
||||
|
||||
.. warning:: Modifying the installation hash length or path scheme after
|
||||
packages have been installed will prevent Spack from being
|
||||
able to find the old installation directories.
|
||||
|
||||
--------------------
|
||||
``build_stage``
|
||||
|
||||
@@ -4,7 +4,7 @@ sphinx_design==0.6.1
|
||||
sphinx-rtd-theme==3.0.2
|
||||
python-levenshtein==0.26.1
|
||||
docutils==0.21.2
|
||||
pygments==2.19.1
|
||||
pygments==2.18.0
|
||||
urllib3==2.3.0
|
||||
pytest==8.3.4
|
||||
isort==5.13.2
|
||||
|
||||
@@ -298,14 +298,7 @@ def initconfig_hardware_entries(self):
|
||||
def std_initconfig_entries(self):
|
||||
cmake_prefix_path_env = os.environ["CMAKE_PREFIX_PATH"]
|
||||
cmake_prefix_path = cmake_prefix_path_env.replace(os.pathsep, ";")
|
||||
complete_rpath_list = ";".join(
|
||||
[
|
||||
self.pkg.spec.prefix.lib,
|
||||
self.pkg.spec.prefix.lib64,
|
||||
*os.environ.get("SPACK_COMPILER_EXTRA_RPATHS", "").split(":"),
|
||||
*os.environ.get("SPACK_COMPILER_IMPLICIT_RPATHS", "").split(":"),
|
||||
]
|
||||
)
|
||||
|
||||
return [
|
||||
"#------------------{0}".format("-" * 60),
|
||||
"# !!!! This is a generated file, edit at own risk !!!!",
|
||||
@@ -314,8 +307,6 @@ def std_initconfig_entries(self):
|
||||
"#------------------{0}\n".format("-" * 60),
|
||||
cmake_cache_string("CMAKE_PREFIX_PATH", cmake_prefix_path),
|
||||
cmake_cache_string("CMAKE_INSTALL_RPATH_USE_LINK_PATH", "ON"),
|
||||
cmake_cache_string("CMAKE_BUILD_RPATH", complete_rpath_list),
|
||||
cmake_cache_string("CMAKE_INSTALL_RPATH", complete_rpath_list),
|
||||
self.define_cmake_cache_from_variant("CMAKE_BUILD_TYPE", "build_type"),
|
||||
]
|
||||
|
||||
|
||||
@@ -71,16 +71,13 @@ def build_directory(self):
|
||||
@property
|
||||
def build_args(self):
|
||||
"""Arguments for ``cargo build``."""
|
||||
return ["-j", str(self.pkg.module.make_jobs)]
|
||||
return []
|
||||
|
||||
@property
|
||||
def check_args(self):
|
||||
"""Argument for ``cargo test`` during check phase"""
|
||||
return []
|
||||
|
||||
def setup_build_environment(self, env):
|
||||
env.set("CARGO_HOME", self.stage.path)
|
||||
|
||||
def build(self, pkg, spec, prefix):
|
||||
"""Runs ``cargo install`` in the source directory"""
|
||||
with fs.working_dir(self.build_directory):
|
||||
|
||||
@@ -10,9 +10,8 @@
|
||||
import spack.builder
|
||||
import spack.package_base
|
||||
import spack.phase_callbacks
|
||||
from spack.directives import build_system, depends_on, extends
|
||||
from spack.directives import build_system, extends
|
||||
from spack.install_test import SkipTest, test_part
|
||||
from spack.multimethod import when
|
||||
from spack.util.executable import Executable
|
||||
|
||||
from ._checks import BuilderWithDefaults, execute_build_time_tests
|
||||
@@ -29,9 +28,7 @@ class PerlPackage(spack.package_base.PackageBase):
|
||||
|
||||
build_system("perl")
|
||||
|
||||
with when("build_system=perl"):
|
||||
extends("perl")
|
||||
depends_on("gmake", type="build")
|
||||
extends("perl", when="build_system=perl")
|
||||
|
||||
@property
|
||||
@memoized
|
||||
|
||||
@@ -17,8 +17,10 @@
|
||||
import llnl.util.tty as tty
|
||||
from llnl.util.filesystem import HeaderList, LibraryList, join_path
|
||||
|
||||
import spack.build_environment
|
||||
import spack.builder
|
||||
import spack.config
|
||||
import spack.context
|
||||
import spack.deptypes as dt
|
||||
import spack.detection
|
||||
import spack.multimethod
|
||||
@@ -237,7 +239,11 @@ def test_imports(self) -> None:
|
||||
purpose=f"checking import of {module}",
|
||||
work_dir="spack-test",
|
||||
):
|
||||
python("-c", f"import {module}")
|
||||
setup_context = spack.build_environment.SetupContext(
|
||||
self.spec, context=spack.context.Context.RUN
|
||||
)
|
||||
mods = setup_context.get_env_modifications()
|
||||
python("-c", f"import {module}", env=mods)
|
||||
|
||||
def update_external_dependencies(self, extendee_spec=None):
|
||||
"""
|
||||
|
||||
@@ -636,7 +636,6 @@ def generate_ir(self):
|
||||
"script": [
|
||||
"cd {env_dir}",
|
||||
"spack env activate --without-view .",
|
||||
"spack spec /$SPACK_JOB_SPEC_DAG_HASH",
|
||||
"spack ci rebuild",
|
||||
]
|
||||
}
|
||||
|
||||
@@ -171,9 +171,7 @@ def quote_kvp(string: str) -> str:
|
||||
|
||||
|
||||
def parse_specs(
|
||||
args: Union[str, List[str]],
|
||||
concretize: bool = False,
|
||||
tests: spack.concretize.TestsType = False,
|
||||
args: Union[str, List[str]], concretize: bool = False, tests: bool = False
|
||||
) -> List[spack.spec.Spec]:
|
||||
"""Convenience function for parsing arguments from specs. Handles common
|
||||
exceptions and dies if there are errors.
|
||||
@@ -185,13 +183,11 @@ def parse_specs(
|
||||
if not concretize:
|
||||
return specs
|
||||
|
||||
to_concretize: List[spack.concretize.SpecPairInput] = [(s, None) for s in specs]
|
||||
to_concretize = [(s, None) for s in specs]
|
||||
return _concretize_spec_pairs(to_concretize, tests=tests)
|
||||
|
||||
|
||||
def _concretize_spec_pairs(
|
||||
to_concretize: List[spack.concretize.SpecPairInput], tests: spack.concretize.TestsType = False
|
||||
) -> List[spack.spec.Spec]:
|
||||
def _concretize_spec_pairs(to_concretize, tests=False):
|
||||
"""Helper method that concretizes abstract specs from a list of abstract,concrete pairs.
|
||||
|
||||
Any spec with a concrete spec associated with it will concretize to that spec. Any spec
|
||||
@@ -202,7 +198,7 @@ def _concretize_spec_pairs(
|
||||
# Special case for concretizing a single spec
|
||||
if len(to_concretize) == 1:
|
||||
abstract, concrete = to_concretize[0]
|
||||
return [concrete or abstract.concretized(tests=tests)]
|
||||
return [concrete or abstract.concretized()]
|
||||
|
||||
# Special case if every spec is either concrete or has an abstract hash
|
||||
if all(
|
||||
|
||||
@@ -749,18 +749,12 @@ def __init__(self, compiler, feature, flag_name, ver_string=None):
|
||||
class CompilerCacheEntry:
|
||||
"""Deserialized cache entry for a compiler"""
|
||||
|
||||
__slots__ = ("c_compiler_output", "real_version")
|
||||
__slots__ = ["c_compiler_output", "real_version"]
|
||||
|
||||
def __init__(self, c_compiler_output: Optional[str], real_version: str):
|
||||
self.c_compiler_output = c_compiler_output
|
||||
self.real_version = real_version
|
||||
|
||||
@property
|
||||
def empty(self) -> bool:
|
||||
"""Sometimes the compiler is temporarily broken, preventing us from getting output. The
|
||||
call site determines if that is a problem."""
|
||||
return self.c_compiler_output is None
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, data: Dict[str, Optional[str]]):
|
||||
if not isinstance(data, dict):
|
||||
@@ -798,10 +792,9 @@ def __init__(self, cache: "FileCache") -> None:
|
||||
self.cache.init_entry(self.name)
|
||||
self._data: Dict[str, Dict[str, Optional[str]]] = {}
|
||||
|
||||
def _get_entry(self, key: str, *, allow_empty: bool) -> Optional[CompilerCacheEntry]:
|
||||
def _get_entry(self, key: str) -> Optional[CompilerCacheEntry]:
|
||||
try:
|
||||
entry = CompilerCacheEntry.from_dict(self._data[key])
|
||||
return entry if allow_empty or not entry.empty else None
|
||||
return CompilerCacheEntry.from_dict(self._data[key])
|
||||
except ValueError:
|
||||
del self._data[key]
|
||||
except KeyError:
|
||||
@@ -819,7 +812,7 @@ def get(self, compiler: Compiler) -> CompilerCacheEntry:
|
||||
self._data = {}
|
||||
|
||||
key = self._key(compiler)
|
||||
value = self._get_entry(key, allow_empty=False)
|
||||
value = self._get_entry(key)
|
||||
if value is not None:
|
||||
return value
|
||||
|
||||
@@ -833,7 +826,7 @@ def get(self, compiler: Compiler) -> CompilerCacheEntry:
|
||||
self._data = {}
|
||||
|
||||
# Use cache entry that may have been created by another process in the meantime.
|
||||
entry = self._get_entry(key, allow_empty=True)
|
||||
entry = self._get_entry(key)
|
||||
|
||||
# Finally compute the cache entry
|
||||
if entry is None:
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import sys
|
||||
import time
|
||||
from contextlib import contextmanager
|
||||
from typing import Iterable, List, Optional, Sequence, Tuple, Union
|
||||
from typing import Iterable, Optional, Sequence, Tuple, Union
|
||||
|
||||
import llnl.util.tty as tty
|
||||
|
||||
@@ -35,7 +35,6 @@ def enable_compiler_existence_check():
|
||||
CHECK_COMPILER_EXISTENCE = saved
|
||||
|
||||
|
||||
SpecPairInput = Tuple[Spec, Optional[Spec]]
|
||||
SpecPair = Tuple[Spec, Spec]
|
||||
SpecLike = Union[Spec, str]
|
||||
TestsType = Union[bool, Iterable[str]]
|
||||
@@ -60,8 +59,8 @@ def concretize_specs_together(
|
||||
|
||||
|
||||
def concretize_together(
|
||||
spec_list: Sequence[SpecPairInput], tests: TestsType = False
|
||||
) -> List[SpecPair]:
|
||||
spec_list: Sequence[SpecPair], tests: TestsType = False
|
||||
) -> Sequence[SpecPair]:
|
||||
"""Given a number of specs as input, tries to concretize them together.
|
||||
|
||||
Args:
|
||||
@@ -77,8 +76,8 @@ def concretize_together(
|
||||
|
||||
|
||||
def concretize_together_when_possible(
|
||||
spec_list: Sequence[SpecPairInput], tests: TestsType = False
|
||||
) -> List[SpecPair]:
|
||||
spec_list: Sequence[SpecPair], tests: TestsType = False
|
||||
) -> Sequence[SpecPair]:
|
||||
"""Given a number of specs as input, tries to concretize them together to the extent possible.
|
||||
|
||||
See documentation for ``unify: when_possible`` concretization for the precise definition of
|
||||
@@ -114,8 +113,8 @@ def concretize_together_when_possible(
|
||||
|
||||
|
||||
def concretize_separately(
|
||||
spec_list: Sequence[SpecPairInput], tests: TestsType = False
|
||||
) -> List[SpecPair]:
|
||||
spec_list: Sequence[SpecPair], tests: TestsType = False
|
||||
) -> Sequence[SpecPair]:
|
||||
"""Concretizes the input specs separately from each other.
|
||||
|
||||
Args:
|
||||
|
||||
@@ -951,6 +951,12 @@ def set(path: str, value: Any, scope: Optional[str] = None) -> None:
|
||||
return CONFIG.set(path, value, scope)
|
||||
|
||||
|
||||
def add_default_platform_scope(platform: str) -> None:
|
||||
plat_name = os.path.join("defaults", platform)
|
||||
plat_path = os.path.join(CONFIGURATION_DEFAULTS_PATH[1], platform)
|
||||
CONFIG.push_scope(DirectoryConfigScope(plat_name, plat_path))
|
||||
|
||||
|
||||
def scopes() -> Dict[str, ConfigScope]:
|
||||
"""Convenience function to get list of configuration scopes."""
|
||||
return CONFIG.scopes
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
import shutil
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from typing import Dict, List, Optional, Tuple
|
||||
from typing import List, Optional, Tuple
|
||||
|
||||
import llnl.util.filesystem as fs
|
||||
from llnl.util.symlink import readlink
|
||||
@@ -17,6 +17,7 @@
|
||||
import spack.hash_types as ht
|
||||
import spack.projections
|
||||
import spack.spec
|
||||
import spack.store
|
||||
import spack.util.spack_json as sjson
|
||||
from spack.error import SpackError
|
||||
|
||||
@@ -68,9 +69,10 @@ def specs_from_metadata_dirs(root: str) -> List["spack.spec.Spec"]:
|
||||
|
||||
|
||||
class DirectoryLayout:
|
||||
"""A directory layout is used to associate unique paths with specs. Different installations are
|
||||
going to want different layouts for their install, and they can use this to customize the
|
||||
nesting structure of spack installs. The default layout is:
|
||||
"""A directory layout is used to associate unique paths with specs.
|
||||
Different installations are going to want different layouts for their
|
||||
install, and they can use this to customize the nesting structure of
|
||||
spack installs. The default layout is:
|
||||
|
||||
* <install root>/
|
||||
|
||||
@@ -80,30 +82,35 @@ class DirectoryLayout:
|
||||
|
||||
* <name>-<version>-<hash>
|
||||
|
||||
The installation directory projections can be modified with the projections argument."""
|
||||
The hash here is a SHA-1 hash for the full DAG plus the build
|
||||
spec.
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
root,
|
||||
*,
|
||||
projections: Optional[Dict[str, str]] = None,
|
||||
hash_length: Optional[int] = None,
|
||||
) -> None:
|
||||
The installation directory projections can be modified with the
|
||||
projections argument.
|
||||
"""
|
||||
|
||||
def __init__(self, root, **kwargs):
|
||||
self.root = root
|
||||
projections = projections or default_projections
|
||||
self.projections = {key: projection.lower() for key, projection in projections.items()}
|
||||
self.check_upstream = True
|
||||
projections = kwargs.get("projections") or default_projections
|
||||
self.projections = dict(
|
||||
(key, projection.lower()) for key, projection in projections.items()
|
||||
)
|
||||
|
||||
# apply hash length as appropriate
|
||||
self.hash_length = hash_length
|
||||
self.hash_length = kwargs.get("hash_length", None)
|
||||
if self.hash_length is not None:
|
||||
for when_spec, projection in self.projections.items():
|
||||
if "{hash}" not in projection:
|
||||
raise InvalidDirectoryLayoutParametersError(
|
||||
"Conflicting options for installation layout hash length"
|
||||
if "{hash" in projection
|
||||
else "Cannot specify hash length when the hash is not part of all "
|
||||
"install_tree projections"
|
||||
)
|
||||
if "{hash" in projection:
|
||||
raise InvalidDirectoryLayoutParametersError(
|
||||
"Conflicting options for installation layout hash" " length"
|
||||
)
|
||||
else:
|
||||
raise InvalidDirectoryLayoutParametersError(
|
||||
"Cannot specify hash length when the hash is not"
|
||||
" part of all install_tree projections"
|
||||
)
|
||||
self.projections[when_spec] = projection.replace(
|
||||
"{hash}", "{hash:%d}" % self.hash_length
|
||||
)
|
||||
@@ -272,6 +279,13 @@ def path_for_spec(self, spec):
|
||||
|
||||
if spec.external:
|
||||
return spec.external_path
|
||||
if self.check_upstream:
|
||||
upstream, record = spack.store.STORE.db.query_by_spec_hash(spec.dag_hash())
|
||||
if upstream:
|
||||
raise SpackError(
|
||||
"Internal error: attempted to call path_for_spec on"
|
||||
" upstream-installed package."
|
||||
)
|
||||
|
||||
path = self.relative_path_for_spec(spec)
|
||||
assert not path.startswith(self.root)
|
||||
|
||||
@@ -15,10 +15,6 @@
|
||||
SHOW_BACKTRACE = False
|
||||
|
||||
|
||||
class SpackAPIWarning(UserWarning):
|
||||
"""Warning that formats with file and line number."""
|
||||
|
||||
|
||||
class SpackError(Exception):
|
||||
"""This is the superclass for all Spack errors.
|
||||
Subclasses can be found in the modules they have to do with.
|
||||
|
||||
@@ -503,16 +503,16 @@ def make_argument_parser(**kwargs):
|
||||
return parser
|
||||
|
||||
|
||||
def showwarning(message, category, filename, lineno, file=None, line=None):
|
||||
def send_warning_to_tty(message, *args):
|
||||
"""Redirects messages to tty.warn."""
|
||||
if category is spack.error.SpackAPIWarning:
|
||||
tty.warn(f"{filename}:{lineno}: {message}")
|
||||
else:
|
||||
tty.warn(message)
|
||||
tty.warn(message)
|
||||
|
||||
|
||||
def setup_main_options(args):
|
||||
"""Configure spack globals based on the basic options."""
|
||||
# Assign a custom function to show warnings
|
||||
warnings.showwarning = send_warning_to_tty
|
||||
|
||||
# Set up environment based on args.
|
||||
tty.set_verbose(args.verbose)
|
||||
tty.set_debug(args.debug)
|
||||
@@ -903,10 +903,9 @@ def _main(argv=None):
|
||||
# main() is tricky to get right, so be careful where you put things.
|
||||
#
|
||||
# Things in this first part of `main()` should *not* require any
|
||||
# configuration. This doesn't include much -- setting up the parser,
|
||||
# configuration. This doesn't include much -- setting up th parser,
|
||||
# restoring some key environment variables, very simple CLI options, etc.
|
||||
# ------------------------------------------------------------------------
|
||||
warnings.showwarning = showwarning
|
||||
|
||||
# Create a parser with a simple positional argument first. We'll
|
||||
# lazily load the subcommand(s) we need later. This allows us to
|
||||
|
||||
@@ -106,17 +106,10 @@
|
||||
{
|
||||
"names": ["install_missing_compilers"],
|
||||
"message": "The config:install_missing_compilers option has been deprecated in "
|
||||
"Spack v0.23, and is currently ignored. It will be removed from config in "
|
||||
"Spack v0.23, and is currently ignored. It will be removed from config after "
|
||||
"Spack v1.0.",
|
||||
"error": False,
|
||||
},
|
||||
{
|
||||
"names": ["install_path_scheme"],
|
||||
"message": "The config:install_path_scheme option was deprecated in Spack v0.16 "
|
||||
"in favor of config:install_tree:projections:all. It will be removed in Spack "
|
||||
"v1.0.",
|
||||
"error": False,
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
import spack.util.url as url_util
|
||||
import spack.util.web as web_util
|
||||
from spack.binary_distribution import CannotListKeys, GenerateIndexError
|
||||
from spack.directory_layout import DirectoryLayout
|
||||
from spack.paths import test_path
|
||||
from spack.spec import Spec
|
||||
|
||||
@@ -135,28 +136,35 @@ def default_config(tmp_path, config_directory, monkeypatch, install_mockery):
|
||||
@pytest.fixture(scope="function")
|
||||
def install_dir_default_layout(tmpdir):
|
||||
"""Hooks a fake install directory with a default layout"""
|
||||
scheme = os.path.join(
|
||||
"${architecture}", "${compiler.name}-${compiler.version}", "${name}-${version}-${hash}"
|
||||
)
|
||||
real_store, real_layout = spack.store.STORE, spack.store.STORE.layout
|
||||
opt_dir = tmpdir.join("opt")
|
||||
original_store, spack.store.STORE = spack.store.STORE, spack.store.Store(str(opt_dir))
|
||||
spack.store.STORE = spack.store.Store(str(opt_dir))
|
||||
spack.store.STORE.layout = DirectoryLayout(str(opt_dir), path_scheme=scheme)
|
||||
try:
|
||||
yield spack.store
|
||||
finally:
|
||||
spack.store.STORE = original_store
|
||||
spack.store.STORE = real_store
|
||||
spack.store.STORE.layout = real_layout
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def install_dir_non_default_layout(tmpdir):
|
||||
"""Hooks a fake install directory with a non-default layout"""
|
||||
opt_dir = tmpdir.join("opt")
|
||||
original_store, spack.store.STORE = spack.store.STORE, spack.store.Store(
|
||||
str(opt_dir),
|
||||
projections={
|
||||
"all": "{name}/{version}/{architecture}-{compiler.name}-{compiler.version}-{hash}"
|
||||
},
|
||||
scheme = os.path.join(
|
||||
"${name}", "${version}", "${architecture}-${compiler.name}-${compiler.version}-${hash}"
|
||||
)
|
||||
real_store, real_layout = spack.store.STORE, spack.store.STORE.layout
|
||||
opt_dir = tmpdir.join("opt")
|
||||
spack.store.STORE = spack.store.Store(str(opt_dir))
|
||||
spack.store.STORE.layout = DirectoryLayout(str(opt_dir), path_scheme=scheme)
|
||||
try:
|
||||
yield spack.store
|
||||
finally:
|
||||
spack.store.STORE = original_store
|
||||
spack.store.STORE = real_store
|
||||
spack.store.STORE.layout = real_layout
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
|
||||
@@ -312,7 +312,6 @@ def test_ci_generate_with_custom_settings(
|
||||
"spack -d ci rebuild",
|
||||
"cd ENV",
|
||||
"spack env activate --without-view .",
|
||||
"spack spec /$SPACK_JOB_SPEC_DAG_HASH",
|
||||
"spack ci rebuild",
|
||||
]
|
||||
assert ci_obj["after_script"] == ["rm -rf /some/path/spack"]
|
||||
|
||||
@@ -635,6 +635,11 @@ def ensure_debug(monkeypatch):
|
||||
tty.set_debug(current_debug_level)
|
||||
|
||||
|
||||
@pytest.fixture(autouse=sys.platform == "win32", scope="session")
|
||||
def platform_config():
|
||||
spack.config.add_default_platform_scope(spack.platforms.real_host().name)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def default_config():
|
||||
"""Isolates the default configuration from the user configs.
|
||||
|
||||
@@ -14,10 +14,10 @@ default:
|
||||
image: { "name": "ghcr.io/spack/e4s-ubuntu-18.04:v2021-10-18", "entrypoint": [""] }
|
||||
|
||||
# CI Platform-Arch
|
||||
.cray_rhel_x86_64_v3:
|
||||
.cray_rhel_zen4:
|
||||
variables:
|
||||
SPACK_TARGET_PLATFORM: "cray-rhel"
|
||||
SPACK_TARGET_ARCH: "x86_64_v3"
|
||||
SPACK_TARGET_ARCH: "zen4"
|
||||
|
||||
.cray_sles_zen4:
|
||||
variables:
|
||||
@@ -884,7 +884,7 @@ aws-pcluster-build-neoverse_v1:
|
||||
- cat /proc/meminfo | grep 'MemTotal\|MemFree' || true
|
||||
|
||||
.generate-cray-rhel:
|
||||
tags: [ "cray-rhel-x86_64_v3", "public" ]
|
||||
tags: [ "cray-rhel-zen4", "public" ]
|
||||
extends: [ ".generate-cray" ]
|
||||
|
||||
.generate-cray-sles:
|
||||
@@ -896,7 +896,7 @@ aws-pcluster-build-neoverse_v1:
|
||||
# E4S - Cray RHEL
|
||||
#######################################
|
||||
.e4s-cray-rhel:
|
||||
extends: [ ".cray_rhel_x86_64_v3" ]
|
||||
extends: [ ".cray_rhel_zen4" ]
|
||||
variables:
|
||||
SPACK_CI_STACK_NAME: e4s-cray-rhel
|
||||
|
||||
@@ -904,6 +904,7 @@ e4s-cray-rhel-generate:
|
||||
extends: [ ".generate-cray-rhel", ".e4s-cray-rhel" ]
|
||||
|
||||
e4s-cray-rhel-build:
|
||||
allow_failure: true # libsci_cray.so broken, misses DT_NEEDED for libdl.so
|
||||
extends: [ ".build", ".e4s-cray-rhel" ]
|
||||
trigger:
|
||||
include:
|
||||
@@ -922,10 +923,10 @@ e4s-cray-rhel-build:
|
||||
variables:
|
||||
SPACK_CI_STACK_NAME: e4s-cray-sles
|
||||
|
||||
.e4s-cray-sles-generate:
|
||||
e4s-cray-sles-generate:
|
||||
extends: [ ".generate-cray-sles", ".e4s-cray-sles" ]
|
||||
|
||||
.e4s-cray-sles-build:
|
||||
e4s-cray-sles-build:
|
||||
allow_failure: true # libsci_cray.so broken, misses DT_NEEDED for libdl.so
|
||||
extends: [ ".build", ".e4s-cray-sles" ]
|
||||
trigger:
|
||||
|
||||
@@ -7,4 +7,6 @@ config:
|
||||
padded_length: 256
|
||||
projections:
|
||||
all: '{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}'
|
||||
build_stage:
|
||||
- $spack/tmp/stage
|
||||
|
||||
|
||||
@@ -1,27 +1,31 @@
|
||||
compilers:
|
||||
- compiler:
|
||||
spec: cce@=18.0.0
|
||||
spec: cce@15.0.1
|
||||
paths:
|
||||
cc: /opt/cray/pe/cce/18.0.0/bin/craycc
|
||||
cxx: /opt/cray/pe/cce/18.0.0/bin/crayCC
|
||||
f77: /opt/cray/pe/cce/18.0.0/bin/crayftn
|
||||
fc: /opt/cray/pe/cce/18.0.0/bin/crayftn
|
||||
cc: cc
|
||||
cxx: CC
|
||||
f77: ftn
|
||||
fc: ftn
|
||||
flags: {}
|
||||
operating_system: rhel8
|
||||
target: x86_64
|
||||
modules: []
|
||||
environment: {}
|
||||
extra_rpaths: []
|
||||
target: any
|
||||
modules:
|
||||
- PrgEnv-cray/8.3.3
|
||||
- cce/15.0.1
|
||||
environment:
|
||||
set:
|
||||
MACHTYPE: x86_64
|
||||
- compiler:
|
||||
spec: gcc@=8.5.0
|
||||
spec: gcc@11.2.0
|
||||
paths:
|
||||
cc: /usr/bin/gcc
|
||||
cxx: /usr/bin/g++
|
||||
f77: /usr/bin/gfortran
|
||||
fc: /usr/bin/gfortran
|
||||
cc: gcc
|
||||
cxx: g++
|
||||
f77: gfortran
|
||||
fc: gfortran
|
||||
flags: {}
|
||||
operating_system: rhel8
|
||||
target: x86_64
|
||||
modules: []
|
||||
environment: {}
|
||||
extra_rpaths: []
|
||||
target: any
|
||||
modules:
|
||||
- PrgEnv-gnu
|
||||
- gcc/11.2.0
|
||||
environment: {}
|
||||
@@ -1,15 +1,16 @@
|
||||
packages:
|
||||
# EXTERNALS
|
||||
cray-mpich:
|
||||
buildable: false
|
||||
externals:
|
||||
- spec: cray-mpich@8.1.30 %cce
|
||||
prefix: /opt/cray/pe/mpich/8.1.30/ofi/cray/18.0
|
||||
- spec: cray-mpich@8.1.25 %cce@15.0.1
|
||||
prefix: /opt/cray/pe/mpich/8.1.25/ofi/cray/10.0
|
||||
modules:
|
||||
- cray-mpich/8.1.30
|
||||
- cray-mpich/8.1.25
|
||||
cray-libsci:
|
||||
buildable: false
|
||||
externals:
|
||||
- spec: cray-libsci@24.07.0 %cce
|
||||
prefix: /opt/cray/pe/libsci/24.07.0/CRAY/18.0/x86_64/
|
||||
- spec: cray-libsci@23.02.1.1 %cce@15.0.1
|
||||
prefix: /opt/cray/pe/libsci/23.02.1.1/CRAY/9.0/x86_64/
|
||||
modules:
|
||||
- cray-libsci/24.07.0
|
||||
- cray-libsci/23.02.1.1
|
||||
@@ -1,4 +0,0 @@
|
||||
ci:
|
||||
pipeline-gen:
|
||||
- build-job:
|
||||
tags: ["cray-rhel-x86_64_v3"]
|
||||
@@ -0,0 +1,4 @@
|
||||
ci:
|
||||
pipeline-gen:
|
||||
- build-job:
|
||||
tags: ["cray-rhel-zen4"]
|
||||
@@ -13,7 +13,6 @@ spack:
|
||||
- openjpeg # CMakePackage
|
||||
- r-rcpp # RPackage
|
||||
- ruby-rake # RubyPackage
|
||||
- perl-data-dumper # PerlPackage
|
||||
- arch:
|
||||
- '%gcc'
|
||||
|
||||
|
||||
@@ -14,7 +14,8 @@ spack:
|
||||
|
||||
packages:
|
||||
all:
|
||||
require: "%cce@18.0.0 target=x86_64_v3"
|
||||
prefer:
|
||||
- "%cce"
|
||||
compiler: [cce]
|
||||
providers:
|
||||
blas: [cray-libsci]
|
||||
@@ -22,15 +23,17 @@ spack:
|
||||
mpi: [cray-mpich]
|
||||
tbb: [intel-tbb]
|
||||
scalapack: [netlib-scalapack]
|
||||
target: [zen4]
|
||||
variants: +mpi
|
||||
ncurses:
|
||||
require: +termlib ldflags=-Wl,--undefined-version
|
||||
|
||||
tbb:
|
||||
require: "intel-tbb"
|
||||
binutils:
|
||||
variants: +ld +gold +headers +libiberty ~nls
|
||||
boost:
|
||||
variants: +python +filesystem +iostreams +system
|
||||
cuda:
|
||||
version: [11.7.0]
|
||||
elfutils:
|
||||
variants: ~nls
|
||||
require: "%gcc"
|
||||
@@ -40,14 +43,18 @@ spack:
|
||||
variants: +fortran +hl +shared
|
||||
libfabric:
|
||||
variants: fabrics=sockets,tcp,udp,rxm
|
||||
libunwind:
|
||||
variants: +pic +xz
|
||||
mgard:
|
||||
require:
|
||||
- "@2023-01-10:"
|
||||
mpich:
|
||||
variants: ~wrapperrpath
|
||||
ncurses:
|
||||
variants: +termlib
|
||||
paraview:
|
||||
# Don't build GUI support or GLX rendering for HPC/container deployments
|
||||
require: "~qt ^[virtuals=gl] osmesa"
|
||||
require: "@5.11 ~qt ^[virtuals=gl] osmesa"
|
||||
trilinos:
|
||||
require:
|
||||
- one_of: [+amesos +amesos2 +anasazi +aztec +boost +epetra +epetraext +ifpack
|
||||
@@ -58,6 +65,12 @@ spack:
|
||||
- one_of: [~ml ~muelu ~zoltan2 ~teko, +ml +muelu +zoltan2 +teko]
|
||||
- one_of: [+superlu-dist, ~superlu-dist]
|
||||
- one_of: [+shylu, ~shylu]
|
||||
xz:
|
||||
variants: +pic
|
||||
mesa:
|
||||
version: [21.3.8]
|
||||
unzip:
|
||||
require: "%gcc"
|
||||
|
||||
specs:
|
||||
# CPU
|
||||
@@ -65,43 +78,62 @@ spack:
|
||||
- aml
|
||||
- arborx
|
||||
- argobots
|
||||
- bolt
|
||||
- butterflypack
|
||||
- boost +python +filesystem +iostreams +system
|
||||
- cabana
|
||||
- caliper
|
||||
- chai
|
||||
- charliecloud
|
||||
- conduit
|
||||
# - cp2k +mpi # libxsmm: ftn-78 ftn: ERROR in command linel; The -f option has an invalid argument, "tree-vectorize".
|
||||
- datatransferkit
|
||||
- flecsi
|
||||
- flit
|
||||
- flux-core
|
||||
- fortrilinos
|
||||
- ginkgo
|
||||
- globalarrays
|
||||
- gmp
|
||||
- gotcha
|
||||
- h5bench
|
||||
- hdf5-vol-async
|
||||
- hdf5-vol-cache cflags=-Wno-error=incompatible-function-pointer-types
|
||||
- hdf5-vol-cache
|
||||
- hdf5-vol-log
|
||||
- heffte +fftw
|
||||
- hpx max_cpu_count=512 networking=mpi
|
||||
- hypre
|
||||
- kokkos +openmp
|
||||
- kokkos-kernels +openmp
|
||||
- lammps
|
||||
- legion
|
||||
- libnrm
|
||||
#- libpressio +bitgrooming +bzip2 ~cuda ~cusz +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf +mgard # mgard:
|
||||
- libquo
|
||||
- libunwind
|
||||
- mercury
|
||||
- metall
|
||||
- mfem
|
||||
# - mgard +serial +openmp +timing +unstructured ~cuda # mgard
|
||||
- mpark-variant
|
||||
- mpifileutils ~xattr cflags=-Wno-error=implicit-function-declaration
|
||||
- mpifileutils ~xattr
|
||||
- nccmp
|
||||
- nco
|
||||
- netlib-scalapack cflags=-Wno-error=implicit-function-declaration
|
||||
- netlib-scalapack
|
||||
- omega-h
|
||||
- openmpi
|
||||
- openpmd-api ^adios2~mgard
|
||||
- papi
|
||||
- papyrus
|
||||
- pdt
|
||||
- petsc
|
||||
- plumed
|
||||
- precice
|
||||
- pumi
|
||||
- py-h5py +mpi
|
||||
- py-h5py ~mpi
|
||||
- py-libensemble +mpi +nlopt
|
||||
- py-petsc4py
|
||||
- qthreads scheduler=distrib
|
||||
- raja
|
||||
- slate ~cuda
|
||||
@@ -114,7 +146,8 @@ spack:
|
||||
- swig@4.0.2-fortran
|
||||
- sz3
|
||||
- tasmanian
|
||||
- trilinos +belos +ifpack2 +stokhos
|
||||
- tau +mpi +python
|
||||
- trilinos@13.0.1 +belos +ifpack2 +stokhos
|
||||
- turbine
|
||||
- umap
|
||||
- umpire
|
||||
@@ -124,47 +157,27 @@ spack:
|
||||
# - alquimia # pflotran: petsc-3.19.4-c6pmpdtpzarytxo434zf76jqdkhdyn37/lib/petsc/conf/rules:169: material_aux.o] Error 1: fortran errors
|
||||
# - amrex # disabled temporarily pending resolution of unreproducible CI failure
|
||||
# - axom # axom: CMake Error at axom/sidre/cmake_install.cmake:154 (file): file INSTALL cannot find "/tmp/gitlab-runner-2/spack-stage/spack-stage-axom-0.8.1-jvol6riu34vuyqvrd5ft2gyhrxdqvf63/spack-build-jvol6ri/lib/fortran/axom_spio.mod": No such file or directory.
|
||||
# - bolt # ld.lld: error: CMakeFiles/bolt-omp.dir/kmp_gsupport.cpp.o: symbol GOMP_atomic_end@@GOMP_1.0 has undefined version GOMP_1.0
|
||||
# - bricks # bricks: clang-15: error: clang frontend command failed with exit code 134 (use -v to see invocation)
|
||||
# - butterflypack ^netlib-scalapack cflags=-Wno-error=implicit-function-declaration # ftn-2116 ftn: INTERNAL "driver" was terminated due to receipt of signal 01: Hangup.
|
||||
# - caliper # papi: papi_internal.c:124:3: error: use of undeclared identifier '_papi_hwi_my_thread'; did you mean '_papi_hwi_read'?
|
||||
# - charliecloud # libxcrypt-4.4.35: ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_r' failed: symbol not defined
|
||||
# - cp2k +mpi # libxsmm: ftn-78 ftn: ERROR in command linel; The -f option has an invalid argument, "tree-vectorize".
|
||||
# - dealii # llvm@14.0.6: ?; intel-tbb@2020.3: clang-15: error: unknown argument: '-flifetime-dse=1'; assimp@5.2.5: clang-15: error: clang frontend command failed with exit code 134 (use -v to see invocation)
|
||||
# - dyninst # requires %gcc
|
||||
# - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 +paraview +pnetcdf +sz +unifyfs +veloc ~visit +vtkm +zfp ^hdf5@1.14 # llvm@14.0.6: ?;
|
||||
# - exaworks # rust: ld.lld: error: relocation R_X86_64_32 cannot be used against local symbol; recompile with -fPIC'; defined in /opt/cray/pe/cce/15.0.1/cce/x86_64/lib/no_mmap.o, referenced by /opt/cray/pe/cce/15.0.1/cce/x86_64/lib/no_mmap.o:(__no_mmap_for_malloc)
|
||||
# - flux-core # libxcrypt-4.4.35: ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_r' failed: symbol not defined
|
||||
# - fortrilinos # trilinos-14.0.0: packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp:67:8: error: no type named 'uint32_t' in namespace 'std'
|
||||
# - gasnet # configure error: User requested --enable-ofi but I don't know how to build ofi programs for your system
|
||||
# - gptune # py-scipy: meson.build:82:0: ERROR: Unknown compiler(s): [['/home/gitlab-runner-3/builds/dWfnZWPh/0/spack/spack/lib/spack/env/cce/ftn']]
|
||||
# - hpctoolkit # dyninst requires %gcc
|
||||
# - hpx max_cpu_count=512 networking=mpi # libxcrypt-4.4.35
|
||||
# - lammps # lammps-20240829.1: Reversed (or previously applied) patch detected! Assume -R? [n]
|
||||
# - libpressio +bitgrooming +bzip2 ~cuda ~cusz +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf +mgard # mgard:
|
||||
# - mgard +serial +openmp +timing +unstructured ~cuda # mgard
|
||||
# - nrm # py-scipy: meson.build:82:0: ERROR: Unknown compiler(s): [['/home/gitlab-runner-3/builds/dWfnZWPh/0/spack/spack/lib/spack/env/cce/ftn']]
|
||||
# - nvhpc # requires %gcc
|
||||
# - omega-h # trilinos-13.4.1: packages/kokkos/core/src/impl/Kokkos_MemoryPool.cpp:112:48: error: unknown type name 'uint32_t'
|
||||
# - openmpi # libxcrypt-4.4.35: ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_r' failed: symbol not defined
|
||||
# - papi # papi_internal.c:124:3: error: use of undeclared identifier '_papi_hwi_my_thread'; did you mean '_papi_hwi_read'?
|
||||
# - parsec ~cuda # parsec: parsec/fortran/CMakeFiles/parsec_fortran.dir/parsecf.F90.o: ftn-2103 ftn: WARNING in command line. The -W extra option is not supported or invalid and will be ignored.
|
||||
# - phist # fortran_bindings/CMakeFiles/phist_fort.dir/phist_testing.F90.o: ftn-78 ftn: ERROR in command line. The -f option has an invalid argument, "no-math-errno".
|
||||
# - plasma # %cce conflict
|
||||
# - plumed # libxcrypt-4.4.35: ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_r' failed: symbol not defined
|
||||
# - py-h5py +mpi # libxcrypt-4.4.35: ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_r' failed: symbol not defined
|
||||
# - py-h5py ~mpi # libxcrypt-4.4.35: ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_r' failed: symbol not defined
|
||||
# - py-jupyterhub # rust: ld.lld: error: relocation R_X86_64_32 cannot be used against local symbol; recompile with -fPIC'; defined in /opt/cray/pe/cce/15.0.1/cce/x86_64/lib/no_mmap.o, referenced by /opt/cray/pe/cce/15.0.1/cce/x86_64/lib/no_mmap.o:(__no_mmap_for_malloc)
|
||||
# - py-libensemble +mpi +nlopt # libxcrypt-4.4.35: ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_r' failed: symbol not defined
|
||||
# - py-petsc4py # libxcrypt-4.4.35: ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_r' failed: symbol not defined
|
||||
# - quantum-espresso # quantum-espresso: CMake Error at cmake/FindSCALAPACK.cmake:503 (message): A required library with SCALAPACK API not found. Please specify library
|
||||
# - scr # scr: make[2]: *** [examples/CMakeFiles/test_ckpt_F.dir/build.make:112: examples/test_ckpt_F] Error 1: /opt/cray/pe/cce/15.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ld: /opt/cray/pe/mpich/8.1.25/ofi/cray/10.0/lib/libmpi_cray.so: undefined reference to `PMI_Barrier'
|
||||
# - strumpack ~slate # strumpack: [test/CMakeFiles/test_HSS_seq.dir/build.make:117: test/test_HSS_seq] Error 1: ld.lld: error: undefined reference due to --no-allow-shlib-undefined: mpi_abort_
|
||||
# - tau +mpi +python # libelf: configure: error: installation or configuration problem: C compiler cannot create executables.; papi: papi_internal.c:124:3: error: use of undeclared identifier '_papi_hwi_my_thread'; did you mean '_papi_hwi_read'?
|
||||
# - upcxx # upcxx: configure error: User requested --enable-ofi but I don't know how to build ofi programs for your system
|
||||
# - variorum # variorum: /opt/cray/pe/cce/15.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ld: /opt/cray/pe/lib64/libpals.so.0: undefined reference to `json_array_append_new@@libjansson.so.4'
|
||||
# - warpx +python # py-scipy: meson.build:82:0: ERROR: Unknown compiler(s): [['/home/gitlab-runner-3/builds/dWfnZWPh/0/spack/spack/lib/spack/env/cce/ftn']]
|
||||
# - xyce +mpi +shared +pymi +pymi_static_tpls ^trilinos~shylu # openblas: ftn-2307 ftn: ERROR in command line: The "-m" option must be followed by 0, 1, 2, 3 or 4.; make[2]: *** [<builtin>: spotrf2.o] Error 1; make[1]: *** [Makefile:27: lapacklib] Error 2; make: *** [Makefile:250: netlib] Error 2
|
||||
# - warpx +python # py-scipy: meson.build:82:0: ERROR: Unknown compiler(s): [['/home/gitlab-runner-3/builds/dWfnZWPh/0/spack/spack/lib/spack/env/cce/ftn']]
|
||||
|
||||
cdash:
|
||||
build-group: E4S Cray
|
||||
|
||||
@@ -31,7 +31,6 @@ spack:
|
||||
specs:
|
||||
# CPU
|
||||
- acts +analysis +dd4hep +edm4hep +examples +fatras +geant4 +hepmc3 +podio +pythia8 +python +tgeo cxxstd=20
|
||||
- celeritas +geant4 +hepmc3 +openmp +root +shared +vecgeom cxxstd=20
|
||||
- dd4hep +ddalign +ddcad +ddcond +dddetectors +dddigi +ddeve +ddg4 +ddrec +edm4hep +hepmc3 +lcio +utilityapps +xercesc
|
||||
- delphes +pythia8
|
||||
- edm4hep
|
||||
|
||||
@@ -93,7 +93,7 @@ class AbseilCpp(CMakePackage):
|
||||
depends_on("cmake@3.5:", when="@20190312:", type="build")
|
||||
depends_on("cmake@3.1:", type="build")
|
||||
|
||||
depends_on("googletest~absl", type="test", when="@20220623:")
|
||||
depends_on("googletest", type="build", when="@20220623:")
|
||||
|
||||
def cmake_args(self):
|
||||
run_tests = self.run_tests and self.spec.satisfies("@20220623:")
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
cd ${0%/*} || exit 1 # Run from this directory
|
||||
|
||||
applications/Allwmake $targetType $*
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/bin/sh
|
||||
cd ${0%/*} || exit 1 # Run from this directory
|
||||
|
||||
# Parse arguments for library compilation
|
||||
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
|
||||
|
||||
wmake $targetType solvers/additiveFoam/functionObjects/ExaCA
|
||||
wmake $targetType solvers/additiveFoam/movingHeatSource
|
||||
wmake $targetType solvers/additiveFoam
|
||||
@@ -2,14 +2,10 @@
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
import inspect
|
||||
import os
|
||||
|
||||
import llnl.util.tty as tty
|
||||
|
||||
import spack.pkg.builtin.openfoam as openfoam
|
||||
from spack.package import *
|
||||
from spack.version import Version
|
||||
from spack.pkg.builtin.openfoam import add_extra_files
|
||||
|
||||
|
||||
class Additivefoam(Package):
|
||||
@@ -33,36 +29,14 @@ class Additivefoam(Package):
|
||||
depends_on("openfoam-org@10")
|
||||
|
||||
common = ["spack-derived-Allwmake"]
|
||||
assets = [join_path("applications", "Allwmake"), "Allwmake"]
|
||||
assets = ["applications/Allwmake", "Allwmake"]
|
||||
|
||||
build_script = "./spack-derived-Allwmake"
|
||||
|
||||
phases = ["configure", "build", "install"]
|
||||
|
||||
def add_extra_files(self, common, local_prefix, local):
|
||||
"""Copy additional common and local files into the stage.source_path
|
||||
from the openfoam/common and the package/assets directories,
|
||||
respectively. Modified from `spack.pkg.builtin.openfoam.add_extra_files()`.
|
||||
"""
|
||||
outdir = self.stage.source_path
|
||||
indir = join_path(os.path.dirname(inspect.getfile(openfoam)), "common")
|
||||
for f in common:
|
||||
tty.info("Added file {0}".format(f))
|
||||
openfoam.install(join_path(indir, f), join_path(outdir, f))
|
||||
|
||||
indir = join_path(self.package_dir, "assets", local_prefix)
|
||||
for f in local:
|
||||
tty.info("Added file {0}".format(f))
|
||||
openfoam.install(join_path(indir, f), join_path(outdir, f))
|
||||
|
||||
def patch(self):
|
||||
spec = self.spec
|
||||
asset_dir = ""
|
||||
if Version("main") in spec.versions:
|
||||
asset_dir = "assets_main"
|
||||
elif Version("1.0.0") in spec.versions:
|
||||
asset_dir = "assets_1.0.0"
|
||||
self.add_extra_files(self.common, asset_dir, self.assets)
|
||||
add_extra_files(self, self.common, self.assets)
|
||||
|
||||
def configure(self, spec, prefix):
|
||||
pass
|
||||
|
||||
@@ -12,8 +12,8 @@ class Alpgen(CMakePackage, MakefilePackage):
|
||||
in hadronic collisions.
|
||||
"""
|
||||
|
||||
homepage = "https://alpgen.web.cern.ch/"
|
||||
url = "https://alpgen.web.cern.ch/V2.1/v214.tgz"
|
||||
homepage = "http://mlm.home.cern.ch/mlm/alpgen/"
|
||||
url = "http://mlm.home.cern.ch/mlm/alpgen/V2.1/v214.tgz"
|
||||
|
||||
tags = ["hep"]
|
||||
|
||||
|
||||
@@ -28,8 +28,6 @@ class Apptainer(SingularityBase):
|
||||
url = "https://github.com/apptainer/apptainer/releases/download/v1.0.2/apptainer-1.0.2.tar.gz"
|
||||
git = "https://github.com/apptainer/apptainer.git"
|
||||
|
||||
maintainers("wdconinc")
|
||||
|
||||
license(
|
||||
"BSD-3-Clause AND BSD-3-Clause-LBNL"
|
||||
" AND BSD-2-Clause AND Apache-2.0 AND MIT AND MPL-2.0 AND Unlicense",
|
||||
@@ -37,8 +35,6 @@ class Apptainer(SingularityBase):
|
||||
)
|
||||
|
||||
version("main", branch="main")
|
||||
version("1.3.6", sha256="b5343369e7fdf67572f887d81f8d2b938f099fb39c876d96430d747935960d51")
|
||||
version("1.3.5", sha256="fe1c977da952edf1056915b2df67ae2203ef06065d4e4901a237c902329306b2")
|
||||
version("1.3.4", sha256="c6ccfdd7c967e5c36dde8711f369c4ac669a16632b79fa0dcaf7e772b7a47397")
|
||||
version("1.3.3", sha256="94a274ab4898cdb131f4e3867c4e15f7e16bc2823303d2afcbafee0242f0838d")
|
||||
version("1.3.2", sha256="483910727e1a15843b93d9f2db1fc87e27804de9c74da13cc32cd4bd0d35e079")
|
||||
|
||||
@@ -56,17 +56,6 @@ class Bash(AutotoolsPackage, GNUMirrorPackage):
|
||||
("5.2", "024", "971534490117eb05d97d7fd81f5f9d8daf927b4d581231844ffae485651b02c3"),
|
||||
("5.2", "025", "5138f487e7cf71a6323dc81d22419906f1535b89835cc2ff68847e1a35613075"),
|
||||
("5.2", "026", "96ee1f549aa0b530521e36bdc0ba7661602cfaee409f7023cac744dd42852eac"),
|
||||
("5.2", "027", "e12a890a2e4f0d9c6ec1ce65b73da4fe116c8e4209bac8ac9dc4cd96f486ab39"),
|
||||
("5.2", "028", "6042780ba2893daca4a3f0f9b65728592cd7bb6d4cebe073855a6aad4d63aac1"),
|
||||
("5.2", "029", "125cacb37e625471924b3ee06c54cb1bf21b3b7fe0e569d24a681b0ec4a29987"),
|
||||
("5.2", "030", "c3ff73230e123acdb5ac216921a386df8f74340459533d776d02811a1f76698f"),
|
||||
("5.2", "031", "c2d1b7be2df771126105020af7fafa00fffd4deff4a4e45d60fc6a235bcba795"),
|
||||
("5.2", "032", "7b9c77daeca93ff711781d7537234166e83ed9835ce1ee7dcd5742319c372a16"),
|
||||
("5.2", "033", "013ec6cc10ad98060a7c34ed5c11187bcc5bf4510f32de0d545db89a9a52a2e2"),
|
||||
("5.2", "034", "899fbb3b338048fe52a9c8252bf65ef1194cdff4f7a3fb3316f5f2396143232e"),
|
||||
("5.2", "035", "821a0a47fa692bb0a39482728b1b396bf951e2912768fea6f3026c813c1913e5"),
|
||||
("5.2", "036", "15c93f4936a5e5b88301f3ede767a23d3dd19635af2f3a91fb4cc0e560ca9057"),
|
||||
("5.2", "037", "8a2c1c3b5125d9ae5b47882f7d2ddf9648805f8c67c13aa5ea7efeac475cda94"),
|
||||
("5.1", "001", "ebb07b3dbadd98598f078125d0ae0d699295978a5cdaef6282fe19adef45b5fa"),
|
||||
("5.1", "002", "15ea6121a801e48e658ceee712ea9b88d4ded022046a6147550790caf04f5dbe"),
|
||||
("5.1", "003", "22f2cc262f056b22966281babf4b0a2f84cb7dd2223422e5dcd013c3dcbab6b1"),
|
||||
|
||||
@@ -15,8 +15,6 @@ class Cfitsio(AutotoolsPackage):
|
||||
|
||||
license("custom")
|
||||
|
||||
version("4.5.0", sha256="e4854fc3365c1462e493aa586bfaa2f3d0bb8c20b75a524955db64c27427ce09")
|
||||
version("4.4.1", sha256="66a1dc3f21800f9eeabd9eac577b91fcdd9aabba678fbba3b8527319110d1d25")
|
||||
version("4.4.0", sha256="95900cf95ae760839e7cb9678a7b2fad0858d6ac12234f934bd1cb6bfc246ba9")
|
||||
version("4.3.0", sha256="fdadc01d09cf9f54253802c5ec87eb10de51ce4130411415ae88c30940621b8b")
|
||||
version("4.2.0", sha256="eba53d1b3f6e345632bb09a7b752ec7ced3d63ec5153a848380f3880c5d61889")
|
||||
@@ -30,18 +28,17 @@ class Cfitsio(AutotoolsPackage):
|
||||
version("3.41", sha256="a556ac7ea1965545dcb4d41cfef8e4915eeb8c0faa1b52f7ff70870f8bb5734c")
|
||||
version("3.37", sha256="092897c6dae4dfe42d91d35a738e45e8236aa3d8f9b3ffc7f0e6545b8319c63a")
|
||||
|
||||
variant("bzip2", default=True, description="Enable bzip2 support")
|
||||
variant("fortran", default=True, description="Build with fortran support")
|
||||
variant("shared", default=True, description="Build shared libraries", when="@:3.46")
|
||||
depends_on("c", type="build") # generated
|
||||
depends_on("fortran", type="build") # generated
|
||||
|
||||
depends_on("c", type="build")
|
||||
depends_on("fortran", type="build", when="+fortran")
|
||||
variant("bzip2", default=True, description="Enable bzip2 support")
|
||||
variant("shared", default=True, description="Build shared libraries")
|
||||
|
||||
depends_on("curl")
|
||||
depends_on("bzip2", when="+bzip2")
|
||||
|
||||
def url_for_version(self, version):
|
||||
if self.spec.satisfies("@3.47:"):
|
||||
if version >= Version("3.47"):
|
||||
return super().url_for_version(version)
|
||||
|
||||
url = "http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio{0}0.tar.gz"
|
||||
@@ -51,11 +48,7 @@ def configure_args(self):
|
||||
spec = self.spec
|
||||
extra_args = []
|
||||
if spec.satisfies("+bzip2"):
|
||||
extra_args.append(f"--with-bzip2={spec['bzip2'].prefix}")
|
||||
if spec.satisfies("@:4.4 ~fortran"):
|
||||
extra_args.append("FC=none")
|
||||
if spec.satisfies("@4.5: ~fortran"):
|
||||
extra_args.append("--without-fortran")
|
||||
extra_args.append(f"--with-bzip2={spec['bzip2'].prefix}"),
|
||||
return extra_args
|
||||
|
||||
@property
|
||||
|
||||
@@ -30,14 +30,9 @@ class Curl(NMakePackage, AutotoolsPackage):
|
||||
|
||||
license("curl")
|
||||
|
||||
version("8.11.1", sha256="e9773ad1dfa21aedbfe8e1ef24c9478fa780b1b3d4f763c98dd04629b5e43485")
|
||||
version("8.10.1", sha256="3763cd97aae41dcf41950d23e87ae23b2edb2ce3a5b0cf678af058c391b6ae31")
|
||||
|
||||
# Deprecated versions due to CVEs
|
||||
version(
|
||||
"8.10.1",
|
||||
sha256="3763cd97aae41dcf41950d23e87ae23b2edb2ce3a5b0cf678af058c391b6ae31",
|
||||
deprecated=True,
|
||||
)
|
||||
version(
|
||||
"8.8.0",
|
||||
sha256="40d3792d38cfa244d8f692974a567e9a5f3387c547579f1124e95ea2a1020d0d",
|
||||
|
||||
@@ -58,9 +58,6 @@ class Ectrans(CMakePackage):
|
||||
depends_on("fiat~mpi", when="~mpi")
|
||||
depends_on("fiat+mpi", when="+mpi")
|
||||
|
||||
# https://github.com/ecmwf-ifs/ectrans/issues/194
|
||||
conflicts("%oneapi@2025:", when="@1.3.1:1.5.1")
|
||||
|
||||
def cmake_args(self):
|
||||
args = [
|
||||
self.define_from_variant("ENABLE_MPI", "mpi"),
|
||||
|
||||
@@ -90,8 +90,6 @@ class Edm4hep(CMakePackage):
|
||||
# Corresponding changes in EDM4hep landed with https://github.com/key4hep/EDM4hep/pull/314
|
||||
extends("python", when="@0.10.6:")
|
||||
|
||||
conflicts("%clang@:16", when="@0.99.1:", msg="Incomplete consteval support in clang")
|
||||
|
||||
def cmake_args(self):
|
||||
args = [
|
||||
self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"),
|
||||
|
||||
@@ -16,20 +16,24 @@ class Evtgen(CMakePackage):
|
||||
|
||||
maintainers("vvolkl")
|
||||
|
||||
version("02.02.03", sha256="b642700b703190e3304edb98ff464622db5d03c1cfc5d275ba4a628227d7d6d0")
|
||||
version("02.02.02", sha256="e543d1213cd5003124139d0dc7eee9247b0b9d44154ff8a88bac52ba91c5dfc9")
|
||||
version("02.02.01", sha256="1fcae56c6b27b89c4a2f4b224d27980607442185f5570e961f6334a3543c6e77")
|
||||
version("02.02.00", sha256="0c626e51cb17e799ad0ffd0beea5cb94d7ac8a5f8777b746aa1944dd26071ecf")
|
||||
version("02.00.00", sha256="02372308e1261b8369d10538a3aa65fe60728ab343fcb64b224dac7313deb719")
|
||||
# switched to cmake in 02.00.00
|
||||
version(
|
||||
"01.07.00",
|
||||
sha256="2648f1e2be5f11568d589d2079f22f589c283a2960390bbdb8d9d7f71bc9c014",
|
||||
deprecated=True,
|
||||
)
|
||||
|
||||
depends_on("cxx", type="build") # generated
|
||||
|
||||
variant("pythia8", default=True, description="Build with pythia8")
|
||||
variant("tauola", default=False, description="Build with tauola")
|
||||
variant("photos", default=False, description="Build with photos")
|
||||
variant("sherpa", default=False, description="build with sherpa")
|
||||
variant("hepmc3", default=False, description="Link with hepmc3 (instead of hepmc)")
|
||||
|
||||
patch("g2c.patch", when="@01.07.00")
|
||||
patch("evtgen-2.0.0.patch", when="@02.00.00 ^pythia8@8.304:")
|
||||
|
||||
depends_on("hepmc", when="~hepmc3")
|
||||
@@ -40,8 +44,6 @@ class Evtgen(CMakePackage):
|
||||
depends_on("photos~hepmc3", when="+photos~hepmc3")
|
||||
depends_on("tauola+hepmc3", when="+tauola+hepmc3")
|
||||
depends_on("photos+hepmc3", when="+photos+hepmc3")
|
||||
depends_on("sherpa@2:", when="@02.02.01: +sherpa")
|
||||
depends_on("sherpa@:2", when="@:02 +sherpa")
|
||||
|
||||
conflicts(
|
||||
"^pythia8+evtgen",
|
||||
@@ -51,6 +53,7 @@ class Evtgen(CMakePackage):
|
||||
"that cannot be resolved at the moment! "
|
||||
"Use evtgen+pythia8^pythia8~evtgen.",
|
||||
)
|
||||
conflicts("+hepmc3", when="@:01", msg="hepmc3 support was added in 02.00.00")
|
||||
|
||||
@property
|
||||
def root_cmakelists_dir(self):
|
||||
@@ -68,7 +71,6 @@ def cmake_args(self):
|
||||
args.append(self.define_from_variant("EVTGEN_PYTHIA", "pythia8"))
|
||||
args.append(self.define_from_variant("EVTGEN_TAUOLA", "tauola"))
|
||||
args.append(self.define_from_variant("EVTGEN_PHOTOS", "photos"))
|
||||
args.append(self.define_from_variant("EVTGEN_SHERPA", "sherpa"))
|
||||
args.append(self.define_from_variant("EVTGEN_HEPMC3", "hepmc3"))
|
||||
|
||||
return args
|
||||
@@ -83,5 +85,50 @@ def patch(self):
|
||||
|
||||
filter_file("-shared", "-dynamiclib -undefined dynamic_lookup", "make.inc")
|
||||
|
||||
# Taken from AutotoolsPackage
|
||||
def configure(self, spec, prefix):
|
||||
"""Runs configure with the arguments specified in
|
||||
:py:meth:`~.AutotoolsPackage.configure_args`
|
||||
and an appropriately set prefix.
|
||||
"""
|
||||
options = getattr(self, "configure_flag_args", [])
|
||||
options += ["--prefix={0}".format(prefix)]
|
||||
options += self.configure_args()
|
||||
|
||||
with working_dir(self.build_directory, create=True):
|
||||
configure(*options)
|
||||
|
||||
@when("@:01")
|
||||
def configure_args(self):
|
||||
args = []
|
||||
|
||||
args.append("--hepmcdir=%s" % self.spec["hepmc"].prefix)
|
||||
if self.spec.satisfies("+pythia8"):
|
||||
args.append("--pythiadir=%s" % self.spec["pythia8"].prefix)
|
||||
if self.spec.satisfies("+photos"):
|
||||
args.append("--photosdir=%s" % self.spec["photos"].prefix)
|
||||
if self.spec.satisfies("+tauola"):
|
||||
args.append("--tauoladir=%s" % self.spec["tauola"].prefix)
|
||||
|
||||
return args
|
||||
|
||||
@when("@:01")
|
||||
def cmake(self, spec, prefix):
|
||||
pass
|
||||
|
||||
@when("@:01")
|
||||
def build(self, spec, prefix):
|
||||
self.configure(spec, prefix)
|
||||
# avoid parallel compilation errors
|
||||
# due to libext_shared depending on lib_shared
|
||||
with working_dir(self.build_directory):
|
||||
make("lib_shared")
|
||||
make("all")
|
||||
|
||||
@when("@:01")
|
||||
def install(self, spec, prefix):
|
||||
with working_dir(self.build_directory):
|
||||
make("install")
|
||||
|
||||
def setup_run_environment(self, env):
|
||||
env.set("EVTGEN", self.prefix.share)
|
||||
|
||||
@@ -20,7 +20,6 @@ class FluxCore(AutotoolsPackage):
|
||||
license("LGPL-3.0-only")
|
||||
|
||||
version("master", branch="master")
|
||||
version("0.67.0", sha256="9406e776cbeff971881143fd1b94c42ec912e5b226401d2d3d91d766dd81de8c")
|
||||
version("0.66.0", sha256="0a25cfb1ebc033c249614eb2350c6fb57b00cdf3c584d0759c787f595c360daa")
|
||||
version("0.65.0", sha256="a60bc7ed13b8e6d09e99176123a474aad2d9792fff6eb6fd4da2a00e1d2865ab")
|
||||
version("0.64.0", sha256="0334d6191915f1b89b70cdbf14f24200f8899da31090df5f502020533b304bb3")
|
||||
@@ -97,7 +96,6 @@ class FluxCore(AutotoolsPackage):
|
||||
depends_on("py-pyyaml@3.10:", type=("build", "run"))
|
||||
depends_on("py-jsonschema@2.3:", type=("build", "run"), when="@:0.58.0")
|
||||
depends_on("py-ply", type=("build", "run"), when="@0.46.1:")
|
||||
depends_on("py-setuptools", type="build", when="@0.67.0:")
|
||||
depends_on("jansson@2.10:")
|
||||
depends_on("pkgconfig")
|
||||
depends_on("lz4")
|
||||
|
||||
@@ -22,7 +22,6 @@ class FluxSched(CMakePackage, AutotoolsPackage):
|
||||
license("LGPL-3.0-only")
|
||||
|
||||
version("master", branch="master")
|
||||
version("0.40.0", sha256="1484befcf8628b0af7833bf550d0bb3864db32b70f2c1bb363c35e30ada1ecc5")
|
||||
version("0.39.0", sha256="7e87029f8ad17b9286096e4e2d44982b5d6634908aefde3282497bdd3f44f2f8")
|
||||
version("0.38.0", sha256="0cb3efbd490256b28df580bb14f8e89c02084a9126e0b1754d6334a99ecfa969")
|
||||
version("0.37.0", sha256="b354d451183fcb8455e6a61d31e18c7f4af13e16a86b71216738f0991a7bcd50")
|
||||
|
||||
@@ -20,7 +20,6 @@ class FluxSecurity(AutotoolsPackage):
|
||||
license("LGPL-3.0-or-later")
|
||||
|
||||
version("master", branch="master")
|
||||
version("0.13.0", sha256="d61b8d0e6d6c8d7497e9542eadc110c496cbd57ba6a33bfd26271d805bda9869")
|
||||
version("0.12.0", sha256="2876d1f10c4f898f2ff10d60ddb446af9c8a913dda69f0136d820ad1fdf28a93")
|
||||
version("0.11.0", sha256="d1ef78a871155a252f07e4f0a636eb272d6c2048d5e0e943860dd687c6cf808a")
|
||||
version("0.10.0", sha256="b0f39c5e32322f901454469ffd6154019b6dffafc064b55b3e593f70db6a6f68")
|
||||
|
||||
@@ -18,7 +18,6 @@ class Fzf(MakefilePackage):
|
||||
|
||||
license("MIT")
|
||||
|
||||
version("0.57.0", sha256="d4e8e25fad2d3f75943b403c40b61326db74b705bf629c279978fdd0ceb1f97c")
|
||||
version("0.56.2", sha256="1d67edb3e3ffbb14fcbf786bfcc0b5b8d87db6a0685135677b8ef4c114d2b864")
|
||||
version("0.55.0", sha256="805383f71bca7f8fb271ecd716852aea88fd898d5027d58add9e43df6ea766da")
|
||||
version("0.54.3", sha256="6413f3916f8058b396820f9078b1336d94c72cbae39c593b1d16b83fcc4fdf74")
|
||||
|
||||
@@ -56,6 +56,8 @@ class Geant4Data(BundlePackage):
|
||||
"g4incl@1.2",
|
||||
"g4ensdfstate@3.0",
|
||||
"g4channeling@1.0",
|
||||
"g4nudexlib@1.0",
|
||||
"g4urrpt@1.1",
|
||||
],
|
||||
"11.2.2:11.2": [
|
||||
"g4ndl@4.7.1",
|
||||
@@ -193,23 +195,6 @@ class Geant4Data(BundlePackage):
|
||||
for _d in _dsets:
|
||||
depends_on(_d, type=("build", "run"), when=_vers)
|
||||
|
||||
_datasets_tendl = {
|
||||
"11.0:11.3": "g4tendl@1.4",
|
||||
"10.4:10.7": "g4tendl@1.3.2",
|
||||
"10.3:10.3": "g4tendl@1.3",
|
||||
}
|
||||
|
||||
variant("tendl", default=True, when="@10.3:", description="Enable G4TENDL")
|
||||
with when("+tendl"):
|
||||
for _vers, _d in _datasets_tendl.items():
|
||||
depends_on(_d, type=("build", "run"), when="@" + _vers)
|
||||
variant("nudexlib", default=True, when="@11.3.0:11.3", description="Enable G4NUDEXLIB")
|
||||
with when("+nudexlib"):
|
||||
depends_on("g4nudexlib@1.0", type=("build", "run"))
|
||||
variant("urrpt", default=True, when="@11.3.0:11.3", description="Enable G4URRPT")
|
||||
with when("+urrpt"):
|
||||
depends_on("g4urrpt@1.1", type=("build", "run"))
|
||||
|
||||
@property
|
||||
def datadir(self):
|
||||
spec = self.spec
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
diff --git a/source/g3tog4/include/G3EleTable.hh b/source/g3tog4/include/G3EleTable.hh
|
||||
index 0ab9c4fd566..18c6f73fde6 100644
|
||||
--- a/source/g3tog4/include/G3EleTable.hh
|
||||
+++ b/source/g3tog4/include/G3EleTable.hh
|
||||
@@ -56,7 +56,7 @@ public: // with description
|
||||
private:
|
||||
|
||||
void LoadUp();
|
||||
- G4int parse(G4double& Z, char* name, char* sym, G4double& A);
|
||||
+ G4int parse(G4double& Z, char (&name)[20], char (&sym)[3], G4double& A);
|
||||
|
||||
private:
|
||||
|
||||
diff --git a/source/g3tog4/src/G3EleTable.cc b/source/g3tog4/src/G3EleTable.cc
|
||||
index cecc494b201..a2f3af3d6a2 100644
|
||||
--- a/source/g3tog4/src/G3EleTable.cc
|
||||
+++ b/source/g3tog4/src/G3EleTable.cc
|
||||
@@ -64,7 +64,7 @@ G3EleTable::GetEle(G4double Z){
|
||||
}
|
||||
|
||||
G4int
|
||||
-G3EleTable::parse(G4double& Z, char* name, char* sym, G4double& A){
|
||||
+G3EleTable::parse(G4double& Z, char (&name)[20], char (&sym)[3], G4double& A){
|
||||
G4int rc = 0;
|
||||
if (Z>0 && Z <=_MaxEle){
|
||||
G4int z = (G4int) Z-1;
|
||||
@@ -20,7 +20,6 @@ class Geant4(CMakePackage):
|
||||
executables = ["^geant4-config$"]
|
||||
|
||||
maintainers("drbenmorgan", "sethrj")
|
||||
|
||||
version("11.3.0", sha256="d9d71daff8890a7b5e0e33ea9a65fe6308ad6713000b43ba6705af77078e7ead")
|
||||
version("11.2.2", sha256="3a8d98c63fc52578f6ebf166d7dffaec36256a186d57f2520c39790367700c8d")
|
||||
version("11.2.1", sha256="76c9093b01128ee2b45a6f4020a1bcb64d2a8141386dea4674b5ae28bcd23293")
|
||||
@@ -204,30 +203,29 @@ def std_when(values):
|
||||
depends_on("qt@5.9:", when="@11.2:")
|
||||
conflicts("@:11.1 ^[virtuals=qmake] qt-base", msg="Qt6 not supported before 11.2")
|
||||
|
||||
# CMAKE PROBLEMS #
|
||||
# As released, 10.0.4 has inconsistently capitalised filenames
|
||||
# in the cmake files; this patch also enables cxxstd 14
|
||||
patch("geant4-10.0.4.patch", when="@10.0.4")
|
||||
# Fix member field typo in g4tools wroot
|
||||
# See https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2640
|
||||
patch("columns-11.patch", when="@11:11.2.2")
|
||||
patch("columns-10.patch", when="@10.4:10")
|
||||
# As released, 10.03.03 has issues with respect to using external
|
||||
# CLHEP.
|
||||
patch("CLHEP-10.03.03.patch", level=1, when="@10.3")
|
||||
# Build failure on clang 15, ubuntu 22: see Geant4 problem report #2444
|
||||
# fixed by ascii-V10-07-03
|
||||
patch("geant4-10.6.patch", when="@10.0:10.6")
|
||||
# Enable "17" cxxstd option in CMake (2 different filenames)
|
||||
patch("geant4-10.3-cxx17-cmake.patch", when="@10.3 cxxstd=17")
|
||||
patch("geant4-10.4-cxx17-cmake.patch", when="@10.4:10.4.2 cxxstd=17")
|
||||
# Fix exported cmake: https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2556
|
||||
patch("package-cache.patch", when="@10.7.0:11.1.2^cmake@3.17:")
|
||||
patch("geant4-10.6.patch", level=1, when="@10.0:10.6")
|
||||
# These patches can be applied independent of the cxxstd value?
|
||||
patch("cxx17.patch", when="@10.3 cxxstd=17")
|
||||
patch("cxx17_geant4_10_0.patch", level=1, when="@10.4.0 cxxstd=17")
|
||||
patch("geant4-10.4.3-cxx17-removed-features.patch", level=1, when="@10.4.3 cxxstd=17")
|
||||
|
||||
# BUILD ERRORS #
|
||||
# Fix C++17: add -D_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES C++ flag
|
||||
patch("geant4-10.4.3-cxx17-removed-features.patch", when="@10.4.3 cxxstd=17")
|
||||
# Fix C++20: build error due to removed-in-C++20 `ostream::operator>>(char*)`
|
||||
# (different, simpler approach than upstream Geant4 changes)
|
||||
patch("geant4-10.7-cxx20-g3tog4.patch", when="@:10.7 cxxstd=20")
|
||||
# Fix member field typo in g4tools wroot: https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2640
|
||||
patch("columns-10.patch", when="@10.4:10")
|
||||
patch("columns-11.patch", when="@11:11.2.2")
|
||||
# Fix navigation errors with twisted tubes: https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2619
|
||||
patch("twisted-tubes.patch", when="@11.2.0:11.2.2")
|
||||
# See https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2556
|
||||
patch("package-cache.patch", level=1, when="@10.7.0:11.1.2^cmake@3.17:")
|
||||
|
||||
# Issue with Twisted tubes, see https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2619
|
||||
patch("twisted-tubes.patch", level=1, when="@11.2.0:11.2.2")
|
||||
|
||||
# NVHPC: "thread-local declaration follows non-thread-local declaration"
|
||||
conflicts("%nvhpc", when="+threads")
|
||||
|
||||
@@ -20,7 +20,6 @@ class Gettext(AutotoolsPackage, GNUMirrorPackage):
|
||||
|
||||
license("GPL-3.0-or-later AND LGPL-2.1-or-later AND MIT")
|
||||
|
||||
version("0.23.1", sha256="c1f97a72a7385b7e71dd07b5fea6cdaf12c9b88b564976b23bd8c11857af2970")
|
||||
version("0.22.5", sha256="fe10c37353213d78a5b83d48af231e005c4da84db5ce88037d88355938259640")
|
||||
version("0.22.4", sha256="29217f1816ee2e777fa9a01f9956a14139c0c23cc1b20368f06b2888e8a34116")
|
||||
version("0.22.3", sha256="b838228b3f8823a6c1eddf07297197c4db13f7e1b173b9ef93f3f945a63080b6")
|
||||
@@ -135,10 +134,10 @@ def configure_args(self):
|
||||
else:
|
||||
config_args.append("--with-included-libxml")
|
||||
|
||||
if not spec.satisfies("+bzip2"):
|
||||
if "+bzip2" not in spec:
|
||||
config_args.append("--without-bzip2")
|
||||
|
||||
if not spec.satisfies("+xz"):
|
||||
if "+xz" not in spec:
|
||||
config_args.append("--without-xz")
|
||||
|
||||
if spec.satisfies("+libunistring"):
|
||||
|
||||
@@ -58,20 +58,6 @@ def build_args(self):
|
||||
args.extend(["-trimpath", "./cmd/gh"])
|
||||
return args
|
||||
|
||||
@property
|
||||
def check_args(self):
|
||||
args = super().check_args
|
||||
skip_tests = (
|
||||
"TestHasNoActiveToken|TestTokenStoredIn.*|"
|
||||
"TestSwitchUser.*|TestSwitchClears.*|"
|
||||
"TestTokenWorksRightAfterMigration|"
|
||||
"Test_loginRun.*|Test_logoutRun.*|Test_refreshRun.*|"
|
||||
"Test_setupGitRun.*|Test_CheckAuth|TestSwitchRun.*|"
|
||||
"Test_statusRun.*|TestTokenRun.*"
|
||||
)
|
||||
args.extend([f"-skip={skip_tests}", "./..."])
|
||||
return args
|
||||
|
||||
@run_after("install")
|
||||
def install_completions(self):
|
||||
gh = Executable(self.prefix.bin.gh)
|
||||
|
||||
@@ -15,7 +15,6 @@ class Glab(GoPackage):
|
||||
|
||||
license("MIT")
|
||||
|
||||
version("1.51.0", sha256="6a95d827004fee258aacb49a427875e3b505b063cc578933d965cd56481f5a19")
|
||||
version("1.48.0", sha256="45410de23a7bad37feeae18f47f3c0113d81133ad9bb97c8f0b8afc5409272c7")
|
||||
version("1.46.1", sha256="935f732ddacc6e54fc83d06351fc25454ac8a58c465c3efa43e066ea226257c2")
|
||||
version("1.36.0", sha256="8d6c759ebfe9c6942fcdb7055a4a5c7209a3b22beb25947f906c9aef3bc067e8")
|
||||
|
||||
@@ -40,7 +40,6 @@ class Go(Package):
|
||||
|
||||
license("BSD-3-Clause")
|
||||
|
||||
version("1.23.4", sha256="ad345ac421e90814293a9699cca19dd5238251c3f687980bbcae28495b263531")
|
||||
version("1.23.3", sha256="8d6a77332487557c6afa2421131b50f83db4ae3c579c3bc72e670ee1f6968599")
|
||||
version("1.23.2", sha256="36930162a93df417d90bd22c6e14daff4705baac2b02418edda671cdfa9cd07f")
|
||||
version("1.23.1", sha256="6ee44e298379d146a5e5aa6b1c5b5d5f5d0a3365eabdd70741e6e21340ec3b0d")
|
||||
|
||||
@@ -55,10 +55,6 @@ class GobjectIntrospection(MesonPackage, AutotoolsPackage):
|
||||
# https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/283
|
||||
depends_on("libffi@:3.3", when="@:1.72") # libffi 3.4 caused seg faults
|
||||
depends_on("python")
|
||||
with when("^python@3.12:"):
|
||||
depends_on("py-setuptools@48:", type=("build", "run"))
|
||||
# https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/490
|
||||
depends_on("py-setuptools@:73", type=("build", "run"), when="@:1.81.0")
|
||||
|
||||
# This package creates several scripts from
|
||||
# toosl/g-ir-tool-template.in. In their original form these
|
||||
@@ -95,14 +91,10 @@ class GobjectIntrospection(MesonPackage, AutotoolsPackage):
|
||||
when="@:1.63.1",
|
||||
)
|
||||
|
||||
# g-ir-scanner uses distutils
|
||||
# - https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/361
|
||||
# - https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/395
|
||||
# for new enough versions we import setuptools first
|
||||
patch("setuptools.patch", when="@1.78: ^python@3.12:")
|
||||
# for older versions we conflict with newer python
|
||||
# https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/361
|
||||
# https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/395
|
||||
conflicts(
|
||||
"@:1.77 ^python@3.12:",
|
||||
"^python@3.12:",
|
||||
msg="gobject-introspection still uses distutils which was removed in Python 3.12",
|
||||
)
|
||||
conflicts(
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py
|
||||
index 2f03fd85..8e7424b7 100644
|
||||
--- a/giscanner/ccompiler.py
|
||||
+++ b/giscanner/ccompiler.py
|
||||
@@ -24,6 +24,7 @@ import subprocess
|
||||
import tempfile
|
||||
|
||||
import sys
|
||||
+import setuptools
|
||||
import distutils
|
||||
|
||||
from distutils.unixccompiler import UnixCCompiler
|
||||
diff --git a/giscanner/msvccompiler.py b/giscanner/msvccompiler.py
|
||||
index e333a80f..5168930a 100644
|
||||
--- a/giscanner/msvccompiler.py
|
||||
+++ b/giscanner/msvccompiler.py
|
||||
@@ -21,6 +21,7 @@
|
||||
import os
|
||||
from typing import Type
|
||||
|
||||
+import setuptools
|
||||
from distutils.errors import DistutilsExecError, CompileError
|
||||
from distutils.ccompiler import CCompiler, gen_preprocess_options, new_compiler
|
||||
from distutils.dep_util import newer
|
||||
diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
|
||||
index 987df819..08cb432f 100644
|
||||
--- a/giscanner/scannermain.py
|
||||
+++ b/giscanner/scannermain.py
|
||||
@@ -552,6 +552,7 @@ def scanner_main(args):
|
||||
(options, args) = parser.parse_args(args)
|
||||
|
||||
if options.verbose:
|
||||
+ import setuptools
|
||||
import distutils
|
||||
distutils.log.set_threshold(distutils.log.DEBUG)
|
||||
if options.passthrough_gir:
|
||||
diff --git a/giscanner/utils.py b/giscanner/utils.py
|
||||
index 9840143c..6fbcbce4 100644
|
||||
--- a/giscanner/utils.py
|
||||
+++ b/giscanner/utils.py
|
||||
@@ -382,6 +382,7 @@ def get_msvcr_overwrite():
|
||||
return ['vcruntime140']
|
||||
|
||||
|
||||
+import setuptools
|
||||
import distutils.cygwinccompiler
|
||||
orig_get_msvcr = distutils.cygwinccompiler.get_msvcr # type: ignore
|
||||
distutils.cygwinccompiler.get_msvcr = get_msvcr_overwrite # type: ignore
|
||||
diff --git a/tests/scanner/test_ccompiler.py b/tests/scanner/test_ccompiler.py
|
||||
index 6c0674a1..248df21c 100644
|
||||
--- a/tests/scanner/test_ccompiler.py
|
||||
+++ b/tests/scanner/test_ccompiler.py
|
||||
@@ -15,6 +15,7 @@
|
||||
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
+import setuptools
|
||||
import distutils
|
||||
import os
|
||||
import shlex
|
||||
@@ -10,15 +10,11 @@ class Goimports(GoPackage):
|
||||
|
||||
homepage = "https://golang.org/x/tools/cmd/goimports"
|
||||
url = "https://github.com/golang/tools/archive/refs/tags/v0.25.0.tar.gz"
|
||||
list_url = "https://github.com/golang/tools/tags"
|
||||
|
||||
maintainers("alecbcs")
|
||||
|
||||
license("BSD-3-Clause", checked_by="alecbcs")
|
||||
|
||||
version("0.28.0", sha256="2c0aa55c1748ba406eec2db21bf44ebec62b1d5812b6ba350b5d421af1544adb")
|
||||
version("0.25.0", sha256="c536188f5db744371f526f3059960945ed580b3ee60553a4f01956251ab36d20")
|
||||
|
||||
depends_on("go@1.22:", type="build", when="@0.25:")
|
||||
|
||||
build_directory = "cmd/goimports"
|
||||
|
||||
@@ -7,40 +7,23 @@
|
||||
from spack.package import *
|
||||
|
||||
versions = {
|
||||
"504.0.1": {
|
||||
"darwin": {
|
||||
"arm": "00485cda52bcb80ae796914304dff59ec609eafe1153474746c5ac3bc576a574",
|
||||
"x86": "3400783268ff25bfdab23ad52ad7de00e2b794ce6d14790316af77e84f7eb3f0",
|
||||
"x86_64": "7900504a22bb918563d74446a794308eb3da55e7e2b0b20d6545c950def7ffd0",
|
||||
},
|
||||
"linux": {
|
||||
"arm": "89d148e4dc5837a6ed7292237b49171051ce054886838ada0aca4f4f3f9b7bba",
|
||||
"x86": "e85d4623795ef3bb3d003b457b65f2599176432bacdec92d6010d12922b75df4",
|
||||
"x86_64": "a01ff5312980a18b073c9d2cd6f287ff7d2684f33bd4c927aec20d1d17344874",
|
||||
},
|
||||
"windows": {
|
||||
"arm": "33601f2e3e8b13baaad74216d401f3e40e475a30bcfc50bf7d8c5e57247a5e64",
|
||||
"x86": "c5c00ecac095e60fa347b124c024496e7af3cf3d61de5a68be766ee7c997b987",
|
||||
"x86_64": "02665dc0b9c76c154029e921cecd493da8023de491439c99557cf36fd4b4d954",
|
||||
},
|
||||
},
|
||||
"426.0.0": {
|
||||
"darwin": {
|
||||
"arm": "5228c93f04af2e3eda3cf03c18bcc75a5440c62170fcdcd46e77e4e97452786a",
|
||||
"x86": "dd95eb5f3ef82825f3e930f538c3964c5ae37e3bf35492e21f5fed3916b980c0",
|
||||
"x86_64": "1ac867378e8e6d59aacadfa0a5282b549146cd8bcd971341d047006c6f702c63",
|
||||
},
|
||||
"linux": {
|
||||
"arm": "8409b8cc00f0ae8089be97d8a565f4072eada890776345bccb988bcd4d4bb27f",
|
||||
"x86": "13e8b75a3ba352bda58e9974ed5779c16a6631e2957ea6e43cf3b11d5da49ae7",
|
||||
"x86_64": "c653a8ac1e48889005fd00e2de580a27be5a3cb46ceccc570146982c4ddf4245",
|
||||
"x86": "13e8b75a3ba352bda58e9974ed5779c16a6631e2957ea6e43cf3b11d5da49ae7",
|
||||
},
|
||||
"darwin": {
|
||||
"arm": "5228c93f04af2e3eda3cf03c18bcc75a5440c62170fcdcd46e77e4e97452786a",
|
||||
"x86_64": "1ac867378e8e6d59aacadfa0a5282b549146cd8bcd971341d047006c6f702c63",
|
||||
"x86": "dd95eb5f3ef82825f3e930f538c3964c5ae37e3bf35492e21f5fed3916b980c0",
|
||||
},
|
||||
"windows": {
|
||||
"arm": "d45bdb6808ca737b6c14d6ac85f3380ab1037eeb3c641164d5d4fad032d382af",
|
||||
"x86": "c04c39b6a7c82365f3c4a0d79ed60dbc6c5ce672970a87a70478bb7c55926852",
|
||||
"x86_64": "2a5199f04414df36e483c892d0e89cdc9e962266414ce7990cf2b59058b94e9b",
|
||||
"x86": "c04c39b6a7c82365f3c4a0d79ed60dbc6c5ce672970a87a70478bb7c55926852",
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
targets = {"aarch64": "arm", "arm64": "arm", "amd64": "x86_64", "x86_64": "x86_64", "x86": "x86"}
|
||||
@@ -65,14 +48,9 @@ class GoogleCloudCli(Package):
|
||||
if system in versions[ver] and machine in versions[ver][system]:
|
||||
version(ver, sha256=versions[ver][system][machine])
|
||||
|
||||
depends_on("c", type="build")
|
||||
depends_on("c", type="build") # generated
|
||||
|
||||
# RELEASE_NOTES
|
||||
with default_args(type=("build", "run")):
|
||||
depends_on("python")
|
||||
depends_on("python@:3.13", when="@500:")
|
||||
depends_on("python@:3.12", when="@456:499")
|
||||
depends_on("python@:3.10", when="@:455")
|
||||
depends_on("python", type=("build", "run"))
|
||||
|
||||
def url_for_version(self, version):
|
||||
return f"https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-{version}-{self.system}-{self.machine}.{self.ext}"
|
||||
|
||||
@@ -15,8 +15,6 @@ class Googletest(CMakePackage):
|
||||
maintainers("sethrj")
|
||||
|
||||
version("main", branch="main")
|
||||
version("1.15.2", sha256="7b42b4d6ed48810c5362c265a17faebe90dc2373c885e5216439d37927f02926")
|
||||
version("1.15.0", sha256="7315acb6bf10e99f332c8a43f00d5fbb1ee6ca48c52f6b936991b216c586aaad")
|
||||
version("1.14.0", sha256="8ad598c73ad796e0d8280b082cebd82a630d73e73cd3c70057938a6501bba5d7")
|
||||
version("1.13.0", sha256="ad7fdba11ea011c1d925b3289cf4af2c66a352e18d4c7264392fead75e919363")
|
||||
version("1.12.1", sha256="81964fe578e9bd7c94dfdb09c8e4d6e6759e19967e397dbea48d1c10e45d0df2")
|
||||
@@ -31,18 +29,14 @@ class Googletest(CMakePackage):
|
||||
depends_on("c", type="build")
|
||||
depends_on("cxx", type="build")
|
||||
|
||||
variant("absl", default=False, when="@1.12.1:", description="Build with abseil and RE2")
|
||||
depends_on("abseil-cpp", when="+absl")
|
||||
depends_on("re2", when="+absl")
|
||||
|
||||
variant("gmock", default=True, when="@1.8:", description="Build with gmock")
|
||||
variant("pthreads", default=True, description="Build multithreaded version with pthreads")
|
||||
variant("shared", default=True, description="Build shared libraries (DLLs)")
|
||||
|
||||
variant(
|
||||
"cxxstd",
|
||||
default="14",
|
||||
values=("98", "11", "14", "17", "20"),
|
||||
default="11",
|
||||
values=("98", "11", "14", "17"),
|
||||
multi=False,
|
||||
description="Use the specified C++ standard when building",
|
||||
)
|
||||
@@ -54,13 +48,12 @@ def cmake_args(self):
|
||||
args = [
|
||||
self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
|
||||
self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"),
|
||||
self.define_from_variant("BUILD_GMOCK", "gmock"),
|
||||
self.define_from_variant("GTEST_HAS_ABSL", "absl"),
|
||||
self.define("gtest_disable_pthreads", spec.satisfies("~pthreads")),
|
||||
]
|
||||
|
||||
if spec.satisfies("@:1.8.0"):
|
||||
args.append(self.define("gtest_disable_pthreads", not spec.satisfies("+pthreads")))
|
||||
if spec.satisfies("@1.8:"):
|
||||
# New style (contains both Google Mock and Google Test)
|
||||
args.append(self.define("BUILD_GTEST", True))
|
||||
args.append(self.define_from_variant("BUILD_GMOCK", "gmock"))
|
||||
|
||||
return args
|
||||
|
||||
|
||||
@@ -15,9 +15,6 @@ class Gopls(GoPackage):
|
||||
|
||||
license("BSD-3-Clause", checked_by="alecbcs")
|
||||
|
||||
version("0.17.1", sha256="5794ebd3302ef4fd08de284834b22810dbb17b7e08efeeaa9b96d5c94eb90d6d")
|
||||
version("0.16.2", sha256="be68b3159fcb8cde9ebb8b468f67f03531c58be2de33edbac69e5599f2d4a2c1")
|
||||
|
||||
depends_on("go@1.23.1:", type="build", when="@0.17:")
|
||||
|
||||
build_directory = "gopls"
|
||||
|
||||
@@ -45,10 +45,6 @@ class Gsoap(AutotoolsPackage, SourceforgePackage):
|
||||
depends_on("pkgconfig", type="build")
|
||||
depends_on("bison", type="build")
|
||||
depends_on("flex", type="build")
|
||||
depends_on("autoconf", type="build")
|
||||
depends_on("automake", type="build")
|
||||
depends_on("libtool", type="build")
|
||||
depends_on("m4", type="build")
|
||||
|
||||
def configure_args(self):
|
||||
return ["--enable-ipv6"]
|
||||
|
||||
@@ -15,8 +15,6 @@ class Heppdt(AutotoolsPackage):
|
||||
homepage = "https://cdcvs.fnal.gov/redmine/projects/heppdt/wiki"
|
||||
url = "https://lcgpackages.web.cern.ch/lcgpackages/tarFiles/sources/HepPDT-2.06.01.tar.gz"
|
||||
|
||||
maintainers("wdconinc")
|
||||
|
||||
tags = ["hep"]
|
||||
|
||||
version("3.04.01", sha256="2c1c39eb91295d3ded69e0d3f1a38b1cb55bc3f0cde37b725ffd5d722f63c0f6")
|
||||
@@ -32,7 +30,3 @@ class Heppdt(AutotoolsPackage):
|
||||
|
||||
depends_on("cxx", type="build") # generated
|
||||
depends_on("fortran", type="build") # generated
|
||||
|
||||
def patch(self):
|
||||
# fix csh redirect in /bin/sh script
|
||||
filter_file(r">&", ">", "tests/HepPDT/testPID.sh.in")
|
||||
|
||||
@@ -35,10 +35,6 @@ class Herwig3(AutotoolsPackage):
|
||||
depends_on("thepeg@2.2.3", when="@7.2.3")
|
||||
depends_on("thepeg@2.3.0", when="@7.3.0")
|
||||
depends_on("evtgen")
|
||||
conflicts(
|
||||
"^evtgen ~photos ~pythia8 ~sherpa ~tauola",
|
||||
msg="At least one external EvtGen component required",
|
||||
)
|
||||
|
||||
depends_on("boost +math+test")
|
||||
depends_on("python", type=("build", "run"))
|
||||
|
||||
@@ -17,7 +17,6 @@ class Hevea(MakefilePackage):
|
||||
license("LGPL-2.0-only")
|
||||
|
||||
version("develop", branch="master")
|
||||
version("2.36", sha256="9848359f935af24b6f962b2ed5d5ac32614bffeb37da374b0960cc0f58e69f0c")
|
||||
version("2.35", sha256="78f834cc7a8112ec59d0b8acdfbed0c8ac7dbb85f964d0be1f4eed04f25cdf54")
|
||||
version("2.34", sha256="f505a2a5bafdc2ea389ec521876844e6fdcb5c1b656396b7e8421c1631469ea2")
|
||||
version("2.33", sha256="122f9023f9cfe8b41dd8965b7d9669df21bf41e419bcf5e9de5314f428380d0f")
|
||||
@@ -28,8 +27,6 @@ class Hevea(MakefilePackage):
|
||||
# Dependency demands ocamlbuild
|
||||
depends_on("ocaml")
|
||||
depends_on("ocamlbuild")
|
||||
depends_on("ocaml@4", when="@:2.35")
|
||||
depends_on("ocaml@4.08.0:", when="@2.34:")
|
||||
|
||||
def edit(self, spec, prefix):
|
||||
env["PREFIX"] = self.spec.prefix
|
||||
|
||||
@@ -19,7 +19,6 @@ class Hugo(GoPackage):
|
||||
|
||||
license("Apache-2.0")
|
||||
|
||||
version("0.140.2", sha256="45594ddf39d62d227cfd54c19fb9a09ab851cf537caee6138de0ddd4f1f6f117")
|
||||
version("0.135.0", sha256="a75c4c684d2125255f214d11b9834a5ec6eb64353f4de2c06952d2b3b7430f0e")
|
||||
version("0.127.0", sha256="549c7ebdf2ee6b3107ea10a9fbd9932a91bb3f30f7e8839245f6d8e318aca88c")
|
||||
version("0.126.3", sha256="2a1d65b09884e3c57a8705db99487404856c947dd847cf7bb845e0e1825b33ec")
|
||||
|
||||
@@ -76,10 +76,6 @@ def flag_handler(self, name, flags):
|
||||
flags.append(getattr(self.compiler, f"cxx{self.spec.variants['cxxstd'].value}_flag"))
|
||||
return (None, flags, None)
|
||||
|
||||
@property
|
||||
def libs(self):
|
||||
return find_libraries("libicu*", root=self.prefix, recursive=True)
|
||||
|
||||
|
||||
class AutotoolsBuilder(spack.build_systems.autotools.AutotoolsBuilder):
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ class Jsoncpp(CMakePackage, MesonPackage):
|
||||
|
||||
license("Public-Domain")
|
||||
|
||||
version("1.9.6", sha256="f93b6dd7ce796b13d02c108bc9f79812245a82e577581c4c9aabe57075c90ea2")
|
||||
version("1.9.5", sha256="f409856e5920c18d0c2fb85276e24ee607d2a09b5e7d5f0a371368903c275da2")
|
||||
version("1.9.4", sha256="e34a628a8142643b976c7233ef381457efad79468c67cb1ae0b83a33d7493999")
|
||||
version("1.9.3", sha256="8593c1d69e703563d94d8c12244e2e18893eeb9a8a9f8aa3d09a327aa45c8f7d")
|
||||
@@ -57,7 +56,6 @@ class Jsoncpp(CMakePackage, MesonPackage):
|
||||
|
||||
with when("build_system=meson"):
|
||||
depends_on("meson@0.49.0:", type="build")
|
||||
depends_on("meson@0.56.0:", type="build", when="@1.9.6:")
|
||||
|
||||
depends_on("python", type="test")
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ class Kubectl(GoPackage):
|
||||
|
||||
license("Apache-2.0")
|
||||
|
||||
version("1.32.0", sha256="3793859c53f09ebc92e013ea858b8916cc19d7fe288ec95882dada4e5a075d08")
|
||||
version("1.31.1", sha256="83094915698a9c24f93d1ffda3f17804a4024d3b65eabf681e77a62b35137208")
|
||||
version("1.31.0", sha256="6679eb90815cc4c3bef6c1b93f7a8451bf3f40d003f45ab57fdc9f8c4e8d4b4f")
|
||||
version("1.27.1", sha256="3a3f7c6b8cf1d9f03aa67ba2f04669772b1205b89826859f1636062d5f8bec3f")
|
||||
@@ -25,6 +24,5 @@ class Kubectl(GoPackage):
|
||||
|
||||
depends_on("bash", type="build")
|
||||
depends_on("go@1.22:", type="build", when="@1.30:")
|
||||
depends_on("go@1.23:", type="build", when="@1.32:")
|
||||
|
||||
build_directory = "cmd/kubectl"
|
||||
|
||||
@@ -17,16 +17,32 @@ class Kubernetes(Package):
|
||||
|
||||
license("Apache-2.0")
|
||||
|
||||
version("1.32.0", sha256="3793859c53f09ebc92e013ea858b8916cc19d7fe288ec95882dada4e5a075d08")
|
||||
version("1.27.2", sha256="c6fcfddd38f877ce49c49318973496f9a16672e83a29874a921242950cd1c5d2")
|
||||
version("1.27.1", sha256="3a3f7c6b8cf1d9f03aa67ba2f04669772b1205b89826859f1636062d5f8bec3f")
|
||||
version("1.27.0", sha256="536025dba2714ee5e940bb0a6b1df9ca97c244fa5b00236e012776a69121c323")
|
||||
|
||||
depends_on("c", type="build")
|
||||
# Deprecated versions
|
||||
# https://nvd.nist.gov/vuln/detail/CVE-2022-3294
|
||||
version(
|
||||
"1.18.1",
|
||||
sha256="33ca738f1f4e6ad453b80f231f71e62470b822f21d44dc5b8121b2964ae8e6f8",
|
||||
deprecated=True,
|
||||
)
|
||||
version(
|
||||
"1.18.0",
|
||||
sha256="6bd252b8b5401ad6f1fb34116cd5df59153beced3881b98464862a81c083f7ab",
|
||||
deprecated=True,
|
||||
)
|
||||
version(
|
||||
"1.17.4",
|
||||
sha256="b61a6eb3bd5251884f34853cc51aa31c6680e7e476268fe06eb33f3d95294f62",
|
||||
deprecated=True,
|
||||
)
|
||||
|
||||
depends_on("c", type="build") # generated
|
||||
|
||||
depends_on("bash", type="build")
|
||||
depends_on("go", type="build")
|
||||
depends_on("go@1.23:", type="build", when="@1.32:")
|
||||
|
||||
phases = ["build", "install"]
|
||||
|
||||
|
||||
@@ -475,7 +475,6 @@ def url_for_version(self, version):
|
||||
"drude": {"when": "@20210702:"},
|
||||
"eff": {"when": "@20210702:"},
|
||||
"electrode": {"when": "@20220504:"},
|
||||
"extra-command": {"when": "@20240829:"},
|
||||
"extra-compute": {"when": "@20210728:"},
|
||||
"extra-dump": {"when": "@20210728:"},
|
||||
"extra-fix": {"when": "@20210728:"},
|
||||
|
||||
@@ -20,7 +20,6 @@ class Latex2html(AutotoolsPackage):
|
||||
license("GPL-2.0-only")
|
||||
|
||||
version("master", branch="master")
|
||||
version("2024.2", sha256="d99c5963d802edf1516a6301a5275edd54014bea2ca924f8752aacab0cdd23fd")
|
||||
version("2024", sha256="554a51f83431683521b9e47a19edf07c90960feb040048a08ad8301bdca2c6fa")
|
||||
version("2023.2", sha256="2a3f50621a71c9c0c425fb6709ae69bb2cf4df4bfe72ac661c2ea302e5aba185")
|
||||
version("2022.2", sha256="b1d5bba7bab7d0369d1241f2d8294137a52b7cb7df11239bfa15ec0a2546c093")
|
||||
|
||||
@@ -19,10 +19,6 @@ class Libmesh(AutotoolsPackage):
|
||||
|
||||
version("master", branch="master", submodules=True)
|
||||
|
||||
version("1.7.6", sha256="65093cc97227193241f78647ec2f04a1852437f40d3d1c49285c6ff712cd0bc8")
|
||||
version("1.7.5", sha256="03a50cb471e7724a46623f0892cf77152f969d9ba89f8fcebd20bdc0845aab83")
|
||||
version("1.7.4", sha256="0d603aacd2761292dff61ff7ce59d9fddd8691133f0219f7d1576bd4626b77b2")
|
||||
version("1.7.3", sha256="fe0bec45a083ddd9e87dc51ab7e68039f3859e7ef0c4a87e76e562b172b6f739")
|
||||
version("1.7.1", sha256="0387d62773cf92356eb128ba92f767e56c298d78f4b97446e68bf288da1eb6b4")
|
||||
version("1.4.1", sha256="67eb7d5a9c954d891ca1386b70f138333a87a141d9c44213449ca6be69a66414")
|
||||
version("1.4.0", sha256="62d7fce89096c950d1b38908484856ea63df57754b64cde6582e7ac407c8c81d")
|
||||
|
||||
@@ -42,7 +42,7 @@ class Libspatialite(AutotoolsPackage):
|
||||
depends_on("geos@:3.9", when="@:5.0.0")
|
||||
depends_on("iconv")
|
||||
depends_on("librttopo", when="@5.0.1:")
|
||||
depends_on("libxml2+http")
|
||||
depends_on("libxml2")
|
||||
depends_on("minizip", when="@5.0.0:")
|
||||
depends_on("proj")
|
||||
depends_on("proj@:5", when="@:4")
|
||||
|
||||
@@ -53,7 +53,7 @@ class Libxkbcommon(MesonPackage, AutotoolsPackage):
|
||||
depends_on("pkgconfig@0.9.0:", type="build")
|
||||
depends_on("bison", type="build")
|
||||
depends_on("util-macros")
|
||||
depends_on("xkbdata-api")
|
||||
depends_on("xkbdata")
|
||||
depends_on("libxcb@1.10:")
|
||||
depends_on("libxml2", when="@1:")
|
||||
|
||||
@@ -64,7 +64,7 @@ class Libxkbcommon(MesonPackage, AutotoolsPackage):
|
||||
class MesonBuilder(spack.build_systems.meson.MesonBuilder):
|
||||
def meson_args(self):
|
||||
args = [
|
||||
"-Dxkb-config-root={0}".format(self.spec["xkbdata-api"].prefix),
|
||||
"-Dxkb-config-root={0}".format(self.spec["xkbdata"].prefix),
|
||||
"-Denable-docs=false",
|
||||
"-Denable-wayland=" + str(self.spec.satisfies("+wayland")),
|
||||
]
|
||||
@@ -79,6 +79,6 @@ class AutotoolsBuilder(spack.build_systems.autotools.AutotoolsBuilder):
|
||||
def configure_args(self):
|
||||
"""Configure arguments are passed using meson_args functions"""
|
||||
return [
|
||||
"--with-xkb-config-root={0}".format(self.spec["xkbdata-api"].prefix),
|
||||
"--with-xkb-config-root={0}".format(self.spec["xkbdata"].prefix),
|
||||
"--disable-docs",
|
||||
] + self.enable_or_disable("wayland")
|
||||
|
||||
@@ -28,7 +28,6 @@ def url_for_version(self, version):
|
||||
|
||||
license("MIT")
|
||||
|
||||
version("2.13.5", sha256="74fc163217a3964257d3be39af943e08861263c4231f9ef5b496b6f6d4c7b2b6")
|
||||
version("2.13.4", sha256="65d042e1c8010243e617efb02afda20b85c2160acdbfbcb5b26b80cec6515650")
|
||||
version("2.12.9", sha256="59912db536ab56a3996489ea0299768c7bcffe57169f0235e7f962a91f483590")
|
||||
version("2.11.9", sha256="780157a1efdb57188ec474dca87acaee67a3a839c2525b2214d318228451809f")
|
||||
@@ -66,7 +65,6 @@ def url_for_version(self, version):
|
||||
|
||||
depends_on("c", type="build")
|
||||
|
||||
variant("http", default=False, description="Enable HTTP support")
|
||||
variant("python", default=False, description="Enable Python support")
|
||||
variant("shared", default=True, description="Build shared library")
|
||||
variant("pic", default=True, description="Enable position-independent code (PIC)")
|
||||
@@ -253,8 +251,6 @@ def configure_args(self):
|
||||
else:
|
||||
args.append("--without-python")
|
||||
|
||||
args.extend(self.with_or_without("http"))
|
||||
|
||||
args.extend(self.enable_or_disable("shared"))
|
||||
# PIC setting is taken care of above by self.flag_handler()
|
||||
args.append("--without-pic")
|
||||
@@ -298,6 +294,4 @@ def configure(self, pkg, spec, prefix):
|
||||
]
|
||||
if spec.satisfies("+python"):
|
||||
opts.append("python=yes")
|
||||
if spec.satisfies("+http"):
|
||||
opts.append("http=yes")
|
||||
cscript("configure.js", *opts)
|
||||
|
||||
@@ -22,9 +22,6 @@ class LinaroForge(Package):
|
||||
maintainers("kenche-linaro")
|
||||
|
||||
if platform.machine() == "aarch64":
|
||||
version(
|
||||
"24.1.1", sha256="ad02a8912650bdca6f50de12c2b6fb471730a5f38f3c58fe91d48429337d3a10"
|
||||
)
|
||||
version("24.1", sha256="e297d0c19c95d4db842187eb38882db094094ec667d854aaf396e11a81bffe0b")
|
||||
version(
|
||||
"24.0.6", sha256="a7f9f71e4352be3680854611fe433a9974fcb8a327ac65ca3bc950c956eac6e4"
|
||||
@@ -97,9 +94,6 @@ class LinaroForge(Package):
|
||||
"22.0.4", sha256="f4cb5bcbaa67f9209299fe4653186a2829760b8b16a2883913aa43766375b04c"
|
||||
)
|
||||
elif platform.machine() == "x86_64":
|
||||
version(
|
||||
"24.1.1", sha256="b58b59f0b4ccf50eb48753d740172f71941b1fbe132dea96d35c6dad58cd9b96"
|
||||
)
|
||||
version("24.1", sha256="0b96878ab73c20b39c4730ed15f24ca86dc5985637ff5d8e68f55e1e802e5fe3")
|
||||
version(
|
||||
"24.0.6", sha256="eab198b964862b4664359ccbec1edb27c2dd3b9fa82bcb4e14fc616a2b0341da"
|
||||
|
||||
@@ -56,7 +56,6 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
|
||||
license("Apache-2.0")
|
||||
|
||||
version("main", branch="main")
|
||||
version("19.1.6", sha256="f07fdcbb27b2b67aa95e5ddadf45406b33228481c250e65175066d36536a1ee2")
|
||||
version("19.1.5", sha256="e2204b9903cd9d7ee833a2f56a18bef40a33df4793e31cc090906b32cbd8a1f5")
|
||||
version("19.1.4", sha256="010e1fd3cabee8799bd2f8a6fbc68f28207494f315cf9da7057a2820f79fd531")
|
||||
version("19.1.3", sha256="e5106e2bef341b3f5e41340e4b6c6a58259f4021ad801acf14e88f1a84567b05")
|
||||
|
||||
@@ -38,7 +38,6 @@ class Mapl(CMakePackage):
|
||||
version("develop", branch="develop")
|
||||
version("main", branch="main")
|
||||
|
||||
version("2.51.2", sha256="f6df2be24d0c113af3d0424b674d970621660bf11e59a699373f014a14d0716e")
|
||||
version("2.51.1", sha256="337dba3980de1d5e603361ecf8f001c5bf99d0addecbeb5c207f3604183ca623")
|
||||
version("2.51.0", sha256="56213d845f5287e599213aab1dea60bf6b64c29cd8093313639304b270c45676")
|
||||
version("2.50.3", sha256="506f73d511b6a63645bbf953bf04f663da06f5069cb559340786e9fe8eeb170f")
|
||||
|
||||
@@ -15,7 +15,6 @@ class Mold(CMakePackage):
|
||||
|
||||
license("MIT")
|
||||
|
||||
version("2.36.0", sha256="3f57fe75535500ecce7a80fa1ba33675830b7d7deb1e5ee9a737e2bc43cdb1c7")
|
||||
version("2.35.1", sha256="912b90afe7fde03e53db08d85a62c7b03a57417e54afc72c08e2fa07cab421ff")
|
||||
version("2.35.0", sha256="2703f1c88c588523815886478950bcae1ef02190dc4787e0d120a293b1a46e3b")
|
||||
version("2.34.1", sha256="a8cf638045b4a4b2697d0bcc77fd96eae93d54d57ad3021bf03b0333a727a59d")
|
||||
|
||||
@@ -10,30 +10,27 @@ class Neko(AutotoolsPackage, CudaPackage, ROCmPackage):
|
||||
for high-fidelity computational fluid dynamics
|
||||
"""
|
||||
|
||||
homepage = "https://neko.cfd"
|
||||
homepage = "https://github.com/ExtremeFLOW/neko"
|
||||
git = "https://github.com/ExtremeFLOW/neko.git"
|
||||
url = "https://github.com/ExtremeFLOW/neko/releases/download/v0.3.2/neko-0.3.2.tar.gz"
|
||||
maintainers("njansson")
|
||||
|
||||
version("develop", branch="develop")
|
||||
version("0.9.1", sha256="098bee5cb807d10cdf2fb56111ba8cbc592882a87e4dae18caf9dbda894611ef")
|
||||
version("0.9.0", sha256="3cffe629ada1631d8774fa51d8bb14b95dc0cea21578c0e07e70deb611a5091a")
|
||||
version("0.8.1", sha256="ac8162bc18e7112fd21b49c5a9c36f45c7b84896e90738be36a182990798baec")
|
||||
version("0.8.0", sha256="09d0b253c8abda9f384bf8f03b17b50d774cb0a1f7b72744a8e863acac516a51")
|
||||
version("0.7.2", sha256="5dd17fbae83d0b26dc46fafce4e5444be679cdce9493cef4ff7d504e2f854254")
|
||||
version("0.7.1", sha256="c935c3d93b0975db46448045f97aced6ac2cab31a2b8803047f8086f98dcb981")
|
||||
version("0.7.0", sha256="fe871e0a79f388073e0b3dc191d1c0d5da3a53883f5b1951d88b9423fc79a53c")
|
||||
|
||||
with default_args(deprecated=True):
|
||||
version("0.6.1", sha256="6282baaf9c8a201669e274cba23c37922f7ad701ba20ef086442e48f00dabf29")
|
||||
version("0.6.0", sha256="ce37c7cea1a7bf1bf554c5717aa7fed35bbd079ff68c2fc9d3529facc717e31a")
|
||||
version("0.5.2", sha256="8873f5ada106f92f21c9bb13ea8164550bccde9301589b9e7f1c1a82a2efe2b8")
|
||||
version("0.5.1", sha256="8b176bcc9f2d4a6804b68dd93a2f5e02e2dfa986d5c88063bbc72d39e9659cc4")
|
||||
version("0.5.0", sha256="01a745f2e19dd278330889a0dd6c5ab8af49da99c888d95c10adb5accc1cbfc4")
|
||||
version("0.4.3", sha256="ba8fde09cbc052bb4791a03f69c880705615b572982cd3177ee31e4e14931da2")
|
||||
version("0.4.2", sha256="927f926bdbf027c30e8e383e1790e84b60f5a9ed61e48a413092aac2ab24abcc")
|
||||
version("0.3.2", sha256="0628910aa9838a414f2f27d09ea9474d1b3d7dcb5a7715556049a2fdf81a71ae")
|
||||
version("0.3.0", sha256="e46bef72f694e59945514ab8b1ad7d74f87ec9dca2ba2b230e2148662baefdc8")
|
||||
version("0.6.1", sha256="6282baaf9c8a201669e274cba23c37922f7ad701ba20ef086442e48f00dabf29")
|
||||
version("0.6.0", sha256="ce37c7cea1a7bf1bf554c5717aa7fed35bbd079ff68c2fc9d3529facc717e31a")
|
||||
version("0.5.2", sha256="8873f5ada106f92f21c9bb13ea8164550bccde9301589b9e7f1c1a82a2efe2b8")
|
||||
version("0.5.1", sha256="8b176bcc9f2d4a6804b68dd93a2f5e02e2dfa986d5c88063bbc72d39e9659cc4")
|
||||
version("0.5.0", sha256="01a745f2e19dd278330889a0dd6c5ab8af49da99c888d95c10adb5accc1cbfc4")
|
||||
version("0.4.3", sha256="ba8fde09cbc052bb4791a03f69c880705615b572982cd3177ee31e4e14931da2")
|
||||
version("0.4.2", sha256="927f926bdbf027c30e8e383e1790e84b60f5a9ed61e48a413092aac2ab24abcc")
|
||||
version("0.3.2", sha256="0628910aa9838a414f2f27d09ea9474d1b3d7dcb5a7715556049a2fdf81a71ae")
|
||||
version("0.3.0", sha256="e46bef72f694e59945514ab8b1ad7d74f87ec9dca2ba2b230e2148662baefdc8")
|
||||
version("develop", branch="develop")
|
||||
|
||||
depends_on("c", type="build") # generated
|
||||
depends_on("fortran", type="build") # generated
|
||||
|
||||
@@ -36,27 +36,13 @@ class Ninja(Package):
|
||||
version("1.7.2", sha256="2edda0a5421ace3cf428309211270772dd35a91af60c96f93f90df6bc41b16d9")
|
||||
version("1.6.0", sha256="b43e88fb068fe4d92a3dfd9eb4d19755dae5c33415db2e9b7b61b4659009cde7")
|
||||
|
||||
# ninja@1.12: needs googletest source, but 1.12 itself needs a patch to use it
|
||||
resource(
|
||||
name="googletest",
|
||||
url="https://github.com/google/googletest/archive/refs/tags/release-1.12.1.tar.gz",
|
||||
sha256="81964fe578e9bd7c94dfdb09c8e4d6e6759e19967e397dbea48d1c10e45d0df2",
|
||||
placement="gtest",
|
||||
when="@1.12:",
|
||||
)
|
||||
patch(
|
||||
"https://github.com/ninja-build/ninja/commit/f14a949534d673f847c407644441c8f37e130ce9.patch?full_index=1",
|
||||
sha256="93f4bb3234c3af04e2454c6f0ef2eca3107edd4537a70151ea66f1a1d4c22dad",
|
||||
when="@1.12",
|
||||
)
|
||||
depends_on("c", type="build") # generated
|
||||
depends_on("cxx", type="build") # generated
|
||||
|
||||
variant(
|
||||
"re2c", default=not sys.platform == "win32", description="Enable buidling Ninja with re2c"
|
||||
)
|
||||
|
||||
depends_on("c", type="build") # generated
|
||||
depends_on("cxx", type="build") # generated
|
||||
|
||||
depends_on("python", type="build")
|
||||
depends_on("re2c@0.11.3:", type="build", when="+re2c")
|
||||
|
||||
@@ -68,10 +54,7 @@ def determine_version(cls, exe):
|
||||
return output.strip()
|
||||
|
||||
def configure(self, spec, prefix):
|
||||
if self.run_tests and spec.satisfies("@1.12:"):
|
||||
python("configure.py", "--bootstrap", "--gtest-source-dir=gtest")
|
||||
else:
|
||||
python("configure.py", "--bootstrap")
|
||||
python("configure.py", "--bootstrap")
|
||||
|
||||
@run_after("configure")
|
||||
@on_package_attributes(run_tests=True)
|
||||
|
||||
@@ -20,7 +20,6 @@ class Nlopt(CMakePackage):
|
||||
license("LGPL-2.1-or-later")
|
||||
|
||||
version("master", branch="master")
|
||||
version("2.9.1", sha256="1e6c33f8cbdc4138d525f3326c231f14ed50d99345561e85285638c49b64ee93")
|
||||
version("2.8.0", sha256="e02a4956a69d323775d79fdaec7ba7a23ed912c7d45e439bc933d991ea3193fd")
|
||||
version("2.7.1", sha256="db88232fa5cef0ff6e39943fc63ab6074208831dc0031cf1545f6ecd31ae2a1a")
|
||||
version("2.7.0", sha256="b881cc2a5face5139f1c5a30caf26b7d3cb43d69d5e423c9d78392f99844499f")
|
||||
@@ -44,7 +43,6 @@ class Nlopt(CMakePackage):
|
||||
|
||||
depends_on("cmake@3.0:", type="build", when="@master")
|
||||
depends_on("python", when="+python", type=("build", "run"))
|
||||
depends_on("python@:3.12", when="+python @:2.8", type=("build", "run"))
|
||||
depends_on("py-numpy", when="+python", type=("build", "run"))
|
||||
depends_on("swig", when="+python")
|
||||
depends_on("guile", when="+guile")
|
||||
|
||||
@@ -13,12 +13,10 @@ class Ocaml(Package):
|
||||
url = "https://caml.inria.fr/pub/distrib/ocaml-4.06/ocaml-4.06.0.tar.gz"
|
||||
|
||||
maintainers("scemama")
|
||||
version("5.2.1", sha256="2d0f8090951a97a2c0e5b8a11e90096c0e1791d2e471e4a67f87e3b974044cd0")
|
||||
version("5.2.0", sha256="3a7b5fb6d81bb42bbda84aadf5d84ff8bcbb149988087e7863bf5c2f4b27b187")
|
||||
version("5.1.1", sha256="33b8c1df88700ba1f5123aa4bdbc7a125482feafc77e5081ef1725fddf290be1")
|
||||
version("5.1.0", sha256="5e91492d87b193728a0729122b679039c73e75820dcf2724a31b262390d210c2")
|
||||
version("5.0.0", sha256="969e1f7939736d39f2af533cd12cc64b05f060dbed087d7b760ee2503bfe56de")
|
||||
version("4.14.2", sha256="93b4f3ba39d559a963fc10744563b4c6e92e9ffb540ce89e5c5ebf76086b99f3")
|
||||
version("4.13.1", sha256="66a5353c5e7b33a8981446e857657aad45a3b82080ea5c67d4baa434eacfcf5f")
|
||||
version("4.12.0", sha256="9825e5903b852a7a5edb71a1ed68f5d5d55d6417e2dda514dda602bc6efeed7b")
|
||||
version("4.11.0", sha256="b5bd04bf794a676389b167633f01f8275acdd853149b137f7575f2c2ddef1377")
|
||||
@@ -78,10 +76,7 @@ def install(self, spec, prefix):
|
||||
string=True,
|
||||
)
|
||||
|
||||
if self.spec.satisfies("@4.8.0:"):
|
||||
base_args += [f"CC={self.compiler.cc}"]
|
||||
|
||||
configure(*(base_args))
|
||||
configure(*(base_args), f"CC={self.compiler.cc}")
|
||||
|
||||
make("world.opt")
|
||||
make("install", "PREFIX={0}".format(prefix))
|
||||
|
||||
@@ -20,17 +20,11 @@ class Ocamlbuild(MakefilePackage):
|
||||
|
||||
# Add proper versions here.
|
||||
version("master", branch="master")
|
||||
version("0.15.0", sha256="d3f6ee73100b575d4810247d10ed8f53fccef4e90daf0e4a4c5f3e6a3030a9c9")
|
||||
version("0.14.3", sha256="ce151bfd2141abc6ee0b3f25ba609e989ff564a48bf795d6fa7138a4db0fc2e1")
|
||||
version("0.14.2", sha256="62d2dab6037794c702a83ac584a7066d018cf1645370d1f3d5764c2b458791b1")
|
||||
version("0.14.1", sha256="4e1279ff0ef80c862eaa5207a77020d741e89ef94f0e4a92a37c4188dbf08256")
|
||||
version("0.14.0", sha256="87b29ce96958096c0a1a8eeafeb6268077b2d11e1bf2b3de0f5ebc9cf8d42e78")
|
||||
version("0.13.1", sha256="79839544bcaebc8f9f0d73d029e2b67e2c898bba046c559ea53de81ea763408c")
|
||||
|
||||
# Add dependencies if required.
|
||||
depends_on("ocaml")
|
||||
depends_on("ocaml@:5.0.0", when="@:0.14.1")
|
||||
depends_on("ocaml@:5.1.1", when="@:0.14.2")
|
||||
|
||||
# Installation : https://github.com/ocaml/ocamlbuild/
|
||||
def edit(self, spec, prefix):
|
||||
|
||||
@@ -32,7 +32,6 @@ class Openmpi(AutotoolsPackage, CudaPackage):
|
||||
url = "https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.0.tar.bz2"
|
||||
list_url = "https://www.open-mpi.org/software/ompi/"
|
||||
git = "https://github.com/open-mpi/ompi.git"
|
||||
cxxname = "mpic++"
|
||||
|
||||
maintainers("hppritcha", "naughtont3")
|
||||
|
||||
@@ -886,7 +885,7 @@ def setup_run_environment(self, env):
|
||||
# Because MPI is both a runtime and a compiler, we have to setup the
|
||||
# compiler components as part of the run environment.
|
||||
env.set("MPICC", join_path(self.prefix.bin, "mpicc"))
|
||||
env.set("MPICXX", join_path(self.prefix.bin, self.cxxname))
|
||||
env.set("MPICXX", join_path(self.prefix.bin, "mpic++"))
|
||||
env.set("MPIF77", join_path(self.prefix.bin, "mpif77"))
|
||||
env.set("MPIF90", join_path(self.prefix.bin, "mpif90"))
|
||||
# Open MPI also has had mpifort since v1.7, so we can set MPIFC to that
|
||||
@@ -928,7 +927,7 @@ def setup_dependent_build_environment(self, env, dependent_spec):
|
||||
|
||||
def setup_dependent_package(self, module, dependent_spec):
|
||||
self.spec.mpicc = join_path(self.prefix.bin, "mpicc")
|
||||
self.spec.mpicxx = join_path(self.prefix.bin, self.cxxname)
|
||||
self.spec.mpicxx = join_path(self.prefix.bin, "mpic++")
|
||||
self.spec.mpifc = join_path(self.prefix.bin, "mpif90")
|
||||
self.spec.mpif77 = join_path(self.prefix.bin, "mpif77")
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ class Pkgconf(AutotoolsPackage):
|
||||
|
||||
license("ISC")
|
||||
|
||||
version("2.3.0", sha256="3a9080ac51d03615e7c1910a0a2a8df08424892b5f13b0628a204d3fcce0ea8b")
|
||||
version("2.2.0", sha256="b06ff63a83536aa8c2f6422fa80ad45e4833f590266feb14eaddfe1d4c853c69")
|
||||
version("1.9.5", sha256="1ac1656debb27497563036f7bffc281490f83f9b8457c0d60bcfb638fb6b6171")
|
||||
version("1.8.0", sha256="ef9c7e61822b7cb8356e6e9e1dca58d9556f3200d78acab35e4347e9d4c2bbaf")
|
||||
|
||||
@@ -34,11 +34,11 @@ class Pmix(AutotoolsPackage):
|
||||
url = "https://github.com/openpmix/openpmix/releases/download/v5.0.3/pmix-5.0.3.tar.bz2"
|
||||
git = "https://github.com/openpmix/openpmix.git"
|
||||
|
||||
maintainers("rhc54")
|
||||
|
||||
license("BSD-3-Clause-Open-MPI")
|
||||
|
||||
version("master", branch="master", submodules=True)
|
||||
version("5.0.5", sha256="a12e148c8ec4b032593a2c465a762e93c43ad715f3ceb9fbc038525613b0c70d")
|
||||
version("5.0.4", sha256="f72d50a5ae9315751684ade8a8e9ac141ae5dd64a8652d594b9bee3531a91376")
|
||||
version("5.0.3", sha256="3f779434ed59fc3d63e4f77f170605ac3a80cd40b1f324112214b0efbdc34f13")
|
||||
version("5.0.2", sha256="28227ff2ba925da2c3fece44502f23a91446017de0f5a58f5cea9370c514b83c")
|
||||
version("5.0.1", sha256="d4371792d4ba4c791e1010100b4bf9a65500ababaf5ff25d681f938527a67d4a")
|
||||
@@ -159,7 +159,7 @@ class Pmix(AutotoolsPackage):
|
||||
variant(
|
||||
"restful",
|
||||
default=False,
|
||||
when="@4:5.0.4",
|
||||
when="@4:",
|
||||
description="Allow a PMIx server to request services from a system-level REST server",
|
||||
)
|
||||
variant(
|
||||
|
||||
@@ -14,10 +14,6 @@ class Podman(Package):
|
||||
|
||||
license("Apache-2.0")
|
||||
|
||||
version("4.9.3", sha256="37afc5bba2738c68dc24400893b99226c658cc9a2b22309f4d7abe7225d8c437")
|
||||
version("4.8.3", sha256="3a99b6c82644fa52929cf4143943c63d6784c84094892bc0e14197fa38a1c7fa")
|
||||
version("4.7.2", sha256="10346c5603546427bd809b4d855d1e39b660183232309128ad17a64969a0193d")
|
||||
version("4.6.2", sha256="2d8e04f0c3819c3f0ed1ca5d01da87e6d911571b96ae690448f7f75df41f2ad1")
|
||||
version("4.5.1", sha256="ee2c8b02b7fe301057f0382637b995a9c6c74e8d530692d6918e4c509ade6e39")
|
||||
version("4.3.1", sha256="455c29c4ee78cd6365e5d46e20dd31a5ce4e6e1752db6774253d76bd3ca78813")
|
||||
version("3.4.7", sha256="4af6606dd072fe946960680611ba65201be435b43edbfc5cc635b2a01a899e6e")
|
||||
|
||||
@@ -9,11 +9,10 @@ class PyApscheduler(PythonPackage):
|
||||
"""In-process task scheduler with Cron-like capabilities."""
|
||||
|
||||
homepage = "https://github.com/agronholm/apscheduler"
|
||||
pypi = "APScheduler/APScheduler-3.6.3.tar.gz"
|
||||
pypi = "APScheduler/APScheduler-3.3.1.tar.gz"
|
||||
|
||||
license("MIT")
|
||||
|
||||
version("3.6.3", sha256="3bb5229eed6fbbdafc13ce962712ae66e175aa214c69bed35a06bffcf0c5e244")
|
||||
version("3.3.1", sha256="f68874dff1bdffcc6ce3adb7840c1e4d162c609a3e3f831351df30b75732767b")
|
||||
version("2.1.0", sha256="3b4b44387616902ad6d13122961013630eb25519937e5aa7c450de85656c9753")
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@ class PyClick(PythonPackage):
|
||||
|
||||
license("BSD-3-Clause")
|
||||
|
||||
version("8.1.8", sha256="ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a")
|
||||
version("8.1.7", sha256="ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de")
|
||||
version("8.1.3", sha256="7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e")
|
||||
version("8.0.3", sha256="410e932b050f5eed773c4cda94de75971c89cdb3155a72a0831139a79e5ecb5b")
|
||||
@@ -29,10 +28,7 @@ class PyClick(PythonPackage):
|
||||
|
||||
# Needed to ensure that Spack can bootstrap black with Python 3.6
|
||||
depends_on("python@3.7:", when="@8.1:", type=("build", "run"))
|
||||
with when("@8.1.8:"):
|
||||
depends_on("py-flit-core@:3", type="build")
|
||||
with when("@:8.1.7"):
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-setuptools", type="build")
|
||||
|
||||
depends_on("py-importlib-metadata", when="@8: ^python@:3.7", type=("build", "run"))
|
||||
depends_on("py-colorama", when="@8: platform=windows", type=("build", "run"))
|
||||
|
||||
@@ -13,22 +13,9 @@ class PyDeepdiff(PythonPackage):
|
||||
|
||||
license("MIT")
|
||||
|
||||
version("8.1.1", sha256="dd7bc7d5c8b51b5b90f01b0e2fe23c801fd8b4c6a7ee7e31c5a3c3663fcc7ceb")
|
||||
version("8.0.1", sha256="245599a4586ab59bb599ca3517a9c42f3318ff600ded5e80a3432693c8ec3c4b")
|
||||
version("7.0.1", sha256="260c16f052d4badbf60351b4f77e8390bee03a0b516246f6839bc813fb429ddf")
|
||||
version("6.7.1", sha256="b367e6fa6caac1c9f500adc79ada1b5b1242c50d5f716a1a4362030197847d30")
|
||||
version("6.6.1", sha256="75c75b1511f0e48edef2b70d785a9c32b2631666b465fa8c32270a77a7b950b5")
|
||||
version("6.5.0", sha256="080b1359d6128f3f5f1738c6be3064f0ad9b0cc41994aa90a028065f6ad11f25")
|
||||
version("6.4.1", sha256="744c4e54ff83eaa77a995b3311dccdce6ee67773335a34a5ef269fa048005457")
|
||||
version("6.3.1", sha256="e8c1bb409a2caf1d757799add53b3a490f707dd792ada0eca7cac1328055097a")
|
||||
version("6.3.0", sha256="6a3bf1e7228ac5c71ca2ec43505ca0a743ff54ec77aa08d7db22de6bc7b2b644")
|
||||
version("5.6.0", sha256="e3f1c3a375c7ea5ca69dba6f7920f9368658318ff1d8a496293c79481f48e649")
|
||||
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-orderly-set@5.2.3:5", when="@8.1.0:", type=("build", "run"))
|
||||
depends_on("py-orderly-set@5.2.2", when="@8.0.1", type=("build", "run"))
|
||||
depends_on("py-orderly-set@5.2.1", when="@8.0.0", type=("build", "run"))
|
||||
|
||||
depends_on("py-ordered-set@4.1", when="@7.0.1:7", type=("build", "run"))
|
||||
depends_on("py-ordered-set@4.0.2:4.1", when="@6:7.0.0", type=("build", "run"))
|
||||
depends_on("py-ordered-set@4.0.2:4.1", when="@6:", type=("build", "run"))
|
||||
depends_on("py-ordered-set@4.0.2", when="@:5", type=("build", "run"))
|
||||
|
||||
@@ -10,27 +10,18 @@ class PyEarthengineApi(PythonPackage):
|
||||
using the Python programming language."""
|
||||
|
||||
homepage = "https://github.com/google/earthengine-api"
|
||||
pypi = "earthengine-api/earthengine_api-1.4.3.tar.gz"
|
||||
pypi = "earthengine-api/earthengine-api-0.1.186.tar.gz"
|
||||
|
||||
license("Apache-2.0")
|
||||
maintainers("adamjstewart")
|
||||
|
||||
version("1.4.3", sha256="052b65d4dfc6cc474d70fb78946cd981aee4c52e6df6dfbbe17a9ac5124214d0")
|
||||
version("0.1.344", sha256="bc5a270b8296aaae8574e68dfd93fe878bc5fbe77d1c41f90bcb5e5b830ca5c8")
|
||||
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-google-cloud-storage", type=("build", "run"))
|
||||
depends_on("py-google-api-python-client@1.12.1:", type=("build", "run"))
|
||||
depends_on("py-google-api-python-client", type=("build", "run"))
|
||||
depends_on("py-google-auth@1.4.1:", type=("build", "run"))
|
||||
depends_on("py-google-auth-httplib2@0.0.3:", type=("build", "run"))
|
||||
depends_on("py-httplib2@0.9.2:0", type=("build", "run"))
|
||||
depends_on("py-requests", type=("build", "run"))
|
||||
depends_on("google-cloud-cli", type="run")
|
||||
|
||||
def url_for_version(self, version):
|
||||
url = "https://files.pythonhosted.org/packages/source/e/earthengine-api/{}-{}.tar.gz"
|
||||
if version >= Version("0.1.399"):
|
||||
name = "earthengine_api"
|
||||
else:
|
||||
name = "earthengine-api"
|
||||
return url.format(name, version)
|
||||
|
||||
@@ -26,28 +26,15 @@ class PyEspresso(CMakePackage):
|
||||
license("GPL-3.0-only")
|
||||
|
||||
version("develop", branch="python")
|
||||
version("4.2.2", sha256="2bc02f91632b0030f1203759768bd718bd8a0005f72696980b12331b4bfa0d76")
|
||||
version("4.2.1", sha256="d74b46438b0d013cac35602e28f3530686446a3a307f6771baf15395066bdad5")
|
||||
version("4.2.0", sha256="080bbf6bec5456192ce4e1bc0ddebb9e8735db723d3062ec87154f1ac411aaab")
|
||||
|
||||
version("4.1.4", sha256="c1b68de63755475c5eb3ae8117d8c6d96c8ac36cc0f46dd44417a8e7ebe9242c")
|
||||
version("4.1.3", sha256="13dd998f71547c6c979a33d918b7f83e1a0e1c5f2bf2ddeeb0d1e99a3dcd6008")
|
||||
version("4.1.2", sha256="00bc8e4cab8fc8f56d18978970b55f09168521ed5898a92769986f2157a81a2c")
|
||||
version("4.1.1", sha256="61f19f17469522d4aa480ff5254217668ba713589c6b74576e6305920d688f90")
|
||||
version("4.1.0", sha256="83cd5dd50c022d028697ff3e889005e4881100ed8cd56b558978f23d0b590c85")
|
||||
|
||||
version("4.0.2", sha256="89878ab44a58e90b69d56368e961b8ca13d9307f8d4b282967a1f3071a62c740")
|
||||
version("4.0.1", sha256="17b7268eeba652a77f861bc534cdd05d206e7641d203a9dd5029b44bd422304b")
|
||||
version("4.0.0", sha256="8e128847447eebd843de24be9b4ad14aa19c028ae48879a5a4535a9683836e6b")
|
||||
|
||||
depends_on("cxx", type="build") # generated
|
||||
|
||||
# espressomd/espresso#2244 merge upstream
|
||||
patch("2244.patch", when="@4.0.0")
|
||||
|
||||
# Support for modern gcc was fixed in 4.2 (https://github.com/espressomd/espresso/pull/3990)
|
||||
conflicts("%gcc@11:", when="@:4.1")
|
||||
|
||||
variant("hdf5", default=True, description="Enable HDF5 backend")
|
||||
|
||||
depends_on("cmake@3.0:", type="build")
|
||||
depends_on("mpi")
|
||||
depends_on("boost+serialization+filesystem+system+python+mpi")
|
||||
@@ -60,16 +47,4 @@ class PyEspresso(CMakePackage):
|
||||
depends_on("py-cython@0.23:", type="build")
|
||||
depends_on("py-numpy", type=("build", "run"))
|
||||
depends_on("fftw")
|
||||
depends_on("hdf5+hl+mpi", when="+hdf5")
|
||||
|
||||
def cmake_args(self):
|
||||
args = []
|
||||
|
||||
if self.spec.satisfies("@4.0:4.1"):
|
||||
# 4.1 defaults CUDA options to ON, which this package does not currently support
|
||||
# Ideally a future version of the package would add proper CUDA support.
|
||||
args.append(self.define("WITH_CUDA", False))
|
||||
|
||||
args.append(self.define_from_variant("WITH_HDF5", "hdf5"))
|
||||
|
||||
return args
|
||||
depends_on("hdf5+hl+mpi")
|
||||
|
||||
@@ -8,66 +8,21 @@
|
||||
class PyIminuit(PythonPackage):
|
||||
"""Interactive IPython-Friendly Minimizer based on SEAL Minuit2."""
|
||||
|
||||
homepage = "http://github.com/scikit-hep/iminuit"
|
||||
pypi = "iminuit/iminuit-1.2.tar.gz"
|
||||
|
||||
tags = ["hep"]
|
||||
|
||||
license("MIT AND LGPL-2.0-only", checked_by="wdconinc")
|
||||
|
||||
version("2.30.1", sha256="2815bfdeb8e7f78185f316b75e2d4b19d0f6993bdc5ff03352ed37b70a796360")
|
||||
version("2.29.1", sha256="474d10eb2f924b9320f6f7093e4c149d0a38c124d0419c12a07a3eca942de025")
|
||||
version("2.28.0", sha256="6646ae0b66a4760e02cd73711d460a6cf2375382b78ce8344141751595596aad")
|
||||
version("2.27.0", sha256="4ce830667730e76d20b10416a5851672c7fcc301dd1f48b9143cfd187b89ab8e")
|
||||
version("2.26.0", sha256="a51233fbf1c2e008aa584f9eea65b6c30ed56624e4dea5d4e53370ccd84c9b4e")
|
||||
version("2.25.2", sha256="3bf8a1b96865a60cedf29135f4feae09fa7c66237d29f68ded64e97a823a9b3e")
|
||||
version("2.24.0", sha256="25ab631c3c8e024b1bcc7c96f66338caac54a4a2324d55f1e3ba5617816e44fd")
|
||||
version("2.23.0", sha256="98f1589eb18d4882232ff1556d62e7ca19c91bbab7524ac8b405261a674452a1")
|
||||
version("2.22.0", sha256="e0ccc37bad8bc1bd3b9d3fa07d28d4c0407e25a888faa9b559be2d9afbd2d97c")
|
||||
version("2.21.3", sha256="fb313f0cc27e221b9b221bcd779b3a668fb4c77b0f90abfd5336833ecbdac016")
|
||||
version("2.20.0", sha256="a73fe6e02f35e3180fc01bc5c1794edf662ff1725c3bc2a4f433567799da7504")
|
||||
version("2.19.0", sha256="f4d1cbaccf115cdc4866968f649f2a37794a5c0de018de8156aa74556350a54c")
|
||||
version("2.18.0", sha256="7ee2c6a0bcdac581b38fae8d0f343fdee55f91f1f6a6cc9643fcfbcc6c2dc3e6")
|
||||
version("2.17.0", sha256="75f4a8a2bad21fda7b6bd42df7ca04120fb24636ebf9b566d259b26f2044b1d0")
|
||||
version("2.16.0", sha256="1024a519dbc8fd52d5fd2a3779fd485b09bc27c40556def8b6f91695423199d6")
|
||||
version("2.15.2", sha256="60ac7d2fe9405c9206675229273f401611d3f5dfa22942541646c4625b59f1ea")
|
||||
version("2.14.0", sha256="5920880d6ec0194411942ab6040a1930398be45669c9f60fff391e666c863417")
|
||||
version("2.13.0", sha256="e34785c2a2c0aea6ff86672fe81b80a04ac9d42a79ed8249630f2529a8f6a0fa")
|
||||
version("2.12.2", sha256="29142ed38cf986c08683dc9e912a484abc70962a4d36d7d71b7d9d872316be8e")
|
||||
version("2.11.2", sha256="8cae7917ca2d22c691e00792bfbbb812b84ac5c75120eb2ae879fb4ada41ee6c")
|
||||
version("2.10.0", sha256="93b33ca6d2ffd73e80b40e8a400ca3dbc70e05662f1bd390e2b6040279101485")
|
||||
version("2.9.0", sha256="656410ceffead79a52d3d727fdcd2bac78d7774239bef0efc3b7a86bae000ff3")
|
||||
version("2.8.4", sha256="4b09189f3094896cfc68596adc95b7f1d92772e1de1424e5dc4dd81def56e8b0")
|
||||
version("1.5.2", sha256="0b54f4d4fc3175471398b573d24616ddb8eb7d63808aa370cfc71fc1d636a1fd")
|
||||
version("1.3.7", sha256="9173e52cc4a0c0bda13ebfb862f9b074dc5de345b23cb15c1150863aafd8a26c")
|
||||
version("1.3.6", sha256="d79a197f305d4708a0e3e52b0a6748c1a6997360d2fbdfd09c022995a6963b5e")
|
||||
version("1.2", sha256="7651105fc3f186cfb5742f075ffebcc5088bf7797d8ed124c00977eebe0d1c64")
|
||||
|
||||
depends_on("cxx", type="build")
|
||||
depends_on("cxx", type="build") # generated
|
||||
|
||||
# Required dependencies
|
||||
depends_on("python@3.6:", type=("build", "run"), when="@2.6.1:")
|
||||
depends_on("python@3.7:", type=("build", "run"), when="@2.17.0:")
|
||||
depends_on("python@3.8:", type=("build", "run"), when="@2.19.0:")
|
||||
depends_on("python@3.9:", type=("build", "run"), when="@2.28.0:")
|
||||
with when("@2.22:"):
|
||||
depends_on("py-scikit-build-core@0.3:+pyproject", type="build")
|
||||
depends_on("py-scikit-build-core@0.5:+pyproject", type="build", when="@2.26:")
|
||||
depends_on("py-pybind11", type="build")
|
||||
depends_on("py-pybind11@2.12:", type="build", when="@2.26:")
|
||||
with when("@:2.21"):
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-numpy", type=("build", "run"), when="@1.3:1.3.6")
|
||||
depends_on("py-numpy@1.11.3:", type=("build", "run"), when="@1.3.7:")
|
||||
# https://github.com/numpy/numpy/issues/26191#issuecomment-2179127999
|
||||
depends_on("py-numpy@1.21:", type=("build", "run"), when="@2.22:")
|
||||
depends_on("py-numpy@:1", when="@:2.25", type=("build", "run"))
|
||||
depends_on("cmake@3.11:", type="build")
|
||||
depends_on("cmake@3.13:", type="build", when="@2:")
|
||||
depends_on("cmake@3.15:", type="build", when="@2.22:")
|
||||
|
||||
# Historical dependencies
|
||||
with when("@:2.27"):
|
||||
depends_on("py-typing-extensions", when="@2.21: ^python@:3.8", type=("build", "run"))
|
||||
depends_on(
|
||||
"py-typing-extensions@3.7.4:", when="@2.26: ^python@:3.8", type=("build", "run")
|
||||
)
|
||||
depends_on("cmake", type="build", when="@2.8.4")
|
||||
|
||||
@@ -22,7 +22,6 @@ class PyKeras(PythonPackage):
|
||||
maintainers("adamjstewart")
|
||||
license("Apache-2.0")
|
||||
|
||||
version("3.8.0", sha256="6289006e6f6cb2b68a563b58cf8ae5a45569449c5a791df6b2f54c1877f3f344")
|
||||
version("3.7.0", sha256="a4451a5591e75dfb414d0b84a3fd2fb9c0240cc87ebe7e397f547ce10b0e67b7")
|
||||
version("3.6.0", sha256="405727525a3522ed8f9ec0b46e0667e4c65fcf714a067322c16a00d902ded41d")
|
||||
version("3.5.0", sha256="53ae4f9472ec9d9c6941c82a3fda86969724ace3b7630a94ba0a1f17ba1065c3")
|
||||
@@ -65,7 +64,6 @@ class PyKeras(PythonPackage):
|
||||
version("2.2.1", sha256="0d3cb14260a3fa2f4a5c4c9efa72226ffac3b4c50135ba6edaf2b3d1d23b11ee")
|
||||
version("2.2.0", sha256="5b8499d157af217f1a5ee33589e774127ebc3e266c833c22cb5afbb0ed1734bf")
|
||||
|
||||
# TODO: add openvino backend (keras 3.8+)
|
||||
variant(
|
||||
"backend",
|
||||
default="tensorflow",
|
||||
@@ -87,6 +85,7 @@ class PyKeras(PythonPackage):
|
||||
depends_on("py-absl-py", when="@2.6:")
|
||||
depends_on("py-numpy")
|
||||
depends_on("py-rich", when="@3:")
|
||||
depends_on("py-namex@0.0.8:", when="@3.3.3:")
|
||||
depends_on("py-namex", when="@3:")
|
||||
depends_on("py-h5py")
|
||||
depends_on("py-optree", when="@3.1:")
|
||||
@@ -94,21 +93,22 @@ class PyKeras(PythonPackage):
|
||||
depends_on("py-packaging", when="@3.4:")
|
||||
|
||||
# requirements-common.txt
|
||||
# Many more (optional?) dependencies
|
||||
depends_on("py-scipy")
|
||||
depends_on("py-pandas")
|
||||
depends_on("py-requests", when="@3:")
|
||||
depends_on("py-protobuf", when="@3:")
|
||||
|
||||
# requirements-tensorflow-cuda.txt
|
||||
with when("backend=tensorflow"):
|
||||
depends_on("py-tensorflow@2.18", when="@3.7:")
|
||||
depends_on("py-tensorflow@2.17", when="@3.5:3.6")
|
||||
depends_on("py-tensorflow@2.16.1:2.16", when="@3.0:3.4")
|
||||
# depends_on("py-tf2onnx", when="@3.8:")
|
||||
|
||||
# requirements-jax-cuda.txt
|
||||
with when("backend=jax"):
|
||||
depends_on("py-jax@0.4.28", when="@3.6:")
|
||||
depends_on("py-jax@0.4.23", when="@3.0.5:3.5")
|
||||
depends_on("py-jax", when="@3:")
|
||||
# depends_on("py-flax", when="@3.2:")
|
||||
|
||||
# requirements-torch-cuda.txt
|
||||
with when("backend=torch"):
|
||||
@@ -126,7 +126,6 @@ class PyKeras(PythonPackage):
|
||||
depends_on("py-torchvision@0.16.2", when="@3.0.3:3.0.5")
|
||||
depends_on("py-torchvision@0.16.1", when="@3.0.1:3.0.2")
|
||||
depends_on("py-torchvision@0.16.0", when="@3.0.0")
|
||||
# depends_on("py-torch-xla", when="@3.8:")
|
||||
|
||||
# Historical dependencies
|
||||
with default_args(type="build"):
|
||||
|
||||
@@ -16,7 +16,6 @@ class PyLightning(PythonPackage):
|
||||
|
||||
license("Apache-2.0")
|
||||
|
||||
version("2.5.0", sha256="3090d979acbc5a97a91906687f9530a246f357fd6b1a81a38d8a8c998ba6db5f")
|
||||
version("2.4.0", sha256="9156604cc56e4b2b603f34fa7f0fe5107375c8e6d85e74544b319a15faa9ed0e")
|
||||
version("2.3.3", sha256="7f454711895c1c6e455766f01fa39522e25e5ab54c15c5e5fbad342fa92bc93c")
|
||||
version("2.3.2", sha256="6d02862e7e8c9e6903c06314296d0950e677f7e67ad615c3262fe7c73d95f4b8")
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
# Copyright Spack Project Developers. See COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PyNeo4j(PythonPackage):
|
||||
"""This is the neo4j bolt driver for python from the official repository"""
|
||||
|
||||
pypi = "neo4j/neo4j-5.25.0.tar.gz"
|
||||
|
||||
license("LGPL-3.0-only")
|
||||
|
||||
version("5.25.0", sha256="7c82001c45319092cc0b5df4c92894553b7ab97bd4f59655156fa9acab83aec9")
|
||||
|
||||
depends_on("py-pytz", type="run")
|
||||
depends_on("py-setuptools@68.0.0", type="build")
|
||||
depends_on("py-tomlkit@0.11.8", type="build")
|
||||
depends_on("python@3.7.0:", type=("build", "run"))
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user