summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorBrad Geltz <brad.geltz@intel.com>2024-07-22 12:23:11 -0700
committerGitHub <noreply@github.com>2024-07-22 21:23:11 +0200
commitd001f145148ee796ebba90b206a5132a592c1eed (patch)
tree51692a86505cc6d84e71a89252b6a754d7d5c125 /var
parentc43205d6de35a5bdfece45ca4873f5818e7b9f7c (diff)
downloadspack-d001f145148ee796ebba90b206a5132a592c1eed.tar.gz
spack-d001f145148ee796ebba90b206a5132a592c1eed.tar.bz2
spack-d001f145148ee796ebba90b206a5132a592c1eed.tar.xz
spack-d001f145148ee796ebba90b206a5132a592c1eed.zip
geopm: Add v3.1 and update the needed dependencies (#44793)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/geopm-runtime/package.py90
-rw-r--r--var/spack/repos/builtin/packages/geopm-service/package.py58
-rw-r--r--var/spack/repos/builtin/packages/librsvg/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-blosc2/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-geopmdpy/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-geopmpy/package.py41
6 files changed, 152 insertions, 62 deletions
diff --git a/var/spack/repos/builtin/packages/geopm-runtime/package.py b/var/spack/repos/builtin/packages/geopm-runtime/package.py
index 2aa26287eb..974daed7d0 100644
--- a/var/spack/repos/builtin/packages/geopm-runtime/package.py
+++ b/var/spack/repos/builtin/packages/geopm-runtime/package.py
@@ -15,13 +15,14 @@ class GeopmRuntime(AutotoolsPackage):
homepage = "https://geopm.github.io"
git = "https://github.com/geopm/geopm.git"
- url = "https://github.com/geopm/geopm/tarball/v3.0.1"
+ url = "https://github.com/geopm/geopm/tarball/v3.1.0"
maintainers("bgeltz", "cmcantalupo")
license("BSD-3-Clause")
tags = ["e4s"]
version("develop", branch="dev", get_full_repo=True)
+ version("3.1.0", sha256="2d890cad906fd2008dc57f4e06537695d4a027e1dc1ed92feed4d81bb1a1449e")
version("3.0.1", sha256="32ba1948de58815ee055470dcdea64593d1113a6cad70ce00ab0286c127f8234")
depends_on("c", type="build") # generated
@@ -29,7 +30,7 @@ class GeopmRuntime(AutotoolsPackage):
depends_on("fortran", type="build") # generated
variant("debug", default=False, description="Enable debug")
- variant("docs", default=False, description="Create man pages with Sphinx")
+ variant("docs", default=False, when="@3.0.1", description="Create man pages with Sphinx")
variant("overhead", default=False, description="Track time spent in GEOPM API calls")
variant("beta", default=False, description="Enable beta features")
variant("mpi", default=True, description="Enable MPI dependent components")
@@ -60,30 +61,36 @@ class GeopmRuntime(AutotoolsPackage):
depends_on("libtool", type="build")
depends_on("file")
- # Docs dependencies
- depends_on("doxygen", type="build", when="+docs")
- depends_on("py-sphinx", type="build", when="+docs")
- depends_on("py-sphinx-rtd-theme@1:", type="build", when="+docs")
- depends_on("py-sphinxemoji@0.2.0:", type="build", when="+docs")
- depends_on("py-sphinx-tabs@3.3.1:", type="build", when="+docs")
- depends_on("py-pygments@2.13.0:", type="build", when="+docs")
-
- # Other Python dependencies - from scripts/setup.py
- depends_on("python@3.6:3", type=("build", "run"))
- depends_on("py-setuptools@53.0.0:", type="build")
- depends_on("py-cffi@1.14.5:", type="run")
- depends_on("py-natsort@8.2.0:", type="run")
- depends_on("py-numpy@1.19.5:", type="run")
- depends_on("py-pandas@1.1.5:", type="run")
- depends_on("py-tables@3.7.0:", type="run")
- depends_on("py-psutil@5.8.0:", type="run")
- depends_on("py-pyyaml@6.0:", type="run")
- depends_on("py-docutils@0.18:", type="run", when="+checkprogs")
+ with when("@3.0.1"):
+ # Docs dependencies
+ # Moved to python3-geopm-doc as of v3.1
+ depends_on("doxygen", type="build", when="+docs")
+ depends_on("py-sphinx", type="build", when="+docs")
+ depends_on("py-sphinx-rtd-theme@1:", type="build", when="+docs")
+ depends_on("py-sphinxemoji@0.2.0:", type="build", when="+docs")
+ depends_on("py-sphinx-tabs@3.3.1:", type="build", when="+docs")
+ depends_on("py-pygments@2.13.0:", type="build", when="+docs")
+
+ # Other Python dependencies - from scripts/setup.py
+ # Moved to python3-geopmdpy as of v3.1
+ depends_on("python@3.6:3", type=("build", "run"))
+ depends_on("py-setuptools@53.0.0:", type="build")
+ depends_on("py-cffi@1.14.5:", type="run")
+ depends_on("py-natsort@8.2.0:", type="run")
+ depends_on("py-numpy@1.19.5:", type="run")
+ depends_on("py-pandas@1.1.5:", type="run")
+ depends_on("py-tables@3.7.0:", type="run")
+ depends_on("py-psutil@5.8.0:", type="run")
+ depends_on("py-pyyaml@6.0:", type="run")
+ depends_on("py-docutils@0.18:", type="run", when="+checkprogs")
# Other dependencies
- for ver in ["3.0.1", "develop"]:
- depends_on(f"geopm-service@{ver}", type="build", when=f"@{ver}")
+ for ver in ["3.0.1", "3.1.0", "develop"]:
+ depends_on(f"geopm-service@{ver}", type=("build", "run"), when=f"@{ver}")
depends_on(f"py-geopmdpy@{ver}", type="run", when=f"@{ver}")
+ if ver != "3.0.1": # geopmpy integrated into autotools build until 3.1
+ depends_on(f"py-geopmpy@{ver}", type="run", when=f"@{ver}")
+ depends_on("py-setuptools-scm@7.0.3:", when="@3.1:", type="build")
depends_on("bash-completion")
depends_on("unzip")
depends_on("mpi@2.2:", when="+mpi")
@@ -97,6 +104,13 @@ class GeopmRuntime(AutotoolsPackage):
extends("python")
@property
+ def configure_directory(self):
+ if self.version == Version("3.0.1"):
+ return "."
+ else:
+ return "libgeopm"
+
+ @property
def install_targets(self):
target = ["install"]
if "+checkprogs" in self.spec:
@@ -105,20 +119,26 @@ class GeopmRuntime(AutotoolsPackage):
def autoreconf(self, spec, prefix):
bash = which("bash")
- if not spec.version.isdevelop():
- # Required to workaround missing VERSION files
- # from GitHub generated source tarballs
- with open("VERSION_OVERRIDE", "w") as fd:
- fd.write(f"{spec.version}")
- bash("./autogen.sh")
+ with working_dir(self.configure_directory):
+ if not spec.version.isdevelop():
+ if self.version == Version("3.0.1"):
+ version_file = "VERSION_OVERRIDE"
+ else:
+ version_file = "VERSION"
+ # Required to workaround missing VERSION files
+ # from GitHub generated source tarballs
+ with open(version_file, "w") as fd:
+ fd.write(f"{spec.version}")
+ bash("./autogen.sh")
def configure_args(self):
- args = [
- "--with-bash-completion-dir="
- + join_path(self.spec.prefix, "share", "bash-completion", "completions"),
- "--disable-geopmd-local",
- f"--with-geopmd={self.spec['geopm-service'].prefix}",
- ]
+
+ with when("@3.0.1"):
+ args = [
+ "--with-bash-completion-dir="
+ + join_path(self.spec.prefix, "share", "bash-completion", "completions")
+ ]
+ args += ["--disable-geopmd-local", f"--with-geopmd={self.spec['geopm-service'].prefix}"]
args += self.enable_or_disable("debug")
args += self.enable_or_disable("docs")
diff --git a/var/spack/repos/builtin/packages/geopm-service/package.py b/var/spack/repos/builtin/packages/geopm-service/package.py
index b6e15cf0a6..54aa00e6b1 100644
--- a/var/spack/repos/builtin/packages/geopm-service/package.py
+++ b/var/spack/repos/builtin/packages/geopm-service/package.py
@@ -18,13 +18,14 @@ class GeopmService(AutotoolsPackage):
homepage = "https://geopm.github.io"
git = "https://github.com/geopm/geopm.git"
- url = "https://github.com/geopm/geopm/tarball/v3.0.1"
+ url = "https://github.com/geopm/geopm/tarball/v3.1.0"
maintainers("bgeltz", "cmcantalupo")
license("BSD-3-Clause")
tags = ["e4s"]
version("develop", branch="dev", get_full_repo=True)
+ version("3.1.0", sha256="2d890cad906fd2008dc57f4e06537695d4a027e1dc1ed92feed4d81bb1a1449e")
version("3.0.1", sha256="32ba1948de58815ee055470dcdea64593d1113a6cad70ce00ab0286c127f8234")
depends_on("c", type="build") # generated
@@ -32,7 +33,7 @@ class GeopmService(AutotoolsPackage):
depends_on("fortran", type="build") # generated
variant("debug", default=False, description="Enable debug")
- variant("docs", default=True, description="Create man pages with Sphinx")
+ variant("docs", default=True, when="@3.0.1", description="Create man pages with Sphinx")
variant("systemd", default=True, description="Enable use of systemd/DBus")
variant("liburing", default=True, description="Enables the use of liburing for batch I/O")
variant(
@@ -69,24 +70,30 @@ class GeopmService(AutotoolsPackage):
depends_on("libtool", type="build")
depends_on("file")
- # Docs dependencies
- depends_on("doxygen", type="build", when="+docs")
- depends_on("py-docstring-parser@0.13.0:", type="build", when="+docs")
- depends_on("py-sphinx", type="build", when="+docs")
- depends_on("py-sphinx-rtd-theme@1:", type="build", when="+docs")
- depends_on("py-sphinxemoji@0.2.0:", type="build", when="+docs")
- depends_on("py-sphinx-tabs@3.3.1:", type="build", when="+docs")
- depends_on("py-pygments@2.13.0:", type="build", when="+docs")
-
- # Other Python dependencies - from service/setup.py
- depends_on("py-dasbus@1.6.0:", type=("build", "run"))
- depends_on("py-cffi@1.14.5:", type="run")
- depends_on("py-psutil@5.8.0:", type="run")
- depends_on("py-jsonschema@3.2.0:", type="run")
- depends_on("py-pyyaml@6.0:", type="run")
- depends_on("py-setuptools@53.0.0:", type="build")
+ with when("@3.0.1"):
+ # Docs dependencies
+ # Moved to python3-geopm-doc as of v3.1
+ depends_on("doxygen", type="build", when="+docs")
+ depends_on("py-docstring-parser@0.13.0:", type="build", when="+docs")
+ depends_on("py-sphinx", type="build", when="+docs")
+ depends_on("py-sphinx-rtd-theme@1:", type="build", when="+docs")
+ depends_on("py-sphinxemoji@0.2.0:", type="build", when="+docs")
+ depends_on("py-sphinx-tabs@3.3.1:", type="build", when="+docs")
+ depends_on("py-pygments@2.13.0:", type="build", when="+docs")
+
+ # Other Python dependencies - from service/setup.py
+ # Moved to python3-geopmdpy as of v3.1
+ depends_on("py-setuptools@53.0.0:", type="build")
+ depends_on("py-dasbus@1.6.0:", type=("build", "run"))
+ depends_on("py-psutil@5.8.0:", type=("build", "run"))
+ depends_on("py-jsonschema@3.2.0:", type=("build", "run"))
+ depends_on("py-pyyaml@6.0:", type=("build", "run"))
+ depends_on("py-cffi@1.14.5:", type="run")
# Other dependencies
+ for ver in ["3.1.0", "develop"]:
+ depends_on(f"py-geopmdpy@{ver}", type="run", when=f"@{ver}")
+ depends_on("py-setuptools-scm@7.0.3:", when="@3.1:", type="build")
depends_on("bash-completion")
depends_on("unzip")
depends_on("systemd", when="+systemd")
@@ -97,15 +104,24 @@ class GeopmService(AutotoolsPackage):
extends("python")
- configure_directory = "service"
+ @property
+ def configure_directory(self):
+ if self.version == Version("3.0.1"):
+ return "service"
+ else:
+ return "libgeopmd"
def autoreconf(self, spec, prefix):
bash = which("bash")
- with working_dir("service"):
+ with working_dir(self.configure_directory):
if not spec.version.isdevelop():
+ if self.version == Version("3.0.1"):
+ version_file = "VERSION_OVERRIDE"
+ else:
+ version_file = "VERSION"
# Required to workaround missing VERSION files
# from GitHub generated source tarballs
- with open("VERSION_OVERRIDE", "w") as fd:
+ with open(version_file, "w") as fd:
fd.write(f"{spec.version}")
bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/librsvg/package.py b/var/spack/repos/builtin/packages/librsvg/package.py
index 910c4eaafd..71a0a90d75 100644
--- a/var/spack/repos/builtin/packages/librsvg/package.py
+++ b/var/spack/repos/builtin/packages/librsvg/package.py
@@ -52,6 +52,7 @@ class Librsvg(AutotoolsPackage):
depends_on("libffi")
depends_on("shared-mime-info")
+ depends_on("py-docutils", type="build")
def url_for_version(self, version):
url = "https://download.gnome.org/sources/librsvg/"
diff --git a/var/spack/repos/builtin/packages/py-blosc2/package.py b/var/spack/repos/builtin/packages/py-blosc2/package.py
index cd592a6559..30964085df 100644
--- a/var/spack/repos/builtin/packages/py-blosc2/package.py
+++ b/var/spack/repos/builtin/packages/py-blosc2/package.py
@@ -14,6 +14,7 @@ class PyBlosc2(PythonPackage):
license("BSD-3-Clause")
+ version("2.6.2", sha256="8ca29d9aa988b85318bd8a9b707a7a06c8d6604ae1304cae059170437ae4f53a")
version("2.2.8", sha256="59065aac5e9b01b0e9f3825d8e7f69f64b59bbfab148a47c54e4115f62a97474")
version("2.0.0", sha256="f19b0b3674f6c825b490f00d8264b0c540c2cdc11ec7e81178d38b83c57790a1")
diff --git a/var/spack/repos/builtin/packages/py-geopmdpy/package.py b/var/spack/repos/builtin/packages/py-geopmdpy/package.py
index 0aa9483603..a67981826d 100644
--- a/var/spack/repos/builtin/packages/py-geopmdpy/package.py
+++ b/var/spack/repos/builtin/packages/py-geopmdpy/package.py
@@ -12,13 +12,14 @@ class PyGeopmdpy(PythonPackage):
homepage = "https://geopm.github.io"
git = "https://github.com/geopm/geopm.git"
- url = "https://github.com/geopm/geopm/tarball/v3.0.1"
+ url = "https://github.com/geopm/geopm/tarball/v3.1.0"
maintainers("bgeltz", "cmcantalupo")
license("BSD-3-Clause")
tags = ["e4s"]
- version("develop", branch="dev")
+ version("develop", branch="dev", get_full_repo=True)
+ version("3.1.0", sha256="2d890cad906fd2008dc57f4e06537695d4a027e1dc1ed92feed4d81bb1a1449e")
version("3.0.1", sha256="32ba1948de58815ee055470dcdea64593d1113a6cad70ce00ab0286c127f8234")
depends_on("c", type="build") # generated
@@ -31,13 +32,23 @@ class PyGeopmdpy(PythonPackage):
depends_on("py-jsonschema@3.2.0:", type="run")
depends_on("py-pyyaml@6.0:", type="run")
depends_on("py-setuptools@53.0.0:", type="build")
+ depends_on("py-setuptools-scm@7.0.3:", when="@3.1:", type="build")
+ depends_on("py-build@0.9.0:", when="@3.1:", type="build")
- build_directory = "service"
+ @property
+ def build_directory(self):
+ if self.version == Version("3.0.1"):
+ return "service"
+ else:
+ return "geopmdpy"
+
+ def setup_build_environment(self, env):
+ if not self.spec.version.isdevelop():
+ env.set("SETUPTOOLS_SCM_PRETEND_VERSION", self.version)
@run_before("install")
def populate_version(self):
- # @develop builds will have a version of 0.0.0
- if not self.spec.version.isdevelop():
- with working_dir(join_path("service", "geopmdpy")):
+ if self.version == Version("3.0.1"):
+ with working_dir(join_path(self.build_directory, "geopmdpy")):
with open("version.py", "w") as fd:
fd.write(f"__version__ = '{self.spec.version}'")
diff --git a/var/spack/repos/builtin/packages/py-geopmpy/package.py b/var/spack/repos/builtin/packages/py-geopmpy/package.py
new file mode 100644
index 0000000000..7a7e13f734
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-geopmpy/package.py
@@ -0,0 +1,41 @@
+# Copyright 2013-2024 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 PyGeopmpy(PythonPackage):
+ """The Global Extensible Open Power Manager (GEOPM) Service provides a
+ user interface for accessing hardware telemetry and settings securely."""
+
+ homepage = "https://geopm.github.io"
+ git = "https://github.com/geopm/geopm.git"
+ url = "https://github.com/geopm/geopm/tarball/v3.1.0"
+
+ maintainers("bgeltz", "cmcantalupo")
+ license("BSD-3-Clause")
+ tags = ["e4s"]
+
+ version("develop", branch="dev", get_full_repo=True)
+ version("3.1.0", sha256="2d890cad906fd2008dc57f4e06537695d4a027e1dc1ed92feed4d81bb1a1449e")
+
+ depends_on("python@3.6:3", type=("build", "run"))
+ depends_on("py-setuptools@53.0.0:", type="build")
+ depends_on("py-setuptools-scm@7.0.3:", when="@3.1:", type="build")
+ depends_on("py-build@0.9.0:", when="@3.1:", type="build")
+ depends_on("py-cffi@1.14.5:", type="run")
+ depends_on("py-natsort@8.2.0:", type="run")
+ depends_on("py-numpy@1.19.5:", type="run")
+ depends_on("py-pandas@1.1.5:", type="run")
+ depends_on("py-tables@3.7.0:", type="run")
+ depends_on("py-psutil@5.8.0:", type="run")
+ depends_on("py-pyyaml@6.0:", type="run")
+ depends_on("py-docutils@0.18:", type="run")
+
+ build_directory = "geopmpy"
+
+ def setup_build_environment(self, env):
+ if not self.spec.version.isdevelop():
+ env.set("SETUPTOOLS_SCM_PRETEND_VERSION", self.version)