diff options
author | Teague Sterling <teaguesterling@users.noreply.github.com> | 2024-08-19 08:14:49 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-19 16:14:49 +0100 |
commit | de754c7a4749297557120c8ff51ab1464e7a4b3a (patch) | |
tree | 624162edcd41bf5ef3ce09eee1e115fe2b3ac6e0 /var | |
parent | ac9398ed2144d9c364c771e638b9e098420b96e9 (diff) | |
download | spack-de754c7a4749297557120c8ff51ab1464e7a4b3a.tar.gz spack-de754c7a4749297557120c8ff51ab1464e7a4b3a.tar.bz2 spack-de754c7a4749297557120c8ff51ab1464e7a4b3a.tar.xz spack-de754c7a4749297557120c8ff51ab1464e7a4b3a.zip |
perl-bio-bigfile: new package (#44505)
* Adding the perl-bio-db-bigfile package
* Update package.py
* Update package.py
* Update package.py
* Updating dependent package handling
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
* Updating dependent package handling
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
* Reverting variants
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
* Rename package.py to package.py
* Update package.py
* Removing unneeded dependencies
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
---------
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/perl-bio-bigfile/package.py | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/perl-bio-bigfile/package.py b/var/spack/repos/builtin/packages/perl-bio-bigfile/package.py new file mode 100644 index 0000000000..b43d7ec1de --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-bio-bigfile/package.py @@ -0,0 +1,80 @@ +# 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 PerlBioBigfile(PerlPackage): + """Bio::DB::BigFile -- Low-level interface to BigWig & BigBed files for perl""" + + homepage = "https://metacpan.org/pod/Bio::DB::BigFile" + url = "https://cpan.metacpan.org/authors/id/L/LD/LDS/Bio-BigFile-1.07.tar.gz" + + maintainers("teaguesterling") + + license("Artistic-1.0-Perl OR GPL-1.0-or-later", checked_by="teaguesterling") + + version("1.07", sha256="277b66ce8acbdd52399e2c5a0cf4e3bd5c74c12b94877cd383d0c4c97740d16d") + version("1.06", sha256="15f1ece2563096a301cff533a9ac91b8fc31af7643b4c4d7fd5d4fa75d4cb5ef") + version("1.05", sha256="1675662cfeff05a4e7289132481fd6cf8a15578bef0552b614047a03048fd057") + version("1.04", sha256="aef1db4cc4f4fb5b4d629719e16b50ec8d0b471d90e894060a88bd379647c4fa") + version("1.03", sha256="cb4c61c4d880661580f1964280a3731e31c952a3f7e973e7096b2377a6c62d29") + version("1.02", sha256="baab5010d2b1121c9f84fb1a8c873ced6e24882ef9bece1c3a2b455ed90925fd") + version("1.01", sha256="662310df5cad45f916c341e6b9a888323bd7b2d6a96957fdf8b0be73de7c3877") + version("1.00", sha256="925c9b94d5ea10db59911556fe87d4566e12032d13c70c574e74dc009cf73b91") + + depends_on("perl-module-build", type="build") + depends_on("gmake", type="build") + + with default_args(type=("build", "link")): + depends_on("kentutils") + depends_on("htslib+pic", when="^kentutils~builtin_htslib") + depends_on("openssl") + + with default_args(type=("build", "run")): + depends_on("perl-bioperl") + depends_on("perl-io-string") + + def build_pl_args(self): + # Need to tell the linker exactly where to find these + # dependencies as the perl build system hasn't been told + # they are needed. It explicitly searches for kentutils + # The includes will be recongized by CFLAGS but not the + # LIBS, which results in failures only once you try to + # to run the tests + incs = [ + # This is usually set by Build.PL from KENT_SRC + f"-I{kentutils_include_dir}", + # Build system looks for tbx.h instead of htslib/tbx.h + # so we need to give it some special help for HTSLIB + f"-I{kentutils_htslib_include_dir.htslib}", + ] + libs = [ + # This is usually set by Build.PL from KENT_SRC + join_path(kentutils_lib_dir, "jkweb.a"), + # These are being set in Build.PL so we need to reset here + "-lz", + "-lssl", + # This is an undocumented dependency from kentutils + "-lhts", + ] + + return [ + f"--extra_compiler_flags={' '.join(incs)}", + f"--extra_linker_flags={' '.join(libs)}", + ] + + def setup_build_environment(self, env): + # These variables are exected by by the Build.PL file + # even though we override the results via PERL_MB_OPT + kent = self.spec["kentutils"] + env.set("KENT_SRC", kent.prefix) + env.set("MACHTYPE", kent.package.machtype) + + # Overriding this explicitly as an environmental variable + # as the Build.PL script doesn't honnor the command line + # args and needs some extra coaxing to pass tests + # (The package builds fine without this but the tests fail) + args = [f"'{arg}'" for arg in self.build_pl_args()] + env.set("PERL_MB_OPT", " ".join(args)) |