Age | Commit message (Collapse) | Author |
|
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
|
|
Rather than copying them around everywhere
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
|
|
|
|
|
|
|
|
Otherwise registering the realisations on the remote side might fail as
it now expects a complete closure
|
|
|
|
Only considers the closure in term of `Realisation`, ignores all the
opaque inputs.
Dunno whether that’s the nicest solution, need to think it through a bit
|
|
|
|
Currently never used, nor set but will be useful shortly
|
|
|
|
Align all the worker protocol with `buildDerivation` which inlines the
realisations as one opaque json blob.
That way we don’t have to bother changing the remote store protocol
when the definition of `Realisation` changes, as long as we keep the
json backwards-compatible
|
|
fix doc: nix profile info -> nix profile list
|
|
Signed-off-by: Michael Adler <therisen06@gmail.com>
|
|
Extract a generic `computeClosure` function
|
|
Move the `closure` logic of `computeFSClosure` to its own (templated) function.
This doesn’t bring much by itself (except for the ability to properly
test the “closure” functionality independently from the rest), but it
allows reusing it (in particular for the realisations which will require
a very similar closure computation)
|
|
Fix extra slash in canonPath output
|
|
When you have a symlink like:
/tmp -> ./private/tmp
you need to resolve ./private/tmp relative to /tmp’s dir: ‘/’. Unlike
any other path output by dirOf, / ends with a slash. We don’t want
trailing slashes here since we will append another slash in the next
comoponent, so clear s like we would if it was a symlink to an absoute
path.
This should fix at least part of the issue in
https://github.com/NixOS/nix/issues/4822, will need confirmation that
it actually fixes the problem to close though.
Introduced in f3f228700a52857fe6e8632df4e935551ea219ff.
|
|
Restore an accidentally suppressed negation
|
|
Accidentally removed in ca96f5219489c1002499bfe2c580fdd458219144. This
caused `nix run` to systematically fail with
```
error: app program '/nix/store/…' is not in the Nix store
```
|
|
Source bashrc first in nix develop
|
|
Split the parsing of an `App` and its resolving
|
|
~/.bashrc should be sourced first in the rc script so that PATH &
other env vars give precedence over the bashrc PATH.
Also, in my bashrc I alias rm as:
alias rm='rm -Iv'
To avoid running this alias (which shows ‘removed '/tmp/nix-shell.*'),
we can just prefix rm with command.
|
|
That way things (like `nix flake check`) can evaluate the `app` outputs
without having to build anything
|
|
Resolve the program path in `nix run`
|
|
Enforce the use of properly built paths in libcmd
|
|
|
|
emilazy/fix-sandboxed-big-sur-system-version-access
sandbox: allow SystemVersionCompat.plist on Darwin
|
|
Fix #4768
|
|
Replace `DerivedPathWithHints` by a new `BuiltPath` type that serves as
a proof that the corresponding path has been built.
|
|
For whatever reason, many programs trying to access SystemVersion.plist
also open SystemVersionCompat.plist; this includes Python code and
coreutils’ `cat(1)` (but not the native macOS `/bin/cat`). Illustratory
`dtruss(1m)` output:
open("/System/Library/CoreServices/SystemVersion.plist\0", 0x0, 0x0) = 3 0
open("/System/Library/CoreServices/SystemVersionCompat.plist\0", 0x0, 0x0) = 4 0
I assume this is a Big Sur change relating to the 10.16.x/11.x
version compatibility divide and that it’s something along the lines of
a hook inside libSystem.
Fixes a lot of sandboxed package builds under Big Sur.
|
|
|
|
Relock wait for build slot goals
|
|
Fix tokenize output names in DerivedPath
|
|
This should fix the issue described in
https://discourse.nixos.org/t/derivation-does-not-have-wanted-outputs-dev-out/12905.
Specifically, we get an error of
error: derivation '/nix/store/_.drv' does not have wanted outputs 'dev,out'
when a path like /nix/store/_.drv!dev,out is sent to the daemon.
|
|
When we don’t have enough free job slots to run a goal, we put it in
the waitForBuildSlot list & unlock its output locks. This will
continue from where we left off (tryLocalBuild). However, we need the
locks to get reacquired when/if the goal ever restarts. So, we need to
send it back through tryToBuild to get reqacquire those locks.
I think this bug was introduced in
https://github.com/NixOS/nix/pull/4570. It leads to some builds
starting without proper locks.
|
|
Just a renaming for now
|
|
doc: mention Priority for substituters
|
|
|
|
When commit 233b61d3d6482544c35b9d340240bf3260acff13 (#4224) renamed
@binaryTarball_${system}@ to @tarballHash_${system}@, it updated this
reference for every platform except Darwin.arm64.
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
|
|
doc/nix-shell: Remove outdated bashrc information
|
|
This behaviour was removed in 65f6d5db6f5ef2724a3dc03e1773c510123287f1.
|
|
Add a realisations disk cache
|
|
Implement `builtins.floor` and `builtins.ceil` using the C library functions internally
|
|
|
|
I never remember the exact syntax of the `switch` statement
|
|
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
|
|
Properly normalize the content-addressed paths
|
|
internally
Closes #4782
Note: even though the type is internally called `NixFloat`, it's
actually a `double`.
|
|
launchd: Use exec to avoid leaving the extra shell wrapper running
|