summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarmen Stoppels <me@harmenstoppels.nl>2024-04-30 07:40:00 +0200
committerGitHub <noreply@github.com>2024-04-30 07:40:00 +0200
commitd47951a1e3db6bbf884bf94a1abde2e0d5e1aa13 (patch)
tree05dba7b5c659153504aabd21b9e7ec35ffcff18c
parentf2bd0c5cf15c2f12dd61060aef5de2ddbfe2ea99 (diff)
downloadspack-d47951a1e3db6bbf884bf94a1abde2e0d5e1aa13.tar.gz
spack-d47951a1e3db6bbf884bf94a1abde2e0d5e1aa13.tar.bz2
spack-d47951a1e3db6bbf884bf94a1abde2e0d5e1aa13.tar.xz
spack-d47951a1e3db6bbf884bf94a1abde2e0d5e1aa13.zip
glibc: provides iconv (#43897)
`iconv` is a bit of weird virtual because the only shared API between `glibc` and `libiconv` is: ``` iconv iconv_open iconv_close ``` whereas `libiconv` has further symbols [iconvctl](https://www.gnu.org/software/libiconv/documentation/libiconv-1.17/iconvctl.3.html), [iconv_open_into](https://www.gnu.org/software/libiconv/documentation/libiconv-1.17/iconv_open_into.3.html), and an `iconv` executable and `libcharset.so`. Packages that need those will have to do `depends_on("[virtuals=iconv] libiconv")`.
-rw-r--r--etc/spack/defaults/cray/packages.yaml19
-rw-r--r--etc/spack/defaults/linux/packages.yaml19
-rw-r--r--var/spack/repos/builtin/packages/glibc/package.py1
-rw-r--r--var/spack/repos/builtin/packages/musl/package.py1
4 files changed, 40 insertions, 0 deletions
diff --git a/etc/spack/defaults/cray/packages.yaml b/etc/spack/defaults/cray/packages.yaml
new file mode 100644
index 0000000000..6b2c5f2c56
--- /dev/null
+++ b/etc/spack/defaults/cray/packages.yaml
@@ -0,0 +1,19 @@
+# -------------------------------------------------------------------------
+# This file controls default concretization preferences for Spack.
+#
+# Settings here are versioned with Spack and are intended to provide
+# sensible defaults out of the box. Spack maintainers should edit this
+# file to keep it current.
+#
+# Users can override these settings by editing the following files.
+#
+# Per-spack-instance settings (overrides defaults):
+# $SPACK_ROOT/etc/spack/packages.yaml
+#
+# Per-user settings (overrides default and site settings):
+# ~/.spack/packages.yaml
+# -------------------------------------------------------------------------
+packages:
+ all:
+ providers:
+ iconv: [glibc, musl, libiconv]
diff --git a/etc/spack/defaults/linux/packages.yaml b/etc/spack/defaults/linux/packages.yaml
new file mode 100644
index 0000000000..6b2c5f2c56
--- /dev/null
+++ b/etc/spack/defaults/linux/packages.yaml
@@ -0,0 +1,19 @@
+# -------------------------------------------------------------------------
+# This file controls default concretization preferences for Spack.
+#
+# Settings here are versioned with Spack and are intended to provide
+# sensible defaults out of the box. Spack maintainers should edit this
+# file to keep it current.
+#
+# Users can override these settings by editing the following files.
+#
+# Per-spack-instance settings (overrides defaults):
+# $SPACK_ROOT/etc/spack/packages.yaml
+#
+# Per-user settings (overrides default and site settings):
+# ~/.spack/packages.yaml
+# -------------------------------------------------------------------------
+packages:
+ all:
+ providers:
+ iconv: [glibc, musl, libiconv]
diff --git a/var/spack/repos/builtin/packages/glibc/package.py b/var/spack/repos/builtin/packages/glibc/package.py
index f09f455ab6..8f9b7df5da 100644
--- a/var/spack/repos/builtin/packages/glibc/package.py
+++ b/var/spack/repos/builtin/packages/glibc/package.py
@@ -29,6 +29,7 @@ class Glibc(AutotoolsPackage, GNUMirrorPackage):
license("LGPL-2.1-or-later")
provides("libc")
+ provides("iconv")
version("master", branch="master")
version("2.39", sha256="97f84f3b7588cd54093a6f6389b0c1a81e70d99708d74963a2e3eab7c7dc942d")
diff --git a/var/spack/repos/builtin/packages/musl/package.py b/var/spack/repos/builtin/packages/musl/package.py
index 622bd004e8..5e4054bdd8 100644
--- a/var/spack/repos/builtin/packages/musl/package.py
+++ b/var/spack/repos/builtin/packages/musl/package.py
@@ -34,6 +34,7 @@ class Musl(MakefilePackage):
representative_headers = ["iso646.h"]
provides("libc")
+ provides("iconv")
version("1.2.4", sha256="7a35eae33d5372a7c0da1188de798726f68825513b7ae3ebe97aaaa52114f039")
version("1.2.3", sha256="7d5b0b6062521e4627e099e4c9dc8248d32a30285e959b7eecaa780cf8cfd4a4")