aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-10-31config: use all of XDG_CONFIG_DIRSLinus Heckemann
Previously, config would only be read from XDG_CONFIG_HOME. This change allows reading config from additional directories, which enables e.g. per-project binary caches or chroot stores with the help of direnv.
2018-10-16Fix assertion failure in Store::queryPathInfo()Eelco Dolstra
$ nix-store -qR /nix/store/fnord nix-store: src/libstore/store-api.cc:80: std::__cxx11::string nix::storePathToHash(const Path&): Assertion `base.size() >= storePathHashLen' failed. Aborted
2018-10-16RemoteStore: Close connection if an exception occursEelco Dolstra
Fixes #2075.
2018-10-16Get rid of UDSRemoteStore::ConnectionEelco Dolstra
Since its superclass RemoteStore::Connection contains 'to' and 'from' fields that refer to the file descriptor maintained in the subclass, it was possible for the flush() call in Connection::~Connection() to write to a closed file descriptor (or worse, a file descriptor now referencing another file). So make sure that the file descriptor survives 'to' and 'from'.
2018-10-08Merge pull request #2452 from ElvishJerricco/verify-sigs-overflowEelco Dolstra
Fix overflow when verifying signatures of content addressable paths
2018-10-04Remove unnecessary typecastEelco Dolstra
2018-09-28Check requiredSystemFeatures for local buildsEelco Dolstra
For example, this prevents a "kvm" build on machines that don't have KVM. Fixes #2012.
2018-09-28Move structured attrs handling into a separate classEelco Dolstra
This is primarily because Derivation::{can,will}BuildLocally() depends on attributes like preferLocalBuild and requiredSystemFeatures, but it can't handle them properly because it doesn't have access to the structured attributes.
2018-09-28Remove obsolete check on system featuresEelco Dolstra
2018-09-28Support special attributes in structured attributes derivationsEelco Dolstra
E.g. __noChroot and allowedReferences now work correctly. We also now check that the attribute type is correct. For instance, instead of allowedReferences = "out"; you have to write allowedReferences = [ "out" ]; Fixes #2453.
2018-09-27S3BinaryCacheStore: Don't create bucketsEelco Dolstra
This meant that making a typo in an s3:// URI would cause a bucket to be created. Also it didn't handle eventual consistency very well. Now it's up to the user to create the bucket.
2018-09-27Merge pull request #2455 from grahamc/add-interactive-pathEelco Dolstra
nix-shell: add bashInteractive to the start of the PATH, set SHELL
2018-09-27nix-shell: add bashInteractive to the start of the PATH, set SHELLGraham Christensen
Tools which re-exec `$SHELL` or `$0` or `basename $SHELL` or even just `bash` will otherwise get the non-interactive bash, providing a broken shell for the same reasons described in https://github.com/NixOS/nixpkgs/issues/27493. Extends c94f3d5575d7af5403274d1e9e2f3c9d72989751
2018-09-27Don't talk about a "current folder build output"Eelco Dolstra
Presumably this refers to ./default.nix but the support for that in 'nix' is tenuous. Also folders are a Mac thing.
2018-09-26Ensure download thread livenessEelco Dolstra
* Don't wait forever for the client to remove data from the buffer. This does mean that the buffer can grow without bounds (e.g. when downloading is faster than writing to disk), but meh. * Don't hold the state lock while calling the sink. The sink could take any amount of time to process the data (in particular when it's actually a coroutine), so we don't want to block the download thread.
2018-09-26UntabifyEelco Dolstra
2018-09-26sinkToSource(): Start the coroutine lazilyEelco Dolstra
In particular this causes copyStorePath() from HttpBinaryCacheStore to only start a download if needed. E.g. if the destination LocalStore goes to sleep waiting for the path lock and another process creates the path, then LocalStore::addToStore() will never read from the source so we don't have to do the download.
2018-09-26Make NAR header check more robustEelco Dolstra
Changes std::bad_alloc into bad archive: input doesn't look like a Nix archive
2018-09-25Fix overflow when verifying signatures of content addressable pathsWill Fancher
2018-09-25nix-daemon: allow setting builders to "" by any user (untrusted)Will Dietz
(cherry picked from commit a94a2eb1cb1c81e90a7529be5fecac27899a3442)
2018-09-24Merge pull request #2312 from ↵Eelco Dolstra
dtzWill/fix/matched-names-should-still-print-version search: include version for matches too!
2018-09-17nix-env: Fix segfault if -f argument is not a directory or a Nix expressionEelco Dolstra
Fixes #2425.
2018-09-17Fix build failure if parallel xz is not availableEelco Dolstra
2018-09-13Merge branch 'dirOf-relative' of https://github.com/lheckemann/nixEelco Dolstra
2018-09-10auto args on replDing Xiang Fei
2018-09-07If fallback is enabled, temporarily disable substituters after a failureEelco Dolstra
Otherwise, we just keep asking the substituter for other .narinfo files, which can take a very long time due to retries/timeouts.
2018-09-07Handle queryPathInfo() failure from substituters when fallback is enabledEelco Dolstra
Fixes #1990.
2018-09-05Convert NIX_COUNT_CALLS to JSON tooEelco Dolstra
2018-09-05Log stats to stderrEelco Dolstra
We shouldn't pollute stdout.
2018-09-05Merge branch 'improve-stats' of https://github.com/cleverca22/nixEelco Dolstra
2018-09-05fetchurl: Respect unpackEelco Dolstra
Fixes #2393.
2018-09-04Get effective user in Nix commandsMatthew Bauer
‘geteuid’ gives us the user that the command is being run as, including in setuid modes. By using geteuid to determind id, we can avoid the ‘sudo -i’ hack when upgrading Nix. So now, upgrading Nix on macOS is as simple as: $ sudo nix-channel --update $ sudo nix-env -u $ sudo launchctl stop org.nixos.nix-daemon $ sudo launchctl start org.nixos.nix-daemon or $ sudo systemctl restart nix-daemon
2018-09-03download: fix size reported to progress barWill Dietz
2018-09-02remove the old text format outputMichael Bishop
2018-09-01add JSON to NIX_SHOW_STATSMichael Bishop
2018-09-01improve the stats when profilingMichael Bishop
2018-08-31nix-build: Print stats even in failing buildsGraham Christensen
2018-08-31nix-build: print stats on sucessful buildsGraham Christensen
2018-09-01fetchGit/fetchMercurial: Don't absolutize pathsEelco Dolstra
This is already done by coerceToString(), provided that the argument is a path (e.g. 'fetchGit ./bla'). It fixes the handling of URLs like git@github.com:owner/repo.git. It breaks 'fetchGit "./bla"', but that was never intended to work anyway and is inconsistent with other builtin functions (e.g. 'readFile "./bla"' fails).
2018-09-01nix path-info: Remove trailing spacesEelco Dolstra
Fixes #2390.
2018-08-31Really fix the buildEelco Dolstra
2018-08-31nix path-info: Hopefully fix macOS build failureEelco Dolstra
https://hydra.nixos.org/build/80480356
2018-08-31Add localhost alias for ::1 to the sandboxEelco Dolstra
2018-08-30fix `error: unknown serve command 9`Michael Bishop
2018-08-30nix upgrade-nix: Handle .nix-profile being a link to .../profiles/per-user/...Eelco Dolstra
Also some cosmetic improvements.
2018-08-30nix upgrade-nix: Improve error message if 'nix' is not in a profileEelco Dolstra
E.g. $ nix upgrade-nix error: directory '/home/eelco/Dev/nix/inst/bin' does not appear to be part of a Nix profile instead of $ nix upgrade-nix error: '/home/eelco/Dev/nix/inst' is not a symlink
2018-08-30Merge branch 'nix-upgrade-profile' of https://github.com/LnL7/nixEelco Dolstra
2018-08-30Add simple test for nix upgrade-nixEelco Dolstra
2018-08-30printSize() fixesEelco Dolstra
Fix a 32-bit overflow that resulted in negative numbers being printed; use fmt() instead of boost::format(); change -H to -h for consistency with 'ls' and 'du'; make the columns narrower (since they can't be bigger than 1024.0).
2018-08-30Avoid overflow and use boost::formatBenjamin Hipple
If the user has an object greater than 1024 yottabytes, it'll just display it as N yottabytes instead of overflowing. Swaps to use boost::format strings instead of std::setw and std::setprecision.