diff --git a/sysutils/nix/Makefile b/sysutils/nix/Makefile index 6b576abd294b..ea7a7520e6af 100644 --- a/sysutils/nix/Makefile +++ b/sysutils/nix/Makefile @@ -1,9 +1,6 @@ PORTNAME= nix -DISTVERSION= 2.3.11 -PORTREVISION= 3 +DISTVERSION= 2.13.2 CATEGORIES= sysutils -PATCH_SITES= https://github.com/NixOS/nix/commit/ -PATCHFILES= 7c112351d9e941567e64063638396259546d9a48.patch:-p1 # libutil: EPERM from kill(-1, ...) is fine #4530 MAINTAINER= ports@FreeBSD.org COMMENT= Purely functional package manager @@ -19,6 +16,8 @@ BUILD_DEPENDS= ${LOCALBASE}/share/aclocal/ax_cxx_compile_stdcxx.m4:devel/autocon docbook-xsl-ns>=0:textproc/docbook-xsl-ns \ gnustat:sysutils/coreutils \ grealpath:sysutils/coreutils \ + mdbook-linkcheck:textproc/mdbook-linkcheck \ + mdbook:textproc/mdbook \ xmllint:textproc/libxml2 \ xsltproc:textproc/libxslt LIB_DEPENDS= libaws-cpp-sdk-core.so:devel/aws-sdk-cpp \ @@ -27,20 +26,19 @@ LIB_DEPENDS= libaws-cpp-sdk-core.so:devel/aws-sdk-cpp \ libcurl.so:ftp/curl \ libeditline.so:devel/editline \ libgc.so:devel/boehm-gc \ + liblowdown.so:textproc/lowdown \ libsodium.so:security/libsodium TEST_DEPENDS= dot:graphics/graphviz \ git:devel/git \ - gxargs:misc/findutils \ hg:devel/mercurial -USES= autoreconf bison compiler:c++17-lang cpe gmake localbase pkgconfig \ - sqlite:3 ssl +USES= autoreconf bison compiler:c++17-lang cpe gmake localbase \ + pkgconfig sqlite:3 ssl +CPE_VENDOR= nix_project USE_GITHUB= yes GH_ACCOUNT= NixOS USE_LDCONFIG= yes -CPE_VENDOR= nix_project - HAS_CONFIGURE= yes # Workaround for bashisms in the configure script. CONFIGURE_SHELL= ${_BASH} @@ -48,7 +46,7 @@ CONFIGURE_ARGS= --disable-seccomp-sandboxing \ --enable-gc CONFIGURE_ENV= OPENSSL_CFLAGS="-I ${OPENSSLINC}" \ OPENSSL_LIBS="-L ${OPENSSLLIB}" -# Workaround for: +# libutil_ALLOW_UNDEFINED=yes is a workaround for: # /usr/bin/ld: error: undefined symbol: SHA512_Update MAKE_ARGS= libutil_ALLOW_UNDEFINED=yes # XXX: Tests require the port to be installed on the system. It is not enough @@ -63,29 +61,50 @@ SUB_FILES= pkg-message GROUPS= nixbld -OPTIONS_DEFINE= DOCS +OPTIONS_DEFINE= CPUID DOCS + +CPUID_DESC= Determine microarchitecture levels (relevant to x86_64 only) +CPUID_LIB_DEPENDS= libcpuid.so:sysutils/libcpuid +CPUID_CONFIGURE_ENABLE= cpuid _BASH= ${LOCALBASE}/bin/bash -_STRIP_TARGETS= bin/nix bin/nix-build bin/nix-channel bin/nix-collect-garbage \ - bin/nix-copy-closure bin/nix-daemon bin/nix-env \ - bin/nix-instantiate bin/nix-prefetch-url bin/nix-store \ - lib/libnixexpr.so lib/libnixmain.so lib/libnixstore.so \ - lib/libnixutil.so -# Regenerate the list of all tests with: -# make patch && make -f $(make -V WRKSRC)/tests/local.mk -V nix_tests -_ALL_TESTS= init.sh hash.sh lang.sh add.sh simple.sh dependencies.sh gc.sh \ - gc-concurrent.sh gc-auto.sh referrers.sh user-envs.sh \ - logging.sh nix-build.sh misc.sh fixed.sh gc-runtime.sh \ - check-refs.sh filter-source.sh remote-store.sh export.sh \ - export-graph.sh timeout.sh secure-drv-outputs.sh nix-channel.sh \ - multiple-outputs.sh import-derivation.sh fetchurl.sh \ - optimise-store.sh binary-cache.sh nix-profile.sh repair.sh \ - dump-db.sh case-hack.sh check-reqs.sh pass-as-file.sh \ - tarball.sh restricted.sh placeholders.sh nix-shell.sh \ - linux-sandbox.sh build-dry.sh build-remote.sh nar-access.sh \ - structured-attrs.sh fetchGit.sh fetchMercurial.sh signing.sh \ - run.sh brotli.sh pure-eval.sh check.sh plugins.sh search.sh \ - nix-copy-ssh.sh post-hook.sh function-trace.sh +_STRIP_TARGETS= bin/nix lib/*.so + +# Regenerate _ALL_TESTS with 'make -f files/Makefile.regentestlist' +_ALL_TESTS= flakes/flakes.sh flakes/run.sh flakes/mercurial.sh \ + flakes/circular.sh flakes/init.sh flakes/follow-paths.sh \ + flakes/bundle.sh flakes/check.sh flakes/unlocked-override.sh \ + flakes/absolute-paths.sh flakes/build-paths.sh ca/gc.sh gc.sh \ + remote-store.sh lang.sh fetchMercurial.sh gc-auto.sh \ + user-envs.sh binary-cache.sh multiple-outputs.sh ca/build.sh \ + nix-build.sh gc-concurrent.sh repair.sh fixed.sh \ + export-graph.sh timeout.sh fetchGitRefs.sh gc-runtime.sh \ + tarball.sh fetchGit.sh fetchurl.sh fetchPath.sh \ + fetchTree-file.sh simple.sh referrers.sh optimise-store.sh \ + substitute-with-invalid-ca.sh ca/concurrent-builds.sh \ + signing.sh ca/build-with-garbage-path.sh hash.sh \ + gc-non-blocking.sh check.sh ca/substitute.sh nix-shell.sh \ + ca/signatures.sh ca/nix-shell.sh ca/nix-copy.sh check-refs.sh \ + build-remote-input-addressed.sh secure-drv-outputs.sh \ + restricted.sh fetchGitSubmodules.sh flakes/search-root.sh \ + ca/duplicate-realisation-in-closure.sh readfile-context.sh \ + nix-channel.sh recursive.sh dependencies.sh check-reqs.sh \ + build-remote-content-addressed-fixed.sh \ + build-remote-content-addressed-floating.sh nar-access.sh \ + pure-eval.sh eval.sh ca/post-hook.sh repl.sh ca/repl.sh \ + ca/recursive.sh binary-cache-build-remote.sh search.sh \ + logging.sh export.sh config.sh add.sh local-store.sh \ + filter-source.sh misc.sh dump-db.sh linux-sandbox.sh \ + build-dry.sh structured-attrs.sh shell.sh brotli.sh zstd.sh \ + compression-levels.sh nix-copy-ssh.sh post-hook.sh \ + function-trace.sh flakes/config.sh fmt.sh eval-store.sh \ + why-depends.sh ca/why-depends.sh import-derivation.sh \ + ca/import-derivation.sh nix_path.sh case-hack.sh \ + placeholders.sh ssh-relay.sh plugins.sh build.sh ca/nix-run.sh \ + selfref-gc.sh ca/selfref-gc.sh db-migration.sh bash-profile.sh \ + pass-as-file.sh describe-stores.sh nix-profile.sh \ + suggestions.sh store-ping.sh fetchClosure.sh completions.sh \ + impure-derivations.sh path-from-hash-part.sh toString-path.sh # Remove problematic tests from the list: # - restricted.sh is hanging and never finishes. _PASSING_TESTS= ${_ALL_TESTS:Nrestricted.sh} @@ -93,27 +112,6 @@ _PASSING_TESTS= ${_ALL_TESTS:Nrestricted.sh} post-install: @${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_SCRIPT} ${FILESDIR}/add-nixbld-users ${STAGEDIR}${DATADIR} - - @${RM} ${STAGEDIR}${PREFIX}/libexec/nix/build-remote - @${RLN} ${STAGEDIR}${PREFIX}/bin/nix ${STAGEDIR}${PREFIX}/libexec/nix/build-remote - @cd ${STAGEDIR}${PREFIX} && ${STRIP_CMD} ${_STRIP_TARGETS} -pre-test: - ${MKDIR} /tmp/nix-test - - ${REINPLACE_CMD} -e 's| xargs | gxargs |g' ${WRKSRC}/tests/push-to-store.sh - ${REINPLACE_CMD} -e 's| touch | /usr/bin/touch |g' ${WRKSRC}/tests/timeout.nix - ${REINPLACE_CMD} -e 's| touch | /usr/bin/touch |g' ${WRKSRC}/tests/check-reqs.nix - ${REINPLACE_CMD} -e 's| touch | /usr/bin/touch |g' ${WRKSRC}/tests/nar-access.nix - ${REINPLACE_CMD} -e 's| touch | /usr/bin/touch |g' ${WRKSRC}/tests/pass-as-file.sh - ${REINPLACE_CMD} -e 's| date | ${LOCALBASE}/bin/gdate |g' ${WRKSRC}/tests/check.nix - - ${REINPLACE_CMD} -e 's| wc -l)| /usr/bin/grep -c .)|g' ${WRKSRC}/tests/gc-auto.sh - ${REINPLACE_CMD} -e 's| tar c tarball)| tar -cf - tarball)|' ${WRKSRC}/tests/tarball.sh - ${REINPLACE_CMD} -e 's|^grep |/usr/bin/grep |' ${WRKSRC}/tests/check.sh - -post-test: - ${RM} -r /tmp/nix-test - .include diff --git a/sysutils/nix/distinfo b/sysutils/nix/distinfo index eaa7d35673d2..a60eda5ba6b6 100644 --- a/sysutils/nix/distinfo +++ b/sysutils/nix/distinfo @@ -1,5 +1,3 @@ -TIMESTAMP = 1661019919 -SHA256 (NixOS-nix-2.3.11_GH0.tar.gz) = 3980c8c84f9d8969d949a05557819686c8ddedb9217e18a26396f67fc353b6e4 -SIZE (NixOS-nix-2.3.11_GH0.tar.gz) = 904939 -SHA256 (7c112351d9e941567e64063638396259546d9a48.patch) = 22d513a2337a61d5cebf7ed1542b9d72d6cbc57f99bcd10f3e311870e71d9e3a -SIZE (7c112351d9e941567e64063638396259546d9a48.patch) = 2050 +TIMESTAMP = 1676902174 +SHA256 (NixOS-nix-2.13.2_GH0.tar.gz) = 4587244c5273b6dd0252c0585ef564358b4ccff1d31ba0eaa1fcacbdab70e709 +SIZE (NixOS-nix-2.13.2_GH0.tar.gz) = 1224489 diff --git a/sysutils/nix/files/Makefile.regentestlist b/sysutils/nix/files/Makefile.regentestlist new file mode 100644 index 000000000000..faddb910c120 --- /dev/null +++ b/sysutils/nix/files/Makefile.regentestlist @@ -0,0 +1,26 @@ +# Makefile for developer to update _ALL_TESTS when updating the sysutils/nix +# port. +# +# usage: +# +# cd sysutils/nix && make -f files/Makefile.regentestlist +# +# Then edit sysutils/nix/Makefile and replace the contents of _ALL_TESTS +# with the contents of _NEW_ALL_TESTS from ${WRKDIR}/Makefile.newtests + +all: regentestlist .PHONY + +.include "Makefile" + +# portfmt (from ports-mgmt/portfmt) is just used to format the generated +# list. It is not strictly necessary, so any failure status from that is +# ignored. +${WRKDIR}/Makefile.newtests: ${WRKSRC}/tests/local.mk + @${TOUCH} ${WRKSRC}/Makefile.config + @${PRINTF} 'listtests:\n\t@echo $${nix_tests}\n' >> ${WRKSRC}/tests/local.mk + @{ ${PRINTF} '_NEW_ALL_TESTS=\t'; ${GMAKE} --no-print-directory -C ${WRKSRC} listtests; } > ${WRKDIR}/Makefile.newtests + @-portfmt -D ${WRKDIR}/Makefile.newtests | ${PATCH} --silent ${WRKDIR}/Makefile.newtests + +regentestlist: patch ${WRKDIR}/Makefile.newtests .PHONY + ${CAT} ${WRKDIR}/Makefile.newtests + @${PRINTF} '\nReplace _ALL_TESTS with the contents of _NEW_ALL_TESTS in ${.CURDIR}/Makefile\n' diff --git a/sysutils/nix/files/patch-configure.ac b/sysutils/nix/files/patch-configure.ac new file mode 100644 index 000000000000..031b9e3b7dca --- /dev/null +++ b/sysutils/nix/files/patch-configure.ac @@ -0,0 +1,14 @@ +Don't use the location of 'cat' to indicate where all core utilities are. In +FreeBSD, for instance, they are not just in one directory. + +--- configure.ac.orig 2023-01-25 20:28:02 UTC ++++ configure.ac +@@ -115,7 +115,7 @@ AC_PATH_PROG(lsof, lsof, lsof) + NEED_PROG(jq, jq) + + +-AC_SUBST(coreutils, [$(dirname $(type -p cat))]) ++AC_SUBST(coreutils, [/bin:/usr/bin]) + + + AC_ARG_WITH(store-dir, AS_HELP_STRING([--with-store-dir=PATH],[path of the Nix store (defaults to /nix/store)]), diff --git a/sysutils/nix/files/patch-doc_manual_local.mk b/sysutils/nix/files/patch-doc_manual_local.mk new file mode 100644 index 000000000000..f47316739544 --- /dev/null +++ b/sysutils/nix/files/patch-doc_manual_local.mk @@ -0,0 +1,66 @@ +Fix for https://github.com/NixOS/nix/issues/7360 (Build fails ... /usr/local/lib/libnixutil.so: Permission denied) + +See also pull request https://github.com/NixOS/nix/pull/7888 + +--- doc/manual/local.mk.orig 2023-01-25 20:28:02 UTC ++++ doc/manual/local.mk +@@ -24,7 +24,7 @@ dummy-env = env -i \ + NIX_STATE_DIR=/dummy \ + NIX_CONFIG='cores = 0' + +-nix-eval = $(dummy-env) $(bindir)/nix eval --experimental-features nix-command -I nix/corepkgs=corepkgs --store dummy:// --impure --raw ++nix-eval = $(dummy-env) src/nix/nix eval --experimental-features nix-command -I nix/corepkgs=corepkgs --store dummy:// --impure --raw + + $(d)/%.1: $(d)/src/command-ref/%.md + @printf "Title: %s\n\n" "$$(basename $@ .1)" > $^.tmp +@@ -48,29 +48,31 @@ $(d)/src/SUMMARY.md: $(d)/src/SUMMARY.md.in $(d)/src/c + $(trace-gen) cat doc/manual/src/SUMMARY.md.in | while IFS= read line; do if [[ $$line = @manpages@ ]]; then cat doc/manual/src/command-ref/new-cli/SUMMARY.md; else echo "$$line"; fi; done > $@.tmp + @mv $@.tmp $@ + +-$(d)/src/command-ref/new-cli: $(d)/nix.json $(d)/generate-manpage.nix $(bindir)/nix ++$(d)/src/command-ref/new-cli: $(d)/nix.json $(d)/generate-manpage.nix src/nix/nix + @rm -rf $@ + $(trace-gen) $(nix-eval) --write-to $@.tmp --expr 'import doc/manual/generate-manpage.nix { toplevel = builtins.readFile $<; }' + # @docroot@: https://nixos.org/manual/nix/unstable/contributing/hacking.html#docroot-variable +- $(trace-gen) sed -i $@.tmp/*.md -e 's^@docroot@^../..^g' ++ $(trace-gen) sed -i.tmpbak -e 's^@docroot@^../..^g' $@.tmp/*.md ++ @rm $@.tmp/*.md.tmpbak + @mv $@.tmp $@ + +-$(d)/src/command-ref/conf-file.md: $(d)/conf-file.json $(d)/generate-options.nix $(d)/src/command-ref/conf-file-prefix.md $(bindir)/nix ++$(d)/src/command-ref/conf-file.md: $(d)/conf-file.json $(d)/generate-options.nix $(d)/src/command-ref/conf-file-prefix.md src/nix/nix + @cat doc/manual/src/command-ref/conf-file-prefix.md > $@.tmp + # @docroot@: https://nixos.org/manual/nix/unstable/contributing/hacking.html#docroot-variable + $(trace-gen) $(nix-eval) --expr 'import doc/manual/generate-options.nix (builtins.fromJSON (builtins.readFile $<))' \ + | sed -e 's^@docroot@^..^g'>> $@.tmp + @mv $@.tmp $@ + +-$(d)/nix.json: $(bindir)/nix +- $(trace-gen) $(dummy-env) $(bindir)/nix __dump-args > $@.tmp ++#$(d)/nix.json: $(DESTDIR)$(bindir)/nix ++$(d)/nix.json: src/nix/nix ++ $(trace-gen) $(dummy-env) src/nix/nix __dump-args > $@.tmp + @mv $@.tmp $@ + +-$(d)/conf-file.json: $(bindir)/nix +- $(trace-gen) $(dummy-env) $(bindir)/nix show-config --json --experimental-features nix-command > $@.tmp ++$(d)/conf-file.json: src/nix/nix ++ $(trace-gen) $(dummy-env) src/nix/nix show-config --json --experimental-features nix-command > $@.tmp + @mv $@.tmp $@ + +-$(d)/src/language/builtins.md: $(d)/builtins.json $(d)/generate-builtins.nix $(d)/src/language/builtins-prefix.md $(bindir)/nix ++$(d)/src/language/builtins.md: $(d)/builtins.json $(d)/generate-builtins.nix $(d)/src/language/builtins-prefix.md src/nix/nix + @cat doc/manual/src/language/builtins-prefix.md > $@.tmp + # @docroot@: https://nixos.org/manual/nix/unstable/contributing/hacking.html#docroot-variable + $(trace-gen) $(nix-eval) --expr 'import doc/manual/generate-builtins.nix (builtins.fromJSON (builtins.readFile $<))' \ +@@ -78,8 +80,8 @@ $(d)/src/language/builtins.md: $(d)/builtins.json $(d) + @cat doc/manual/src/language/builtins-suffix.md >> $@.tmp + @mv $@.tmp $@ + +-$(d)/builtins.json: $(bindir)/nix +- $(trace-gen) $(dummy-env) NIX_PATH=nix/corepkgs=corepkgs $(bindir)/nix __dump-builtins > $@.tmp ++$(d)/builtins.json: src/nix/nix ++ $(trace-gen) $(dummy-env) NIX_PATH=nix/corepkgs=corepkgs src/nix/nix __dump-builtins > $@.tmp + @mv $@.tmp $@ + + # Generate the HTML manual. diff --git a/sysutils/nix/files/patch-src_libexpr_primops_fetchGit.cc b/sysutils/nix/files/patch-src_libexpr_primops_fetchGit.cc index ca3448a64c99..e69de29bb2d1 100644 --- a/sysutils/nix/files/patch-src_libexpr_primops_fetchGit.cc +++ b/sysutils/nix/files/patch-src_libexpr_primops_fetchGit.cc @@ -1,19 +0,0 @@ ---- src/libexpr/primops/fetchGit.cc.orig 2019-10-10 13:03:46 UTC -+++ src/libexpr/primops/fetchGit.cc -@@ -6,6 +6,7 @@ - #include "hash.hh" - - #include -+#include - - #include - -@@ -173,7 +174,7 @@ GitInfo exportGit(ref store, const std::string - Path tmpDir = createTempDir(); - AutoDelete delTmpDir(tmpDir, true); - -- runProgram("tar", true, { "x", "-C", tmpDir }, tar); -+ runProgram("tar", true, { "x", "-C", tmpDir, "-f", "-"}, tar); - - gitInfo.storePath = store->addToStore(name, tmpDir); - diff --git a/sysutils/nix/files/patch-src_libstore_build.cc b/sysutils/nix/files/patch-src_libstore_build.cc index ac12a7bd0573..e69de29bb2d1 100644 --- a/sysutils/nix/files/patch-src_libstore_build.cc +++ b/sysutils/nix/files/patch-src_libstore_build.cc @@ -1,29 +0,0 @@ ---- src/libstore/build.cc.orig 2019-11-28 21:39:47 UTC -+++ src/libstore/build.cc -@@ -44,12 +44,16 @@ - #include - - /* Includes required for chroot support. */ --#if __linux__ -+#if __linux__ || __FreeBSD__ - #include - #include - #include -+#endif -+#if __linux__ - #include - #include -+#endif -+#if __linux__ || __FreeBSD__ - #include - #include - #include -@@ -1943,7 +1947,7 @@ void DerivationGoal::startBuilder() - /* If `build-users-group' is not empty, then we have to build as - one of the members of that group. */ - if (settings.buildUsersGroup != "" && getuid() == 0) { --#if defined(__linux__) || defined(__APPLE__) -+#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) - buildUser = std::make_unique(); - - /* Make sure that no other processes are executing under this diff --git a/sysutils/nix/files/patch-src_libstore_local-store.cc b/sysutils/nix/files/patch-src_libstore_local-store.cc new file mode 100644 index 000000000000..ee6d4eeedbd2 --- /dev/null +++ b/sysutils/nix/files/patch-src_libstore_local-store.cc @@ -0,0 +1,24 @@ +--- src/libstore/local-store.cc.orig 2023-01-25 20:28:02 UTC ++++ src/libstore/local-store.cc +@@ -27,10 +27,12 @@ + #include + #include + +-#if __linux__ ++#if __linux__ || __FreeBSD__ + #include + #include + #include ++#endif ++#if __linux__ + #include + #include + #endif +@@ -526,6 +528,7 @@ void LocalStore::openDB(State & state, bool create) + bind mount. So make the Nix store writable for this process. */ + void LocalStore::makeStoreWritable() + { ++//#if __linux__ || __FreeBSD__ + #if __linux__ + if (getuid() != 0) return; + /* Check if /nix/store is on a read-only mount. */ diff --git a/sysutils/nix/files/patch-src_libutil-util.cc b/sysutils/nix/files/patch-src_libutil-util.cc new file mode 100644 index 000000000000..34b68dc260f2 --- /dev/null +++ b/sysutils/nix/files/patch-src_libutil-util.cc @@ -0,0 +1,32 @@ +--- src/libutil/util.cc.orig 2023-01-25 20:28:02 UTC ++++ src/libutil/util.cc +@@ -33,6 +33,10 @@ + #include + #endif + ++#ifdef __FreeBSD__ ++#include ++#endif ++ + #ifdef __linux__ + #include + #include +@@ -618,6 +622,18 @@ std::optional getSelfExe() + return buf; + else + return std::nullopt; ++ #elif __FreeBSD__ ++ int mib[4]; ++ mib[0] = CTL_KERN; ++ mib[1] = KERN_PROC; ++ mib[2] = KERN_PROC_PATHNAME; ++ mib[3] = -1; ++ char buf[1024]; ++ size_t len = sizeof(buf); ++ if (sysctl(mib, 4, buf, &len, NULL, 0) != 0 || len == 0) ++ return std::nullopt; ++ buf[len - 1] = '\0'; ++ return buf; + #else + return std::nullopt; + #endif diff --git a/sysutils/nix/files/patch-tests-build.sh b/sysutils/nix/files/patch-tests-build.sh new file mode 100644 index 000000000000..b0cd29095edf --- /dev/null +++ b/sysutils/nix/files/patch-tests-build.sh @@ -0,0 +1,32 @@ +GNU cmp assumes a comparison to stdin if only one file arg. Use '-' instead +for better portability. + +--- tests/build.sh.orig 2023-01-25 20:28:02 UTC ++++ tests/build.sh +@@ -127,7 +127,7 @@ issue_6572_independent_outputs() { + # Make sure that 'nix build' tracks input-outputs correctly when a single output is already present. + nix-store --delete "$(jq -r <$TEST_ROOT/independent.json .[0].outputs.first)" + p=$(nix build -f multiple-outputs.nix use-independent --no-link --print-out-paths) +- cmp $p <' file > file.new && mv file.new file + +--- tests/flakes/circular.sh.orig 2023-01-25 20:28:02 UTC ++++ tests/flakes/circular.sh +@@ -39,7 +39,7 @@ git -C $flakeB commit -a -m 'Foo' + [[ $(nix eval $flakeA#foo) = 1579 ]] + [[ $(nix eval $flakeA#foo) = 1579 ]] + +-sed -i $flakeB/flake.nix -e 's/456/789/' ++sed -i '' -e 's/456/789/' $flakeB/flake.nix + git -C $flakeB commit -a -m 'Foo' + + [[ $(nix eval --update-input b $flakeA#foo) = 1912 ]] diff --git a/sysutils/nix/files/patch-tests-flakes-flakes.sh b/sysutils/nix/files/patch-tests-flakes-flakes.sh new file mode 100644 index 000000000000..280aea81b1c8 --- /dev/null +++ b/sysutils/nix/files/patch-tests-flakes-flakes.sh @@ -0,0 +1,41 @@ +--- tests/flakes/flakes.sh.orig 2023-01-25 20:28:02 UTC ++++ tests/flakes/flakes.sh +@@ -75,7 +75,7 @@ nix registry add --registry $registry flake4 flake3 + nix registry add --registry $registry nixpkgs flake1 + + # Test 'nix registry list'. +-[[ $(nix registry list | wc -l) == 5 ]] ++[[ $(nix registry list | grep -c ^) == 5 ]] + nix registry list | grep -q '^global' + nix registry list | grep -q -v '^user' # nothing in user registry + +@@ -334,23 +334,23 @@ nix build -o $TEST_ROOT/result flake4/removeXyzzy#sth + + # Testing the nix CLI + nix registry add flake1 flake3 +-[[ $(nix registry list | wc -l) == 6 ]] ++[[ $(nix registry list | grep -c ^) == 6 ]] + nix registry pin flake1 +-[[ $(nix registry list | wc -l) == 6 ]] ++[[ $(nix registry list | grep -c ^) == 6 ]] + nix registry pin flake1 flake3 +-[[ $(nix registry list | wc -l) == 6 ]] ++[[ $(nix registry list | grep -c ^) == 6 ]] + nix registry remove flake1 +-[[ $(nix registry list | wc -l) == 5 ]] ++[[ $(nix registry list | grep -c ^) == 5 ]] + + # Test 'nix registry list' with a disabled global registry. + nix registry add user-flake1 git+file://$flake1Dir + nix registry add user-flake2 git+file://$flake2Dir +-[[ $(nix --flake-registry "" registry list | wc -l) == 2 ]] ++[[ $(nix --flake-registry "" registry list | grep -c ^) == 2 ]] + nix --flake-registry "" registry list | grep -q -v '^global' # nothing in global registry + nix --flake-registry "" registry list | grep -q '^user' + nix registry remove user-flake1 + nix registry remove user-flake2 +-[[ $(nix registry list | wc -l) == 5 ]] ++[[ $(nix registry list | grep -c ^) == 5 ]] + + # Test 'nix flake clone'. + rm -rf $TEST_ROOT/flake1-v2 diff --git a/sysutils/nix/files/patch-tests-flakes-search-root.sh b/sysutils/nix/files/patch-tests-flakes-search-root.sh new file mode 100644 index 000000000000..3a46f9b190e7 --- /dev/null +++ b/sysutils/nix/files/patch-tests-flakes-search-root.sh @@ -0,0 +1,11 @@ +--- tests/flakes/search-root.sh.orig 2023-02-27 20:58:50 UTC ++++ tests/flakes/search-root.sh +@@ -36,7 +36,7 @@ popd + + nix build --override-input foo . || fail "flake should search up directories when not an installable" + +-sed "s,$PWD/foo,$PWD/foo/subdir,g" -i flake.nix ++sed -i '' "s,$PWD/foo,$PWD/foo/subdir,g" flake.nix + ! nix build || fail "flake should not search upwards when part of inputs" + + if [[ -n $(type -p git) ]]; then diff --git a/sysutils/nix/files/patch-tests-gc-auto.sh b/sysutils/nix/files/patch-tests-gc-auto.sh new file mode 100644 index 000000000000..3f361e1bc678 --- /dev/null +++ b/sysutils/nix/files/patch-tests-gc-auto.sh @@ -0,0 +1,20 @@ +--- tests/gc-auto.sh.orig 2023-01-25 20:28:02 UTC ++++ tests/gc-auto.sh +@@ -23,7 +23,7 @@ with import ./config.nix; mkDerivation { + name = "gc-A"; + buildCommand = '' + set -x +- [[ \$(ls \$NIX_STORE/*-garbage? | wc -l) = 3 ]] ++ [[ \$(ls \$NIX_STORE/*-garbage? | grep -c ^) = 3 ]] + + mkdir \$out + echo foo > \$out/bar +@@ -35,7 +36,7 @@ with import ./config.nix; mkDerivation { + # Wait for the GC to run + for i in {1..20}; do + echo ''\${i}... +- if [[ \$(ls \$NIX_STORE/*-garbage? | wc -l) = 1 ]]; then ++ if [[ \$(ls \$NIX_STORE/*-garbage? | grep -c ^) = 1 ]]; then + exit 0 + fi + sleep 1 diff --git a/sysutils/nix/files/patch-tests-recursive.sh b/sysutils/nix/files/patch-tests-recursive.sh new file mode 100644 index 000000000000..072d596fdb99 --- /dev/null +++ b/sysutils/nix/files/patch-tests-recursive.sh @@ -0,0 +1,10 @@ +--- tests/recursive.sh.orig 2023-01-25 20:28:02 UTC ++++ tests/recursive.sh +@@ -1,6 +1,6 @@ + source common.sh + +-sed -i 's/experimental-features .*/& recursive-nix/' "$NIX_CONF_DIR"/nix.conf ++sed -i '' 's/experimental-features .*/& recursive-nix/' "$NIX_CONF_DIR"/nix.conf + restartDaemon + + # FIXME diff --git a/sysutils/nix/files/patch-tests-repl.sh b/sysutils/nix/files/patch-tests-repl.sh new file mode 100644 index 000000000000..da24f93c415f --- /dev/null +++ b/sysutils/nix/files/patch-tests-repl.sh @@ -0,0 +1,11 @@ +--- tests/repl.sh.orig 2023-01-25 20:28:02 UTC ++++ tests/repl.sh +@@ -117,7 +117,7 @@ foo + baz + replResult=$( ( + echo "changingThing" + sleep 1 # Leave the repl the time to eval 'foo' +-sed -i 's/beforeChange/afterChange/' flake/flake.nix ++sed -i '' 's/beforeChange/afterChange/' flake/flake.nix + echo ":reload" + echo "changingThing" + ) | nix repl ./flake --experimental-features 'flakes repl-flake') diff --git a/sysutils/nix/files/patch-tests-substitute-with-invalid-ca.sh b/sysutils/nix/files/patch-tests-substitute-with-invalid-ca.sh new file mode 100644 index 000000000000..212b818d33fd --- /dev/null +++ b/sysutils/nix/files/patch-tests-substitute-with-invalid-ca.sh @@ -0,0 +1,11 @@ +--- tests/substitute-with-invalid-ca.sh.orig 2023-01-25 20:28:02 UTC ++++ tests/substitute-with-invalid-ca.sh +@@ -27,7 +27,7 @@ nix-collect-garbage >/dev/null 2>&1 + goodPathNarInfo=$(getRemoteNarInfo "$good") + badPathNarInfo=$(getRemoteNarInfo "$bad") + for fieldName in URL FileHash FileSize NarHash NarSize; do +- sed -i "/^$fieldName/d" "$goodPathNarInfo" ++ sed -i '' "/^$fieldName/d" "$goodPathNarInfo" + grep -E "^$fieldName" "$badPathNarInfo" >> "$goodPathNarInfo" + done + diff --git a/sysutils/nix/pkg-plist b/sysutils/nix/pkg-plist index d7c22a76c624..e96c3c10fe75 100644 --- a/sysutils/nix/pkg-plist +++ b/sysutils/nix/pkg-plist @@ -10,83 +10,397 @@ bin/nix-instantiate bin/nix-prefetch-url bin/nix-shell bin/nix-store +etc/profile.d/nix-daemon.fish etc/profile.d/nix-daemon.sh +etc/profile.d/nix.fish etc/profile.d/nix.sh -include/nix/affinity.hh +include/nix/abstract-setting-to-json.hh +include/nix/ansicolor.hh include/nix/archive.hh include/nix/args.hh include/nix/attr-path.hh include/nix/attr-set.hh +include/nix/attrs.hh include/nix/binary-cache-store.hh +include/nix/build-result.hh +include/nix/build/derivation-goal.hh +include/nix/build/drv-output-substitution-goal.hh +include/nix/build/goal.hh +include/nix/build/hook-instance.hh +include/nix/build/local-derivation-goal.hh +include/nix/build/personality.hh +include/nix/build/substitution-goal.hh +include/nix/build/worker.hh include/nix/builtins.hh +include/nix/builtins/buildenv.hh +include/nix/ca-specific-schema.sql.gen.hh +include/nix/cache.hh +include/nix/callback.hh +include/nix/canon-path.hh +include/nix/cgroup.hh +include/nix/chunked-vector.hh +include/nix/closure.hh +include/nix/command.hh include/nix/common-args.hh include/nix/common-eval-args.hh +include/nix/comparator.hh include/nix/compression.hh +include/nix/compute-levels.hh include/nix/config.h include/nix/config.hh +include/nix/content-address.hh include/nix/crypto.hh +include/nix/daemon.hh include/nix/derivations.hh -include/nix/download.hh +include/nix/derived-path.hh +include/nix/error.hh +include/nix/eval-cache.hh include/nix/eval-inline.hh include/nix/eval.hh +include/nix/experimental-features.hh +include/nix/fetch-settings.hh +include/nix/fetchers.hh +include/nix/fetchurl.nix.gen.hh +include/nix/filetransfer.hh include/nix/finally.hh +include/nix/flake/call-flake.nix.gen.hh +include/nix/flake/flake.hh +include/nix/flake/flakeref.hh +include/nix/flake/lockfile.hh +include/nix/fmt.hh include/nix/fs-accessor.hh include/nix/function-trace.hh +include/nix/gc-store.hh include/nix/get-drvs.hh +include/nix/git.hh include/nix/globals.hh include/nix/hash.hh -include/nix/istringstream_nocopy.hh +include/nix/hilite.hh +include/nix/imported-drv-to-derivation.nix.gen.hh +include/nix/installables.hh +include/nix/json-impls.hh include/nix/json-to-value.hh -include/nix/json.hh -include/nix/lazy.hh +include/nix/json-utils.hh +include/nix/legacy.hh include/nix/lexer-tab.hh +include/nix/local-fs-store.hh include/nix/local-store.hh +include/nix/lock.hh +include/nix/log-store.hh +include/nix/loggers.hh include/nix/logging.hh include/nix/lru-cache.hh include/nix/machines.hh +include/nix/make-content-addressed.hh +include/nix/markdown.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/outputs-spec.hh include/nix/parsed-derivations.hh include/nix/parser-tab.hh +include/nix/path-info.hh +include/nix/path-regex.hh +include/nix/path-with-outputs.hh +include/nix/path.hh include/nix/pathlocks.hh include/nix/pool.hh include/nix/primops.hh include/nix/profiles.hh +include/nix/progress-bar.hh +include/nix/realisation.hh include/nix/ref.hh include/nix/references.hh +include/nix/regex-combinators.hh +include/nix/registry.hh include/nix/remote-fs-accessor.hh include/nix/remote-store.hh +include/nix/repair-flag.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/split.hh include/nix/sqlite.hh include/nix/ssh.hh include/nix/store-api.hh +include/nix/store-cast.hh +include/nix/suggestions.hh include/nix/symbol-table.hh include/nix/sync.hh +include/nix/tarfile.hh include/nix/thread-pool.hh +include/nix/topo-sort.hh include/nix/types.hh +include/nix/uds-remote-store.hh +include/nix/url-parts.hh +include/nix/url.hh include/nix/util.hh include/nix/value-to-json.hh include/nix/value-to-xml.hh include/nix/value.hh +include/nix/value/context.hh include/nix/worker-protocol.hh include/nix/xml-writer.hh +lib/libnixcmd.so lib/libnixexpr.so +lib/libnixfetchers.so lib/libnixmain.so lib/libnixstore.so lib/libnixutil.so +libdata/pkgconfig/nix-cmd.pc libdata/pkgconfig/nix-expr.pc libdata/pkgconfig/nix-main.pc libdata/pkgconfig/nix-store.pc libexec/nix/build-remote +share/bash-completion/completions/nix +%%PORTDOCS%%%%DOCSDIR%%/manual/.nojekyll +%%PORTDOCS%%%%DOCSDIR%%/manual/404.html +%%PORTDOCS%%%%DOCSDIR%%/manual/FontAwesome/css/font-awesome.css +%%PORTDOCS%%%%DOCSDIR%%/manual/FontAwesome/fonts/FontAwesome.ttf +%%PORTDOCS%%%%DOCSDIR%%/manual/FontAwesome/fonts/fontawesome-webfont.eot +%%PORTDOCS%%%%DOCSDIR%%/manual/FontAwesome/fonts/fontawesome-webfont.svg +%%PORTDOCS%%%%DOCSDIR%%/manual/FontAwesome/fonts/fontawesome-webfont.ttf +%%PORTDOCS%%%%DOCSDIR%%/manual/FontAwesome/fonts/fontawesome-webfont.woff +%%PORTDOCS%%%%DOCSDIR%%/manual/FontAwesome/fonts/fontawesome-webfont.woff2 +%%PORTDOCS%%%%DOCSDIR%%/manual/SUMMARY.md.in +%%PORTDOCS%%%%DOCSDIR%%/manual/advanced-topics/advanced-topics.html +%%PORTDOCS%%%%DOCSDIR%%/manual/advanced-topics/cores-vs-jobs.html +%%PORTDOCS%%%%DOCSDIR%%/manual/advanced-topics/diff-hook.html +%%PORTDOCS%%%%DOCSDIR%%/manual/advanced-topics/distributed-builds.html +%%PORTDOCS%%%%DOCSDIR%%/manual/advanced-topics/post-build-hook.html +%%PORTDOCS%%%%DOCSDIR%%/manual/architecture/architecture.html +%%PORTDOCS%%%%DOCSDIR%%/manual/ayu-highlight.css +%%PORTDOCS%%%%DOCSDIR%%/manual/book.js +%%PORTDOCS%%%%DOCSDIR%%/manual/clipboard.min.js +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/command-ref.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/conf-file.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/env-common.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/experimental-commands.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/files.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/main-commands.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-build.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-bundle.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-copy.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-daemon.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-describe-stores.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-develop.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-doctor.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-edit.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-eval.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-flake-archive.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-flake-check.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-flake-clone.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-flake-info.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-flake-init.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-flake-lock.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-flake-metadata.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-flake-new.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-flake-prefetch.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-flake-show.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-flake-update.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-flake.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-fmt.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-hash-file.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-hash-path.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-hash-to-base16.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-hash-to-base32.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-hash-to-base64.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-hash-to-sri.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-hash.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-help.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-key-convert-secret-to-public.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-key-generate-secret.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-key.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-log.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-nar-cat.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-nar-dump-path.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-nar-ls.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-nar.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-path-info.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-print-dev-env.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-profile-diff-closures.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-profile-history.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-profile-install.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-profile-list.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-profile-remove.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-profile-rollback.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-profile-upgrade.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-profile-wipe-history.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-profile.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-realisation-info.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-realisation.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-registry-add.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-registry-list.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-registry-pin.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-registry-remove.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-registry.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-repl.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-run.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-search.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-shell.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-show-config.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-show-derivation.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-add-file.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-add-path.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-cat.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-copy-log.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-copy-sigs.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-delete.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-diff-closures.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-dump-path.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-gc.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-ls.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-make-content-addressed.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-optimise.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-path-from-hash-part.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-ping.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-prefetch-file.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-repair.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-sign.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store-verify.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-store.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-upgrade-nix.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/new-cli/nix3-why-depends.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/nix-build.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/nix-channel.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/nix-collect-garbage.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/nix-copy-closure.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/nix-daemon.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/nix-env.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/nix-hash.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/nix-instantiate.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/nix-prefetch-url.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/nix-shell.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/nix-store.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/opt-common.html +%%PORTDOCS%%%%DOCSDIR%%/manual/command-ref/utilities.html +%%PORTDOCS%%%%DOCSDIR%%/manual/contributing/cli-guideline.html +%%PORTDOCS%%%%DOCSDIR%%/manual/contributing/contributing.html +%%PORTDOCS%%%%DOCSDIR%%/manual/contributing/hacking.html +%%PORTDOCS%%%%DOCSDIR%%/manual/css/chrome.css +%%PORTDOCS%%%%DOCSDIR%%/manual/css/general.css +%%PORTDOCS%%%%DOCSDIR%%/manual/css/print.css +%%PORTDOCS%%%%DOCSDIR%%/manual/css/variables.css +%%PORTDOCS%%%%DOCSDIR%%/manual/custom.css +%%PORTDOCS%%%%DOCSDIR%%/manual/elasticlunr.min.js +%%PORTDOCS%%%%DOCSDIR%%/manual/favicon.png +%%PORTDOCS%%%%DOCSDIR%%/manual/favicon.svg +%%PORTDOCS%%%%DOCSDIR%%/manual/figures/user-environments.png +%%PORTDOCS%%%%DOCSDIR%%/manual/figures/user-environments.sxd +%%PORTDOCS%%%%DOCSDIR%%/manual/fonts/OPEN-SANS-LICENSE.txt +%%PORTDOCS%%%%DOCSDIR%%/manual/fonts/SOURCE-CODE-PRO-LICENSE.txt +%%PORTDOCS%%%%DOCSDIR%%/manual/fonts/fonts.css +%%PORTDOCS%%%%DOCSDIR%%/manual/fonts/open-sans-v17-all-charsets-300.woff2 +%%PORTDOCS%%%%DOCSDIR%%/manual/fonts/open-sans-v17-all-charsets-300italic.woff2 +%%PORTDOCS%%%%DOCSDIR%%/manual/fonts/open-sans-v17-all-charsets-600.woff2 +%%PORTDOCS%%%%DOCSDIR%%/manual/fonts/open-sans-v17-all-charsets-600italic.woff2 +%%PORTDOCS%%%%DOCSDIR%%/manual/fonts/open-sans-v17-all-charsets-700.woff2 +%%PORTDOCS%%%%DOCSDIR%%/manual/fonts/open-sans-v17-all-charsets-700italic.woff2 +%%PORTDOCS%%%%DOCSDIR%%/manual/fonts/open-sans-v17-all-charsets-800.woff2 +%%PORTDOCS%%%%DOCSDIR%%/manual/fonts/open-sans-v17-all-charsets-800italic.woff2 +%%PORTDOCS%%%%DOCSDIR%%/manual/fonts/open-sans-v17-all-charsets-italic.woff2 +%%PORTDOCS%%%%DOCSDIR%%/manual/fonts/open-sans-v17-all-charsets-regular.woff2 +%%PORTDOCS%%%%DOCSDIR%%/manual/fonts/source-code-pro-v11-all-charsets-500.woff2 +%%PORTDOCS%%%%DOCSDIR%%/manual/glossary.html +%%PORTDOCS%%%%DOCSDIR%%/manual/highlight.css +%%PORTDOCS%%%%DOCSDIR%%/manual/highlight.js +%%PORTDOCS%%%%DOCSDIR%%/manual/index.html +%%PORTDOCS%%%%DOCSDIR%%/manual/installation/building-source.html +%%PORTDOCS%%%%DOCSDIR%%/manual/installation/env-variables.html +%%PORTDOCS%%%%DOCSDIR%%/manual/installation/installation.html +%%PORTDOCS%%%%DOCSDIR%%/manual/installation/installing-binary.html +%%PORTDOCS%%%%DOCSDIR%%/manual/installation/installing-docker.html +%%PORTDOCS%%%%DOCSDIR%%/manual/installation/installing-source.html +%%PORTDOCS%%%%DOCSDIR%%/manual/installation/multi-user.html +%%PORTDOCS%%%%DOCSDIR%%/manual/installation/nix-security.html +%%PORTDOCS%%%%DOCSDIR%%/manual/installation/obtaining-source.html +%%PORTDOCS%%%%DOCSDIR%%/manual/installation/prerequisites-source.html +%%PORTDOCS%%%%DOCSDIR%%/manual/installation/single-user.html +%%PORTDOCS%%%%DOCSDIR%%/manual/installation/supported-platforms.html +%%PORTDOCS%%%%DOCSDIR%%/manual/installation/upgrading.html +%%PORTDOCS%%%%DOCSDIR%%/manual/introduction.html +%%PORTDOCS%%%%DOCSDIR%%/manual/language/advanced-attributes.html +%%PORTDOCS%%%%DOCSDIR%%/manual/language/builtin-constants.html +%%PORTDOCS%%%%DOCSDIR%%/manual/language/builtins.html +%%PORTDOCS%%%%DOCSDIR%%/manual/language/constructs.html +%%PORTDOCS%%%%DOCSDIR%%/manual/language/derivations.html +%%PORTDOCS%%%%DOCSDIR%%/manual/language/index.html +%%PORTDOCS%%%%DOCSDIR%%/manual/language/operators.html +%%PORTDOCS%%%%DOCSDIR%%/manual/language/string-interpolation.html +%%PORTDOCS%%%%DOCSDIR%%/manual/language/values.html +%%PORTDOCS%%%%DOCSDIR%%/manual/mark.min.js +%%PORTDOCS%%%%DOCSDIR%%/manual/package-management/basic-package-mgmt.html +%%PORTDOCS%%%%DOCSDIR%%/manual/package-management/binary-cache-substituter.html +%%PORTDOCS%%%%DOCSDIR%%/manual/package-management/channels.html +%%PORTDOCS%%%%DOCSDIR%%/manual/package-management/copy-closure.html +%%PORTDOCS%%%%DOCSDIR%%/manual/package-management/garbage-collection.html +%%PORTDOCS%%%%DOCSDIR%%/manual/package-management/garbage-collector-roots.html +%%PORTDOCS%%%%DOCSDIR%%/manual/package-management/package-management.html +%%PORTDOCS%%%%DOCSDIR%%/manual/package-management/profiles.html +%%PORTDOCS%%%%DOCSDIR%%/manual/package-management/s3-substituter.html +%%PORTDOCS%%%%DOCSDIR%%/manual/package-management/sharing-packages.html +%%PORTDOCS%%%%DOCSDIR%%/manual/package-management/ssh-substituter.html +%%PORTDOCS%%%%DOCSDIR%%/manual/print.html +%%PORTDOCS%%%%DOCSDIR%%/manual/quick-start.html +%%PORTDOCS%%%%DOCSDIR%%/manual/redirects.js +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/release-notes.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.10.1.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.10.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.11.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.12.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.13.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.14.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.15.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.16.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.5.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.6.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.7.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.8.1.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.8.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.9.1.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.9.2.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-0.9.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-1.0.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-1.1.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-1.10.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-1.11.10.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-1.11.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-1.2.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-1.3.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-1.4.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-1.5.2.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-1.5.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-1.6.1.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-1.6.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-1.7.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-1.8.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-1.9.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-2.0.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-2.1.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-2.10.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-2.11.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-2.12.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-2.13.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-2.2.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-2.3.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-2.4.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-2.5.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-2.6.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-2.7.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-2.8.html +%%PORTDOCS%%%%DOCSDIR%%/manual/release-notes/rl-2.9.html +%%PORTDOCS%%%%DOCSDIR%%/manual/searcher.js +%%PORTDOCS%%%%DOCSDIR%%/manual/searchindex.js +%%PORTDOCS%%%%DOCSDIR%%/manual/searchindex.json +%%PORTDOCS%%%%DOCSDIR%%/manual/tomorrow-night.css +share/fish/vendor_completions.d/nix.fish share/man/man1/nix-build.1.gz share/man/man1/nix-channel.1.gz share/man/man1/nix-collect-garbage.1.gz @@ -97,33 +411,93 @@ share/man/man1/nix-instantiate.1.gz share/man/man1/nix-prefetch-url.1.gz share/man/man1/nix-shell.1.gz share/man/man1/nix-store.1.gz +share/man/man1/nix.1.gz +share/man/man1/nix3-build.1.gz +share/man/man1/nix3-bundle.1.gz +share/man/man1/nix3-copy.1.gz +share/man/man1/nix3-daemon.1.gz +share/man/man1/nix3-describe-stores.1.gz +share/man/man1/nix3-develop.1.gz +share/man/man1/nix3-doctor.1.gz +share/man/man1/nix3-edit.1.gz +share/man/man1/nix3-eval.1.gz +share/man/man1/nix3-flake-archive.1.gz +share/man/man1/nix3-flake-check.1.gz +share/man/man1/nix3-flake-clone.1.gz +share/man/man1/nix3-flake-info.1.gz +share/man/man1/nix3-flake-init.1.gz +share/man/man1/nix3-flake-lock.1.gz +share/man/man1/nix3-flake-metadata.1.gz +share/man/man1/nix3-flake-new.1.gz +share/man/man1/nix3-flake-prefetch.1.gz +share/man/man1/nix3-flake-show.1.gz +share/man/man1/nix3-flake-update.1.gz +share/man/man1/nix3-flake.1.gz +share/man/man1/nix3-fmt.1.gz +share/man/man1/nix3-hash-file.1.gz +share/man/man1/nix3-hash-path.1.gz +share/man/man1/nix3-hash-to-base16.1.gz +share/man/man1/nix3-hash-to-base32.1.gz +share/man/man1/nix3-hash-to-base64.1.gz +share/man/man1/nix3-hash-to-sri.1.gz +share/man/man1/nix3-hash.1.gz +share/man/man1/nix3-help.1.gz +share/man/man1/nix3-key-convert-secret-to-public.1.gz +share/man/man1/nix3-key-generate-secret.1.gz +share/man/man1/nix3-key.1.gz +share/man/man1/nix3-log.1.gz +share/man/man1/nix3-manpages.gz +share/man/man1/nix3-nar-cat.1.gz +share/man/man1/nix3-nar-dump-path.1.gz +share/man/man1/nix3-nar-ls.1.gz +share/man/man1/nix3-nar.1.gz +share/man/man1/nix3-path-info.1.gz +share/man/man1/nix3-print-dev-env.1.gz +share/man/man1/nix3-profile-diff-closures.1.gz +share/man/man1/nix3-profile-history.1.gz +share/man/man1/nix3-profile-install.1.gz +share/man/man1/nix3-profile-list.1.gz +share/man/man1/nix3-profile-remove.1.gz +share/man/man1/nix3-profile-rollback.1.gz +share/man/man1/nix3-profile-upgrade.1.gz +share/man/man1/nix3-profile-wipe-history.1.gz +share/man/man1/nix3-profile.1.gz +share/man/man1/nix3-realisation-info.1.gz +share/man/man1/nix3-realisation.1.gz +share/man/man1/nix3-registry-add.1.gz +share/man/man1/nix3-registry-list.1.gz +share/man/man1/nix3-registry-pin.1.gz +share/man/man1/nix3-registry-remove.1.gz +share/man/man1/nix3-registry.1.gz +share/man/man1/nix3-repl.1.gz +share/man/man1/nix3-run.1.gz +share/man/man1/nix3-search.1.gz +share/man/man1/nix3-shell.1.gz +share/man/man1/nix3-show-config.1.gz +share/man/man1/nix3-show-derivation.1.gz +share/man/man1/nix3-store-add-file.1.gz +share/man/man1/nix3-store-add-path.1.gz +share/man/man1/nix3-store-cat.1.gz +share/man/man1/nix3-store-copy-log.1.gz +share/man/man1/nix3-store-copy-sigs.1.gz +share/man/man1/nix3-store-delete.1.gz +share/man/man1/nix3-store-diff-closures.1.gz +share/man/man1/nix3-store-dump-path.1.gz +share/man/man1/nix3-store-gc.1.gz +share/man/man1/nix3-store-ls.1.gz +share/man/man1/nix3-store-make-content-addressed.1.gz +share/man/man1/nix3-store-optimise.1.gz +share/man/man1/nix3-store-path-from-hash-part.1.gz +share/man/man1/nix3-store-ping.1.gz +share/man/man1/nix3-store-prefetch-file.1.gz +share/man/man1/nix3-store-repair.1.gz +share/man/man1/nix3-store-sign.1.gz +share/man/man1/nix3-store-verify.1.gz +share/man/man1/nix3-store.1.gz +share/man/man1/nix3-upgrade-nix.1.gz +share/man/man1/nix3-why-depends.1.gz share/man/man5/nix.conf.5.gz share/man/man8/nix-daemon.8.gz -%%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 %%DATADIR%%/add-nixbld-users -%%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 +share/zsh/site-functions/_nix +share/zsh/site-functions/run-help-nix