Compare commits

...

22 Commits

Author SHA1 Message Date
Kyle Gerheiser
5b6137d91a libfabric: Add uring variant (#41563)
* libfabric: Add uring variant
* Remove tcp fabric requirement for uring
* Fix style and use spec.satisfies
2023-12-15 12:51:29 -08:00
Arne Becker
b7edcbecd7 perl-rose-object: New package (#41715)
Adds Rose::Object
2023-12-15 10:22:28 -08:00
Arne Becker
5ccbe68f16 perl-compress-lzo: New package (#41716)
Adds Compress::LZO
2023-12-15 10:20:46 -08:00
Arne Becker
9fe4cef89e perl-dbd-oracle: New package (#41719) 2023-12-15 10:18:04 -08:00
John W. Parent
165c6cef08 clingo: patch clingo to allow for build with modern msvc (#41188) 2023-12-15 10:43:08 -07:00
Sean Koyama
0efd5287c4 mpifileutils: add DAOS variant (#35618)
* mpifileutils: add DAOS variant
* mpifileutils: Add daos dep when +daos
  Add dependency on DAOS when +daos
  Pass DAOS prefix to ensure correct DAOS is found by during configuration
* Change in to satisfies for boolean variants

---------

Co-authored-by: Ryan Krattiger <ryan.krattiger@kitware.com>
2023-12-15 10:38:01 -07:00
Vanessasaurus
b1ab01280a Automated deployment to update package flux-sched 2023-12-14 (#41658)
Co-authored-by: github-actions <github-actions@users.noreply.github.com>
2023-12-14 12:52:31 -08:00
Arne Becker
ab84876e2c perl-proc-daemon: New package (#41666) 2023-12-14 12:51:43 -08:00
Arne Becker
e2d5be83e7 perl-test-base: New package (#41668)
Adds Test::Base
2023-12-14 12:49:43 -08:00
Arne Becker
85cdf37d3b perl-datetime-format-strptime: New package (#41676)
* perl-datetime-format-strptime: New package
  Adds package:
  - perl-datetime-format-strptime
  And adds these because they are test dependencies:
  - perl-test-file-sharedir
  - perl-test2-plugin-nowarnings
  - perl-test2-suite
  And modifies these to enable build time tests:
  - perl-b-hooks-endofscope
  - perl-class-singleton
  - perl-datetime-locale
  - perl-datetime-timezone
  - perl-file-sharedir
  - perl-namespace-autoclean
  - perl-namespace-clean
  - perl-params-validationcompiler
  - perl-specio
* Add myself as maintainer
2023-12-14 12:47:40 -08:00
Arne Becker
06521b44b6 perl-common-sense: New package (#41677) 2023-12-14 12:20:47 -08:00
Arne Becker
1e5325eea0 perl-time-clock: New package (#41678) 2023-12-14 12:19:06 -08:00
Arne Becker
0995a29c5c perl-sql-reservedwords: New package (#41685) 2023-12-14 12:07:12 -08:00
Adam J. Stewart
133d6e2656 py-pandas: add v2.1.4 (#41590) 2023-12-14 13:53:05 -06:00
Adam J. Stewart
36117444aa py-black: add v23.12.0 (#41589) 2023-12-14 13:52:47 -06:00
Andrey Perestoronin
330a9a7c9a intel-oneapi-compilers 2023.2.3: added new version to dpcpp package (#41680)
* add new cpp compiler version

* empty ftn for 2023.2.3

* OLD ftn in 2023.2.3 version

* tolerate missing fortran compiler

---------

Co-authored-by: Robert Cohn <robert.s.cohn@intel.com>
2023-12-14 11:03:18 -07:00
Todd Gamblin
0dc3fc2d21 spec parser: precompile quoting-related regular expressions (#41657)
This adds a small (~5%) performance improvement to Spec parsing.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-12-14 05:08:08 -07:00
Dom Heinzeller
a972314fa6 Fix spack compiler wrappers in ESMF's esmf.mk on Cray when using cc, CC, ftn (#41640) 2023-12-14 09:42:34 +01:00
Wouter Deconinck
16d1ed3591 geant4: new version 11.2.0 (#41643)
* geant4: new version 11.2.0

* geant4: depends_on geant4-data@11.2:

* geant4-data: new version 11.2.0

* g4abla: new version 3.3

* g4emlow: new version 8.4

* g4incl: new version 1.1

* geant4: depends_on vecgeom@1.2.6:

* geant4: depends_on qt@5.9: when @11.2: +qt

* vecgeom: new version 1.2.6
2023-12-14 09:18:04 +01:00
Arne Becker
5c25f16df2 perl-cpanel-json-xs: New package (#41646) 2023-12-13 18:13:58 -08:00
Arne Becker
b3ccaa81a7 perl-mock-config: New package (#41647) 2023-12-13 18:13:04 -08:00
Arne Becker
a0041731a3 perl-ref-util: New package (#41648) 2023-12-13 18:12:02 -08:00
41 changed files with 721 additions and 43 deletions

View File

@@ -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

View File

@@ -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()

View File

@@ -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)))

View File

@@ -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

View File

@@ -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")

View File

@@ -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")

View File

@@ -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")

View File

@@ -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")

View File

@@ -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):

View File

@@ -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",

View File

@@ -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

View File

@@ -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

View File

@@ -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))

View File

@@ -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")

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View 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

View File

@@ -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

View 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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View 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

View 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

View 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

View File

@@ -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

View 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 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

View 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

View 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 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

View 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 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

View 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

View 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

View File

@@ -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")

View File

@@ -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")

View File

@@ -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",