Charliecloud package: add 0.36 and 0.37; update dependencies. (#42590)
This adds a dependency on pkg-config which in turn builds pkg-config on pipelines using %onapi/%cce: update the pkg-config build to disable specific warnings-as-errors from these compilers. Co-authored-by: Reid Priedhorsky <1682574+reidpr@users.noreply.github.com>
This commit is contained in:
parent
7e9caed8c2
commit
f4da453f6b
2 changed files with 27 additions and 5 deletions
|
@ -19,6 +19,8 @@ class Charliecloud(AutotoolsPackage):
|
||||||
license("Apache-2.0")
|
license("Apache-2.0")
|
||||||
|
|
||||||
version("master", branch="master")
|
version("master", branch="master")
|
||||||
|
version("0.37", sha256="1fd8e7cd1dd09a001aead5e105e3234792c1a1e9e30417f495ab3f422ade7397")
|
||||||
|
version("0.36", sha256="b6b1a085d8ff82abc6d625ab990af3925c84fa08ec837828b383f329bd0b8e72")
|
||||||
version("0.35", sha256="042f5be5ed8eda95f45230b4647510780142a50adb4e748be57e8dd8926b310e")
|
version("0.35", sha256="042f5be5ed8eda95f45230b4647510780142a50adb4e748be57e8dd8926b310e")
|
||||||
version(
|
version(
|
||||||
"0.34",
|
"0.34",
|
||||||
|
@ -101,7 +103,7 @@ class Charliecloud(AutotoolsPackage):
|
||||||
sha256="15ce63353afe1fc6bcc10979496a54fcd5628f997cb13c827c9fc7afb795bdc5",
|
sha256="15ce63353afe1fc6bcc10979496a54fcd5628f997cb13c827c9fc7afb795bdc5",
|
||||||
)
|
)
|
||||||
variant("docs", default=False, description="Build man pages and html docs")
|
variant("docs", default=False, description="Build man pages and html docs")
|
||||||
variant("squashfuse", default=False, description="Build with squashfuse support")
|
variant("squashfuse", default=True, description="Build with squashfuse support", when="@0.32:")
|
||||||
|
|
||||||
# Autoconf.
|
# Autoconf.
|
||||||
depends_on("m4", type="build")
|
depends_on("m4", type="build")
|
||||||
|
@ -109,6 +111,9 @@ class Charliecloud(AutotoolsPackage):
|
||||||
depends_on("automake", type="build")
|
depends_on("automake", type="build")
|
||||||
depends_on("libtool", type="build")
|
depends_on("libtool", type="build")
|
||||||
|
|
||||||
|
# pkg-config is required for 0.36 regardless of variant.
|
||||||
|
depends_on("pkg-config", type="build", when="@0.36")
|
||||||
|
|
||||||
# Image manipulation.
|
# Image manipulation.
|
||||||
depends_on("python@3.6:", type="run")
|
depends_on("python@3.6:", type="run")
|
||||||
depends_on("py-requests", type="run")
|
depends_on("py-requests", type="run")
|
||||||
|
@ -121,7 +126,8 @@ class Charliecloud(AutotoolsPackage):
|
||||||
depends_on("py-sphinx-rtd-theme", type="build", when="+docs")
|
depends_on("py-sphinx-rtd-theme", type="build", when="+docs")
|
||||||
|
|
||||||
# Bash automated testing harness (bats).
|
# Bash automated testing harness (bats).
|
||||||
depends_on("bats@0.4.0", type="test")
|
depends_on("bats@0.4.0", when="@:0.32")
|
||||||
|
depends_on("bats@1.10.0:", when="@0.33:")
|
||||||
|
|
||||||
# Require pip and wheel for git checkout builds (master).
|
# Require pip and wheel for git checkout builds (master).
|
||||||
depends_on("py-pip@21.1.2:", type="build", when="@master")
|
depends_on("py-pip@21.1.2:", type="build", when="@master")
|
||||||
|
@ -130,9 +136,20 @@ class Charliecloud(AutotoolsPackage):
|
||||||
# See https://github.com/spack/spack/pull/16049.
|
# See https://github.com/spack/spack/pull/16049.
|
||||||
conflicts("platform=darwin", msg="This package does not build on macOS")
|
conflicts("platform=darwin", msg="This package does not build on macOS")
|
||||||
|
|
||||||
# Squashfuse support
|
# Squashfuse support. For why this is so messy, see:
|
||||||
depends_on("squashfuse@0.1.105:", when="+squashfuse")
|
# https://github.com/hpc/charliecloud/issues/1696
|
||||||
depends_on("squashfs", type="run", when="+squashfuse")
|
# https://github.com/hpc/charliecloud/pull/1697
|
||||||
|
# https://github.com/hpc/charliecloud/pull/1784
|
||||||
|
#
|
||||||
|
# FIXME: the current variant and dependencies reflect
|
||||||
|
# Charliecloud's automatic mount/un-mounting requirements. A more manual
|
||||||
|
# approach with squashfuse could implemented in a different variant.
|
||||||
|
with when("+squashfuse"):
|
||||||
|
depends_on("libfuse@3:", type=("build", "run", "link"), when="@0.32:")
|
||||||
|
depends_on("pkg-config", type="build", when="@0.37:")
|
||||||
|
depends_on("squashfuse@0.1.105:0.2.0,0.4.0:", type="build", when="@0.36:")
|
||||||
|
depends_on("squashfuse@0.1.105:0.2.0,0.4.0", type="build", when="@0.35")
|
||||||
|
depends_on("squashfuse@0.1.105", type="build", when="@0.32:0.34")
|
||||||
|
|
||||||
def autoreconf(self, spec, prefix):
|
def autoreconf(self, spec, prefix):
|
||||||
which("bash")("autogen.sh")
|
which("bash")("autogen.sh")
|
||||||
|
|
|
@ -61,4 +61,9 @@ def configure_args(self):
|
||||||
# the cycle by using the internal glib.
|
# the cycle by using the internal glib.
|
||||||
config_args.append("--with-internal-glib")
|
config_args.append("--with-internal-glib")
|
||||||
|
|
||||||
|
c_name = self.spec.compiler.name
|
||||||
|
if "oneapi" in c_name or "cce" in c_name:
|
||||||
|
# Don't treat int-conversion warning as error with oneapi and cce.
|
||||||
|
config_args.append("CFLAGS=-Wno-error=int-conversion")
|
||||||
|
|
||||||
return config_args
|
return config_args
|
||||||
|
|
Loading…
Reference in a new issue