- Feb 04, 2016
-
-
Eelco Dolstra authored
Also, move a few free-standing functions into StoreAPI and Derivation. Also, introduce a non-nullable smart pointer, ref<T>, which is just a wrapper around std::shared_ptr ensuring that the pointer is never null. (For reference-counted values, this is better than passing a "T&", because the latter doesn't maintain the refcount. Usually, the caller will have a shared_ptr keeping the value alive, but that's not always the case, e.g., when passing a reference to a std::thread via std::bind.)
-
- Jan 31, 2016
-
-
Eelco Dolstra authored
For example, $ nix-build --hash -A nix-repl.src will build the fixed-output derivation nix-repl.src (a fetchFromGitHub call), but instead of *verifying* the hash given in the Nix expression, it prints out the resulting hash, and then moves the result to its content-addressed location in the Nix store. E.g build produced path ‘/nix/store/504a4k6zi69dq0yjc0bm12pa65bccxam-nix-repl-8a2f5f06-src’ with sha256 hash ‘0cjablz01i0g9smnavhf86imwx1f9mnh5flax75i615ml71gsr88’ The goal of this is to make all nix-prefetch-* scripts unnecessary: we can just let Nix run the real thing (i.e., the corresponding fetch* derivation). Another example: $ nix-build --hash -E 'with import <nixpkgs> {}; fetchgit { url = "https://github.com/NixOS/nix.git"; sha256 = "ffffffffffffffffffffffffffffffffffffffffffffffffffff"; }' ... git revision is 9e7c1a4b ... build produced path ‘/nix/store/gmsnh9i7x4mb7pyd2ns7n3c9l90jfsi1-nix’ with sha256 hash ‘1188xb621diw89n25rifqg9lxnzpz7nj5bfh4i1y3dnis0dmc0zp’ (Having to specify a fake sha256 hash is a bit annoying...)
-
Eelco Dolstra authored
-
- Jan 28, 2016
-
-
Eelco Dolstra authored
-
Eelco Dolstra authored
-
Eelco Dolstra authored
-
- Jan 27, 2016
-
-
Eelco Dolstra authored
-
Eelco Dolstra authored
-
Eelco Dolstra authored
-
- Jan 20, 2016
-
-
Eelco Dolstra authored
-
Eelco Dolstra authored
Revert "Revert "next try for "don't abort when given unmatched '}' with 'start-condition stack underflow'. This fixes #751""" This reverts commit b669d3d2.
-
- Jan 19, 2016
-
-
Eelco Dolstra authored
Revert "next try for "don't abort when given unmatched '}' with 'start-condition stack underflow'. This fixes #751"" This reverts commit ed23c856. Let's merge this *after* the 1.11.1 release.
-
Fabian Schmitthenner authored
next try for "don't abort when given unmatched '}' with 'start-condition stack underflow'. This fixes #751" This reverts commit 8120b6fb and fixes the regression introduced in 8d22b264.
-
Eelco Dolstra authored
Revert "don't abort when given unmatched '}' with 'start-condition stack underflow'. This fixes #751" This reverts commit 8d22b264. It breaks Nixpkgs: $ nix-env -qa error: syntax error, unexpected IND_STR, expecting '}', at /home/eelco/Dev/nixpkgs-stable/pkgs/top-level/python-packages.nix:7605:8
-
- Jan 12, 2016
-
-
Fabian Schmitthenner authored
-
Eelco Dolstra authored
Similar to 00903fa7. Regardless of -K, we now also print which output differs.
-
Eelco Dolstra authored
Previously files in the Nix store were owned by root or by nixbld, depending on whether they were created by a substituter or by a builder. This doesn't matter much, but causes spurious diffoscope differences. So use root everywhere.
-
Eelco Dolstra authored
This makes it easier to investigate the non-determinism, e.g. $ nix-build pkgs/stdenv/linux -A stage1.pkgs.zlib --check -K error: derivation ‘/nix/store/l54i8wlw22656i4pk05c52ngv9rpl39q-zlib-1.2.8.drv’ may not be deterministic: output ‘/nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8’ differs from ‘/nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8-check’ $ diffoscope /nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8 /nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8-check ... ├── lib/libz.a │ ├── metadata │ │ @@ -1,15 +1,15 @@ │ │ -rw-r--r-- 30001/30000 3096 Jan 12 15:20 2016 adler32.o ... │ │ +rw-r--r-- 30001/30000 3096 Jan 12 15:28 2016 adler32.o ...
-
Eelco Dolstra authored
This occured when sandbox building is disabled, at least one output exists, and at least one other output does not.
-
Eelco Dolstra authored
E.g. $ nix-build pkgs/stdenv/linux/ -A stage1.pkgs.perl --check nix-store: src/libstore/build.cc:1323: void nix::DerivationGoal::tryToBuild(): Assertion `buildMode != bmCheck || validPaths.size() == drv->outputs.size()' failed. when perl.out exists but perl.man doesn't. The fix is to only check the outputs that exist. Note that "nix-build -A stage1.pkgs.all --check" will still give a (proper) error in this case.
-
- Jan 07, 2016
-
-
Eelco Dolstra authored
This was observed in the deb_debian7x86_64 build: http://hydra.nixos.org/build/29973215 Calling c_str() on a temporary should be fine because the temporary shouldn't be destroyed until after the execl() call, but who knows...
-
Eelco Dolstra authored
-
- Jan 06, 2016
-
-
Eelco Dolstra authored
-
Eelco Dolstra authored
If repair found a corrupted/missing path that depended on a multiple-output derivation, and some of the outputs of the latter were not present, it failed with a message like error: path ‘/nix/store/cnfn9d5fjys1y93cz9shld2xwaibd7nn-bash-4.3-p42-doc’ is not valid
-
- Jan 05, 2016
-
-
Fabian Schmitthenner authored
Also show types when nix cannot compare values of different types. This is also more consistent since types are already shown when comparing values of the same not comparable type.
-
Eelco Dolstra authored
-
Shea Levy authored
For example, "${{ foo = "bar"; __toString = x: x.foo; }}" evaluates to "bar". With this, we can delay calling functions like mkDerivation, buildPythonPackage, etc. until we actually need a derivation, enabling overrides and other modifications to happen by simple attribute set update.
-
FrankHB authored
`BUFSIZ` is defined in header `<cstdio>`.
-
Eelco Dolstra authored
-
Vladimír Čunát authored
The text is just a conversion of comment from src/libexpr/primops.cc
-
Tuomas Tynkkynen authored
-
- Jan 04, 2016
-
-
Eelco Dolstra authored
This makes Darwin consistent with Linux: Nix expressions can't break out of the sandbox unless relaxed sandbox mode is enabled. For the normal sandbox mode this will require fixing #759 however.
-
Eelco Dolstra authored
Otherwise, since the call to write a "d" character to the lock file can fail with ENOSPC, we can get an unhandled exception resulting in a call to terminate().
-
- Dec 29, 2015
-
-
Eelco Dolstra authored
Caused by 8063fc49. If tmpDir != tmpDirInSandbox (typically when there are multiple concurrent builds with the same name), the *Path attribute would not point to an existing file. This caused Nixpkgs' writeTextFile to write an empty file. In particular this showed up as hanging VM builds (because it would run an empty run-nixos-vm script and then wait for it to finish booting).
-
- Dec 22, 2015
-
-
Eelco Dolstra authored
Hopefully fixes Darwin sandbox regression introduced in 8063fc49.
-
Eelco Dolstra authored
-
Eelco Dolstra authored
-
- Dec 17, 2015
-
-
Eelco Dolstra authored
We should probably disallow these, but until then, we shouldn't barf with an assertion failure. Fixes #738.
-
- Dec 10, 2015
-
-
Eelco Dolstra authored
Also, use "#if __APPLE__" instead of "#if SANDBOX_ENABLED" to prevent ambiguity.
-
- Dec 08, 2015
-
-
Bjørn Forsman authored
This is arguably nitpicky, but I think this new formulation is even clearer. My thinking is that it's easier to comprehend when the calculated hash value is displayed close to the output path. (I think it is somewhat similar to eliminating double negatives in logic statements.) The formulation is inspired / copied from the OpenEmbedded build tool, bitbake.
-