Compare commits
22 Commits
refactor-s
...
develop-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5b6137d91a | ||
|
|
b7edcbecd7 | ||
|
|
5ccbe68f16 | ||
|
|
9fe4cef89e | ||
|
|
165c6cef08 | ||
|
|
0efd5287c4 | ||
|
|
b1ab01280a | ||
|
|
ab84876e2c | ||
|
|
e2d5be83e7 | ||
|
|
85cdf37d3b | ||
|
|
06521b44b6 | ||
|
|
1e5325eea0 | ||
|
|
0995a29c5c | ||
|
|
133d6e2656 | ||
|
|
36117444aa | ||
|
|
330a9a7c9a | ||
|
|
0dc3fc2d21 | ||
|
|
a972314fa6 | ||
|
|
16d1ed3591 | ||
|
|
5c25f16df2 | ||
|
|
b3ccaa81a7 | ||
|
|
a0041731a3 |
@@ -154,7 +154,7 @@ def quote_kvp(string: str) -> str:
|
||||
or ``name==``, and we assume the rest of the argument is the value. This covers the
|
||||
common cases of passign flags, e.g., ``cflags="-O2 -g"`` on the command line.
|
||||
"""
|
||||
match = re.match(spack.parser.SPLIT_KVP, string)
|
||||
match = spack.parser.SPLIT_KVP.match(string)
|
||||
if not match:
|
||||
return string
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
VALUE = r"(?:[a-zA-Z_0-9\-+\*.,:=\~\/\\]+)"
|
||||
|
||||
#: Variant/flag values that match this can be left unquoted in Spack output
|
||||
NO_QUOTES_NEEDED = r"^[a-zA-Z0-9,/_.-]+$"
|
||||
NO_QUOTES_NEEDED = re.compile(r"^[a-zA-Z0-9,/_.-]+$")
|
||||
|
||||
#: Quoted values can be *anything* in between quotes, including escaped quotes.
|
||||
QUOTED_VALUE = r"(?:'(?:[^']|(?<=\\)')*'|\"(?:[^\"]|(?<=\\)\")*\")"
|
||||
@@ -110,15 +110,15 @@
|
||||
VERSION_LIST = rf"(?:{VERSION_RANGE}|{VERSION})(?:\s*,\s*(?:{VERSION_RANGE}|{VERSION}))*"
|
||||
|
||||
#: Regex with groups to use for splitting (optionally propagated) key-value pairs
|
||||
SPLIT_KVP = rf"^({NAME})(==?)(.*)$"
|
||||
SPLIT_KVP = re.compile(rf"^({NAME})(==?)(.*)$")
|
||||
|
||||
#: Regex to strip quotes. Group 2 will be the unquoted string.
|
||||
STRIP_QUOTES = r"^(['\"])(.*)\1$"
|
||||
STRIP_QUOTES = re.compile(r"^(['\"])(.*)\1$")
|
||||
|
||||
|
||||
def strip_quotes_and_unescape(string: str) -> str:
|
||||
"""Remove surrounding single or double quotes from string, if present."""
|
||||
match = re.match(STRIP_QUOTES, string)
|
||||
match = STRIP_QUOTES.match(string)
|
||||
if not match:
|
||||
return string
|
||||
|
||||
@@ -140,7 +140,7 @@ def quote_if_needed(value: str) -> str:
|
||||
``"``, and control codes.
|
||||
|
||||
"""
|
||||
if re.match(spack.parser.NO_QUOTES_NEEDED, value):
|
||||
if NO_QUOTES_NEEDED.match(value):
|
||||
return value
|
||||
|
||||
return json.dumps(value) if "'" in value else f"'{value}'"
|
||||
@@ -456,14 +456,14 @@ def parse(
|
||||
)
|
||||
|
||||
elif self.ctx.accept(TokenType.KEY_VALUE_PAIR):
|
||||
match = re.match(SPLIT_KVP, self.ctx.current_token.value)
|
||||
match = SPLIT_KVP.match(self.ctx.current_token.value)
|
||||
assert match, "SPLIT_KVP and KEY_VALUE_PAIR do not agree."
|
||||
|
||||
name, delim, value = match.groups()
|
||||
initial_spec._add_flag(name, strip_quotes_and_unescape(value), propagate=False)
|
||||
|
||||
elif self.ctx.accept(TokenType.PROPAGATED_KEY_VALUE_PAIR):
|
||||
match = re.match(SPLIT_KVP, self.ctx.current_token.value)
|
||||
match = SPLIT_KVP.match(self.ctx.current_token.value)
|
||||
assert match, "SPLIT_KVP and PROPAGATED_KEY_VALUE_PAIR do not agree."
|
||||
|
||||
name, delim, value = match.groups()
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
From c84b07de81cc24e9ac411fc404c54a9a5120029c Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Kaufmann <benjamin.kaufmann@teufel.de>
|
||||
Date: Wed, 22 Nov 2023 08:13:46 +0100
|
||||
Subject: [PATCH] mt: Make condition_variable::native_handle() conditional.
|
||||
|
||||
* According to the C++ standard, the presence and semantics of
|
||||
std::condition_variable::native_handle (and native_handle_type) is
|
||||
implementation-defined. E.g., starting with VS 2022 17.8, Microsoft's
|
||||
implementation no longer provides them at all.
|
||||
---
|
||||
clasp/mt/mutex.h | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/clasp/clasp/mt/mutex.h b/clasp/clasp/mt/mutex.h
|
||||
index 2439888..ade899c 100644
|
||||
--- a/clasp/clasp/mt/mutex.h
|
||||
+++ b/clasp/clasp/mt/mutex.h
|
||||
@@ -39,7 +39,11 @@ struct condition_variable : private std::condition_variable {
|
||||
using base_type::notify_one;
|
||||
using base_type::notify_all;
|
||||
using base_type::wait;
|
||||
- using base_type::native_handle;
|
||||
+
|
||||
+ template <typename X = std::condition_variable>
|
||||
+ inline auto native_handle() -> typename X::native_handle_type {
|
||||
+ return X::native_handle();
|
||||
+ }
|
||||
|
||||
inline bool wait_for(unique_lock<mutex>& lock, double timeInSecs) {
|
||||
return base_type::wait_for(lock, std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::duration<double>(timeInSecs)))
|
||||
@@ -70,6 +70,7 @@ class Clingo(CMakePackage):
|
||||
patch("python38.patch", when="@5.3:5.4.0")
|
||||
patch("size-t.patch", when="%msvc")
|
||||
patch("vs2022.patch", when="%msvc@19.30:")
|
||||
patch("clingo_msc_1938_native_handle.patch", when="%msvc@19.38:")
|
||||
|
||||
# TODO: Simplify this after Spack 0.21 release. The old concretizer has problems with
|
||||
# py-setuptools ^python@3.6, so we only apply the distutils -> setuptools patch for Python 3.12
|
||||
|
||||
@@ -136,6 +136,14 @@ class Esmf(MakefilePackage):
|
||||
# https://github.com/spack/spack/issues/35957
|
||||
patch("esmf_cpp_info.patch")
|
||||
|
||||
# This is strictly required on Cray systems that use
|
||||
# the Cray compiler wrappers, where we need to swap
|
||||
# out the spack compiler wrappers in esmf.mk with the
|
||||
# Cray wrappers. It doesn't hurt/have any effect on
|
||||
# other systems where the logic in setup_build_environment
|
||||
# below sets the compilers to the MPI wrappers.
|
||||
filter_compiler_wrappers("esmf.mk", relative_root="lib")
|
||||
|
||||
# Make script from mvapich2.patch executable
|
||||
@when("@:7.0")
|
||||
@run_before("build")
|
||||
|
||||
@@ -22,6 +22,7 @@ class FluxSched(CMakePackage, AutotoolsPackage):
|
||||
maintainers("grondo")
|
||||
|
||||
version("master", branch="master")
|
||||
version("0.31.0", sha256="4440156b7f2d43e3db2cbfa0dbc43671074c397525f6b97e3748c3d96a035cdb")
|
||||
version("0.30.0", sha256="1ccb2e53f4caede0233f19b2707e868f0cee9d2c957a06f97c22936ba9a43552")
|
||||
version("0.29.0", sha256="b93b18788e677535aa8ef945cdbeeced6d1408a4d16cb4a816ead53f31dd78d2")
|
||||
version("0.28.0", sha256="9431c671bed5d76fd95b4a4a7f36224d4bf76f416a2a1a5c4908f3ca790d434d")
|
||||
|
||||
@@ -18,6 +18,7 @@ class G4abla(Package):
|
||||
maintainers("drbenmorgan")
|
||||
|
||||
# Only versions relevant to Geant4 releases built by spack are added
|
||||
version("3.3", sha256="1e041b3252ee9cef886d624f753e693303aa32d7e5ef3bba87b34f36d92ea2b1")
|
||||
version("3.1", sha256="7698b052b58bf1b9886beacdbd6af607adc1e099fc730ab6b21cf7f090c027ed")
|
||||
version("3.0", sha256="99fd4dcc9b4949778f14ed8364088e45fa4ff3148b3ea36f9f3103241d277014")
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ class G4emlow(Package):
|
||||
maintainers("drbenmorgan")
|
||||
|
||||
# Only versions relevant to Geant4 releases built by spack are added
|
||||
version("8.4", sha256="d87de4d2a364cb0a1e1846560525ffc3f735ccdeea8bc426d61775179aebbe8e")
|
||||
version("8.2", sha256="3d7768264ff5a53bcb96087604bbe11c60b7fea90aaac8f7d1252183e1a8e427")
|
||||
version("8.0", sha256="d919a8e5838688257b9248a613910eb2a7633059e030c8b50c0a2c2ad9fd2b3b")
|
||||
version("7.13", sha256="374896b649be776c6c10fea80abe6cf32f9136df0b6ab7c7236d571d49fb8c69")
|
||||
|
||||
@@ -19,6 +19,7 @@ class G4incl(Package):
|
||||
maintainers("drbenmorgan")
|
||||
|
||||
# Only versions relevant to Geant4 releases built by spack are added
|
||||
version("1.1", sha256="5d82e71db5f5a1b659937506576be58db7de7753ec5913128141ae7fce673b44")
|
||||
version("1.0", sha256="716161821ae9f3d0565fbf3c2cf34f4e02e3e519eb419a82236eef22c2c4367d")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
@@ -18,6 +18,7 @@ class Geant4Data(BundlePackage):
|
||||
|
||||
tags = ["hep"]
|
||||
|
||||
version("11.2.0")
|
||||
version("11.1.0")
|
||||
version("11.0.0")
|
||||
version("10.7.4")
|
||||
@@ -42,6 +43,19 @@ class Geant4Data(BundlePackage):
|
||||
# they generally don't change on the patch level
|
||||
# Can move to declaring on a dataset basis if needed
|
||||
_datasets = {
|
||||
"11.2.0:11.2": [
|
||||
"g4ndl@4.7",
|
||||
"g4emlow@8.4",
|
||||
"g4photonevaporation@5.7",
|
||||
"g4radioactivedecay@5.6",
|
||||
"g4particlexs@4.0",
|
||||
"g4pii@1.3",
|
||||
"g4realsurface@2.2",
|
||||
"g4saiddata@2.0",
|
||||
"g4abla@3.3",
|
||||
"g4incl@1.1",
|
||||
"g4ensdfstate@2.3",
|
||||
],
|
||||
"11.1.0:11.1": [
|
||||
"g4ndl@4.7",
|
||||
"g4emlow@8.2",
|
||||
|
||||
@@ -22,6 +22,7 @@ class Geant4(CMakePackage):
|
||||
|
||||
maintainers("drbenmorgan")
|
||||
|
||||
version("11.2.0", sha256="9ff544739b243a24dac8f29a4e7aab4274fc0124fd4e1c4972018213dc6991ee")
|
||||
version("11.1.3", sha256="5d9a05d4ccf8b975649eab1d615fc1b8dce5937e01ab9e795bffd04149240db6")
|
||||
version("11.1.2", sha256="e9df8ad18c445d9213f028fd9537e174d6badb59d94bab4eeae32f665beb89af")
|
||||
version("11.1.1", sha256="c5878634da9ba6765ce35a469b2893044f4a6598aa948733da8436cdbfeef7d2")
|
||||
@@ -88,8 +89,9 @@ class Geant4(CMakePackage):
|
||||
"10.7.2",
|
||||
"10.7.3",
|
||||
"10.7.4",
|
||||
"11.0.0:11.0",
|
||||
"11.1:",
|
||||
"11.0",
|
||||
"11.1",
|
||||
"11.2:",
|
||||
]:
|
||||
depends_on("geant4-data@" + _vers, type="run", when="@" + _vers)
|
||||
|
||||
@@ -112,7 +114,8 @@ class Geant4(CMakePackage):
|
||||
|
||||
# Vecgeom specific versions for each Geant4 version
|
||||
with when("+vecgeom"):
|
||||
depends_on("vecgeom@1.2.0:", when="@11.1:")
|
||||
depends_on("vecgeom@1.2.6:", when="@11.2:")
|
||||
depends_on("vecgeom@1.2.0:", when="@11.1")
|
||||
depends_on("vecgeom@1.1.18:1.1", when="@11.0.0:11.0")
|
||||
depends_on("vecgeom@1.1.8:1.1", when="@10.7.0:10.7")
|
||||
depends_on("vecgeom@1.1.5", when="@10.6.0:10.6")
|
||||
@@ -145,7 +148,9 @@ def std_when(values):
|
||||
depends_on("libx11", when="+x11")
|
||||
depends_on("libxmu", when="+x11")
|
||||
depends_on("motif", when="+motif")
|
||||
depends_on("qt@5: +opengl", when="+qt")
|
||||
with when("+qt"):
|
||||
depends_on("qt@5: +opengl")
|
||||
depends_on("qt@5.9:", when="@11.2:")
|
||||
|
||||
# As released, 10.0.4 has inconsistently capitalised filenames
|
||||
# in the cmake files; this patch also enables cxxstd 14
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
import os
|
||||
|
||||
from spack.build_environment import dso_suffix
|
||||
from spack.package import *
|
||||
|
||||
@@ -29,6 +31,13 @@
|
||||
"sha256": "57faf854b8388547ee4ef2db387a9f6f3b4d0cebd67b765cf5e844a0a970d1f9",
|
||||
},
|
||||
},
|
||||
{
|
||||
"version": "2023.2.3",
|
||||
"cpp": {
|
||||
"url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/d85fbeee-44ec-480a-ba2f-13831bac75f7/l_dpcpp-cpp-compiler_p_2023.2.3.12_offline.sh",
|
||||
"sha256": "b80119a3e54306b85198e907589b00b11c072f107ac39c1686a1996f76466b26",
|
||||
},
|
||||
},
|
||||
{
|
||||
"version": "2023.2.1",
|
||||
"cpp": {
|
||||
@@ -196,13 +205,14 @@ class IntelOneapiCompilers(IntelOneApiPackage):
|
||||
|
||||
for v in versions:
|
||||
version(v["version"], expand=False, **v["cpp"])
|
||||
resource(
|
||||
name="fortran-installer",
|
||||
placement="fortran-installer",
|
||||
when="@{0}".format(v["version"]),
|
||||
expand=False,
|
||||
**v["ftn"],
|
||||
)
|
||||
if "ftn" in v:
|
||||
resource(
|
||||
name="fortran-installer",
|
||||
placement="fortran-installer",
|
||||
when="@{0}".format(v["version"]),
|
||||
expand=False,
|
||||
**v["ftn"],
|
||||
)
|
||||
|
||||
@property
|
||||
def v2_layout_versions(self):
|
||||
@@ -255,11 +265,13 @@ def install(self, spec, prefix):
|
||||
super().install(spec, prefix)
|
||||
|
||||
# install fortran
|
||||
self.install_component(find("fortran-installer", "*")[0])
|
||||
ftn = find("fortran-installer", "*")
|
||||
if ftn:
|
||||
self.install_component(ftn[0])
|
||||
|
||||
# Some installers have a bug and do not return an error code when failing
|
||||
if not is_exe(self._llvm_bin.ifx):
|
||||
raise RuntimeError("Fortran install failed")
|
||||
# Some installers have a bug and do not return an error code when failing
|
||||
if not is_exe(self._llvm_bin.ifx):
|
||||
raise RuntimeError("Fortran install failed")
|
||||
|
||||
@run_after("install")
|
||||
def inject_rpaths(self):
|
||||
@@ -289,10 +301,14 @@ def inject_rpaths(self):
|
||||
|
||||
def write_config_file(self, flags, path, compilers):
|
||||
for compiler in compilers:
|
||||
p = path.join(compiler + ".cfg")
|
||||
with open(p, "w") as f:
|
||||
f.write(" ".join(flags))
|
||||
set_install_permissions(p)
|
||||
# Tolerate missing compilers.
|
||||
# Initially, we installed icx/ifx/icc/ifort into a single prefix.
|
||||
# Starting in 2024, there is no icc. 2023.2.3 does not have an ifx.
|
||||
if os.path.exists(compiler):
|
||||
p = path.join(compiler + ".cfg")
|
||||
with open(p, "w") as f:
|
||||
f.write(" ".join(flags))
|
||||
set_install_permissions(p)
|
||||
|
||||
@run_after("install")
|
||||
def extend_config_flags(self):
|
||||
@@ -329,11 +345,7 @@ def extend_config_flags(self):
|
||||
self.write_config_file(common_flags + llvm_flags, self._llvm_bin, ["icx", "icpx"])
|
||||
self.write_config_file(common_flags + classic_flags, self._llvm_bin, ["ifx"])
|
||||
self.write_config_file(common_flags + classic_flags, self._classic_bin, ["ifort"])
|
||||
# 2023 is the last release that includes icc
|
||||
if self.spec.satisfies("@:2023"):
|
||||
self.write_config_file(
|
||||
common_flags + classic_flags, self._classic_bin, ["icc", "icpc"]
|
||||
)
|
||||
self.write_config_file(common_flags + classic_flags, self._classic_bin, ["icc", "icpc"])
|
||||
|
||||
def _ld_library_path(self):
|
||||
# Returns an iterable of directories that might contain shared runtime libraries
|
||||
|
||||
@@ -99,6 +99,8 @@ class Libfabric(AutotoolsPackage):
|
||||
|
||||
variant("debug", default=False, description="Enable debugging")
|
||||
|
||||
variant("uring", default=False, when="@1.17.0:", description="Enable uring support")
|
||||
|
||||
# For version 1.9.0:
|
||||
# headers: fix forward-declaration of enum fi_collective_op with C++
|
||||
patch(
|
||||
@@ -119,6 +121,7 @@ class Libfabric(AutotoolsPackage):
|
||||
depends_on("ucx", when="@1.18.0: fabrics=ucx")
|
||||
depends_on("uuid", when="fabrics=opx")
|
||||
depends_on("numactl", when="fabrics=opx")
|
||||
depends_on("liburing@2.1:", when="+uring")
|
||||
|
||||
depends_on("m4", when="@main", type="build")
|
||||
depends_on("autoconf", when="@main", type="build")
|
||||
@@ -191,6 +194,9 @@ def configure_args(self):
|
||||
else:
|
||||
args.append("--with-kdreg=no")
|
||||
|
||||
if self.spec.satisfies("+uring"):
|
||||
args.append("--with-uring=yes")
|
||||
|
||||
for fabric in [f if isinstance(f, str) else f[0].value for f in self.fabrics]:
|
||||
if "fabrics=" + fabric in self.spec:
|
||||
args.append("--enable-{0}=yes".format(fabric))
|
||||
|
||||
@@ -50,6 +50,8 @@ class Mpifileutils(Package):
|
||||
|
||||
depends_on("attr", when="@0.11.1:+xattr")
|
||||
|
||||
depends_on("daos", when="+daos")
|
||||
|
||||
depends_on("bzip2")
|
||||
|
||||
depends_on("libcap")
|
||||
@@ -68,6 +70,8 @@ class Mpifileutils(Package):
|
||||
variant("experimental", default=False, description="Install experimental tools")
|
||||
conflicts("+experimental", when="@:0.6")
|
||||
|
||||
variant("daos", default=False, description="Enable DAOS support", when="@0.11:")
|
||||
|
||||
def flag_handler(self, name, flags):
|
||||
spec = self.spec
|
||||
iflags = []
|
||||
@@ -82,26 +86,32 @@ def cmake_args(self):
|
||||
args.append("-DWITH_DTCMP_PREFIX=%s" % self.spec["dtcmp"].prefix)
|
||||
args.append("-DWITH_LibCircle_PREFIX=%s" % self.spec["libcircle"].prefix)
|
||||
|
||||
if "+xattr" in self.spec:
|
||||
if self.spec.satisfies("+xattr"):
|
||||
args.append("-DENABLE_XATTRS=ON")
|
||||
else:
|
||||
args.append("-DENABLE_XATTRS=OFF")
|
||||
|
||||
if "+lustre" in self.spec:
|
||||
if self.spec.satisfies("+lustre"):
|
||||
args.append("-DENABLE_LUSTRE=ON")
|
||||
else:
|
||||
args.append("-DENABLE_LUSTRE=OFF")
|
||||
|
||||
if "+gpfs" in self.spec:
|
||||
if self.spec.satisfies("+gpfs"):
|
||||
args.append("-DENABLE_GPFS=ON")
|
||||
else:
|
||||
args.append("-DENABLE_GPFS=OFF")
|
||||
|
||||
if "+experimental" in self.spec:
|
||||
if self.spec.satisfies("+experimental"):
|
||||
args.append("-DENABLE_EXPERIMENTAL=ON")
|
||||
else:
|
||||
args.append("-DENABLE_EXPERIMENTAL=OFF")
|
||||
|
||||
if self.spec.satisfies("+daos"):
|
||||
args.append("-DENABLE_DAOS=ON")
|
||||
args.append("-DWITH_DAOS_PREFIX=%s" % self.spec["daos"].prefix)
|
||||
else:
|
||||
args.append("-DENABLE_DAOS=OFF")
|
||||
|
||||
return args
|
||||
|
||||
@when("@0.9:")
|
||||
@@ -135,16 +145,16 @@ def configure_args(self):
|
||||
)
|
||||
args.append("--with-dtcmp=%s" % self.spec["dtcmp"].prefix)
|
||||
|
||||
if "+xattr" in self.spec:
|
||||
if self.spec.satisfies("+xattr"):
|
||||
args.append("CFLAGS=-DDCOPY_USE_XATTRS")
|
||||
|
||||
if "+lustre" in self.spec:
|
||||
if self.spec.satisfies("+lustre"):
|
||||
args.append("--enable-lustre")
|
||||
else:
|
||||
args.append("--disable-lustre")
|
||||
|
||||
if self.spec.satisfies("@0.7:"):
|
||||
if "+experimental" in self.spec:
|
||||
if self.spec.satisfies("+experimental"):
|
||||
args.append("--enable-experimental")
|
||||
else:
|
||||
args.append("--disable-experimental")
|
||||
|
||||
@@ -12,7 +12,19 @@ class PerlBHooksEndofscope(PerlPackage):
|
||||
homepage = "https://metacpan.org/pod/B::Hooks::EndOfScope"
|
||||
url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.21.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("0.26", sha256="39df2f8c007a754672075f95b90797baebe97ada6d944b197a6352709cb30671")
|
||||
version("0.21", sha256="90f3580880f1d68b843c142cc86f58bead1f3e03634c63868ac9eba5eedae02c")
|
||||
|
||||
depends_on("perl-sub-exporter-progressive", type=("build", "run"))
|
||||
depends_on("perl@5.6.1:", type=("build", "link", "run", "test"))
|
||||
depends_on("perl-module-implementation@0.05:", type=("build", "run", "test"))
|
||||
depends_on("perl-sub-exporter-progressive@0.001006:", type=("build", "run", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use B::Hooks::EndOfScope; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
|
||||
@@ -12,4 +12,16 @@ class PerlClassSingleton(PerlPackage):
|
||||
homepage = "https://metacpan.org/pod/Class::Singleton"
|
||||
url = "https://cpan.metacpan.org/authors/id/S/SH/SHAY/Class-Singleton-1.6.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("1.6", sha256="27ba13f0d9512929166bbd8c9ef95d90d630fc80f0c9a1b7458891055e9282a4")
|
||||
|
||||
depends_on("perl@5.8.1:", type=("build", "link", "run", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use Class::Singleton; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
# Copyright 2023 EMBL-European Bioinformatics Institute
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PerlCommonSense(PerlPackage):
|
||||
"""Save a tree AND a kitten, use common::sense!"""
|
||||
|
||||
homepage = "https://metacpan.org/pod/common::sense"
|
||||
url = "https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/common-sense-3.75.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("3.75", sha256="a86a1c4ca4f3006d7479064425a09fa5b6689e57261fcb994fe67d061cba0e7e")
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use common::sense; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
@@ -0,0 +1,30 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
# Copyright 2023 EMBL-European Bioinformatics Institute
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PerlCompressLzo(PerlPackage):
|
||||
"""Interface to the LZO compression library"""
|
||||
|
||||
homepage = "https://metacpan.org/pod/Compress::LZO"
|
||||
url = "https://cpan.metacpan.org/authors/id/P/PE/PEPL/Compress-LZO-1.09.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("1.09", sha256="15dbcb5ae4be2da09545b891c66077da5b45e4842f2b99919d29973ff6be4f47")
|
||||
|
||||
depends_on("perl@5.4.0:", type=("build", "link", "run", "test"))
|
||||
depends_on("perl-devel-checklib@0.9:", type=("build"))
|
||||
depends_on("lzo", type=("build", "link", "run"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use Compress::LZO; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
@@ -0,0 +1,26 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
# Copyright 2023 EMBL-European Bioinformatics Institute
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PerlCpanelJsonXs(PerlPackage):
|
||||
"""CPanel fork of JSON::XS, fast and correct serializing"""
|
||||
|
||||
homepage = "https://metacpan.org/pod/Cpanel::JSON::XS"
|
||||
url = "https://cpan.metacpan.org/authors/id/R/RU/RURBAN/Cpanel-JSON-XS-4.37.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("4.37", sha256="c241615a0e17ff745aaa86bbf466a6e29cd240515e65f06a7a05017b619e6d4b")
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use Cpanel::JSON::XS; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
@@ -0,0 +1,35 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
# Copyright 2023 EMBL-European Bioinformatics Institute
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PerlDatetimeFormatStrptime(PerlPackage):
|
||||
"""Parse and format strp and strf time patterns"""
|
||||
|
||||
homepage = "https://metacpan.org/pod/DateTime::Format::Strptime"
|
||||
url = "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-Format-Strptime-1.79.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("1.79", sha256="701e46802c86ed4d88695c1a6dacbbe90b3390beeb794f387e7c792300037579")
|
||||
|
||||
depends_on("perl-datetime@1.00:", type=("build", "run", "test"))
|
||||
depends_on("perl-datetime-locale@1.30:", type=("build", "run", "test"))
|
||||
depends_on("perl-datetime-timezone@2.09:", type=("build", "run", "test"))
|
||||
depends_on("perl-params-validationcompiler", type=("build", "run", "test"))
|
||||
depends_on("perl-specio@0.33:", type=("build", "run", "test"))
|
||||
depends_on("perl-test-fatal", type=("build", "test"))
|
||||
depends_on("perl-test-warnings", type=("build", "test"))
|
||||
depends_on("perl-try-tiny", type=("build", "run", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use DateTime::Format::Strptime; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
@@ -12,6 +12,28 @@ class PerlDatetimeLocale(PerlPackage):
|
||||
homepage = "https://metacpan.org/pod/DateTime::Locale"
|
||||
url = "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-Locale-1.40.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("1.40", sha256="7490b4194b5d23a4e144976dedb3bdbcc6d3364b5d139cc922a86d41fdb87afb")
|
||||
|
||||
depends_on("perl-file-sharedir-install", type=("build", "run"))
|
||||
depends_on("perl@5.8.4:", type=("build", "link", "run", "test"))
|
||||
depends_on("perl-cpan-meta-check@0.011:", type=("build", "test"))
|
||||
depends_on("perl-dist-checkconflicts@0.02:", type=("build", "run", "test"))
|
||||
depends_on("perl-file-sharedir", type=("build", "run", "test"))
|
||||
depends_on("perl-file-sharedir-install@0.06:", type=("build"))
|
||||
depends_on("perl-ipc-system-simple", type=("build", "test"))
|
||||
depends_on("perl-namespace-autoclean@0.19:", type=("build", "run", "test"))
|
||||
depends_on("perl-params-validationcompiler@0.13:", type=("build", "run", "test"))
|
||||
depends_on("perl-path-tiny", type=("build", "test"))
|
||||
depends_on("perl-specio", type=("build", "run", "test"))
|
||||
depends_on("perl-test-file-sharedir", type=("build", "test"))
|
||||
depends_on("perl-test2-plugin-nowarnings", type=("build", "test"))
|
||||
depends_on("perl-test2-suite", type=("build", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use DateTime::Locale; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
|
||||
@@ -12,4 +12,24 @@ class PerlDatetimeTimezone(PerlPackage):
|
||||
homepage = "https://metacpan.org/pod/DateTime::TimeZone"
|
||||
url = "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.60.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("2.60", sha256="f0460d379323905b579bed44e141237a337dc25dd26b6ab0c60ac2b80629323d")
|
||||
|
||||
depends_on("perl@5.8.4:", type=("build", "link", "run", "test"))
|
||||
depends_on("perl-class-singleton@1.03:", type=("build", "run", "test"))
|
||||
depends_on("perl-module-runtime", type=("build", "run", "test"))
|
||||
depends_on("perl-namespace-autoclean", type=("build", "run", "test"))
|
||||
depends_on("perl-params-validationcompiler@0.13:", type=("build", "run", "test"))
|
||||
depends_on("perl-specio", type=("build", "run", "test"))
|
||||
depends_on("perl-test-fatal", type=("build", "test"))
|
||||
depends_on("perl-test-requires", type=("build", "test"))
|
||||
depends_on("perl-try-tiny", type=("build", "run", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use DateTime::TimeZone; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
|
||||
34
var/spack/repos/builtin/packages/perl-dbd-oracle/package.py
Normal file
34
var/spack/repos/builtin/packages/perl-dbd-oracle/package.py
Normal file
@@ -0,0 +1,34 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
# Copyright 2023 EMBL-European Bioinformatics Institute
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PerlDbdOracle(PerlPackage):
|
||||
"""Oracle database driver for the DBI module"""
|
||||
|
||||
homepage = "https://metacpan.org/pod/DBD::Oracle"
|
||||
url = "https://cpan.metacpan.org/authors/id/Z/ZA/ZARQUON/DBD-Oracle-1.83.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("1.83", sha256="51fe9c158955fda0ca917a806863f0bc51068b533fbbc7423b3cc4ad595ed153")
|
||||
|
||||
depends_on("perl@5.8.0:", type=("build", "link", "run", "test"))
|
||||
depends_on("perl-dbi@1.623:", type=("build", "run", "test"))
|
||||
depends_on("perl-test-nowarnings", type=("build", "link"))
|
||||
depends_on("oracle-instant-client", type=("build", "link", "run", "test"))
|
||||
|
||||
def setup_build_environment(self, env):
|
||||
env.set("ORACLE_HOME", self.spec["oracle-instant-client"].prefix)
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use DBD::Oracle; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
@@ -12,6 +12,17 @@ class PerlFileSharedir(PerlPackage):
|
||||
homepage = "https://metacpan.org/pod/File::ShareDir"
|
||||
url = "https://cpan.metacpan.org/authors/id/R/RE/REHSACK/File-ShareDir-1.118.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("1.118", sha256="3bb2a20ba35df958dc0a4f2306fc05d903d8b8c4de3c8beefce17739d281c958")
|
||||
|
||||
# depends_on("perl-module-build", type="build")
|
||||
depends_on("perl-class-inspector@1.12:", type=("build", "run", "test"))
|
||||
depends_on("perl-file-sharedir-install@0.13:", type=("build", "link"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use File::ShareDir; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
|
||||
28
var/spack/repos/builtin/packages/perl-mock-config/package.py
Normal file
28
var/spack/repos/builtin/packages/perl-mock-config/package.py
Normal file
@@ -0,0 +1,28 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
# Copyright 2023 EMBL-European Bioinformatics Institute
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PerlMockConfig(PerlPackage):
|
||||
"""Temporarily set Config or XSConfig values"""
|
||||
|
||||
homepage = "https://metacpan.org/pod/Mock::Config"
|
||||
url = "https://cpan.metacpan.org/authors/id/R/RU/RURBAN/Mock-Config-0.03.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("0.03", sha256="a5b8345757ca4f2b9335f5be14e93ebbb502865233a755bf53bc7156deec001b")
|
||||
|
||||
depends_on("perl@5.6.0:", type=("build", "link", "run", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use Mock::Config; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
@@ -12,4 +12,20 @@ class PerlNamespaceAutoclean(PerlPackage):
|
||||
homepage = "https://metacpan.org/pod/namespace::autoclean"
|
||||
url = "https://cpan.metacpan.org/authors/id/E/ET/ETHER/namespace-autoclean-0.29.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("0.29", sha256="45ebd8e64a54a86f88d8e01ae55212967c8aa8fed57e814085def7608ac65804")
|
||||
|
||||
depends_on("perl@5.6.0:", type=("build", "link", "run", "test"))
|
||||
depends_on("perl-b-hooks-endofscope@0.12:", type=("build", "run", "test"))
|
||||
depends_on("perl-namespace-clean@0.20:", type=("build", "run", "test"))
|
||||
depends_on("perl-sub-identify", type=("build", "run", "test"))
|
||||
depends_on("perl-test-needs", type=("build", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use namespace::autoclean; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
|
||||
@@ -12,6 +12,18 @@ class PerlNamespaceClean(PerlPackage):
|
||||
homepage = "https://metacpan.org/pod/namespace::clean"
|
||||
url = "http://search.cpan.org/CPAN/authors/id/R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("0.27", sha256="8a10a83c3e183dc78f9e7b7aa4d09b47c11fb4e7d3a33b9a12912fd22e31af9d")
|
||||
|
||||
depends_on("perl-b-hooks-endofscope", type=("build", "run"))
|
||||
depends_on("perl@5.8.1:", type=("build", "link", "run", "test"))
|
||||
depends_on("perl-b-hooks-endofscope@0.12:", type=("build", "run", "test"))
|
||||
depends_on("perl-package-stash@0.23:", type=("build", "run", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use namespace::clean; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
|
||||
@@ -13,4 +13,21 @@ class PerlParamsValidationcompiler(PerlPackage):
|
||||
homepage = "https://metacpan.org/pod/Params::ValidationCompiler"
|
||||
url = "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Params-ValidationCompiler-0.31.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("0.31", sha256="7b6497173f1b6adb29f5d51d8cf9ec36d2f1219412b4b2410e9d77a901e84a6d")
|
||||
|
||||
depends_on("perl-eval-closure", type=("build", "run", "test"))
|
||||
depends_on("perl-exception-class", type=("build", "run", "test"))
|
||||
depends_on("perl-specio@0.14:", type=("build", "test"))
|
||||
depends_on("perl-test-without-module", type=("build", "test"))
|
||||
depends_on("perl-test2-plugin-nowarnings", type=("build", "test"))
|
||||
depends_on("perl-test2-suite", type=("build", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use Params::ValidationCompiler; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
|
||||
28
var/spack/repos/builtin/packages/perl-proc-daemon/package.py
Normal file
28
var/spack/repos/builtin/packages/perl-proc-daemon/package.py
Normal file
@@ -0,0 +1,28 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
# Copyright 2023 EMBL-European Bioinformatics Institute
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PerlProcDaemon(PerlPackage):
|
||||
"""Run Perl program(s) as a daemon process"""
|
||||
|
||||
homepage = "https://metacpan.org/pod/Proc::Daemon"
|
||||
url = "https://cpan.metacpan.org/authors/id/A/AK/AKREAL/Proc-Daemon-0.23.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("0.23", sha256="34c0b85b7948b431cbabc97cee580835e515ccf43badbd8339eb109474089b69")
|
||||
|
||||
depends_on("perl-proc-processtable", type=("build", "link"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use Proc::Daemon; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
28
var/spack/repos/builtin/packages/perl-ref-util/package.py
Normal file
28
var/spack/repos/builtin/packages/perl-ref-util/package.py
Normal file
@@ -0,0 +1,28 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
# Copyright 2023 EMBL-European Bioinformatics Institute
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PerlRefUtil(PerlPackage):
|
||||
"""Utility functions for checking references"""
|
||||
|
||||
homepage = "https://metacpan.org/pod/Ref::Util"
|
||||
url = "https://cpan.metacpan.org/authors/id/A/AR/ARC/Ref-Util-0.204.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("0.204", sha256="415fa73dbacf44f3d5d79c14888cc994562720ab468e6f71f91cd1f769f105e1")
|
||||
|
||||
depends_on("perl@5.6.0:", type=("build", "link", "run", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use Ref::Util; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
28
var/spack/repos/builtin/packages/perl-rose-object/package.py
Normal file
28
var/spack/repos/builtin/packages/perl-rose-object/package.py
Normal file
@@ -0,0 +1,28 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
# Copyright 2023 EMBL-European Bioinformatics Institute
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PerlRoseObject(PerlPackage):
|
||||
"""A simple object base class."""
|
||||
|
||||
homepage = "https://metacpan.org/pod/Rose::Object"
|
||||
url = "https://cpan.metacpan.org/authors/id/J/JS/JSIRACUSA/Rose-Object-0.860.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("0.860", sha256="f3ff294097b1a4b02a4bae6dc3544ded744a08972e831c1d2741083403197f47")
|
||||
|
||||
depends_on("perl@5.6.0:", type=("build", "link", "run", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use Rose::Object; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
@@ -12,4 +12,25 @@ class PerlSpecio(PerlPackage):
|
||||
homepage = "https://metacpan.org/dist/Specio"
|
||||
url = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Specio-0.48.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("0.48", sha256="0c85793580f1274ef08173079131d101f77b22accea7afa8255202f0811682b2")
|
||||
|
||||
depends_on("perl@5.8.0:", type=("build", "link", "run", "test"))
|
||||
depends_on("perl-devel-stacktrace", type=("build", "run", "test"))
|
||||
depends_on("perl-eval-closure", type=("build", "run", "test"))
|
||||
depends_on("perl-module-runtime", type=("build", "run", "test"))
|
||||
depends_on("perl-mro-compat", type=("build", "run", "test"))
|
||||
depends_on("perl-role-tiny@1.003003:", type=("build", "run", "test"))
|
||||
depends_on("perl-sub-quote", type=("build", "run", "test"))
|
||||
depends_on("perl-test-fatal", type=("build", "run", "test"))
|
||||
depends_on("perl-test-needs", type=("build", "test"))
|
||||
depends_on("perl-try-tiny", type=("build", "run", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use Specio; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
# Copyright 2023 EMBL-European Bioinformatics Institute
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PerlSqlReservedwords(PerlPackage):
|
||||
"""Reserved SQL words by ANSI/ISO"""
|
||||
|
||||
homepage = "https://metacpan.org/pod/SQL::ReservedWords"
|
||||
url = "https://cpan.metacpan.org/authors/id/C/CH/CHANSEN/SQL-ReservedWords-0.8.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("0.8", sha256="09f4aecf1bd8efdd3f9b39f16a240c4e9ceb61eb295b88145c96eb9d58504a2a")
|
||||
|
||||
depends_on("perl-sub-exporter", type=("build", "run", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use SQL::ReservedWords; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
31
var/spack/repos/builtin/packages/perl-test-base/package.py
Normal file
31
var/spack/repos/builtin/packages/perl-test-base/package.py
Normal file
@@ -0,0 +1,31 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
# Copyright 2023 EMBL-European Bioinformatics Institute
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PerlTestBase(PerlPackage):
|
||||
"""A Data Driven Testing Framework"""
|
||||
|
||||
homepage = "https://metacpan.org/pod/Test::Base"
|
||||
url = "https://cpan.metacpan.org/authors/id/I/IN/INGY/Test-Base-0.89.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("0.89", sha256="2794a1aaaeb1d3a287dd2c7286258663796562f7db9ccc6b424bc4f1de8ad014")
|
||||
|
||||
depends_on("perl@5.8.1:", type=("build", "link", "run", "test"))
|
||||
depends_on("perl-algorithm-diff@1.15:", type=("build", "test"))
|
||||
depends_on("perl-spiffy@0.40:", type=("run", "test"))
|
||||
depends_on("perl-text-diff@0.35:", type=("build", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use Test::Base; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
@@ -0,0 +1,34 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
# Copyright 2023 EMBL-European Bioinformatics Institute
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PerlTestFileSharedir(PerlPackage):
|
||||
"""Create a Fake ShareDir for your modules for testing."""
|
||||
|
||||
homepage = "https://metacpan.org/pod/Test::File::ShareDir"
|
||||
url = "https://cpan.metacpan.org/authors/id/K/KE/KENTNL/Test-File-ShareDir-1.001002.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("1.001002", sha256="b33647cbb4b2f2fcfbde4f8bb4383d0ac95c2f89c4c5770eb691f1643a337aad")
|
||||
|
||||
depends_on("perl@5.6.0:", type=("build", "link", "run", "test"))
|
||||
depends_on("perl-class-tiny", type=("build", "run", "test"))
|
||||
depends_on("perl-file-copy-recursive", type=("build", "run", "test"))
|
||||
depends_on("perl-file-sharedir@1.00:", type=("build", "run", "test"))
|
||||
depends_on("perl-path-tiny@0.018:", type=("build", "run", "test"))
|
||||
depends_on("perl-scope-guard", type=("build", "run", "test"))
|
||||
depends_on("perl-test-fatal", type=("build", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use Test::File::ShareDir; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
@@ -0,0 +1,29 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
# Copyright 2023 EMBL-European Bioinformatics Institute
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PerlTest2PluginNowarnings(PerlPackage):
|
||||
"""Fail if tests warn"""
|
||||
|
||||
homepage = "https://metacpan.org/pod/Test2::Plugin::NoWarnings"
|
||||
url = "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Test2-Plugin-NoWarnings-0.09.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("0.09", sha256="be3dd800042eef362bf17d2056cf9e934dee91ccce98e4f178b8fb5772f2fb74")
|
||||
|
||||
depends_on("perl-ipc-run3", type=("build", "test"))
|
||||
depends_on("perl-test2-suite", type=("build", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use Test2::Plugin::NoWarnings; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
29
var/spack/repos/builtin/packages/perl-test2-suite/package.py
Normal file
29
var/spack/repos/builtin/packages/perl-test2-suite/package.py
Normal file
@@ -0,0 +1,29 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
# Copyright 2023 EMBL-European Bioinformatics Institute
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PerlTest2Suite(PerlPackage):
|
||||
"""Distribution with a rich set of tools built upon the Test2 framework."""
|
||||
|
||||
homepage = "https://metacpan.org/pod/Test2::Suite"
|
||||
url = "https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Test2-Suite-0.000159.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("0.000159", sha256="cb7453380d2a70682c450cb6ec44fecd02d1c48674a76d9799903b7f4444cc0e")
|
||||
|
||||
depends_on("perl@5.8.1:", type=("build", "link", "run", "test"))
|
||||
depends_on("perl-term-table@0.013:", type=("build", "run", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use Test2::Suite; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
28
var/spack/repos/builtin/packages/perl-time-clock/package.py
Normal file
28
var/spack/repos/builtin/packages/perl-time-clock/package.py
Normal file
@@ -0,0 +1,28 @@
|
||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
# Copyright 2023 EMBL-European Bioinformatics Institute
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PerlTimeClock(PerlPackage):
|
||||
"""Twenty-four hour clock object with nanosecond precision."""
|
||||
|
||||
homepage = "https://metacpan.org/pod/Time::Clock"
|
||||
url = "https://cpan.metacpan.org/authors/id/J/JS/JSIRACUSA/Time-Clock-1.03.tar.gz"
|
||||
|
||||
maintainers("EbiArnie")
|
||||
|
||||
version("1.03", sha256="35e8a8bbfcdb35d86dd4852a9cd32cfb455a9b42e22669186e920c8aca017aef")
|
||||
|
||||
depends_on("perl@5.6.0:", type=("build", "link", "run", "test"))
|
||||
|
||||
def test_use(self):
|
||||
"""Test 'use module'"""
|
||||
options = ["-we", 'use strict; use Time::Clock; print("OK\n")']
|
||||
|
||||
perl = self.spec["perl"].command
|
||||
out = perl(*options, output=str.split, error=str.split)
|
||||
assert "OK" in out
|
||||
@@ -17,6 +17,7 @@ class PyBlack(PythonPackage):
|
||||
|
||||
maintainers("adamjstewart")
|
||||
|
||||
version("23.12.0", sha256="330a327b422aca0634ecd115985c1c7fd7bdb5b5a2ef8aa9888a82e2ebe9437a")
|
||||
version("23.11.0", sha256="4c68855825ff432d197229846f971bc4d6666ce90492e5b02013bcaca4d9ab05")
|
||||
version("23.10.1", sha256="1f8ce316753428ff68749c65a5f7844631aa18c8679dfd3ca9dc1a289979c258")
|
||||
version("23.10.0", sha256="31b9f87b277a68d0e99d2905edae08807c007973eaa609da5f0c62def6b7c0bd")
|
||||
|
||||
@@ -17,6 +17,7 @@ class PyPandas(PythonPackage):
|
||||
|
||||
maintainers("adamjstewart")
|
||||
|
||||
version("2.1.4", sha256="fcb68203c833cc735321512e13861358079a96c174a61f5116a1de89c58c0ef7")
|
||||
version("2.1.3", sha256="22929f84bca106921917eb73c1521317ddd0a4c71b395bcf767a106e3494209f")
|
||||
version("2.1.2", sha256="52897edc2774d2779fbeb6880d2cfb305daa0b1a29c16b91f531a18918a6e0f3")
|
||||
version("2.1.1", sha256="fecb198dc389429be557cde50a2d46da8434a17fe37d7d41ff102e3987fd947b")
|
||||
|
||||
@@ -21,6 +21,7 @@ class Vecgeom(CMakePackage, CudaPackage):
|
||||
maintainers("drbenmorgan", "sethrj")
|
||||
|
||||
version("master", branch="master")
|
||||
version("1.2.6", sha256="e5162cf8adb67859dc4a111a81d1390d995895293e6ef1acf5f9d9834fd6d40e")
|
||||
version("1.2.5", sha256="d79ea05125e4d03c5605e5ea232994c500841d207b4543ac3d84758adddc15a9")
|
||||
version(
|
||||
"1.2.4",
|
||||
|
||||
Reference in New Issue
Block a user