sparrow: add new package (#29291)
This commit is contained in:
parent
dba7a03daa
commit
6d0b59b7ea
1 changed files with 85 additions and 0 deletions
85
var/spack/repos/builtin/packages/sparrow/package.py
Normal file
85
var/spack/repos/builtin/packages/sparrow/package.py
Normal file
|
@ -0,0 +1,85 @@
|
|||
# Copyright 2013-2022 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)
|
||||
|
||||
import os
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class Sparrow(CMakePackage):
|
||||
"""Sparrow: fast semiempirical quantum chemical calculations.
|
||||
|
||||
When publishing results obtained with Sparrow, please cite
|
||||
the corresponding release as archived on Zenodo
|
||||
(DOI 10.5281/zenodo.3244105; please use the DOI of the respective
|
||||
release).
|
||||
|
||||
In addition, we kindly request you to cite the following article
|
||||
when using Sparrow:
|
||||
|
||||
T. Husch, A. C. Vaucher, M. Reiher, "Semiempirical molecular orbital
|
||||
models based on the neglect of diatomic differential overlap
|
||||
approximation", Int. J. Quantum Chem., 2018, 118, e25799.
|
||||
"""
|
||||
|
||||
homepage = "https://scine.ethz.ch/"
|
||||
url = "https://github.com/qcscine/sparrow/archive/refs/tags/3.0.0.tar.gz"
|
||||
|
||||
maintainers = ["frobnitzem"]
|
||||
|
||||
version(
|
||||
"3.0.0",
|
||||
sha256="70636871694c9363ae3fb2df5050bddb22667b71d875d5a7e9afd872f6a2b65d",
|
||||
)
|
||||
|
||||
resource(
|
||||
name="dev",
|
||||
url="https://github.com/qcscine/development-utils/archive/refs/tags/4.0.0.tar.gz",
|
||||
sha256="54002c2082b6bb75672ec66bf9cf3935bbdf6b085ed9b4d7174cbdedb7c2275d",
|
||||
destination="deps",
|
||||
placement="dev",
|
||||
)
|
||||
|
||||
depends_on("eigen@3.3.2:")
|
||||
depends_on("boost+filesystem+program_options cxxstd=17 @1.65.0:")
|
||||
depends_on("py-pybind11@2.6.2")
|
||||
depends_on("py-pip", type="build")
|
||||
depends_on("yaml-cpp")
|
||||
depends_on("cereal")
|
||||
depends_on("googletest")
|
||||
|
||||
def patch(self):
|
||||
os.rmdir("dev")
|
||||
os.rename("deps/dev", "dev")
|
||||
if self.spec.satisfies("platform=darwin"):
|
||||
filter_file(
|
||||
r"SparrowApp PROPERTIES OUTPUT_NAME sparrow",
|
||||
'SparrowApp PROPERTIES OUTPUT_NAME sparrow SUFFIX ".exe"',
|
||||
"src/Sparrow/CMakeLists.txt",
|
||||
)
|
||||
filter_file(
|
||||
r"MAKE_CXX_STANDARD 14 PARENT_SCOPE",
|
||||
"MAKE_CXX_STANDARD 17 PARENT_SCOPE",
|
||||
"dev/cmake/ComponentSetup.cmake",
|
||||
)
|
||||
|
||||
def cmake_args(self):
|
||||
args = [
|
||||
self.define("SCINE_BUILD_PYTHON_BINDINGS", True),
|
||||
self.define("SCINE_BUILD_TESTS", self.run_tests),
|
||||
]
|
||||
|
||||
return args
|
||||
|
||||
# Adapted from ddd in MacPorts: cmake will build the executable
|
||||
# "sparrow" right next to the copy of the source directory "Sparrow".
|
||||
# As HFS+ is case-insensitive by default this will loosely FAIL.
|
||||
# Mitigate this by building/installing 'sparrowexe'
|
||||
# on Darwin and fixing up post install.
|
||||
@run_after("install")
|
||||
def _rename_exe_on_darwin(self):
|
||||
if self.spec.satisfies("platform=darwin"):
|
||||
with working_dir(self.prefix.bin):
|
||||
os.rename("sparrow.exe", "sparrow")
|
Loading…
Reference in a new issue