summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach van Rijn <me@zv.io>2023-11-02 10:37:45 -0500
committerZach van Rijn <me@zv.io>2023-11-02 10:50:54 -0500
commit843d1bfd0f5f0fbb008728fe68e62c017d89d84a (patch)
tree1e6f413067a4543f22c5d25a7a2bc8e66a5c4538
parent6ee3e1a9af10e598569f8497d9389fc2c380a68c (diff)
downloadpackages-843d1bfd0f5f0fbb008728fe68e62c017d89d84a.tar.gz
packages-843d1bfd0f5f0fbb008728fe68e62c017d89d84a.tar.bz2
packages-843d1bfd0f5f0fbb008728fe68e62c017d89d84a.tar.xz
packages-843d1bfd0f5f0fbb008728fe68e62c017d89d84a.zip
user/spack: support all targets.
* ppc requires explicit -latomic; this patch fixes adelie/spack#6 for both the initial clingo bootstrap and 'spack install clingo' * fix regression where all targets not supported by golang/rust could not be bootstrapped; this patch fixes adelie/spack#7 * pmmx still requires the archspec patch; fixes #794 * enable debug output during bootstrap build * disable buildcache by default (do not attempt to pull binaries) * fix package paths
-rw-r--r--user/spack/40841.patch38
-rw-r--r--user/spack/APKBUILD37
-rw-r--r--user/spack/clingo-explicit-libatomic.patch12
3 files changed, 71 insertions, 16 deletions
diff --git a/user/spack/40841.patch b/user/spack/40841.patch
new file mode 100644
index 000000000..fb63b32e9
--- /dev/null
+++ b/user/spack/40841.patch
@@ -0,0 +1,38 @@
+From fcf9e19a418b9db1fa517b98d087a5e387d1af8f Mon Sep 17 00:00:00 2001
+From: Harmen Stoppels <me@harmenstoppels.nl>
+Date: Thu, 2 Nov 2023 13:17:14 +0100
+Subject: [PATCH] go/rust bootstrap: no versions if unsupported arch
+
+The lookup in a dictionary causes KeyError on package load for
+unsupported architectures such as i386 and ppc big endian.
+---
+ var/spack/repos/builtin/packages/go-bootstrap/package.py | 2 +-
+ var/spack/repos/builtin/packages/rust-bootstrap/package.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/var/spack/repos/builtin/packages/go-bootstrap/package.py b/var/spack/repos/builtin/packages/go-bootstrap/package.py
+index 047f9f3353b93..4f5c8f0073243 100644
+--- a/var/spack/repos/builtin/packages/go-bootstrap/package.py
++++ b/var/spack/repos/builtin/packages/go-bootstrap/package.py
+@@ -59,7 +59,7 @@ class GoBootstrap(Package):
+
+ # determine system os and architecture/target
+ os = platform.system().lower()
+- target = go_targets[platform.machine().lower()]
++ target = go_targets.get(platform.machine().lower(), platform.machine().lower())
+
+ # construct releases for current system configuration
+ for release in go_releases:
+diff --git a/var/spack/repos/builtin/packages/rust-bootstrap/package.py b/var/spack/repos/builtin/packages/rust-bootstrap/package.py
+index 84100bf2424a1..337618e20e38f 100644
+--- a/var/spack/repos/builtin/packages/rust-bootstrap/package.py
++++ b/var/spack/repos/builtin/packages/rust-bootstrap/package.py
+@@ -73,7 +73,7 @@ class RustBootstrap(Package):
+
+ # Determine system os and architecture/target.
+ os = platform.system().lower()
+- target = rust_targets[platform.machine().lower()]
++ target = rust_targets.get(platform.machine().lower(), platform.machine().lower())
+
+ # Pre-release versions of the bootstrap compiler.
+ # Note: These versions are unchecksumed since they will change
diff --git a/user/spack/APKBUILD b/user/spack/APKBUILD
index ee963fd25..ef1b8250f 100644
--- a/user/spack/APKBUILD
+++ b/user/spack/APKBUILD
@@ -2,10 +2,10 @@
# Maintainer: Zach van Rijn <me@zv.io>
pkgname=spack
pkgver=0.20.3_p1
-pkgrel=0
+pkgrel=1
pkgdesc="A flexible package manager for supercomputers."
url="https://spack.io/"
-arch="all !ppc" # see #794
+arch="all"
license="Apache-2.0 OR MIT"
options="!dbg !strip"
makedepends="python3-dev"
@@ -16,8 +16,11 @@ depends="$makedepends
subpackages=""
# https://git.adelielinux.org/adelie/docs/-/wikis/Developer-Resources/Maintaining-Spack
source="https://git.adelielinux.org/adelie/$pkgname/-/archive/adelie-v$pkgver/$pkgname-adelie-v$pkgver.tar.bz2
- default-no-buildcache.patch
+ 40841.patch
+ clingo-explicit-libatomic.patch
archspec-fix-cpu-family-detection.patch
+
+ default-no-buildcache.patch
"
builddir="$srcdir/$pkgname-adelie-v$pkgver"
@@ -38,25 +41,27 @@ check() {
export SPACK_DISABLE_LOCAL_CONFIG=true
export SPACK_USER_CONFIG_PATH=$builddir/tmp
export SPACK_USER_CACHE_PATH=$builddir/tmp
- bin/spack install zlib
+ bin/spack --debug install zlib
rm -fr var/spack/cache
rm -fr etc/spack/linux # caches compilers.yaml
}
package() {
- for k in etc lib share var; do
- mkdir -p "$pkgdir"/${k};
- cp -r ${k}/spack "$pkgdir"/${k};
+ find bin \( -name '*.ps1' -o -name '*.py' -o -name '*.bat' \) -delete;
+
+ install -m755 -d "$pkgdir"/usr;
+ for k in bin share lib; do
+ mv ${k} "$pkgdir"/usr/${k};
+ done
+
+ for k in etc var; do
+ install -m755 -d "$pkgdir"/${k};
+ mv ${k}/spack "$pkgdir"/${k};
done
- mkdir -p "$pkgdir"/bin
- install \
- bin/sbang \
- bin/spack \
- bin/spack-python \
- "$pkgdir"/bin \
- ;
}
sha512sums="9629ee48d4f93158c4c2d3f14bc8755e33df1a82428337fc27495b7bbfba3f056c193b95bcb9f90025d89c7759fcf2ef09a1f1639880a8db87a786ee1bd138e2 spack-adelie-v0.20.3_p1.tar.bz2
-eec3e7dd818c39daea7b8d63b04a6c71d9eb3af32dd899cddc3642152252f4e2eebfd53c3c95365117f9a4826f6f29553f44373948e5c474388021302c8a5ce9 default-no-buildcache.patch
-a6503238d116b74ff9c4ecd08a984df90ce02f95c3e10e907481d99917c73339db1cc49f2b473a37875b92a9a6607cac72057c0a7b3d9a57d44c89ebe0ad3915 archspec-fix-cpu-family-detection.patch"
+195d9dd1da12be338169a4a2a0b12fece1fefd4ac6570111913ce0d50a8e007fc3320340573cee760d1eab55dddfcf7eed04221bd686a59d18d0ab2ef46f65a0 40841.patch
+30f6d193971bc6f2941141d0da50d339c459f2b9c6157cc2659a589bd2b546fba35d580cad79dd1bc74bcd9de7db31bc937418598d73b68c69876fee6a1c5c73 clingo-explicit-libatomic.patch
+a6503238d116b74ff9c4ecd08a984df90ce02f95c3e10e907481d99917c73339db1cc49f2b473a37875b92a9a6607cac72057c0a7b3d9a57d44c89ebe0ad3915 archspec-fix-cpu-family-detection.patch
+eec3e7dd818c39daea7b8d63b04a6c71d9eb3af32dd899cddc3642152252f4e2eebfd53c3c95365117f9a4826f6f29553f44373948e5c474388021302c8a5ce9 default-no-buildcache.patch"
diff --git a/user/spack/clingo-explicit-libatomic.patch b/user/spack/clingo-explicit-libatomic.patch
new file mode 100644
index 000000000..6a1d1a0aa
--- /dev/null
+++ b/user/spack/clingo-explicit-libatomic.patch
@@ -0,0 +1,12 @@
+diff --git a/var/spack/repos/builtin/packages/clingo/package.py b/var/spack/repos/builtin/packages/clingo/package.py
+index ab5fe9a043..8a31208850 100644
+--- a/var/spack/repos/builtin/packages/clingo/package.py
++++ b/var/spack/repos/builtin/packages/clingo/package.py
+@@ -120,6 +120,7 @@ def cmake_args(self):
+ "-DCLINGO_BUILD_WITH_PYTHON=ON",
+ "-DPYCLINGO_USER_INSTALL=OFF",
+ "-DPYCLINGO_USE_INSTALL_PREFIX=ON",
++ "-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic",
+ self.cmake_py_shared,
+ ]
+ if self.spec["cmake"].satisfies("@3.16.0:"):