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:
		| @@ -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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jordan Ogas
					Jordan Ogas