Index: sysutils/nix/Makefile =================================================================== --- /dev/null +++ sysutils/nix/Makefile @@ -0,0 +1,61 @@ +# $FreeBSD$ + +PORTNAME= nix +DISTVERSION= 2.2.2 +CATEGORIES= sysutils +MASTER_SITES= https://nixos.org/releases/nix/nix-${DISTVERSION}/ + +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 + +USES= autoreconf bison:build compiler:c++17-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=${OPENSSLINC} OPENSSL_LIBS=${OPENSSLLIB} +CONFIGURE_SHELL=${LOCALBASE}/bin/bash +# XXX: Is it still needed? +# Otherwise "environ" is undefined. +# MAKE_ARGS= libutil_ALLOW_UNDEFINED=yes +PORTDATA= * +TEST_TARGET= installcheck + +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 \ + libexec/nix/build-remote + +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/files/xpatch-src_linenoise_linenoise.cpp =================================================================== --- /dev/null +++ sysutils/nix/files/xpatch-src_linenoise_linenoise.cpp @@ -0,0 +1,11 @@ +--- src/linenoise/linenoise.cpp.orig 2018-12-28 20:56:06 UTC ++++ src/linenoise/linenoise.cpp +@@ -117,6 +117,8 @@ + + #endif /* _WIN32 */ + ++#include ++ + #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,118 @@ +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/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 +man/man1/nix-build.1.gz +man/man1/nix-channel.1.gz +man/man1/nix-collect-garbage.1.gz +man/man1/nix-copy-closure.1.gz +man/man1/nix-env.1.gz +man/man1/nix-hash.1.gz +man/man1/nix-instantiate.1.gz +man/man1/nix-prefetch-url.1.gz +man/man1/nix-shell.1.gz +man/man1/nix-store.1.gz +man/man5/nix.conf.5.gz +man/man8/nix-daemon.8.gz +share/doc/manual/figures/user-environments.png +share/doc/manual/images/callouts/1.gif +share/doc/manual/images/callouts/10.gif +share/doc/manual/images/callouts/11.gif +share/doc/manual/images/callouts/12.gif +share/doc/manual/images/callouts/13.gif +share/doc/manual/images/callouts/14.gif +share/doc/manual/images/callouts/15.gif +share/doc/manual/images/callouts/2.gif +share/doc/manual/images/callouts/3.gif +share/doc/manual/images/callouts/4.gif +share/doc/manual/images/callouts/5.gif +share/doc/manual/images/callouts/6.gif +share/doc/manual/images/callouts/7.gif +share/doc/manual/images/callouts/8.gif +share/doc/manual/images/callouts/9.gif +share/doc/manual/index.html +share/doc/manual/manual.html +share/doc/manual/style.css