aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-10Implement `builtins.floor` and `builtins.ceil` using the C library functions ↵Maximilian Bosch
internally Closes #4782 Note: even though the type is internally called `NixFloat`, it's actually a `double`.
2021-05-06Merge pull request #4778 from ↵Eelco Dolstra
matthewbauer/fix-nix-profile-install-first-output-2 Use derivation output name from toDerivation
2021-05-05Use derivation output name from toDerivationMatthew Bauer
This was previously done in https://github.com/NixOS/nix/pull/4515 but got clobbered away in https://github.com/NixOS/nix/pull/4594. -------------------------------------------------------------------------------- This fixes an issue where derivations with a primary output that is not "out" would fail with: $ nix profile install nixpkgs#sqlite error: opening directory '/nix/store/2a2ydlgyydly5czcc8lg12n6qqkfz863-sqlite-3.34.1-bin': No such file or directory This happens because while derivations produce every output when built, you might not have them if you didn't build the derivation yourself (for instance, the store path was fetch from a binary cache). This uses outputName provided from DerivationInfo which appears to match the first output of the derivation.
2021-05-04Merge pull request #4767 from NixOS/fix-s3-ca-cachingEelco Dolstra
Fix the double-slash in the realisations path
2021-05-04Fix the double-slash in the realisations pathregnat
Make sure that we always access the realisations under `binaryCacheUrl/realisations` and not `binaryCacheUrl//realisations` Fix #4766
2021-05-03Merge pull request #4750 from NinjaTrappeur/nin-build-dry-run-jsonEelco Dolstra
nix build: make dry-run to print a json output if --json is enabled
2021-05-03Merge pull request #4761 from ↵Eelco Dolstra
emilazy/issue-4658-mark-impure-host-deps-as-optional Mark `__impureHostDeps` paths as optional
2021-05-03Merge pull request #4763 from Ma27/fix-nix-shell-errorEelco Dolstra
Bump version number for `DerivedPath` changes
2021-05-03Bump version number for `DerivedPath` changesMaximilian Bosch
I guess I misunderstood John's initial explanation about why wildcards for outputs are sent to older stores[1]. My `nix-daemon` from 2021-03-26 also has version 1.29, but misses the wildcard[2]. So bumping seems to be the right call. [1] https://github.com/NixOS/nix/pull/4759#issuecomment-830812464 [2] 255d145ba7ac907d1cba8d088da556b591627756
2021-05-02Mark `__impureHostDeps` paths as optionalEmily
Starting in macOS 11, the on-disk dylib bundles are no longer available, but nixpkgs needs to be able to keep compatibility with older versions that require `/usr/lib/libSystem.B.dylib` in `__impureHostDeps`. Allow it to keep backwards compatibility with these versions by marking these dependencies as optional. Fixes #4658.
2021-04-29Merge pull request #4289 from abathur/encrypt_darwin_volumeGraham Christensen
darwin: encrypt nix volume if filevault is enabled
2021-04-29darwin: encrypt nix volume if filevault is enabledTravis A. Everett
2021-04-27Merge pull request #4751 from Ma27/storepath-posDomen Kožar
primops/storePath: add trace to pure mode error
2021-04-27primops/storePath: add trace to pure mode errorMaximilian Bosch
As described in #4745 it's otherwise fairly hard to understand where this is coming from. Say you have an expression which uses e.g. `types.package`: ``` nix { outputs = { self, nixpkgs }: { packages.x86_64-linux.hello = let foo = nixpkgs.lib.evalModules { modules = [ { options.foo.bar = with nixpkgs.lib; mkOption { type = types.package; }; } { foo.bar = ./.; } ]; }; in builtins.trace foo.config.foo.bar.outPath nixpkgs.legacyPackages.x86_64-linux.hello; defaultPackage.x86_64-linux = self.packages.x86_64-linux.hello; }; } ``` Then you'll get an error trace like this: ``` error: 'builtins.storePath' is not allowed in pure evaluation mode at /nix/store/p4h2x6r80njkb0j2rc1xjhhl99yri3zb-source/lib/attrsets.nix:328:15: 327| let 328| path' = builtins.storePath path; | ^ 329| res = … while evaluating the attribute 'config.foo.bar.outPath' at /nix/store/p4h2x6r80njkb0j2rc1xjhhl99yri3zb-source/lib/attrsets.nix:332:11: 331| name = sanitizeDerivationName (builtins.substring 33 (-1) (baseNameOf path')); 332| outPath = path'; | ^ 333| outputs = [ "out" ]; … while evaluating the attribute 'packages.x86_64-linux.hello' at /nix/store/6c1rfsqzrhjw1235palzjmf5vihcpci7-source/flake.nix:3:5: 2| { outputs = { self, nixpkgs }: { 3| packages.x86_64-linux.hello = let | ^ 4| foo = nixpkgs.lib.evalModules { ``` Fixes #4745
2021-04-27nix build: make dry-run to print a json output if --json is enabledFélix Baylac-Jacqué
2021-04-23Merge branch 'remove-trailing-spaces' of github.com:NixOS/nixEelco Dolstra
2021-04-23Replace the trailing markdown spaces by a backslashregnat
They are equivalent according to <https://spec.commonmark.org/0.29/#hard-line-breaks>, and the trailing spaces tend to be a pain (because the make git complain, editors tend to want to remove them − the `.editorconfig` actually specifies that − etc..).
2021-04-23Merge pull request #4732 from NixOS/4725-always-register-the-realisationsEelco Dolstra
Aways register the realisations
2021-04-23Merge pull request #4735 from NixOS/document-ca-derivationsEelco Dolstra
(briefly) document how to build ca derivations
2021-04-23Use lowdown 0.8.4Eelco Dolstra
2021-04-23Set more man sectionsEelco Dolstra
2021-04-23Merge branch 'man1' of https://github.com/alyssais/nixEelco Dolstra
2021-04-23doc: fix section in nix3 man page metadataAlyssa Ross
These man pages said they were in section 7, even though we were installing them to section 1 (which is the right place for them).
2021-04-23Merge pull request #4440 from Ma27/misc-pos-fixesEelco Dolstra
Miscellaneous improvements for positioning in eval-errors
2021-04-23(briefly) document how to build ca derivationsregnat
2021-04-23Revert "Make `nix shell` fallback to static outputs when needed"regnat
This reverts commit 8d66f5f1107fe87f70ea24ade045720235cc31fa. This fix isn't needed anymore now that the realisations are always properly registered
2021-04-23fixup! Add a regression test for #4725regnat
2021-04-22Always register the realisations of input-addressed drvsregnat
Fix #4725
2021-04-22Add a regression test for #4725regnat
2021-04-22Merge branch 'master' of github.com:NixOS/nixEelco Dolstra
2021-04-22Merge branch 'nix-derivation-query-store-path' of ↵Eelco Dolstra
https://github.com/matthewbauer/nix
2021-04-22Merge pull request #4724 from NixOS/nix-shell-missing-outputsEelco Dolstra
Make `nix shell` fallback to static outputs when needed
2021-04-22Remove makeDecompressionSource()Eelco Dolstra
This function doesn't support all compression methods (i.e. 'none' and 'br') so it shouldn't be exposed. Also restore the original decompress() as a wrapper around makeDecompressionSink().
2021-04-22Merge branch 's3-decompress' of https://github.com/lukegb/nixEelco Dolstra
2021-04-22Merge pull request #4729 from alarsyo/fix-flake-doc-typoEelco Dolstra
Fix typo in flake doc
2021-04-22libutil: allow decompression with none/empty methodLuke Granger-Brown
The S3 store relies on the ability to be able to decompress things with an empty method, because it just passes the value of the Content-Encoding directly to decompress. If the file is not compressed, then this will cause the compression routine to get confused. This caused NixOS/nixpkgs#120120.
2021-04-22Fix typo in flake docAntoine Martin
2021-04-21Get deriver when passing --derivationMatthew Bauer
This makes Nix look up paths derivations when they are passed as a store paths. So: $ nix path-info --derivation /nix/store/0pisd259nldh8yfjvw663mspm60cn5v8-hello-2.10 now gives /nix/store/qp724w90516n4bk5r9gfb37vzmqdh3z7-hello-2.10.drv instead of "". If no deriver is available, Nix now errors instead of silently ignoring that argument.
2021-04-21Make `nix shell` fallback to static outputs when neededregnat
In case of pure input-addressed derivations, the build loop doesn't guaranty that the realisations are stored in the db (if the output paths are already there or can be substituted, the realisations won't be registered). This caused `nix shell` to fail in some cases because it was assuming that the realisations were always existing. A better (but more involved) fix would probably to ensure that we always register the realisations, but in the meantime this patches the surface issue. Fix #4721
2021-04-20Fix brotli compression of files > 128 KiBEelco Dolstra
This has been broken since faa31f40846f7a4dbc2487d000b112a6aef69d1b.
2021-04-20Merge pull request #4720 from alyssais/waitEelco Dolstra
Include sys/wait.h everywhere WIFEXITED etc is used
2021-04-19Merge pull request #4688 from Ma27/force-reevaluationEelco Dolstra
libcmd/installables: force re-evaluation of cached failures
2021-04-19Include sys/wait.h everywhere WIFEXITED etc is usedAlyssa Ross
This is required on NetBSD, and I think FreeBSD too.
2021-04-19libcmd/installables: force re-evaluation of cached failuresMaximilian Bosch
I think that it's not very helpful to get "cached failures" in a wrong `flake.nix`. This can be very confusing when debugging a Nix expression. See for instance NixOS/nixpkgs#118115. In fact, the eval cache allows a forced reevaluation which is used for e.g. `nix eval`. This change makes sure that this is the case for `nix build` as well. So rather than λ ma27 [~/Projects/exp] → ../nix/outputs/out/bin/nix build -L --rebuild --experimental-features 'nix-command flakes' error: cached failure of attribute 'defaultPackage.x86_64-linux' the evaluation of already-evaluated (and failed) attributes looks like this now: λ ma27 [~/Projects/exp] → ../nix/outputs/out/bin/nix build -L --rebuild --experimental-features 'nix-command flakes' error: attribute 'hell' missing at /nix/store/mrnvi9ss8zn5wj6gpn4bcd68vbh42mfh-source/flake.nix:6:35: 5| 6| packages.x86_64-linux.hello = nixpkgs.legacyPackages.x86_64-linux.hell; | ^ 7| (use '--show-trace' to show detailed location information)
2021-04-15Merge branch 'build-with-strictDeps' of https://github.com/hercules-ci/nixEelco Dolstra
2021-04-15Merge pull request #4679 from ony/feature/one-pass-canon-pathEelco Dolstra
Optimize canonPath to resolve relative symlinks in one pass
2021-04-15Drop unused tar dependencyEelco Dolstra
2021-04-15Drop libbz2 / zlib / lzma dependency + style fixesEelco Dolstra
2021-04-15Merge branch 'libarchive-decompress' of https://github.com/serokell/nixEelco Dolstra
2021-04-15Merge branch 'revertRemoveJSON' of https://github.com/cgohla/nixEelco Dolstra