summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Ehlert <28669218+awvwgk@users.noreply.github.com>2023-01-25 18:33:37 +0100
committerGitHub <noreply@github.com>2023-01-25 11:33:37 -0600
commitd35c24a3ed5b5ee826c525b3673e2fdcef8d33a8 (patch)
tree14c75b5edc197edfc3cf110d098c705938baf981
parentd4d200952e8df8c6b84f5cf65cdc71280a03884a (diff)
downloadspack-d35c24a3ed5b5ee826c525b3673e2fdcef8d33a8.tar.gz
spack-d35c24a3ed5b5ee826c525b3673e2fdcef8d33a8.tar.bz2
spack-d35c24a3ed5b5ee826c525b3673e2fdcef8d33a8.tar.xz
spack-d35c24a3ed5b5ee826c525b3673e2fdcef8d33a8.zip
Add packages for scine modules (#34969)
* Add packages for scine modules - lbfgspp (dependency for scine-utilities) - scine-core - scine-utilities and py-scine-utilities (virtual) - scine-readuct and py-scine-readuct (virtual) - scine-sparrow and py-scine-sparrow (virtual) - scine-database and py-scine-database (virtual) - scine-molassembler and py-scine-molassembler (virtual) - scine-xtb and py-scine-xtb (virtual) - py-scine-chemoton - py-scine-puffin * Fix line-length for flake8 * Remove virtual dependencies * Update detection of boost, minor fixes in packages / dependencies * Correctly declare build-only dependencies, add git versions * Add sparrow dummy packages, fix dependencies * Rename latest version from develop to master * Restore original sparrow package * Also rename latest version for chemoton and puffin
-rw-r--r--var/spack/repos/builtin/packages/lbfgspp/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-scine-chemoton/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-scine-puffin/package.py32
-rw-r--r--var/spack/repos/builtin/packages/scine-core/package.py44
-rw-r--r--var/spack/repos/builtin/packages/scine-database/package.py59
-rw-r--r--var/spack/repos/builtin/packages/scine-molassembler/package.py98
-rw-r--r--var/spack/repos/builtin/packages/scine-readuct/package.py67
-rw-r--r--var/spack/repos/builtin/packages/scine-sparrow/package.py100
-rw-r--r--var/spack/repos/builtin/packages/scine-utilities/package.py81
-rw-r--r--var/spack/repos/builtin/packages/scine-xtb/package.py59
-rw-r--r--var/spack/repos/builtin/packages/sparrow/package.py1
11 files changed, 585 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/lbfgspp/package.py b/var/spack/repos/builtin/packages/lbfgspp/package.py
new file mode 100644
index 0000000000..70f5865d9d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/lbfgspp/package.py
@@ -0,0 +1,17 @@
+# 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)
+
+from spack.package import *
+
+
+class Lbfgspp(CMakePackage):
+ """A Header-only C++ Library for L-BFGS and L-BFGS-B Algorithms"""
+
+ homepage = "https://lbfgspp.statr.me/"
+ url = "https://github.com/yixuan/LBFGSpp/archive/refs/tags/v0.2.0.tar.gz"
+
+ version("0.2.0", sha256="7101744a538c3aff52e10c82267305847b0b5e9d39f9974b4b29812cd1398ff9")
+
+ depends_on("eigen @3:")
diff --git a/var/spack/repos/builtin/packages/py-scine-chemoton/package.py b/var/spack/repos/builtin/packages/py-scine-chemoton/package.py
new file mode 100644
index 0000000000..1a8e0cc264
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-scine-chemoton/package.py
@@ -0,0 +1,27 @@
+# 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)
+
+from spack.package import *
+
+
+class PyScineChemoton(PythonPackage):
+ """Software driving the automated exploration of chemical reaction networks"""
+
+ homepage = "https://scine.ethz.ch/download/chemoton"
+ pypi = "scine_chemoton/scine_chemoton-2.2.0.tar.gz"
+ git = "https://github.com/qcscine/puffin.git"
+
+ version("master", branch="master")
+ version("2.2.0", "cda4f9de1e1c00ecc5e0b2d9c17a5edb56b468d454022e3f4045ec116ba2ec45")
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-networkx", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-setproctitle", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("scine-database+python", type=("build", "run"))
+ depends_on("scine-molassembler+python", type=("build", "run"))
+ depends_on("scine-utilities+python", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-scine-puffin/package.py b/var/spack/repos/builtin/packages/py-scine-puffin/package.py
new file mode 100644
index 0000000000..fd8c504d57
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-scine-puffin/package.py
@@ -0,0 +1,32 @@
+# 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)
+
+from spack.package import *
+
+
+class PyScinePuffin(PythonPackage):
+ """Calculation handler for SCINE Chemoton"""
+
+ homepage = "https://scine.ethz.ch/download/puffin"
+ pypi = "scine_puffin/scine_puffin-1.1.0.tar.gz"
+ git = "https://github.com/qcscine/puffin.git"
+
+ version("master", branch="master")
+ version("1.1.0", "1a15232b1b472c36349e5534e4fdf9dd90bc554926cb42fba37eee8e60be8c44")
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-gitpython", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-python-daemon", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-setproctitle", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ # Promoted from optional to explicit dependencies to avoid compiling them on puffin startup
+ depends_on("scine-database+python", type=("build", "run"))
+ depends_on("scine-molassembler+python", type=("build", "run"))
+ depends_on("scine-readuct+python", type=("build", "run"))
+ depends_on("scine-utilities+python", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/scine-core/package.py b/var/spack/repos/builtin/packages/scine-core/package.py
new file mode 100644
index 0000000000..88ed0b7b84
--- /dev/null
+++ b/var/spack/repos/builtin/packages/scine-core/package.py
@@ -0,0 +1,44 @@
+# 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.package import *
+
+
+class ScineCore(CMakePackage):
+ """Core provides the functionality necessary to couple the individual SCINE modules together"""
+
+ homepage = "https://scine.ethz.ch/"
+ url = "https://github.com/qcscine/core/archive/refs/tags/4.0.2.tar.gz"
+ git = "https://github.com/qcscine/core.git"
+
+ version("master", branch="master")
+ version("4.0.2", "7181c6f93d71def22f1e0e5767afc7587c04b49abc03516f6926394868e7adc6")
+
+ resource(
+ name="dev",
+ url="https://github.com/qcscine/development-utils/archive/refs/tags/5.0.1.tar.gz",
+ sha256="089ca500fc191e04a968ea166d2fe80178b227bc2e6d3926523fa2eee5f6492d",
+ placement="_dev",
+ )
+
+ depends_on("boost+filesystem+program_options cxxstd=17 @1.65.0:")
+ depends_on("googletest", type="build")
+
+ def patch(self):
+ os.rmdir("dev")
+ os.rename("_dev", "dev")
+
+ def cmake_args(self):
+ return [
+ self.define("SCINE_BUILD_TESTS", self.run_tests),
+ self.define("SCINE_MARCH", ""),
+ self.define("BOOST_ROOT", self.spec["boost"].prefix),
+ self.define("BOOST_LIBRARY_DIR", self.spec["boost"].libs.directories[0]),
+ self.define("BOOST_INCLUDE_DIR", self.spec["boost"].headers.directories[0]),
+ self.define("BOOST_NO_SYSTEM_PATHS", True),
+ self.define("Boost_NO_BOOST_CMAKE", True),
+ ]
diff --git a/var/spack/repos/builtin/packages/scine-database/package.py b/var/spack/repos/builtin/packages/scine-database/package.py
new file mode 100644
index 0000000000..c62bf10c26
--- /dev/null
+++ b/var/spack/repos/builtin/packages/scine-database/package.py
@@ -0,0 +1,59 @@
+# 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.package import *
+
+
+class ScineDatabase(CMakePackage):
+ """The SCINE database module is a database wrapper for a MongoDB encoding reaction networks."""
+
+ homepage = "https://scine.ethz.ch/"
+ url = "https://github.com/qcscine/database/archive/refs/tags/1.1.0.tar.gz"
+ git = "https://github.com/qcscine/database.git"
+
+ version("master", branch="master")
+ version("1.1.0", "a9144631dfb90e06f6924cf58fc5db13719cf8577fcd3bbf788a135060a70c18")
+
+ resource(
+ name="dev",
+ url="https://github.com/qcscine/development-utils/archive/refs/tags/5.0.1.tar.gz",
+ sha256="089ca500fc191e04a968ea166d2fe80178b227bc2e6d3926523fa2eee5f6492d",
+ placement="_dev",
+ )
+
+ variant("python", default=False, description="Build Python extension module")
+
+ depends_on("eigen@3:")
+ depends_on("googletest", type="build")
+ depends_on("mongo-cxx-driver@3.2.1:")
+ depends_on("python@3.6:", when="+python", type=("build", "run"))
+ depends_on("py-pip", when="+python", type="build")
+ depends_on("py-pybind11", when="+python", type="build")
+ depends_on("scine-utilities@5:")
+ depends_on("scine-utilities+python", when="+python")
+
+ extends("python", when="+python")
+
+ def patch(self):
+ os.rmdir("dev")
+ os.rename("_dev", "dev")
+
+ filter_file(
+ "#include <mongocxx/collection.hpp>",
+ "#include <mongocxx/collection.hpp>\n#include <mongocxx/pipeline.hpp>",
+ "src/Database/Database/Collection.cpp",
+ )
+
+ def cmake_args(self):
+ args = [
+ self.define("SCINE_BUILD_TESTS", self.run_tests),
+ self.define("SCINE_BUILD_PYTHON_BINDINGS", "+python" in self.spec),
+ self.define("SCINE_MARCH", ""),
+ ]
+ if "+python" in self.spec:
+ args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
+ return args
diff --git a/var/spack/repos/builtin/packages/scine-molassembler/package.py b/var/spack/repos/builtin/packages/scine-molassembler/package.py
new file mode 100644
index 0000000000..14ffcd9c79
--- /dev/null
+++ b/var/spack/repos/builtin/packages/scine-molassembler/package.py
@@ -0,0 +1,98 @@
+# 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.package import *
+
+
+class ScineMolassembler(CMakePackage):
+ """Chemoinformatics toolkit with support for inorganic molecules."""
+
+ homepage = "https://scine.ethz.ch/download/molassembler"
+ url = "https://github.com/qcscine/molassembler/archive/refs/tags/1.2.1.tar.gz"
+ git = "https://github.com/qcscine/molassembler.git"
+
+ version("master", branch="master")
+ version("1.2.1", "c9fea41d383b7f54cf8a3ed4dabebe9e942fe3ef5b47895e3533e8ce42dacd38")
+
+ resource(
+ name="dev",
+ url="https://github.com/qcscine/development-utils/archive/refs/tags/5.0.1.tar.gz",
+ sha256="089ca500fc191e04a968ea166d2fe80178b227bc2e6d3926523fa2eee5f6492d",
+ placement="_dev",
+ )
+
+ resource(
+ name="nauty-finder",
+ url="https://raw.githubusercontent.com/conda-forge/scine-molassembler-feedstock/0aa909d/recipe/cmake/Findnauty.cmake",
+ sha256="0746e8a1e35687687866e82797ceb848d941a0c232ed5daa63689476b557e18e",
+ destination="cmake",
+ expand=False,
+ )
+
+ # resource(
+ # name="ringdecomposerlib-finder",
+ # url="https://raw.githubusercontent.com/conda-forge/scine-molassembler-feedstock/0aa909d/recipe/cmake/FindRingDecomposerLib.cmake",
+ # sha256="5ecfbccf48a66d8477011aa576181b56d725f1716cca5a268683e586d761a3ec",
+ # destination="cmake",
+ # expand=False,
+ # )
+
+ patch(
+ "https://raw.githubusercontent.com/conda-forge/scine-molassembler-feedstock/0aa909d/recipe/patches/nlohmann_json.patch",
+ level=1,
+ sha256="a9afcc42b264620ee24505c1857b8493c2fb632a1d155362ba4519814922a6af",
+ )
+
+ patch(
+ "https://raw.githubusercontent.com/conda-forge/scine-molassembler-feedstock/0aa909d/recipe/patches/no_cfenv.patch",
+ level=1,
+ sha256="4d746ebd3567d7209200614613861995b999e65e7e26fc0338184fffa0cb3fb7",
+ when="platform=darwin",
+ )
+
+ variant("python", default=False, description="Build Python extension module")
+
+ depends_on("boost+system+filesystem+program_options cxxstd=17 @1.65.0:")
+ depends_on("eigen@3:")
+ depends_on("googletest", type="build")
+ depends_on("nauty")
+ depends_on("nlohmann-json", type="build")
+ depends_on("python@3.6:", when="+python", type=("build", "run"))
+ depends_on("py-pip", when="+python", type="build")
+ depends_on("py-pybind11@2.6.2:", when="+python", type="build")
+ # depends_on("ringdecomposerlib")
+ depends_on("scine-core")
+ depends_on("scine-utilities")
+ depends_on("scine-utilities+python", when="+python", type=("build", "run"))
+
+ extends("python", when="+python")
+
+ def patch(self):
+ os.rmdir("dev")
+ os.rename("_dev", "dev")
+
+ filter_file(
+ "find_package(pybind11 2.6.2 EXACT QUIET)",
+ "find_package(pybind11)",
+ "dev/cmake/ImportPybind11.cmake",
+ )
+
+ def cmake_args(self):
+ args = [
+ self.define("BUILD_SHARED_LIBS", True),
+ self.define("SCINE_BUILD_TESTS", self.run_tests),
+ self.define("SCINE_BUILD_PYTHON_BINDINGS", "+python" in self.spec),
+ self.define("SCINE_MARCH", ""),
+ self.define("BOOST_ROOT", self.spec["boost"].prefix),
+ self.define("BOOST_LIBRARY_DIR", self.spec["boost"].libs.directories[0]),
+ self.define("BOOST_INCLUDE_DIR", self.spec["boost"].headers.directories[0]),
+ self.define("BOOST_NO_SYSTEM_PATHS", True),
+ self.define("Boost_NO_BOOST_CMAKE", True),
+ ]
+ if "+python" in self.spec:
+ args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
+ return args
diff --git a/var/spack/repos/builtin/packages/scine-readuct/package.py b/var/spack/repos/builtin/packages/scine-readuct/package.py
new file mode 100644
index 0000000000..0f77db749f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/scine-readuct/package.py
@@ -0,0 +1,67 @@
+# 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.package import *
+
+
+class ScineReaduct(CMakePackage):
+ """
+ ReaDuct allows you to carry out structure optimizations, transition state searches
+ and intrinsic reaction coordinate (IRC) calculations among other things
+ """
+
+ homepage = "https://scine.ethz.ch/download/readuct"
+ url = "https://github.com/qcscine/readuct/archive/refs/tags/4.1.0.tar.gz"
+
+ version("4.1.0", "9cec0192a444403d6a8fd096509798c49fbd1eec298ec7194aba915e31f50782")
+
+ resource(
+ name="dev",
+ url="https://github.com/qcscine/development-utils/archive/refs/tags/5.0.1.tar.gz",
+ sha256="089ca500fc191e04a968ea166d2fe80178b227bc2e6d3926523fa2eee5f6492d",
+ placement="_dev",
+ )
+
+ variant("python", default=False, description="Build Python extension module")
+
+ depends_on("boost+system+filesystem+program_options cxxstd=17 @1.65.0:")
+ depends_on("eigen@3:")
+ depends_on("googletest")
+ depends_on("python@3.6:", when="+python", type=("build", "run"))
+ depends_on("py-pip", when="+python", type="build")
+ depends_on("py-pybind11@2.6.2:", when="+python", type=("build", "run"))
+ depends_on("scine-core")
+ depends_on("scine-utilities")
+ depends_on("scine-utilities+python", when="+python", type=("build", "run"))
+ depends_on("yaml-cpp")
+
+ extends("python", when="+python")
+
+ def patch(self):
+ os.rmdir("dev")
+ os.rename("_dev", "dev")
+
+ filter_file(
+ "find_package(pybind11 2.6.2 EXACT QUIET)",
+ "find_package(pybind11)",
+ "dev/cmake/ImportPybind11.cmake",
+ )
+
+ def cmake_args(self):
+ args = [
+ self.define("SCINE_BUILD_TESTS", self.run_tests),
+ self.define("SCINE_BUILD_PYTHON_BINDINGS", "+python" in self.spec),
+ self.define("SCINE_MARCH", ""),
+ self.define("BOOST_ROOT", self.spec["boost"].prefix),
+ self.define("BOOST_LIBRARY_DIR", self.spec["boost"].libs.directories[0]),
+ self.define("BOOST_INCLUDE_DIR", self.spec["boost"].headers.directories[0]),
+ self.define("BOOST_NO_SYSTEM_PATHS", True),
+ self.define("Boost_NO_BOOST_CMAKE", True),
+ ]
+ if "+python" in self.spec:
+ args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
+ return args
diff --git a/var/spack/repos/builtin/packages/scine-sparrow/package.py b/var/spack/repos/builtin/packages/scine-sparrow/package.py
new file mode 100644
index 0000000000..10993213d6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/scine-sparrow/package.py
@@ -0,0 +1,100 @@
+# 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.package import *
+
+
+class ScineSparrow(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/download/sparrow"
+ url = "https://github.com/qcscine/sparrow/archive/refs/tags/3.1.0.tar.gz"
+ git = "https://github.com/qcscine/sparrow.git"
+
+ maintainers = ["frobnitzem"]
+
+ version("master", branch="master")
+ version("3.1.0", "91412de0f2670a1735c4ca76406db5bea04236eeac0bc1f93ccfe18104aa7ce4")
+ version("3.0.0", "70636871694c9363ae3fb2df5050bddb22667b71d875d5a7e9afd872f6a2b65d")
+
+ resource(
+ name="dev",
+ url="https://github.com/qcscine/development-utils/archive/refs/tags/5.0.1.tar.gz",
+ sha256="089ca500fc191e04a968ea166d2fe80178b227bc2e6d3926523fa2eee5f6492d",
+ placement="_dev",
+ )
+
+ variant("python", default=False, description="Build Python extension module")
+
+ depends_on("boost+filesystem+program_options cxxstd=17 @1.65.0:")
+ depends_on("cereal")
+ depends_on("eigen@3.3.2:")
+ depends_on("googletest", type="build")
+ depends_on("python@3.6:", when="+python", type=("build", "run"))
+ depends_on("py-pip", when="+python", type="build")
+ depends_on("scine-core")
+ depends_on("scine-utilities")
+ depends_on("scine-utilities+python", when="+python", type=("build", "run"))
+ depends_on("yaml-cpp")
+
+ extends("python", when="+python")
+
+ def patch(self):
+ os.rmdir("dev")
+ os.rename("_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(
+ "#include <iostream>",
+ "#include <iostream>\n#include <fstream>",
+ "src/Sparrow/Sparrow/Implementations/Dftb/Utils/SkfParser.cpp",
+ )
+
+ def cmake_args(self):
+ args = [
+ self.define("SCINE_BUILD_TESTS", self.run_tests),
+ self.define("SCINE_BUILD_PYTHON_BINDINGS", "+python" in self.spec),
+ self.define("SCINE_MARCH", ""),
+ self.define("BOOST_ROOT", self.spec["boost"].prefix),
+ self.define("BOOST_LIBRARY_DIR", self.spec["boost"].libs.directories[0]),
+ self.define("BOOST_INCLUDE_DIR", self.spec["boost"].headers.directories[0]),
+ self.define("BOOST_NO_SYSTEM_PATHS", True),
+ self.define("Boost_NO_BOOST_CMAKE", True),
+ ]
+ if "+python" in self.spec:
+ args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
+ 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")
diff --git a/var/spack/repos/builtin/packages/scine-utilities/package.py b/var/spack/repos/builtin/packages/scine-utilities/package.py
new file mode 100644
index 0000000000..bf7a8fa9d6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/scine-utilities/package.py
@@ -0,0 +1,81 @@
+# 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.package import *
+
+
+class ScineUtilities(CMakePackage):
+ """Contains functionality which is used in most SCINE modules."""
+
+ homepage = "https://scine.ethz.ch"
+ url = "https://github.com/qcscine/utilities/archive/refs/tags/6.0.0.tar.gz"
+ git = "https://github.com/qcscine/utilities.git"
+
+ version("master", branch="master")
+ version("6.0.0", "e4387d5562b7442a8e31e4dfc028bacfeb6d12e39f2d8aa6effc6db380863b4a")
+ version("5.0.0", "a304c89d9a196fe304f38610dea6b066d74590c0d434e4bd09a9796340700465")
+
+ resource(
+ name="dev",
+ url="https://github.com/qcscine/development-utils/archive/refs/tags/5.0.1.tar.gz",
+ sha256="089ca500fc191e04a968ea166d2fe80178b227bc2e6d3926523fa2eee5f6492d",
+ placement="_dev",
+ )
+
+ variant("python", default=False, description="Build Python extension module")
+
+ depends_on("boost+system+filesystem+program_options cxxstd=17 @1.65.0:")
+ depends_on("eigen@3:")
+ depends_on("googletest", type="build")
+ depends_on("lbfgspp", type="build")
+ depends_on("python@3.6:", when="+python", type=("build", "run"))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("py-pip", when="+python", type="build")
+ depends_on("py-pybind11@2.6.2:", when="+python", type="build")
+ depends_on("py-scipy", when="+python", type=("build", "run"))
+ depends_on("scine-core")
+ depends_on("yaml-cpp")
+
+ extends("python", when="+python")
+
+ def patch(self):
+ os.rmdir("dev")
+ os.rename("_dev", "dev")
+
+ filter_file(
+ "find_package(pybind11 2.6.2 EXACT QUIET)",
+ "find_package(pybind11)",
+ "dev/cmake/ImportPybind11.cmake",
+ )
+
+ filter_file(
+ "#include <regex>",
+ "#include <regex>\n#include <fstream>",
+ "src/Utils/Utils/ExternalQC/Turbomole/TurbomoleHelper.cpp",
+ )
+
+ filter_file(
+ "#include <iostream>",
+ "#include <iostream>\n#include <fstream>",
+ "src/Utils/Utils/IO/TurbomoleMinimalBasisfile.cpp",
+ )
+
+ def cmake_args(self):
+ args = [
+ self.define("SCINE_BUILD_TESTS", self.run_tests),
+ self.define("SCINE_BUILD_PYTHON_BINDINGS", "+python" in self.spec),
+ self.define("SCINE_MARCH", ""),
+ self.define("BOOST_ROOT", self.spec["boost"].prefix),
+ self.define("BOOST_LIBRARY_DIR", self.spec["boost"].libs.directories[0]),
+ self.define("BOOST_INCLUDE_DIR", self.spec["boost"].headers.directories[0]),
+ self.define("BOOST_NO_SYSTEM_PATHS", True),
+ self.define("Boost_NO_BOOST_CMAKE", True),
+ ]
+ if "+python" in self.spec:
+ args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
+
+ return args
diff --git a/var/spack/repos/builtin/packages/scine-xtb/package.py b/var/spack/repos/builtin/packages/scine-xtb/package.py
new file mode 100644
index 0000000000..c1219abb3a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/scine-xtb/package.py
@@ -0,0 +1,59 @@
+# 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.package import *
+
+
+class ScineXtb(CMakePackage):
+ """Wrapper around xtb to export it into the Scine tool chain."""
+
+ homepage = "https://scine.ethz.ch"
+ url = "https://github.com/qcscine/xtb_wrapper/archive/refs/tags/1.0.2.tar.gz"
+ git = "https://github.com/qcscine/xtb_wrapper.git"
+
+ version("master", branch="master")
+ version("1.0.2", "9beb1103467f3cfd9ad33beb2f3ec650bc3e6dc7094876774be3cc4e6f210487")
+
+ resource(
+ name="dev",
+ url="https://github.com/qcscine/development-utils/archive/refs/tags/5.0.1.tar.gz",
+ sha256="089ca500fc191e04a968ea166d2fe80178b227bc2e6d3926523fa2eee5f6492d",
+ placement="_dev",
+ )
+
+ variant("python", default=False, description="Build Python extension module")
+
+ depends_on("boost+system+filesystem+program_options cxxstd=17 @1.65.0:")
+ depends_on("eigen@3:")
+ depends_on("pkgconfig", type="build")
+ depends_on("python@3.6:", when="+python", type=("build", "run"))
+ depends_on("py-pip", when="+python", type="build")
+ depends_on("scine-core")
+ depends_on("scine-utilities")
+ depends_on("scine-utilities+python", when="+python", type=("build", "run"))
+ depends_on("xtb")
+
+ extends("python", when="+python")
+
+ def patch(self):
+ os.rmdir("dev")
+ os.rename("_dev", "dev")
+
+ def cmake_args(self):
+ args = [
+ self.define("SCINE_BUILD_TESTS", self.run_tests),
+ self.define("SCINE_BUILD_PYTHON_BINDINGS", "+python" in self.spec),
+ self.define("SCINE_MARCH", ""),
+ self.define("BOOST_ROOT", self.spec["boost"].prefix),
+ self.define("BOOST_LIBRARY_DIR", self.spec["boost"].libs.directories[0]),
+ self.define("BOOST_INCLUDE_DIR", self.spec["boost"].headers.directories[0]),
+ self.define("BOOST_NO_SYSTEM_PATHS", True),
+ self.define("Boost_NO_BOOST_CMAKE", True),
+ ]
+ if "+python" in self.spec:
+ args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
+ return args
diff --git a/var/spack/repos/builtin/packages/sparrow/package.py b/var/spack/repos/builtin/packages/sparrow/package.py
index 195c1b57b1..dac5cf3690 100644
--- a/var/spack/repos/builtin/packages/sparrow/package.py
+++ b/var/spack/repos/builtin/packages/sparrow/package.py
@@ -32,6 +32,7 @@ class Sparrow(CMakePackage):
version(
"3.0.0",
sha256="70636871694c9363ae3fb2df5050bddb22667b71d875d5a7e9afd872f6a2b65d",
+ deprecated=True,
)
resource(