spack/var/spack/repos/builtin/packages/viennarna/package.py
Adam J. Stewart 603569e321
Style: black 23, skip magic trailing comma (#35351)
* Style: black 23, skip magic trailing commas

* isort should use same line length as black

* Fix unused import

* Update version of black used in CI

* Update new packages

* Update new packages
2023-02-16 23:06:12 -06:00

48 lines
1.8 KiB
Python

# 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 Viennarna(AutotoolsPackage):
"""The ViennaRNA Package consists of a C code library and several
stand-alone programs for the prediction and comparison of RNA secondary
structures.
"""
homepage = "https://www.tbi.univie.ac.at/RNA/"
url = "https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_4_x/ViennaRNA-2.4.3.tar.gz"
version("2.5.0", sha256="b85544650ee316743173ec9b30497cc4c559f1bfb8f66d16c563f780afd8c0c5")
version("2.4.3", sha256="4cda6e22029b34bb9f5375181562f69e4a780a89ead50fe952891835e9933ac0")
version("2.3.5", sha256="26b62a00da21bc5597b580ab8fef4e624234ec446d7d3cb0ce22803a5d7074ca")
variant(
"sse", default=True, description="Enable SSE in order to substantially speed up execution"
)
variant("perl", default=True, description="Build ViennaRNA with Perl interface")
variant("python", default=True, description="Build ViennaRNA with Python interface")
depends_on("perl", type=("build", "run"))
depends_on("python", type=("build", "run"))
depends_on("libsvm")
depends_on("gsl")
def url_for_version(self, version):
url = "https://www.tbi.univie.ac.at/RNA/download/sourcecode/{0}_x/ViennaRNA-{1}.tar.gz"
return url.format(version.up_to(2).underscored, version)
def configure_args(self):
args = self.enable_or_disable("sse")
args += self.with_or_without("python")
args += self.with_or_without("perl")
if self.spec.satisfies("@2.4.3"):
args.append("--without-swig")
if "python@3:" in self.spec:
args.append("--with-python3")
return args