aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-01-09nix.conf: builders-use-substitutesRenzo Carbonara
Fixes #937
2018-01-09fetchGit: fix creation of uninitialized cache dir, let git create itWill Dietz
fetchGit test (as modified in previous commit) now passes.
2018-01-08Improve error message with --repair for untrusted usersEelco Dolstra
2018-01-04Rename "use-substitutes" to "substitute"Eelco Dolstra
Commit c2154d4c8422ddc1c201d503bb52edff854af2ad renamed "build-use-substitutes" to "use-substitutes", but that broke "nix-copy-closure --use-substitutes".
2018-01-02Add hasContext primopShea Levy
2017-12-30use libbrotli directly when availableWill Dietz
* Look for both 'brotli' and 'bro' as external command, since upstream has renamed it in newer versions. If neither are found, current runtime behavior is preserved: try to find 'bro' on PATH. * Limit amount handed to BrotliEncoderCompressStream to ensure interrupts are processed in a timely manner. Testing shows negligible performance impact. (Other compression sinks don't seem to require this)
2017-12-27Merge branch 'fix/issue-1757' of git://github.com/dtzWill/nixShea Levy
2017-12-26nix repl: use linenoiseKeyType to differentiate ^C and ^DWill Dietz
Fixes #1757.
2017-12-22fetchGit: Fix handling of local repo when not using 'master' branchWill Dietz
Add tests checking this behavior.
2017-12-22Check aws-sdk-cpp versionEelco Dolstra
2017-12-19linenoise.cpp: allow completions from empty inputWill Dietz
Fixes #1742.
2017-12-16Fix build on gcc 7Eelco Dolstra
Fixes #1738.
2017-12-14edit: Catch stoi exceptions from line number parsingBen Gamari
2017-12-14json-to-value: Throw sensible error message on invalid numbersBen Gamari
2017-12-14Fix build against current aws-sdk-cppEelco Dolstra
2017-12-12Merge pull request #1722 from bhipple/fix-for-older-libcurlEelco Dolstra
Fix for builds with system libcurl < 7.30
2017-12-11Mark comparison call operator as constWill Dietz
2017-12-11logging.cc: add missing 'override'Will Dietz
2017-12-11Fix forward-decl of Bindings as "class", match definition.Will Dietz
(appease clang -Wmismatched-tags warning)
2017-12-11Merge branch 'feature/linenoise-ng' of git://github.com/dtzWill/nixShea Levy
2017-12-09Fix for builds with system libcurl < 7.30Benjamin Hipple
CentOS 7.4 and RHEL 7.4 ship with libcurl-devel-7.29.0-42.el7.x86_64; this flag was added in 7.30.0 https://curl.haxx.se/libcurl/c/CURLMOPT_MAX_TOTAL_CONNECTIONS.html
2017-12-07Provide random access to cached NARsEelco Dolstra
E.g. $ time nix cat-store --store https://cache.nixos.org?local-nar-cache=/tmp/nars \ /nix/store/b0w2hafndl09h64fhb86kw6bmhbmnpm1-blender-2.79/share/icons/hicolor/scalable/apps/blender.svg > /dev/null real 0m4.139s $ time nix cat-store --store https://cache.nixos.org?local-nar-cache=/tmp/nars \ /nix/store/b0w2hafndl09h64fhb86kw6bmhbmnpm1-blender-2.79/share/icons/hicolor/scalable/apps/blender.svg > /dev/null real 0m0.024s (Before, the second call took ~0.220s.) This will use a NAR listing in /tmp/nars/b0w2hafndl09h64fhb86kw6bmhbmnpm1.ls containing all metadata, including the offsets of regular files inside the NAR. Thus, we don't need to read the entire NAR. (We do read the entire listing, but that's generally pretty small. We could use a SQLite DB by borrowing some more code from nixos-channel-scripts/file-cache.hh.) This is primarily useful when Hydra is serving files from an S3 binary cache, in particular when you have giant NARs. E.g. we had some 12 GiB NARs, so accessing individuals files was pretty slow.
2017-12-07nix ls-{nar,store}: Return offset of files in the NAR if knownEelco Dolstra
E.g. $ nix ls-store --json --recursive --store https://cache.nixos.org /nix/store/b0w2hafndl09h64fhb86kw6bmhbmnpm1-blender-2.79 \ | jq .entries.bin.entries.blender.narOffset 400
2017-12-06ssh-store: fix length when writing narDaiderd Jordan
This fixes nix copy and other things that use copyStorePath.
2017-12-05Merge branch 'fetchGit-fast-revision-update'Shea Levy
2017-12-04Simplify build by including nlohmann/json.hppEelco Dolstra
2017-12-04Fix #1635.Eelco Dolstra
2017-11-29Fix "Unexpected EOF reading a line" errorLinus Heckemann
propagated-user-env-packages files in nixpkgs aren't all terminated by newlines, as buildenv expected. Now it does not require a terminating newline; note that this introduces a behaviour change: propagated user env packages may now be spread across multiple lines. However, nix 1.11.x still expects them to be on a single line so this shouldn't be used in nixpkgs for now.
2017-11-28Show log tail when a remote build failsEelco Dolstra
2017-11-27no "linenoiseFree" in linenoise-ngWill Dietz
2017-11-27replace vendored linenoise with linenoise-ngWill Dietz
2017-11-25build-remote: Fix missing log outputaszlig
The storeUri variable in the build-remote hook is declared very much to the start of the main function and a bunch of lines later, the same variable gets checked via hasPrefix() but it gets assigned *after* that check when the most suitable machine for the build was choosen. So I guess this was just a typo in d16fd2497374671c92cb877f9570d65783a7 and what we really want is to either checkd the prefix *after* assigning storeUri or use bestMachine->storeUri directly. I choose the latter, because the former could introduce even more regressions if the try block where the variable gets assigned terminates early. Nevertheless, the reason why the log output didn't work is because hasPrefix() checked for "ssh://" in front of storeUri, but if the storeUri isn't set correctly (or at all), we don't get the log file descriptor set up properly, leading to no log output. I've adjusted the remote-builds test to include a regression test for this, so that we can make sure we get a build output when using remote builds. In addition to that I've tested this with two of my build farms and the build logs are emitted correctly again. Signed-off-by: aszlig <aszlig@nix.build>
2017-11-24nix path-info: Show URL of NARs in binary cachesEelco Dolstra
2017-11-24nix-shell/nix-build: Support .drv files againEelco Dolstra
Fixes #1663. Also handle '!<output-name>' (#1694).
2017-11-24fetchGit: Ignore tarballTtl if rev is set and not in the repo.Shea Levy
Fixes #1697.
2017-11-21fetchGit/fetchMercurial: Fix directory inclusion checkEelco Dolstra
E.g. the existence of .gitignore would cause .git to be included.
2017-11-21Propagate flags like --sandbox to the daemon properlyEelco Dolstra
2017-11-20nix eval --raw: Use coerceToString()Eelco Dolstra
Thus, $ nix eval --raw '("foo")' foo $ nix eval --raw nixpkgs.hello /nix/store/1y6ckg6khrdsvll54s5spcmf3w6ka9k4-hello-2.10 $ nix eval --raw '(/etc/resolv.conf)' /nix/store/vml92ama92i8mz013nny461mlvg8mvap-resolv.conf
2017-11-20nix run: Fix "flag '--command' requires 2 argument(s)"Eelco Dolstra
2017-11-20nix run: Fix accidental removal of /nix/store existence checkEelco Dolstra
Parenthetical to #1686, we don't need to create a new root if we can just bind-mount on top of the existing /nix/store.
2017-11-20nix run: Ignore non-directories while setting up the chrootEelco Dolstra
Fixes #1686.
2017-11-20signed-binary-caches -> require-sigsEelco Dolstra
Unlike signed-binary-caches (which could only be '*' or ''), require-sigs is a proper Boolean option. The default is true.
2017-11-20CleanupEelco Dolstra
2017-11-20binary-cache-public-keys -> trusted-public-keysEelco Dolstra
The name had become a misnomer since it's not only for substitution from binary caches, but when adding/copying any (non-content-addressed) path to a store.
2017-11-20Merge pull request #1645 from twhitehead/stat-raceEelco Dolstra
Fix (highly unlikely) race condition in readLink
2017-11-20nix copy: Abbreviate "daemon"Eelco Dolstra
2017-11-15Add a "profile" option to S3BinaryCacheStoreEelco Dolstra
This allows specifying the AWS configuration profile to use. E.g. nix copy --from s3://my-cache?profile=aws-dev-account /nix/store/cf3isrlqavvd5w7rpky1fa8j9lcnlggm-...
2017-11-14anchor nix::Exit exceptionWill Dietz
2017-11-14nix sign-paths: Support binary cachesEelco Dolstra
2017-11-14Revert "Don't parse "x:x" as a URI"Eelco Dolstra
This reverts commit f90f660b243866b8860eeb24cc4a345d32cc7ce7. This broke Hydra's release.nix, which contained preCheck = ''export LOGNAME=${LOGNAME:-foo}'';