diff options
author | Brad Geltz <brad.geltz@intel.com> | 2024-07-22 12:23:11 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-22 21:23:11 +0200 |
commit | d001f145148ee796ebba90b206a5132a592c1eed (patch) | |
tree | 51692a86505cc6d84e71a89252b6a754d7d5c125 /var | |
parent | c43205d6de35a5bdfece45ca4873f5818e7b9f7c (diff) | |
download | spack-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')
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) |