about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2016-02-09 Start of new Nix command-line interfaceEelco Dolstra14-74/+362
2016-02-09 New command line parsing infrastructureEelco Dolstra6-79/+470
2016-02-04 More of the sameEelco Dolstra5-13/+13
2016-02-04 StoreAPI -> StoreEelco Dolstra24-51/+51
Calling a class an API is a bit redundant...
2016-02-04 Eliminate the "store" global variableEelco Dolstra36-450/+503
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.)
2016-02-01 Remove tests/lexer.shEelco Dolstra3-4/+1
"tests/lang.sh" can handle this.
2016-01-31 Add build mode to compute fixed-output derivation hashesEelco Dolstra3-7/+34
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-8a2f5f0607540ffe56b56d52db544373e1efb980-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 9e7c1a4bbdbe6129dd9dc385776612c307d3d1bb ... build produced path ‘/nix/store/gmsnh9i7x4mb7pyd2ns7n3c9l90jfsi1-nix’ with sha256 hash ‘1188xb621diw89n25rifqg9lxnzpz7nj5bfh4i1y3dnis0dmc0zp’ (Having to specify a fake sha256 hash is a bit annoying...)
2016-01-31 Use the daemon when we don't have write access to the Nix databaseEelco Dolstra7-13/+57
2016-01-28 UntabifyEelco Dolstra1-16/+16
2016-01-28 UntabifyEelco Dolstra1-63/+63
2016-01-28 printMissing(): Propagate store argumentEelco Dolstra3-5/+5
2016-01-28 Add .dir-locals.el for EmacsEelco Dolstra1-0/+16
2016-01-27 Define HashType's size to allow it to be forward-declaredEelco Dolstra1-1/+1
2016-01-27 TriviaEelco Dolstra1-1/+2
2016-01-27 Make hashLength32() a method of HashEelco Dolstra2-12/+15
2016-01-20 string2Int: Barf on negative numbers for unsigned typesEelco Dolstra1-1/+3
2016-01-20 Fix broken call to shellwordsBrian McKenna1-1/+1
nix-shell shebangs were broken by 9018deab
2016-01-20 Revert "Revert "next try for "don't abort when given unmatched '}' with ↵Eelco Dolstra4-8/+23
'start-condition stack underflow'. This fixes #751""" This reverts commit b669d3d2e83d3c50238751b57cff3ed0ca39bc8a.
2016-01-20 BumpEelco Dolstra1-1/+1
2016-01-20 Fix evalEelco Dolstra1-2/+1
2016-01-20 Revert "next try for "don't abort when given unmatched '}' with ↵Eelco Dolstra4-23/+8
'start-condition stack underflow'. This fixes #751"" This reverts commit ed23c8568e10d15196bb4ff2b79fc14191d28109. Let's merge this *after* the 1.11.1 release.
2016-01-19 Merge branch 'lexer-regression-fix' of git://github.com/fkz/nixShea Levy4-8/+23
2016-01-19 next try for "don't abort when given unmatched '}' with 'start-condition ↵Fabian Schmitthenner4-8/+23
stack underflow'. This fixes #751" This reverts commit 8120b6fb8a4924f8ae717bba9bbda4a2f89e2141 and fixes the regression introduced in 8d22b26448a091c76ab972c0b0603daac5e255e4.
2016-01-19 Add tests for Nixpkgs/NixOS evaluationEelco Dolstra1-0/+24
2016-01-19 Do a 1.11.1 brown paper bag releaseEelco Dolstra1-1/+1
2016-01-19 Revert "don't abort when given unmatched '}' with 'start-condition stack ↵Eelco Dolstra1-17/+7
underflow'. This fixes #751" This reverts commit 8d22b26448a091c76ab972c0b0603daac5e255e4. 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
2016-01-19 Bump versionEelco Dolstra1-1/+1
2016-01-19 GrmblEelco Dolstra1-1/+1
2016-01-18 Update release notesEelco Dolstra1-2/+38
2016-01-18 Document --checkEelco Dolstra1-0/+27
2016-01-18 <nix/buildenv.nix>: Don't substituteEelco Dolstra1-1/+4
This should get rid of a certificate warning from "nix-env -i" early in the install script.
2016-01-18 doc/manual/command-ref/nix-collect-garbage.xml: document --max-freed optionPeter Simons1-0/+1
Mention the --max-freed option in the nix-collect-garbage man page. Related to https://github.com/NixOS/nix/issues/609.
2016-01-17 Merge branch 'lexer' of git://github.com/fkz/nixShea Levy1-7/+17
2016-01-12 don't abort when given unmatched '}' with 'start-condition stack underflow'. ↵Fabian Schmitthenner1-7/+17
This fixes #751
2016-01-12 --option build-repeat: Keep the differing output if -K is givenEelco Dolstra1-7/+38
Similar to 00903fa79961d7eb0fadeb9ed2d7cda7821dc293. Regardless of -K, we now also print which output differs.
2016-01-12 Canonicalize gids to 0Eelco Dolstra1-2/+2
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.
2016-01-12 --check: Keep the differing output if -K is givenEelco Dolstra1-2/+12
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 ...
2016-01-12 --check: Fix "failed to produce output path"Eelco Dolstra1-1/+1
This occured when sandbox building is disabled, at least one output exists, and at least one other output does not.
2016-01-12 --check: Fix assertion failure when some outputs are missingEelco Dolstra1-1/+1
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.
2016-01-12 Revert "Do not override environment CFLAGS and CXXFLAGS"Eelco Dolstra1-0/+2
This reverts commit 80ebd60e7ca3c48a19b94ddaeebb23182b703178. The reason why we cleared CFLAGS/CXXFLAGS was because otherwise we get a default value of -O2, which interferes with the defaults set in the Makefile. (E.g. "make OPTIMIZE=0" should not pass -O2.)
2016-01-08 Temporarily do Darwin builds from a different Nixpkgs branchEelco Dolstra1-2/+4
2016-01-07 Revert accidental disable of doInstallCheckEelco Dolstra1-1/+1
2016-01-07 Fix "Bad address" executing build hookEelco Dolstra2-6/+10
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...
2016-01-07 Fix some signedness warningsEelco Dolstra2-2/+2
2016-01-07 Fix bad use of croak()Eelco Dolstra1-22/+22
Detected by -Werror=format-security. http://hydra.nixos.org/build/29973207
2016-01-07 Fix repair testEelco Dolstra1-0/+12
http://hydra.nixos.org/build/30001635
2016-01-06 nix-store --repair-path: Rebuild if there is no substituterEelco Dolstra1-2/+12
2016-01-06 Fix --repair failure on multiple-output derivationsEelco Dolstra1-1/+3
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
2016-01-06 TypoEelco Dolstra1-1/+1
2016-01-05 Verify TLS certificate before downloading binariesPhilip Potter2-3/+2
The --insecure flag to curl tells curl not to bother checking if the TLS certificate presented by the server actually matches the hostname requested, and actually is issued by a trusted CA chain. This almost entirely negates any benefit from using TLS in the first place. This removes the --insecure flag to ensure we actually have a secure connection to the intended hostname before downloading binaries. Manually tested locally within a dev-shell; was able to download binaries from https://cache.nixos.org without issue. [Note: --insecure was only used for fetching NARs, whose integrity is verified by Nix anyway using the hash from the .narinfo. But if we can fetch the .narinfo without --insecure, we can also fetch the .nar, so there is not much point to using --insecure. --Eelco]