Eelco Dolstra
fbcb897e21
Add a test for shallow Git clones
...
Also, don't return a revCount anymore for shallow or dirty Git trees,
since it's incorrect.
Closes #2988 .
2020-03-16 13:20:32 +01:00
John Ericson
68fe0d9809
Add missing #include <regex>
2020-03-13 21:24:35 -04:00
Eelco Dolstra
779ef8f5ef
Merge pull request #3380 from contrun/no-attr-path-for-installed
...
display attr-path only when queried available
2020-03-13 19:26:20 +01:00
YI
b6d794fb8d
display attr-path only when queried available
2020-03-14 00:36:26 +08:00
Eelco Dolstra
0c2088d438
Merge remote-tracking branch 'origin/master' into flakes
2020-03-13 17:03:30 +01:00
Eelco Dolstra
b816515f61
Fix ca-references feature check
...
Fixes #3406 .
2020-03-13 13:15:51 +01:00
Eelco Dolstra
ae9119167e
Change the lock file to a graph
...
This enables support for cycles between flakes.
2020-03-12 22:06:57 +01:00
Eelco Dolstra
d048577909
Merge pull request #3403 from hercules-ci/issue-3398-path-info-cache-ttls
...
pathInfoCache: Respect disk cache TTLs #3398
2020-03-12 11:43:31 +01:00
3f55f8a8fb
pathInfoCache: Respect disk cache TTLs #3398
2020-03-12 10:30:28 +01:00
Will Dietz
15edd2349e
local.mk: fix user-env.cc dep on buildenv.nix.gen.hh, resolve occasional build failure
2020-03-12 00:51:56 +01:00
Eelco Dolstra
e188fe7c6d
Move call-flake.nix into libexpr
2020-03-11 17:04:51 +01:00
Eelco Dolstra
35f6651735
Merge remote-tracking branch 'origin/master' into flakes
2020-03-11 17:03:38 +01:00
Eelco Dolstra
9950cdec35
Move some corepkgs into the nix binary
2020-03-11 16:57:48 +01:00
Eelco Dolstra
e02481ded2
parseExprFromString(): Use std::string_view
2020-03-11 16:56:29 +01:00
Eelco Dolstra
97d1c7f932
Merge remote-tracking branch 'origin/master' into flakes
2020-03-11 15:17:21 +01:00
Eelco Dolstra
cfc38257cf
Fix flake subdirectory handling
2020-03-10 19:21:47 +01:00
Eelco Dolstra
8a1d8701f6
nix-store -q --graph: Fix edges
...
Fixes #3389 .
2020-03-10 11:11:46 +01:00
Eelco Dolstra
983fab7ea9
dotgraph.cc: Remove dead code
2020-03-10 11:06:55 +01:00
Eelco Dolstra
73769b28e3
Move calling flakes into a Nix helper function (call-flake.nix)
2020-03-09 15:28:41 +01:00
Eelco Dolstra
5a1514adb8
Add 'flake' attribute to lock files to denote non-flakes
2020-03-09 15:27:49 +01:00
Eelco Dolstra
73b6d87e17
Merge remote-tracking branch 'origin/master' into flakes
2020-03-04 13:58:42 +01:00
Eelco Dolstra
d37dc71e3c
nix-build: Fix !<output> handling
...
This was broken by 22a754c091
.
https://hydra.nixos.org/eval/1573669
2020-03-04 13:56:17 +01:00
Eelco Dolstra
75db069f92
Optimise Derivation::unparse()
...
In
nix-instantiate --dry-run '<nixpkgs/nixos/release-combined.nix>' -A nixos.tests.simple.x86_64-linux
this reduces time spent in unparse() from 9.15% to 4.31%. The main
culprit was appending characters one at a time to the destination
string. Even though the string has enough capacity, push_back() still
needs to check this on every call.
2020-03-04 11:44:45 +01:00
Eelco Dolstra
401b5bc541
builtins.cache: Cache regular expressions
...
The evaluator was spending about 1% of its time compiling a small
number of regexes over and over again.
2020-03-04 11:44:33 +01:00
Eelco Dolstra
22a754c091
Fix GC failures on bad store path names
...
It failed on names like '/nix/store/9ip48nkc9rfy0a4yaw98lp6gipqlib1a-'.
2020-02-28 18:07:10 +01:00
Eelco Dolstra
f443d5ca19
Merge remote-tracking branch 'origin/master' into flakes
2020-02-27 15:19:58 +01:00
Eelco Dolstra
2672a28bb4
nix dev-shell: Add --command option
...
Note: like 'nix run', and unlike 'nix-shell', this takes an argv
vector rather than a shell command. So
nix dev-shell -c 'echo $PATH'
doesn't work. Instead you need to do
nix dev-shell -c bash -c 'echo $PATH'
2020-02-27 15:17:37 +01:00
Eelco Dolstra
4a4521f462
Fix nlohmann::json exception
2020-02-20 23:47:02 +01:00
Eelco Dolstra
73c9840569
Restore subdir -> dir
...
Got this mixed up somewhere.
2020-02-20 23:44:06 +01:00
Eelco Dolstra
d068f9ffff
Restore subdir support in registries
...
Hacky...
2020-02-20 22:14:44 +01:00
Eelco Dolstra
890df325c7
fetchTree: Use a feature flag
2020-02-20 13:36:16 +01:00
Eelco Dolstra
2e953b567e
Merge pull request #3325 from xzfc/clean-tmpdir
...
nix-shell: clean up the tmpDir and escape variables
2020-02-19 21:29:18 +01:00
Eelco Dolstra
4ad5826a18
nix eval-hydra-jobs: Remove
...
On second thought, let's move this back to Hydra.
2020-02-19 16:12:49 +01:00
Albert Safin
f2a03acf3f
nix-shell: clean up the tmpDir and escape variables
...
The problem fixed: each nix-shell invocation creates a new temporary
directory (`/tmp/nix-shell-*`) and never cleans up.
And while I'm here, shellescape all variables inlined into the rcfile.
See what might happen without escaping:
$ export TZ="';echo pwned'"
$ nix-shell -p hello --run hello
pwned
Hello, world!
2020-02-19 14:28:49 +00:00
Eelco Dolstra
1d99c4ab25
Merge pull request #3229 from Ma27/flakes-fetchgit-worktree-support
...
builtins.fetchGit: Fix build when fetching a git worktree
2020-02-19 14:11:18 +01:00
c169ea5904
builtins.fetchGit: Fix build when fetching a git worktree
...
Worktrees[1] are a feature of git which allow you to check out a ref in
a different directory.
While playing around with flakes I realized that git repositories in a
worktree checkout break when trying to build a flake:
```
$ git worktree add ../nixpkgs-flakes nixpkgs-flakes
$ cd ../nixpkgs-flakes
$ nix build .#hello
error: opening directory '/home/ma27/Projects/nixpkgs-flakes/.git/refs/heads': Not a directory
```
This issue has been fixed by determining with `git rev-parse --git-common-dir`
where the actual `.git` directory is.
Please note that this issue only exists on the `flakes` branch, fetching
worktree checkouts with Nix master seems to work fine.
[1] https://git-scm.com/docs/git-worktree
2020-02-19 14:00:36 +01:00
Eelco Dolstra
2a14c28669
Merge pull request #3357 from carlosdagos/pure-nix-shell-proxy-env
...
Pass through http proxy env vars in pure shell
2020-02-19 13:02:02 +01:00
Eelco Dolstra
f3505a7899
Merge remote-tracking branch 'origin/master' into flakes
2020-02-19 12:57:45 +01:00
Eelco Dolstra
30c8297ded
nix eval-hydra-jobs: Add feature
2020-02-19 12:35:03 +01:00
Eelco Dolstra
c4d3674de6
Merge pull request #3353 from tbsmoest/priv_tobias_pr_set_deathsig-1.4
...
Fix PR_SET_PDEATHSIG results in Broken pipe (#2395 )
2020-02-19 12:29:12 +01:00
Eelco Dolstra
95468e3c1e
Fix nixpkgs.<attr> warning
2020-02-19 00:09:42 +01:00
Eelco Dolstra
edee6169bf
nix eval-hydra-jobs: Fix aggregate derivation name
2020-02-18 22:05:49 +01:00
Eelco Dolstra
1351101c28
nix eval-hydra-jobs: Check aggregate jobs in --dry-run mode
2020-02-18 19:26:11 +01:00
Eelco Dolstra
553e584f92
LocalStore::checkDerivationOutputs(): Improve error message
2020-02-18 17:51:48 +01:00
Eelco Dolstra
d8fd31f50f
Disable the progress bar if $TERM == dumb or unset
...
Fixes #3363 .
2020-02-18 17:51:18 +01:00
Eelco Dolstra
8f9dcfc671
Disable the progress bar if $TERM == dumb or unset
...
Fixes #3363 .
2020-02-18 17:47:53 +01:00
Eelco Dolstra
b5e3c04c03
Fix URL parser
...
Fixes #3361 .
2020-02-18 12:51:26 +01:00
Eelco Dolstra
6529490cc1
nix eval-hydra-jobs: Support job names as aggregate constituents
...
Fixes https://github.com/NixOS/hydra/issues/715 .
2020-02-17 15:53:59 +01:00
Eelco Dolstra
8a78bcf6a2
LocalStore::checkDerivationOutputs(): Improve error message
2020-02-17 15:46:07 +01:00
Eelco Dolstra
b0336e7cf7
nix eval-hydra-job: Progress indicator
2020-02-17 14:33:10 +01:00
Eelco Dolstra
c6e63065f3
nix eval-hydra-jobs: Improve error handling
2020-02-17 14:31:29 +01:00
Eelco Dolstra
eb19ff3b82
nix eval-hydra-jobs: Support flakes
2020-02-14 23:23:41 +01:00
Eelco Dolstra
4c24263967
nix eval-hydra-jobs: Support parallel evaluation
...
Example usage:
$ nix eval-hydra-jobs -f '<nixpkgs/pkgs/top-level/release.nix>' '' \
--max-memory-size 2048 --workers 8
2020-02-14 23:05:49 +01:00
Eelco Dolstra
e375da6899
Add 'nix eval-hydra-jobs' command
2020-02-14 23:00:42 +01:00
Eelco Dolstra
46a284263f
Fix build
2020-02-14 22:45:33 +01:00
Eelco Dolstra
6208d24c38
Merge remote-tracking branch 'origin/master' into flakes
2020-02-14 22:42:35 +01:00
Tobias Möst
3e347220c8
Fix PR_SET_PDEATHSIG results in Broken pipe ( #2395 )
...
The ssh client is lazily started by the first worker thread, that
requires a ssh connection. To avoid the ssh client to be killed, when
the worker process is stopped, do not set PR_SET_PDEATHSIG.
2020-02-14 07:51:44 +01:00
Carlos D
d78141a886
Pass through http proxy env vars in pure shell
2020-02-14 16:11:22 +11:00
Eelco Dolstra
9af10b753c
Bindings::get(): std::optional<Attr *> -> Attr *
...
Returning a nullable type in an optional is silly.
2020-02-13 17:15:05 +01:00
Eelco Dolstra
d8972317fc
Prevent uninitialized StorePath creation
2020-02-13 16:12:16 +01:00
Eelco Dolstra
26dacc0983
Add fetchTree builtin function
...
This allows all supported fetchers to be used, e.g.
builtins.fetchTree {
type = "github";
owner = "NixOS";
repo = "nix";
rev = "d4df99a3349cf2228a8ee78dea320afef86eb3ba";
}
2020-02-11 23:53:46 +01:00
Eelco Dolstra
d4df99a334
Parse narHash attribute for all input types
2020-02-11 23:53:24 +01:00
Eelco Dolstra
442e665d6d
nix path-info --json: Print hash in SRI format
2020-02-11 23:50:16 +01:00
Eelco Dolstra
d2032edb2f
nix edit: Support non-derivation attributes
...
E.g.
$ nix edit .#nixosConfigurations.bla
now works.
2020-02-07 14:22:01 +01:00
Eelco Dolstra
0b013a54dc
findAlongAttrPath(): Return position
2020-02-07 14:08:24 +01:00
Eelco Dolstra
84a3a5c3cd
Merge remote-tracking branch 'origin/master' into flakes
2020-02-07 13:57:31 +01:00
Eelco Dolstra
d82b78bf51
Fix segfault in gcc on i686-linux
...
src/libstore/ssh-store.cc: In constructor 'nix::SSHStore::SSHStore(const string&, const Params&)':
src/libstore/ssh-store.cc:31:21: internal compiler error: Segmentation fault
compress)
^
Please submit a full bug report,
with preprocessed source if appropriate.
https://hydra.nixos.org/build/111545609
2020-02-07 13:01:48 +01:00
Eelco Dolstra
379852a152
Registry: Use attr notation instead of URLs
2020-02-06 14:27:31 +01:00
Eelco Dolstra
be2580be01
Warn when we commit a new revision
2020-02-05 15:47:11 +01:00
Eelco Dolstra
022287060b
Merge remote-tracking branch 'origin/master' into flakes
2020-02-05 15:41:51 +01:00
Eelco Dolstra
750c993f00
Improve commit subject line
2020-02-05 15:31:16 +01:00
Eelco Dolstra
9d7fb62db6
Add option --commit-lock-file
2020-02-05 14:48:49 +01:00
Eelco Dolstra
e2213d77a2
Set 'ref' properly for local trees
2020-02-04 21:55:57 +01:00
Eelco Dolstra
db88cb401b
Merge pull request #3344 from LnL7/ssh-ng-remote-params
...
ssh-store: add remote-store and remote-program query params
2020-02-04 10:10:08 +01:00
Daiderd Jordan
8745c63d3c
ssh-store: add remote-store and remote-program query params
...
Brings the functionality of ssh-ng:// in sync with the legacy ssh://
implementation. Specifying the remote store uri enables various useful
things. eg.
$ nix copy --to ssh-ng://cache?remote-store=file://mnt/cache --all
2020-02-03 23:22:28 +01:00
Eelco Dolstra
0a4e911cf4
Install headers in the correct location
2020-02-03 18:04:09 +01:00
Eelco Dolstra
a2628b43bb
Fix URL parser
...
Fixes #3062 .
2020-02-03 15:27:26 +01:00
Eelco Dolstra
d070e1c532
Fix parsing of '#nixosConfigurations."hostname".config...'
...
This is not strictly speaking valid but who cares.
2020-02-03 14:29:34 +01:00
Eelco Dolstra
44d6421160
Emit narHash attribute
2020-02-03 14:15:39 +01:00
Eelco Dolstra
d5334c466b
Automatically do git/hg add on flake.lock
2020-02-02 16:33:22 +01:00
Eelco Dolstra
f83acbbfe3
Don't store fragment in FlakeRef
2020-02-02 16:33:19 +01:00
Eelco Dolstra
86748d3571
Re-read flake after updating flake.lock
...
Otherwise we'll evaluate the flake with the wrong metadata (rev, ...).
2020-02-02 15:46:30 +01:00
Eelco Dolstra
af35b318f3
Detect circular flake imports
...
Fixes #2997 .
2020-02-02 13:14:34 +01:00
Eelco Dolstra
a9ebc3ea5d
Remove the git+ and hg+ prefixes from structured input refs
2020-02-02 13:06:00 +01:00
Eelco Dolstra
94a94da075
Substitute flake inputs
...
This improves reproducibility and may be faster than fetching from the
original source (especially for git/hg inputs, but probably also for
github inputs - our binary cache is probably faster than GitHub's
dynamically generated tarballs).
Unfortunately this doesn't work for the top-level flake since even if
we know the NAR hash of the tree, we don't know the other tree
attributes such as revCount and lastModified.
Fixes #3253 .
2020-02-02 12:41:23 +01:00
Eelco Dolstra
fad9faf354
Add TreeInfo::computeStorePath()
2020-02-02 12:29:53 +01:00
Eelco Dolstra
7bcc9f2aaf
Add convenience overload for toRealPath()
2020-02-02 12:28:56 +01:00
Eelco Dolstra
958ec5de56
Cleanup
2020-02-02 11:31:58 +01:00
Eelco Dolstra
b270869466
Renamed ref / resolvedRef -> lockedRef
2020-02-02 00:06:59 +01:00
Eelco Dolstra
887730aab3
Remove superfluous TreeInfo::rev field
2020-02-01 23:54:20 +01:00
Eelco Dolstra
b9d64f9318
Record TreeInfo in the lock file
...
Necessary for #3253 .
2020-02-01 23:33:44 +01:00
Eelco Dolstra
8451298b35
Factor out TreeInfo
2020-02-01 22:06:55 +01:00
Eelco Dolstra
c5319e5d0b
Show "warning:" in yellow instead of red
2020-02-01 12:37:22 +01:00
Eelco Dolstra
5d70b454be
nix flake update: Imply --refresh
2020-02-01 12:30:49 +01:00
Eelco Dolstra
54037f4e2d
Allow flake input specification via attributes rather than a URL
...
E.g.
inputs.dwarffs = {
type = "github";
owner = "edolstra";
repo = "dwarffs";
};
rather than
inputs.dwarffs.url = github:edolstra/dwarffs;
2020-01-31 20:50:46 +01:00
Eelco Dolstra
185c3c8240
Cleanup
2020-01-31 19:35:28 +01:00
Eelco Dolstra
8414685c0f
Change lock file format to use an attribute representation of flake refs rather than URLs
2020-01-31 19:16:40 +01:00
Eelco Dolstra
e91f32f2b5
Use light box drawing symbols
2020-01-31 14:09:27 +01:00
Eelco Dolstra
678301072f
nix flake list-inputs: Pretty-print the tree
2020-01-31 14:09:27 +01:00
Eelco Dolstra
a6e2b6b360
nix flake deps -> nix flake list-inputs
...
Also add a --json flag.
2020-01-31 13:00:50 +01:00