Index: GIDs =================================================================== --- GIDs +++ GIDs @@ -92,7 +92,7 @@ ipv6mon:*:148: avenger:*:149: cbsd:*:150: -# free: 151 +nixbld:*:151:nixbld1,nixbld2 frrvty:*:152:frr rbldns:*:153: trircd:*:154: Index: UIDs =================================================================== --- UIDs +++ UIDs @@ -316,16 +316,16 @@ # free: 368 # free: 369 # free: 370 -# free: 371 -# free: 372 -# free: 373 -# free: 374 -# free: 375 -# free: 376 -# free: 377 -# free: 378 -# free: 379 -# free: 380 +nixbld1:*:371:151::0:0:Nix build user 1:/var/empty:/usr/sbin/nologin +nixbld2:*:372:151::0:0:Nix build user 2:/var/empty:/usr/sbin/nologin +nixbld3:*:373:151::0:0:Nix build user 3:/var/empty:/usr/sbin/nologin +nixbld4:*:374:151::0:0:Nix build user 4:/var/empty:/usr/sbin/nologin +nixbld5:*:375:151::0:0:Nix build user 5:/var/empty:/usr/sbin/nologin +nixbld6:*:376:151::0:0:Nix build user 6:/var/empty:/usr/sbin/nologin +nixbld7:*:377:151::0:0:Nix build user 7:/var/empty:/usr/sbin/nologin +nixbld8:*:378:151::0:0:Nix build user 8:/var/empty:/usr/sbin/nologin +nixbld9:*:379:151::0:0:Nix build user 9:/var/empty:/usr/sbin/nologin +nixbld10:*:380:151::0:0:Nix build user 10:/var/empty:/usr/sbin/nologin # free: 381 # free: 382 # free: 383 Index: sysutils/nix/Makefile =================================================================== --- /dev/null +++ sysutils/nix/Makefile @@ -0,0 +1,77 @@ +# $FreeBSD$ + +PORTNAME= nix +DISTVERSION= 2.2.2 +CATEGORIES= sysutils + +MAINTAINER= 0mp@FreeBSD.org +COMMENT= Purely functional package manager + +LICENSE= LGPL21 +LICENSE_FILE= ${WRKSRC}/COPYING + +# XXX: Consider adding aws-sdk-cpp>0:devel/aws-sdk-cpp when S3 support is +# compiling. +BUILD_DEPENDS= bash:shells/bash \ + docbook-xsl-ns>=0:textproc/docbook-xsl-ns \ + xmllint:textproc/libxml2 \ + xsltproc:textproc/libxslt +LIB_DEPENDS= libbrotlienc.so:archivers/brotli \ + libgc.so:devel/boehm-gc \ + libboost_context.so:devel/boost-libs \ + libcurl.so:ftp/curl \ + libsodium.so:security/libsodium \ + libeditline.so:devel/editline +TEST_DEPENDS= dot:graphics/graphviz \ + grealpath:sysutils/coreutils \ + gnustat:sysutils/coreutils +# XXX: Workaround for testing with poudriere. +BUILD_DEPENDS+= ${TEST_DEPENDS} + +USES= autoreconf bison:build compiler:c++14-lang gmake localbase pkgconfig ssl sqlite:3 tar:xz +# XXX: Is it still needed? +# USE_LDCONFIG= yes +USE_GITHUB= yes +GH_ACCOUNT= NixOS + +HAS_CONFIGURE= yes +CONFIGURE_ARGS= --disable-seccomp-sandboxing --enable-gc +CONFIGURE_ENV= OPENSSL_CFLAGS="-I ${OPENSSLINC}" OPENSSL_LIBS="-L ${OPENSSLLIB}" +# Workaround for bashisms in the configure script. +CONFIGURE_SHELL=${BASH} +# Workaround for: +# /usr/bin/ld: error: undefined symbol: SHA512_Update +MAKE_ARGS= libutil_ALLOW_UNDEFINED=yes +# grealpath and gnustat are needed for tests. +BINARY_ALIAS= realpath=grealpath stat=gnustat +TEST_TARGET= installcheck + +GROUPS= nixbld +USERS= nixbld1 nixbld2 nixbld3 nixbld4 nixbld5 nixbld6 nixbld7 nixbld8 nixbld9 nixbld10 + +OPTIONS_DEFINE= DOCS +# XXX: Test with DOCS turned off. + +BASH= ${LOCALBASE}/bin/bash +STRIP_TARGETS= bin/nix-instantiate \ + bin/nix-store \ + bin/nix-copy-closure \ + bin/nix \ + bin/nix-channel \ + bin/nix-env bin/nix-build \ + bin/nix-collect-garbage \ + bin/nix-daemon \ + bin/nix-prefetch-url \ + lib/libnixmain.so \ + lib/libnixstore.so \ + lib/libnixexpr.so \ + lib/libnixutil.so + +pre-test: + # Disable hanging tests. + ${REINPLACE_CMD} -e 's|restricted.sh||g' ${WRKSRC}/tests/local.mk + +post-install: + cd ${STAGEDIR}${PREFIX} && ${STRIP_CMD} ${STRIP_TARGETS} + +.include Index: sysutils/nix/distinfo =================================================================== --- /dev/null +++ sysutils/nix/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1557216944 +SHA256 (NixOS-nix-2.2.2_GH0.tar.gz) = cc41258baf3f16a551edba7c367d142956afcc635c843d9a52b6f0b16252d2c7 +SIZE (NixOS-nix-2.2.2_GH0.tar.gz) = 865747 Index: sysutils/nix/files/patch-src_libexpr_primops_fetchGit.cc =================================================================== --- /dev/null +++ sysutils/nix/files/patch-src_libexpr_primops_fetchGit.cc @@ -0,0 +1,10 @@ +--- src/libexpr/primops/fetchGit.cc.orig 1970-01-01 00:00:01 UTC ++++ src/libexpr/primops/fetchGit.cc +@@ -6,6 +6,7 @@ + #include "hash.hh" + + #include ++#include + + #include + Index: sysutils/nix/pkg-descr =================================================================== --- /dev/null +++ sysutils/nix/pkg-descr @@ -0,0 +1,14 @@ +Nix is a purely functional package manager. This means that it treats packages +like values in purely functional programming languages such as Haskell -- they +are built by functions that don't have side-effects, and they never change +after they have been built. Nix stores packages in the Nix store, usually the +directory /nix/store, where each package has its own unique subdirectory such +as + + /nix/store/b6gvzjyb2pg0kjfwrjmg1vfhh54ad73z-firefox-33.1/ + +where b6gvzjyb2pg0... is a unique identifier for the package that captures all +its dependencies (it's a cryptographic hash of the package's build dependency +graph). This enables many powerful features. + +WWW: https://nixos.org/nix/ Index: sysutils/nix/pkg-plist =================================================================== --- /dev/null +++ sysutils/nix/pkg-plist @@ -0,0 +1,128 @@ +bin/nix +bin/nix-build +bin/nix-channel +bin/nix-collect-garbage +bin/nix-copy-closure +bin/nix-daemon +bin/nix-env +bin/nix-hash +bin/nix-instantiate +bin/nix-prefetch-url +bin/nix-shell +bin/nix-store +etc/profile.d/nix-daemon.sh +etc/profile.d/nix.sh +include/nix/affinity.hh +include/nix/archive.hh +include/nix/args.hh +include/nix/attr-path.hh +include/nix/attr-set.hh +include/nix/binary-cache-store.hh +include/nix/builtins.hh +include/nix/common-args.hh +include/nix/common-eval-args.hh +include/nix/compression.hh +include/nix/config.h +include/nix/config.hh +include/nix/crypto.hh +include/nix/derivations.hh +include/nix/download.hh +include/nix/eval-inline.hh +include/nix/eval.hh +include/nix/finally.hh +include/nix/fs-accessor.hh +include/nix/get-drvs.hh +include/nix/globals.hh +include/nix/hash.hh +include/nix/istringstream_nocopy.hh +include/nix/json-to-value.hh +include/nix/json.hh +include/nix/lazy.hh +include/nix/lexer-tab.hh +include/nix/local-store.hh +include/nix/logging.hh +include/nix/lru-cache.hh +include/nix/machines.hh +include/nix/monitor-fd.hh +include/nix/names.hh +include/nix/nar-accessor.hh +include/nix/nar-info-disk-cache.hh +include/nix/nar-info.hh +include/nix/nixexpr.hh +include/nix/parsed-derivations.hh +include/nix/parser-tab.hh +include/nix/pathlocks.hh +include/nix/pool.hh +include/nix/primops.hh +include/nix/profiles.hh +include/nix/ref.hh +include/nix/references.hh +include/nix/remote-fs-accessor.hh +include/nix/remote-store.hh +include/nix/s3-binary-cache-store.hh +include/nix/s3.hh +include/nix/schema.sql.gen.hh +include/nix/serialise.hh +include/nix/serve-protocol.hh +include/nix/shared.hh +include/nix/sqlite.hh +include/nix/ssh.hh +include/nix/store-api.hh +include/nix/symbol-table.hh +include/nix/sync.hh +include/nix/thread-pool.hh +include/nix/types.hh +include/nix/util.hh +include/nix/value-to-json.hh +include/nix/value-to-xml.hh +include/nix/value.hh +include/nix/worker-protocol.hh +include/nix/xml-writer.hh +lib/libnixexpr.so +lib/libnixmain.so +lib/libnixstore.so +lib/libnixutil.so +libdata/pkgconfig/nix-expr.pc +libdata/pkgconfig/nix-main.pc +libdata/pkgconfig/nix-store.pc +libexec/nix/build-remote +%%PORTDOCS%%%%DOCSDIR%%/manual/figures/user-environments.png +%%PORTDOCS%%%%DOCSDIR%%/manual/images/callouts/1.gif +%%PORTDOCS%%%%DOCSDIR%%/manual/images/callouts/10.gif +%%PORTDOCS%%%%DOCSDIR%%/manual/images/callouts/11.gif +%%PORTDOCS%%%%DOCSDIR%%/manual/images/callouts/12.gif +%%PORTDOCS%%%%DOCSDIR%%/manual/images/callouts/13.gif +%%PORTDOCS%%%%DOCSDIR%%/manual/images/callouts/14.gif +%%PORTDOCS%%%%DOCSDIR%%/manual/images/callouts/15.gif +%%PORTDOCS%%%%DOCSDIR%%/manual/images/callouts/2.gif +%%PORTDOCS%%%%DOCSDIR%%/manual/images/callouts/3.gif +%%PORTDOCS%%%%DOCSDIR%%/manual/images/callouts/4.gif +%%PORTDOCS%%%%DOCSDIR%%/manual/images/callouts/5.gif +%%PORTDOCS%%%%DOCSDIR%%/manual/images/callouts/6.gif +%%PORTDOCS%%%%DOCSDIR%%/manual/images/callouts/7.gif +%%PORTDOCS%%%%DOCSDIR%%/manual/images/callouts/8.gif +%%PORTDOCS%%%%DOCSDIR%%/manual/images/callouts/9.gif +%%PORTDOCS%%%%DOCSDIR%%/manual/index.html +%%PORTDOCS%%%%DOCSDIR%%/manual/manual.html +%%PORTDOCS%%%%DOCSDIR%%/manual/style.css +share/man/man1/nix-build.1 +share/man/man1/nix-channel.1 +share/man/man1/nix-collect-garbage.1 +share/man/man1/nix-copy-closure.1 +share/man/man1/nix-env.1 +share/man/man1/nix-hash.1 +share/man/man1/nix-instantiate.1 +share/man/man1/nix-prefetch-url.1 +share/man/man1/nix-shell.1 +share/man/man1/nix-store.1 +share/man/man5/nix.conf.5 +share/man/man8/nix-daemon.8 +%%DATADIR%%/corepkgs/buildenv.nix +%%DATADIR%%/corepkgs/config.nix +%%DATADIR%%/corepkgs/derivation.nix +%%DATADIR%%/corepkgs/fetchurl.nix +%%DATADIR%%/corepkgs/imported-drv-to-derivation.nix +%%DATADIR%%/corepkgs/unpack-channel.nix +%%DATADIR%%/sandbox/sandbox-defaults.sb +%%DATADIR%%/sandbox/sandbox-minimal.sb +%%DATADIR%%/sandbox/sandbox-network.sb