aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-03-30Fix segfaultEelco Dolstra
2020-03-28nix flake info --json: Dump attr-style flakerefEelco Dolstra
2020-03-28Warn about --override-input / --update-input flags that don't match an inputEelco Dolstra
2020-03-28nix flake info: Show flake subdirectoryEelco Dolstra
2020-03-28flake.nix: Support Nixpkgs 19.09Eelco Dolstra
2020-03-27Add test for circular flake dependenciesEelco Dolstra
2020-03-27Improve lock file generationEelco Dolstra
This is now done in a single pass. Also fixes some issues when updating flakes with circular dependencies. Finally, when using '--recreate-lock-file --commit-lock-file', the commit message now correctly shows the differences.
2020-03-27Fix diffLockFiles()Eelco Dolstra
2020-03-23Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-03-23Merge pull request #3440 from gnprice/pr-install-roEelco Dolstra
installer: Set files read-only when copying into store
2020-03-23Merge pull request #3429 from LnL7/darwin-sandboxEelco Dolstra
darwin sandbox
2020-03-22installer: Set files read-only when copying into storeGreg Price
After installing Nix, I found that all the files and directories initially copied into the store were writable, with mode 644 or 755: drwxr-xr-x 9 root root 4096 Dec 31 1969 /nix/store/ddmmzn4ggz1f66lwxjy64n89864yj9w9-nix-2.3.3 The reason is that that's how they were in the unpacked tarball, and the install-multi-user script used `rsync -p` without doing anything else to affect the permissions. The plain `install` script for a single-user install takes care to do a `chmod -R a-w` on each store path copied. We could do the same here with one more command; or we can pass `--chmod` to rsync, to have it write the files with the desired modes in the first place. Tested the new `rsync` command on both a Linux machine with a reasonably-modern rsync (3.1.3) and a Mac with its default, ancient, rsync 2.6.9, and it works as expected on both. Thankfully the latter is just new enough to have `--chmod`, which dates to rsync 2.6.7.
2020-03-21Merge pull request #3431 from pmiddend/install-script-test-for-xzDomen Kožar
installer: also test for xz to unpack
2020-03-21installer: also test for xz to unpackPhilipp Middendorf
2020-03-20sandbox: fix /bin/sh on catalinaDaiderd Jordan
Sadly 10.15 changed /bin/sh to a shim which executes bash, this means it can't be used anymore without also opening up the sandbox to allow bash. Failed to exec /bin/bash as variant for /bin/sh (1: Operation not permitted).
2020-03-20sandbox: allow pty devicesDaiderd Jordan
Nix now runs builds with a pseudo-terminal to enable colored build output.
2020-03-20libstore: relax default sandbox-paths on darwinDaiderd Jordan
2020-03-20libstore: disable resolve-system-dependencies hookDaiderd Jordan
This is used to determine the dependency tree of impure libraries so nix knows what paths to open in the sandbox. With the less restrictive defaults it isn't needed anymore.
2020-03-20Fix GitHub VM testEelco Dolstra
2020-03-20Fix coverage jobEelco Dolstra
2020-03-20Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-03-20flake.nix: Switch to 20.03Eelco Dolstra
2020-03-20Merge pull request #3426 from jakobrs/remote-gc-delete-optEelco Dolstra
Remove the --delete option for --gc. Fixes #3343
2020-03-19Remove the --delete option for --gcjakobrs
Running `nix-store --gc --delete` will, as of Nix 2.3.3, simply fail because the --delete option conflicts with the --delete operation. $ nix-store --gc --delete error: only one operation may be specified Try 'nix-store --help' for more information. Furthermore, it has been broken since at least Nix 0.16 (which was released sometime in 2010), which means that any scripts which depend on it should have been broken at least nine years ago. This commit simply formally removes the option. There should be no actual difference in behaviour as far as the user is concerned: it errors with the exact same error message. The manual has been edited to remove any references to the (now gone) --delete option. Other information: * Path for Nix 0.16 used: /nix/store/rp3sgmskn0p0pj1ia2qwd5al6f6pinz4-nix-0.16
2020-03-19nix repl: Put EvalState on the heapEelco Dolstra
See 0629601da1d163a059fa19004256961f8ecdeb78.
2020-03-19nix repl: Scan NixRepl for GC rootsEelco Dolstra
Fixes #3175.
2020-03-19Register flake-registry.json as a GC root againEelco Dolstra
2020-03-19downloadFile(): Use expired file if the download failsEelco Dolstra
2020-03-18Get rid of downloadCached()Eelco Dolstra
Everything uses the generic caching system now.
2020-03-18tarball.cc: Use ETagsEelco Dolstra
2020-03-18Remove flake closure cachingEelco Dolstra
This is not compatible with lazy flake input fetching.
2020-03-18tarball / github fetchers: Use generic caching systemEelco Dolstra
2020-03-17Git: Use unified caching systemEelco Dolstra
2020-03-17Require shallow clones to be requested explicitlyEelco Dolstra
If you do a fetchTree on a Git repository, whether the result contains a revCount attribute should not depend on whether that repository happens to be a shallow clone or not. That would complicate caching a lot and would be semantically messy. So applying fetchTree/fetchGit to a shallow repository is now an error unless you pass the attribute 'shallow = true'. If 'shallow = true', we don't return revCount, even if the repository is not actually shallow. Note that Nix itself is not doing shallow clones at the moment. But it could do so as an optimisation if the user specifies 'shallow = true'. Issue #2988.
2020-03-17Unified fetcher caching systemEelco Dolstra
2020-03-16Add a test for shallow Git clonesEelco Dolstra
Also, don't return a revCount anymore for shallow or dirty Git trees, since it's incorrect. Closes #2988.
2020-03-16Fix re-running the fetchGit.sh testEelco Dolstra
2020-03-14Merge pull request #3413 from Ericson2314/include-regexEelco Dolstra
Add missing `#include <regex>`
2020-03-13Add missing `#include <regex>`John Ericson
2020-03-13Merge pull request #3380 from contrun/no-attr-path-for-installedEelco Dolstra
display attr-path only when queried available
2020-03-13README.md: Remove reference to OpenSSLEelco Dolstra
The OpenSSL files were removed in a6ca68a70c3bc0b2e6abad70346c99642a896f9f. https://salsa.debian.org/debian/nix/issues/3
2020-03-13Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-03-13Remove the 'release' jobEelco Dolstra
Unless the 'tested' job in the Nixpkgs/NixOS jobsets, this job isn't actually used for anything (e.g. we don't update a channel based on whether 'release' succeeds).
2020-03-13Build vendoredCrates in the overlayEelco Dolstra
This makes it build on non-x86_64-linux systems (needed in GitHub actions).
2020-03-13Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-03-13Merge pull request #3410 from edolstra/no-tarballEelco Dolstra
Remove the tarball job
2020-03-13Remove the tarball jobEelco Dolstra
Source tarballs are not very useful anymore. People who want to build from source can also just build from the Git repository. Once upon a time, the source tarball also saved users from needing a few dependencies (e.g. bison and flex) but those are dwarfed by the other dependencies, so it's no longer worth it. Note: the release script should be updated to copy the vendoredCrates tarball.
2020-03-14display attr-path only when queried availableYI
2020-03-13Do a deep fetchEelco Dolstra
Currently the build fails with warning: reject refs/heads/HEAD because shallow roots are not allowed to be updated error: Could not read 0c2088d4386a350f0005ff1a278d0384dbc26881 fatal: Failed to traverse parents of commit ea1803efdc288a400b544e7f1f2d83efdd2792b6 error: program 'git' failed with exit code 128
2020-03-13Run checksEelco Dolstra