From 52c0127fc7d744a94ad4f869603558412900d6b0 Mon Sep 17 00:00:00 2001 From: Gurkirat Singh Date: Wed, 26 Jul 2023 22:08:41 +0530 Subject: Implement `odgi` package (#39078) * feature (packages): implement `odgi` package This commit re-implements odgi package (superseded by #38741) * fix (packages): remove redundant `requires()` from odgi package This commit removes redundant use of `requires()` for gcc version in the `odgi` package --- var/spack/repos/builtin/packages/odgi/package.py | 48 ++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 var/spack/repos/builtin/packages/odgi/package.py diff --git a/var/spack/repos/builtin/packages/odgi/package.py b/var/spack/repos/builtin/packages/odgi/package.py new file mode 100644 index 0000000000..459ab59bac --- /dev/null +++ b/var/spack/repos/builtin/packages/odgi/package.py @@ -0,0 +1,48 @@ +# Copyright 2013-2023 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 Odgi(CMakePackage): + """Optimized dynamic genome/graph implementation. + Odgi provides an efficient and succinct dynamic DNA sequence graph model, as + well as a host of algorithms that allow the use of such graphs in + bioinformatic analyses. + """ + + homepage = "https://github.com/pangenome/odgi" + git = "https://github.com/pangenome/odgi.git" + + # notify when the package is updated. + maintainers("tbhaxor", "EbiArnie") + + # <<< Versions list starts here + version("0.8.3", commit="34f006f31c3f6b35a1eb8d58a4edb1c458583de3", submodules=True) + # >>> Versions list ends here + + # compilation problem with ninja + generator("make", default="make") + + # the range is required to successfully build the program + requires("%gcc", msg="Package odgi depends on the gcc C++ compiler") + conflicts( + "%gcc@:9.2,13:", msg="Unsupported compiler version. Recommended range is 9.3 -> 12.x" + ) + + # <<< Dependencies list starts here + depends_on("python") + depends_on("py-pybind11") + depends_on("sdsl-lite") + depends_on("libdivsufsort") + depends_on("jemalloc") + # >>> Dependencies list ends here + + def cmake_args(self): + args = [ + "-DCMAKE_CXX_STANDARD_REQUIRED:BOOL=ON", + "-DPYTHON_EXECUTABLE:FILEPATH={0}".format(self.spec["python"].command), + ] + return args -- cgit v1.2.3-60-g2f50