From a6886983dc75e858875221b33a77565a5cebf4c8 Mon Sep 17 00:00:00 2001 From: snehring <7978778+snehring@users.noreply.github.com> Date: Tue, 23 May 2023 13:30:40 -0500 Subject: usalign: new package (#37646) * usalign: adding new package * usalign: updating shasum, adding note about distribution --- .../repos/builtin/packages/usalign/package.py | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 var/spack/repos/builtin/packages/usalign/package.py diff --git a/var/spack/repos/builtin/packages/usalign/package.py b/var/spack/repos/builtin/packages/usalign/package.py new file mode 100644 index 0000000000..47f08e1f8a --- /dev/null +++ b/var/spack/repos/builtin/packages/usalign/package.py @@ -0,0 +1,47 @@ +# 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 Usalign(Package): + """US-align (Universal Structural alignment) is a unified protocol + to compare 3D structures of different macromolecules (proteins, + RNAs and DNAs) in different forms (monomers, oligomers and + heterocomplexes) for both pairwise and multiple structure + alignments.""" + + homepage = "https://zhanggroup.org/US-align" + # this group prefers to distribute their software as single + # source files without any actual versioning. + # as such this recipe will likely need updating any time + # they update the source, with the old version being + # deprecated. + url = "https://zhanggroup.org/US-align/bin/module/USalign.cpp" + + maintainers("snehring") + + # date assumed from paper publication date + version( + "20220829", + sha256="9ee129017a68125c22ce89123ecbac9421add87ee077cd1994c6e8a39a8a8b21", + expand=False, + ) + + variant("fast-math", default=False) + + phases = ["build", "install"] + + def build(self, spec, prefix): + cxx = Executable(self.compiler.cxx) + args = ["-O3"] + if spec.satisfies("+fast-math"): + args.append("-ffast-math") + args.extend(["-lm", "-o", "USalign", "USalign.cpp"]) + cxx(*args) + + def install(self, spec, prefix): + mkdirp(prefix.bin) + install("USalign", prefix.bin) -- cgit v1.2.3-70-g09d2