2025-12-05 15:57:45 +01:00
|
|
|
# Maintainer: Kevin Veen-Birkenbach <info@veen.world>
|
|
|
|
|
|
|
|
|
|
pkgname=package-manager
|
2026-10-18 23:33:52 +02:00
|
|
|
pkgver=2.0.3
|
2025-12-05 15:57:45 +01:00
|
|
|
pkgrel=1
|
2025-12-07 20:36:39 +01:00
|
|
|
pkgdesc="Local-flake wrapper for Kevin's package-manager (Nix-based)."
|
2025-12-05 15:57:45 +01:00
|
|
|
arch=('any')
|
|
|
|
|
url="https://github.com/kevinveenbirkenbach/package-manager"
|
|
|
|
|
license=('MIT')
|
|
|
|
|
|
2026-01-07 13:43:32 +01:00
|
|
|
# Nix is required at runtime to run pkgmgr via the flake.
|
|
|
|
|
# On Arch x86_64 we can depend on the distro package.
|
|
|
|
|
# On other arches (e.g. ARM) we only declare it as optional because the
|
|
|
|
|
# repo package may be broken/out-of-sync; installation can be done via the official installer.
|
|
|
|
|
depends=()
|
|
|
|
|
optdepends=('nix: required to run pkgmgr via flake')
|
|
|
|
|
|
|
|
|
|
if [[ "${CARCH}" == "x86_64" ]]; then
|
|
|
|
|
depends=('nix')
|
|
|
|
|
optdepends=()
|
|
|
|
|
fi
|
|
|
|
|
|
2025-12-07 20:36:39 +01:00
|
|
|
makedepends=('rsync')
|
2025-12-05 15:57:45 +01:00
|
|
|
|
2025-12-06 19:32:31 +01:00
|
|
|
install=${pkgname}.install
|
2025-12-05 15:57:45 +01:00
|
|
|
|
2025-12-07 20:36:39 +01:00
|
|
|
# Local source checkout — avoids the tarball requirement.
|
2025-12-11 09:04:17 +01:00
|
|
|
# We build from the project root (two levels above packaging/arch/).
|
2025-12-07 20:54:04 +01:00
|
|
|
source=()
|
|
|
|
|
sha256sums=()
|
2025-12-07 20:36:39 +01:00
|
|
|
|
|
|
|
|
# Local source directory name under $srcdir
|
|
|
|
|
_srcdir_name="source"
|
|
|
|
|
|
|
|
|
|
prepare() {
|
|
|
|
|
mkdir -p "$srcdir/$_srcdir_name"
|
2025-12-11 09:04:17 +01:00
|
|
|
|
|
|
|
|
local project_root
|
|
|
|
|
project_root="$(cd "$startdir/../.." && pwd)"
|
|
|
|
|
|
2025-12-07 20:36:39 +01:00
|
|
|
rsync -a \
|
|
|
|
|
--exclude=".git" \
|
2025-12-07 22:14:29 +01:00
|
|
|
--exclude=".github" \
|
|
|
|
|
--exclude="pkg" \
|
|
|
|
|
--exclude="srcpkg" \
|
2025-12-11 09:04:17 +01:00
|
|
|
--exclude="packaging" \
|
2025-12-11 10:17:14 +01:00
|
|
|
--exclude="assets" \
|
2025-12-11 09:04:17 +01:00
|
|
|
"$project_root/" "$srcdir/$_srcdir_name/"
|
2025-12-07 20:36:39 +01:00
|
|
|
}
|
2025-12-05 15:57:45 +01:00
|
|
|
|
|
|
|
|
build() {
|
2025-12-07 20:36:39 +01:00
|
|
|
cd "$srcdir/$_srcdir_name"
|
2025-12-05 19:32:42 +01:00
|
|
|
:
|
2025-12-05 15:57:45 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
package() {
|
2025-12-07 20:36:39 +01:00
|
|
|
cd "$srcdir/$_srcdir_name"
|
2025-12-05 15:57:45 +01:00
|
|
|
|
2025-12-07 20:36:39 +01:00
|
|
|
# Install the wrapper into /usr/bin
|
2025-12-13 21:25:02 +01:00
|
|
|
install -Dm0755 "scripts/launcher.sh" \
|
2025-12-07 20:36:39 +01:00
|
|
|
"$pkgdir/usr/bin/pkgmgr"
|
2025-12-05 19:32:42 +01:00
|
|
|
|
2025-12-12 21:02:26 +01:00
|
|
|
# Install Nix bootstrap (init + lib)
|
|
|
|
|
install -d "$pkgdir/usr/lib/package-manager/nix"
|
|
|
|
|
cp -a scripts/nix/* "$pkgdir/usr/lib/package-manager/nix/"
|
|
|
|
|
chmod 0755 "$pkgdir/usr/lib/package-manager/nix/init.sh"
|
2025-12-07 20:36:39 +01:00
|
|
|
|
|
|
|
|
# Install the full repository into /usr/lib/package-manager
|
|
|
|
|
mkdir -p "$pkgdir/usr/lib/package-manager"
|
|
|
|
|
|
|
|
|
|
# Copy entire project tree from our local source checkout
|
|
|
|
|
cp -a . "$pkgdir/usr/lib/package-manager/"
|
|
|
|
|
|
|
|
|
|
# Remove packaging-only and development artefacts from the installed tree
|
|
|
|
|
rm -rf \
|
|
|
|
|
"$pkgdir/usr/lib/package-manager/.git" \
|
|
|
|
|
"$pkgdir/usr/lib/package-manager/.github" \
|
|
|
|
|
"$pkgdir/usr/lib/package-manager/tests" \
|
|
|
|
|
"$pkgdir/usr/lib/package-manager/PKGBUILD" \
|
|
|
|
|
"$pkgdir/usr/lib/package-manager/Dockerfile" \
|
|
|
|
|
"$pkgdir/usr/lib/package-manager/debian" \
|
2025-12-11 09:04:17 +01:00
|
|
|
"$pkgdir/usr/lib/package-manager/packaging" \
|
2025-12-07 20:36:39 +01:00
|
|
|
"$pkgdir/usr/lib/package-manager/.gitignore" \
|
|
|
|
|
"$pkgdir/usr/lib/package-manager/__pycache__" \
|
2025-12-11 09:04:17 +01:00
|
|
|
"$pkgdir/usr/lib/package-manager/.gitkeep" || true
|
2025-12-05 15:57:45 +01:00
|
|
|
}
|