summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArne Becker <101113822+EbiArnie@users.noreply.github.com>2024-03-05 19:38:24 +0000
committerGitHub <noreply@github.com>2024-03-05 11:38:24 -0800
commit4d89eeca9bde664a40b05ddf370c2d251d4197c5 (patch)
tree328f8ab3ba2295cfa7576405fac7374bb4b60da1
parentbfc71e9daebb762e377c92f40f1ffc4e0972a095 (diff)
downloadspack-4d89eeca9bde664a40b05ddf370c2d251d4197c5.tar.gz
spack-4d89eeca9bde664a40b05ddf370c2d251d4197c5.tar.bz2
spack-4d89eeca9bde664a40b05ddf370c2d251d4197c5.tar.xz
spack-4d89eeca9bde664a40b05ddf370c2d251d4197c5.zip
perl-sereal and deps: new packages (#43022)
* perl-sereal and deps: new packages This adds Sereal and its missing dependencies: - Sereal::Encoder - Sereal::Decoder * Add missing files.
-rw-r--r--var/spack/repos/builtin/packages/perl-sereal-decoder/package.py44
-rw-r--r--var/spack/repos/builtin/packages/perl-sereal-encoder/package.py45
-rw-r--r--var/spack/repos/builtin/packages/perl-sereal/package.py35
3 files changed, 124 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/perl-sereal-decoder/package.py b/var/spack/repos/builtin/packages/perl-sereal-decoder/package.py
new file mode 100644
index 0000000000..cb905aa8d4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/perl-sereal-decoder/package.py
@@ -0,0 +1,44 @@
+# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack.package import *
+
+
+class PerlSerealDecoder(PerlPackage):
+ """Fast, compact, powerful binary deserialization"""
+
+ homepage = "https://metacpan.org/pod/Sereal::Decoder"
+ url = "https://cpan.metacpan.org/authors/id/Y/YV/YVES/Sereal-Decoder-5.004.tar.gz"
+
+ maintainers("EbiArnie")
+
+ license("Artistic-1.0-Perl OR GPL-1.0-or-later")
+
+ version("5.004", sha256="68ef0314d87d1a6e60bb0f66fcf43eb2cacdeb1754432f5e25e784e39d3e6784")
+
+ depends_on("perl@5.8.0:", type=("build", "link", "run", "test"))
+ depends_on("perl-devel-checklib@1.16:", type=("build"))
+ depends_on("perl-test-deep", type=("build", "link", "test"))
+ depends_on("perl-test-differences", type=("build", "link", "test"))
+ depends_on("perl-test-longstring", type=("build", "link", "test"))
+ depends_on("perl-test-warn", type=("build", "link", "test"))
+ depends_on("zstd", type=("build", "link", "run", "test"))
+
+ def setup_build_environment(self, env):
+ # These are not currently available in Spack
+ env.set("SEREAL_USE_BUNDLED_CSNAPPY", "1")
+ env.set("SEREAL_USE_BUNDLED_MINIZ", "1")
+ env.set("USE_UNALIGNED", "1")
+ env.set("USE_UNALIGNED", "1")
+ env.set("NO_ASM", "0")
+ env.set("ZSTD_DISABLE_ASM", "0")
+
+ def test_use(self):
+ """Test 'use module'"""
+ options = ["-we", 'use strict; use Sereal::Decoder; print("OK\n")']
+
+ perl = self.spec["perl"].command
+ out = perl(*options, output=str.split, error=str.split)
+ assert "OK" in out
diff --git a/var/spack/repos/builtin/packages/perl-sereal-encoder/package.py b/var/spack/repos/builtin/packages/perl-sereal-encoder/package.py
new file mode 100644
index 0000000000..5d2fd935a1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/perl-sereal-encoder/package.py
@@ -0,0 +1,45 @@
+# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack.package import *
+
+
+class PerlSerealEncoder(PerlPackage):
+ """Fast, compact, powerful binary serialization"""
+
+ homepage = "https://metacpan.org/pod/Sereal::Encoder"
+ url = "https://cpan.metacpan.org/authors/id/Y/YV/YVES/Sereal-Encoder-5.004.tar.gz"
+
+ maintainers("EbiArnie")
+
+ license("Artistic-1.0-Perl OR GPL-1.0-or-later")
+
+ version("5.004", sha256="5e5a86ccd32dae34ed80932ecbe5c68e29752b5de0e9b0a793ab7eb2ca55cb1b")
+
+ depends_on("perl@5.8.0:", type=("build", "link", "run", "test"))
+ depends_on("perl-devel-checklib@1.16:", type=("build"))
+ depends_on("perl-sereal-decoder@5.004:", type=("build", "link", "run", "test"))
+ depends_on("perl-test-deep", type=("build", "link", "test"))
+ depends_on("perl-test-differences", type=("build", "link", "test"))
+ depends_on("perl-test-longstring", type=("build", "link", "test"))
+ depends_on("perl-test-warn", type=("build", "link", "test"))
+ depends_on("zstd", type=("build", "link", "run", "test"))
+
+ def setup_build_environment(self, env):
+ # These are not currently available in Spack
+ env.set("SEREAL_USE_BUNDLED_CSNAPPY", "1")
+ env.set("SEREAL_USE_BUNDLED_MINIZ", "1")
+ env.set("USE_UNALIGNED", "1")
+ env.set("USE_UNALIGNED", "1")
+ env.set("NO_ASM", "0")
+ env.set("ZSTD_DISABLE_ASM", "0")
+
+ def test_use(self):
+ """Test 'use module'"""
+ options = ["-we", 'use strict; use Sereal::Encoder; print("OK\n")']
+
+ perl = self.spec["perl"].command
+ out = perl(*options, output=str.split, error=str.split)
+ assert "OK" in out
diff --git a/var/spack/repos/builtin/packages/perl-sereal/package.py b/var/spack/repos/builtin/packages/perl-sereal/package.py
new file mode 100644
index 0000000000..b0ea747278
--- /dev/null
+++ b/var/spack/repos/builtin/packages/perl-sereal/package.py
@@ -0,0 +1,35 @@
+# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack.package import *
+
+
+class PerlSereal(PerlPackage):
+ """Fast, compact, powerful binary (de-)serialization"""
+
+ homepage = "https://metacpan.org/pod/Sereal"
+ url = "https://cpan.metacpan.org/authors/id/Y/YV/YVES/Sereal-5.004.tar.gz"
+
+ maintainers("EbiArnie")
+
+ license("Artistic-1.0-Perl OR GPL-1.0-or-later")
+
+ version("5.004", sha256="9c25bb7ae4bd736d24b1ad1d93d77395b0c65ca8741e266bfc0cbe542261d76f")
+
+ depends_on("perl@5.8.0:", type=("build", "link", "run", "test"))
+ depends_on("perl-sereal-decoder@5.004:", type=("build", "run", "test"))
+ depends_on("perl-sereal-encoder@5.004:", type=("build", "run", "test"))
+ depends_on("perl-test-deep", type=("build", "test"))
+ depends_on("perl-test-differences", type=("build", "test"))
+ depends_on("perl-test-longstring", type=("build", "test"))
+ depends_on("perl-test-warn", type=("build", "test"))
+
+ def test_use(self):
+ """Test 'use module'"""
+ options = ["-we", 'use strict; use Sereal; print("OK\n")']
+
+ perl = self.spec["perl"].command
+ out = perl(*options, output=str.split, error=str.split)
+ assert "OK" in out