summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Derumigny2025-01-26 12:04:20 +0100
committerNicolas Derumigny2025-01-26 12:15:14 +0100
commitcadbce38e9574e72f7b1e1a3deed12609674c9f1 (patch)
tree8f5461ae15cf85ef9beed10d4ffaf5403caab64b
parente498570de0f00691713c08fc142b73b237d29e3a (diff)
downloadaur-cadbce38e9574e72f7b1e1a3deed12609674c9f1.tar.gz
test: spack-python
-rw-r--r--.SRCINFO7
-rw-r--r--PKGBUILD32
-rw-r--r--spack.bin.py2
3 files changed, 22 insertions, 19 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 280cc36f5aeb..1aeda1ddb372 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = spack
pkgdesc = A flexible package manager for supercomputer that supports multiple versions, configurations, platforms, and compilers.
pkgver = 0.23.0
- pkgrel = 2
+ pkgrel = 3
url = https://spack.io/
arch = i686
arch = x86_64
@@ -9,6 +9,9 @@ pkgbase = spack
makedepends = debugedit
makedepends = patch
depends = python
+ depends = python-build
+ depends = python-installer
+ depends = python-hatchling
depends = polkit
optdepends = env-modules-tcl
optdepends = lmod
@@ -28,7 +31,7 @@ pkgbase = spack
sha256sums = 7f593b7f9289972ae83ad11e0dd3281faf1c56bffa0428dd69641b36b8b94356
sha256sums = 0bddb0a0f1d470509f44c3031041ab0de5472de84f58c90d4b6c91e6782cb6a2
sha256sums = 7b427625d7890dbc0ae493da095a4d7de47742fd3b02e3f42d7ee52e3599a4ac
- sha256sums = 70ac76748d40d93fb5e5597fbaae933756c4eeb0b8969255e16435d0fad60006
+ sha256sums = 6fc5d3f1df24f76dec188cba5fe4688148b4d1ff7acfb8ada24a9a480353f51f
sha256sums = bcde5253c94d2117fec9cc96f52924c99588b06a052782c22a1f3bc6da3043e8
pkgname = spack
diff --git a/PKGBUILD b/PKGBUILD
index 2ff59da7cb11..46dc3f3a0e26 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,12 +1,12 @@
# Maintainer: Nicolas Derumigny nderumigny <at> gmail <dot> com
pkgname=spack
pkgver=0.23.0
-pkgrel=2
+pkgrel=3
pkgdesc="A flexible package manager for supercomputer that supports multiple versions, configurations, platforms, and compilers."
arch=('i686' 'x86_64')
url="https://spack.io/"
license=('MIT')
-depends=('python' 'polkit')
+depends=('python' 'python-build' 'python-installer' 'python-hatchling' 'polkit')
optdepends=( 'env-modules-tcl' 'lmod' )
makedepends=( 'debugedit' 'patch' )
source=(
@@ -28,10 +28,9 @@ sha256sums=(
'7f593b7f9289972ae83ad11e0dd3281faf1c56bffa0428dd69641b36b8b94356'
'0bddb0a0f1d470509f44c3031041ab0de5472de84f58c90d4b6c91e6782cb6a2'
'7b427625d7890dbc0ae493da095a4d7de47742fd3b02e3f42d7ee52e3599a4ac'
- '70ac76748d40d93fb5e5597fbaae933756c4eeb0b8969255e16435d0fad60006'
+ '6fc5d3f1df24f76dec188cba5fe4688148b4d1ff7acfb8ada24a9a480353f51f'
'bcde5253c94d2117fec9cc96f52924c99588b06a052782c22a1f3bc6da3043e8'
)
-_spackroot=/opt/spack
_spackcfg=etc/spack/defaults/config.yaml
_spacksetenv_sh=share/spack/setup-env.sh
@@ -46,30 +45,31 @@ prepare() {
sed -i "s/\$spack\/var\/spack\/stage/\/var\/lib\/spack\/stage/g" ${_spackcfg}
}
+build() {
+ python3 -m build --wheel ${srcdir}/${pkgname}-${pkgver} --no-isolation
+}
+
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- mkdir -p ${pkgdir}/${_spackroot}/
- mkdir -p ${pkgdir}/${_spackroot}/bin/
- cp -dr --no-preserve=ownership share ${pkgdir}/${_spackroot}
- cp -dr --no-preserve=ownership lib ${pkgdir}/${_spackroot}
- cp -dr --no-preserve=ownership bin ${pkgdir}/${_spackroot}
- cp -dr --no-preserve=ownership etc ${pkgdir}/${_spackroot}
- cp -dr --no-preserve=ownership var ${pkgdir}/${_spackroot}
- find ./* -maxdepth 0 -type f \( ! -name ".*" \) -exec install -Dm 644 "{}" "${pkgdir}/${_spackroot}/{}" \;
+ warning "Remember to add yourself as member for the new \`spack\` group after installation!"
+ python -m installer --destdir ${pkgdir}/ ${srcdir}/${pkgname}-${pkgver}/dist/spack-${pkgver}-py2.py3-none-any.whl
- cd ${pkgdir}/${_spackroot}
+ PYTHON_VERSION=`python -c "import sys; print (f'{sys.version_info[0]}.{sys.version_info[1]}', end='')"`
+ pushd ${pkgdir}/usr/lib/python${PYTHON_VERSION}/site-packages/
patch -p0 < ${srcdir}/spack.env.sh.patch
+ popd
- cd ${srcdir}
+ pushd ${srcdir}
install -Dm 644 ${pkgname}.sh ${pkgdir}/etc/profile.d/${pkgname}.sh
install -Dm 644 ${pkgname}.csh ${pkgdir}/etc/profile.d/${pkgname}.csh
install -Dm 644 ${pkgname}.sysusers ${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf
install -Dm 644 ${pkgname}.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf
+ mv ${pkgdir}/usr/bin/${pkgname} ${pkgdir}/usr/bin/${pkgname}-nouser
install -Dm 755 ${pkgname}.bin.py ${pkgdir}/usr/bin/${pkgname}
install -Dm 644 ${pkgname}.pkrules ${pkgdir}/usr/share/polkit-1/rules.d/${pkgname}.rules
install -Dm 644 ${pkgname}.pkaction ${pkgdir}/usr/share/polkit-1/actions/org.archlinux.pkexec.spack.policy
# Fix mode to match polkit.
- install -d -o root -g 102 -m 755 ${pkgdir}/usr/share/polkit-1/rules.d
+ install -d -o root -g polkitd -m 755 ${pkgdir}/usr/share/polkit-1/rules.d
+ popd
}
diff --git a/spack.bin.py b/spack.bin.py
index cc8777253dc1..40536e87f9b9 100644
--- a/spack.bin.py
+++ b/spack.bin.py
@@ -9,6 +9,6 @@ for var in ["USER", "HOME", "LOGNAME"]:
env.pop(var)
arg_list = ["/usr/bin/pkexec", "--user", "spack", "/usr/bin/env"]
arg_list += [var + "=" + value for var, value in env.items()]
-arg_list.append("/opt/spack/bin/spack")
+arg_list.append("/usr/bin/spack-nouser")
arg_list += sys.argv[1:]
os.execv("/usr/bin/pkexec", arg_list)