summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid M. Rogers <predictivestatmech@gmail.com>2022-03-21 11:59:11 -0400
committerGitHub <noreply@github.com>2022-03-21 16:59:11 +0100
commit6d0b59b7ea4a2ba2fc63e3b088afbf3db0c11fbb (patch)
treee654644da2eea8687f5b5186fb78cc60c485c88a
parentdba7a03daacee4d2749fe66719455b10a5ecb8ef (diff)
downloadspack-6d0b59b7ea4a2ba2fc63e3b088afbf3db0c11fbb.tar.gz
spack-6d0b59b7ea4a2ba2fc63e3b088afbf3db0c11fbb.tar.bz2
spack-6d0b59b7ea4a2ba2fc63e3b088afbf3db0c11fbb.tar.xz
spack-6d0b59b7ea4a2ba2fc63e3b088afbf3db0c11fbb.zip
sparrow: add new package (#29291)
-rw-r--r--var/spack/repos/builtin/packages/sparrow/package.py85
1 files changed, 85 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/sparrow/package.py b/var/spack/repos/builtin/packages/sparrow/package.py
new file mode 100644
index 0000000000..4171f5ee27
--- /dev/null
+++ b/var/spack/repos/builtin/packages/sparrow/package.py
@@ -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")