mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-01-18 07:02:29 +01:00
100 lines
2.6 KiB
Plaintext
100 lines
2.6 KiB
Plaintext
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
|
|
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
|
|
pkgname=nix
|
|
pkgver=2.1.3
|
|
pkgrel=2
|
|
pkgdesc="The purely functional package manager"
|
|
url="https://nixos.org/nix/"
|
|
arch="x86 x86_64 aarch64" # supported platforms
|
|
license="LGPL-2.1-or-later"
|
|
depends="ca-certificates"
|
|
depends_dev="boost-dev"
|
|
makedepends="
|
|
$depends_dev
|
|
bash
|
|
brotli-dev
|
|
bzip2-dev
|
|
curl-dev
|
|
gc-dev
|
|
openssl-dev
|
|
libseccomp-dev
|
|
libsodium-dev
|
|
sqlite-dev
|
|
xz
|
|
xz-dev
|
|
"
|
|
pkggroups="nix nixbld"
|
|
install="$pkgname.pre-install"
|
|
subpackages="$pkgname-dev $pkgname-openrc $pkgname-doc"
|
|
source="https://nixos.org/releases/nix/$pkgname-$pkgver/$pkgname-$pkgver.tar.xz
|
|
nix-daemon.initd
|
|
nix-profile.sh
|
|
"
|
|
builddir="$srcdir/$pkgname-$pkgver"
|
|
|
|
build() {
|
|
cd "$builddir"
|
|
|
|
# NOTE: /nix/var is recommended by upstream and we need /nix anyway.
|
|
bash ./configure \
|
|
--build=$CBUILD \
|
|
--host=$CHOST \
|
|
--prefix=/usr \
|
|
--sysconfdir=/etc \
|
|
--mandir=/usr/share/man \
|
|
--localstatedir=/nix/var \
|
|
--enable-gc
|
|
make
|
|
}
|
|
|
|
package() {
|
|
cd "$builddir"
|
|
|
|
make DESTDIR="$pkgdir" install
|
|
|
|
cd "$pkgdir"
|
|
|
|
# Remove trash.
|
|
rm -R etc/init
|
|
rm -R usr/lib/systemd
|
|
rm etc/profile.d/*
|
|
|
|
mkdir -p usr/sbin
|
|
mv usr/bin/nix-daemon usr/sbin/
|
|
|
|
install -m 755 -D "$srcdir"/nix-profile.sh etc/profile.d/nix.sh
|
|
install -m 755 -D "$srcdir"/nix-daemon.initd etc/init.d/nix-daemon
|
|
|
|
# Setup build users.
|
|
# Note: max-jobs should equal number of created nixbld<n> users.
|
|
install -d -m 0555 etc/nix
|
|
cat > etc/nix/nix.conf <<-EOF
|
|
build-users-group = nixbld
|
|
max-jobs = 4
|
|
EOF
|
|
|
|
# This is based on https://github.com/NixOS/nix/blob/9617a04/scripts/install-multi-user.sh#L525
|
|
# NOTE: store dir must be /nix/store, otherwise pre-built binaries from
|
|
# the standard Nixpkgs channels would not work.
|
|
install -d -m 1775 -g nixbld \
|
|
nix/store
|
|
install -d -m 0755 \
|
|
nix/var/log/nix/drvs \
|
|
nix/var/nix/db \
|
|
nix/var/nix/gcroots \
|
|
nix/var/nix/manifests \
|
|
nix/var/nix/profiles/default \
|
|
nix/var/nix/temproots \
|
|
nix/var/nix/userpool
|
|
install -d -m 1777 \
|
|
nix/var/nix/profiles/per-user \
|
|
nix/var/nix/gcroots/per-user
|
|
# Allow only users in the nix group to perform Nix operations.
|
|
install -d -m 0770 -g nix \
|
|
nix/var/nix/daemon-socket
|
|
}
|
|
|
|
sha512sums="d22718d23d8960dac7d07739835caa8183f573b303d77613e77314d873c1fe6da1cb0ed78337fe3219a94675307b23132a62ae7d9aa5354707e58400f403524b nix-2.1.3.tar.xz
|
|
9e4568db987fbae5097f7bb086e8ad51742c2d229703104fb7e6f240ffb0ca72e57dc305fb238bcee4ec8002d780007af60f241b1f32b6aa413dd579d9c59e75 nix-daemon.initd
|
|
0fb5b9ff2f593dca22251b342494ea0b61380d8f905d85855282d259c112aa2a918d9785aa08f847c693a939ebae9fbefcd4e417ad93283a142e066105cc87b5 nix-profile.sh"
|