summaryrefslogtreecommitdiff
path: root/user
diff options
context:
space:
mode:
authorZach van Rijn <me@zv.io>2023-11-04 14:08:39 +0000
committerZach van Rijn <me@zv.io>2023-11-04 14:14:57 +0000
commit39d9d4a84fb8780da4228289daf423aaf28d739f (patch)
treed859c27c83d7dc0b8cf5ce7dc3747ec29d0f78a0 /user
parent626845ccad5cd97951ffe658d0580e3c20255644 (diff)
downloadpackages-39d9d4a84fb8780da4228289daf423aaf28d739f.tar.gz
packages-39d9d4a84fb8780da4228289daf423aaf28d739f.tar.bz2
packages-39d9d4a84fb8780da4228289daf423aaf28d739f.tar.xz
packages-39d9d4a84fb8780da4228289daf423aaf28d739f.zip
user/spack: fix broken 'linux-headers' package.
See: https://github.com/spack/spack/issues/40334 Also: * Upstream Spack assumes that 'linux-headers' is always installed on the system, since it is a dependency of glibc. As 'openssl' requires it, make the dependency explicit. There are likely many more occurrences of this that should be reported and fixed upstream.
Diffstat (limited to 'user')
-rw-r--r--user/spack/40877.patch26
-rw-r--r--user/spack/APKBUILD7
-rw-r--r--user/spack/openssl-explicit-linux-headers.patch12
3 files changed, 43 insertions, 2 deletions
diff --git a/user/spack/40877.patch b/user/spack/40877.patch
new file mode 100644
index 000000000..4aa4368ff
--- /dev/null
+++ b/user/spack/40877.patch
@@ -0,0 +1,26 @@
+From 1af592210d9190147e097fe26ddaa583a962557e Mon Sep 17 00:00:00 2001
+From: Zach van Rijn <me@zv.io>
+Date: Fri, 3 Nov 2023 19:06:46 -0500
+Subject: [PATCH] linux-headers: support multiple versions (#40334)
+
+The download URL for linux-headers was hardcoded to 4.x;
+we need to derive the correct URL from the version number.
+---
+ var/spack/repos/builtin/packages/linux-headers/package.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/var/spack/repos/builtin/packages/linux-headers/package.py b/var/spack/repos/builtin/packages/linux-headers/package.py
+index 1236a25ce691e..8e1d995695b06 100644
+--- a/var/spack/repos/builtin/packages/linux-headers/package.py
++++ b/var/spack/repos/builtin/packages/linux-headers/package.py
+@@ -20,6 +20,10 @@ class LinuxHeaders(Package):
+ version("6.2.8", sha256="fed0ad87d42f83a70ce019ff2800bc30a855e672e72bf6d54a014d98d344f665")
+ version("4.9.10", sha256="bd6e05476fd8d9ea4945e11598d87bc97806bbc8d03556abbaaf809707661525")
+
++ def url_for_version(self, version):
++ url = "https://www.kernel.org/pub/linux/kernel/v{0}.x/linux-{1}.tar.xz"
++ return url.format(version.up_to(1), version)
++
+ def setup_build_environment(self, env):
+ # This variable is used in the Makefile. If it is defined on the
+ # system, it can break the build if there is no build recipe for
diff --git a/user/spack/APKBUILD b/user/spack/APKBUILD
index 265d5fb17..c7be74b7a 100644
--- a/user/spack/APKBUILD
+++ b/user/spack/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Zach van Rijn <me@zv.io>
pkgname=spack
pkgver=0.20.3_p1
-pkgrel=4
+pkgrel=5
pkgdesc="A flexible package manager for supercomputers."
url="https://spack.io/"
arch="all"
@@ -12,14 +12,15 @@ makedepends="python3-dev"
depends="$makedepends
gcc g++ gfortran
bzip2 file git gnupg gzip libarchive-tools make patch unzip xz
- linux-headers
"
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
40841.patch
+ 40877.patch
clingo-explicit-libatomic.patch
archspec-fix-cpu-family-detection.patch
+ openssl-explicit-linux-headers.patch
default-no-buildcache.patch
default-adelie-upstream-git.patch
@@ -70,8 +71,10 @@ package() {
sha512sums="9629ee48d4f93158c4c2d3f14bc8755e33df1a82428337fc27495b7bbfba3f056c193b95bcb9f90025d89c7759fcf2ef09a1f1639880a8db87a786ee1bd138e2 spack-adelie-v0.20.3_p1.tar.bz2
195d9dd1da12be338169a4a2a0b12fece1fefd4ac6570111913ce0d50a8e007fc3320340573cee760d1eab55dddfcf7eed04221bd686a59d18d0ab2ef46f65a0 40841.patch
+9381c627598e593f78daf03d1bb8dfa386006b4412a1bca70ae69d97b40e0ad827daf176c8c0e066b15917e2b5abbbae9006624a2d98afcabb3eb44618d6c179 40877.patch
30f6d193971bc6f2941141d0da50d339c459f2b9c6157cc2659a589bd2b546fba35d580cad79dd1bc74bcd9de7db31bc937418598d73b68c69876fee6a1c5c73 clingo-explicit-libatomic.patch
a6503238d116b74ff9c4ecd08a984df90ce02f95c3e10e907481d99917c73339db1cc49f2b473a37875b92a9a6607cac72057c0a7b3d9a57d44c89ebe0ad3915 archspec-fix-cpu-family-detection.patch
+8ded405082eec192187fb72896c68200985ee1226b2ef7da19ab43f31138972d5b4000cf997cb6e22664a7c100b52b842df07c44e188f87d4250f698d1885ea6 openssl-explicit-linux-headers.patch
eec3e7dd818c39daea7b8d63b04a6c71d9eb3af32dd899cddc3642152252f4e2eebfd53c3c95365117f9a4826f6f29553f44373948e5c474388021302c8a5ce9 default-no-buildcache.patch
eb09ce82d2c5c63c2cc63b2f82db2888f15ce82100311614f5a73773be2f605337811c4580e0d4eb2f87b730e7ce4afa6dcdc3f3f52321f63a29a2ad533ea5d4 default-adelie-upstream-git.patch
864ae8e73cd80560ed9c4ce03bc6ae8f58b928da348a261617e42b6a680f8cf18f48b120401fe7b4a3f3af260675922044dbd9abbc79b1d2e90f821c00569d5e config.yaml"
diff --git a/user/spack/openssl-explicit-linux-headers.patch b/user/spack/openssl-explicit-linux-headers.patch
new file mode 100644
index 000000000..763be9df3
--- /dev/null
+++ b/user/spack/openssl-explicit-linux-headers.patch
@@ -0,0 +1,12 @@
+diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py
+index 21b076856a..e73c60a7c1 100644
+--- a/var/spack/repos/builtin/packages/openssl/package.py
++++ b/var/spack/repos/builtin/packages/openssl/package.py
+@@ -380,6 +380,7 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package
+ depends_on("perl@5.14.0:", type=("build", "test"))
+ depends_on("ca-certificates-mozilla", type="build", when="certs=mozilla")
+ depends_on("nasm", when="platform=windows")
++ depends_on("linux-headers", when="platform=linux")
+
+ patch(
+ "https://github.com/openssl/openssl/commit/f9e578e720bb35228948564192adbe3bc503d5fb.patch?full_index=1",