# Contributor: Jakub Jirutka # Maintainer: Jakub Jirutka pkgname=nix pkgver=2.1.3 pkgrel=0 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 libressl-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 libboost_context-mt.patch 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 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 2d6d8441861abca66b28083c356618e2dc60acb9a5be675f32be90204743e780f60427b8375aa5ba234f6f604f6b2569922cb400a1a989a37d950580d2151a6f libboost_context-mt.patch 9e4568db987fbae5097f7bb086e8ad51742c2d229703104fb7e6f240ffb0ca72e57dc305fb238bcee4ec8002d780007af60f241b1f32b6aa413dd579d9c59e75 nix-daemon.initd 0fb5b9ff2f593dca22251b342494ea0b61380d8f905d85855282d259c112aa2a918d9785aa08f847c693a939ebae9fbefcd4e417ad93283a142e066105cc87b5 nix-profile.sh"