aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-05-02Add an option for specifying remote buildersEelco Dolstra
This is useful for one-off situations where you want to specify a builder on the command line instead of having to mess with nix.machines. E.g. $ nix-build -A hello --argstr system x86_64-darwin \ --option builders 'root@macstadium1 x86_64-darwin' will perform the specified build on "macstadium1". It also removes the need for a separate nix.machines file since you can specify builders in nix.conf directly. (In fact nix.machines is yet another hack that predates the general nix.conf configuration file, IIRC.) Note: this option is supported by the daemon for trusted users. The fact that this allows trusted users to specify paths to SSH keys to which they don't normally have access is maybe a bit too much trust...
2017-05-02Factor out machines.conf parsingEelco Dolstra
This allows hydra-queue-runner to use it.
2017-05-02build-hook: If there are no machines defined, quit permanentlyEelco Dolstra
2017-05-02build-remote: Ugly hackery to get build logs to workEelco Dolstra
The build hook mechanism expects build log output to go to file descriptor 4, so do that.
2017-05-01build-remote: Don't require signaturesEelco Dolstra
This restores the old behaviour.
2017-05-01Support arbitrary store URIs in nix.machinesEelco Dolstra
For backwards compatibility, if the URI is just a hostname, ssh:// (i.e. LegacySSHStore) is prepended automatically. Also, all fields except the URI are now optional. For example, this is a valid nix.machines file: local?root=/tmp/nix This is useful for testing the remote build machinery since you don't have to mess around with ssh.
2017-05-01Minor cleanupEelco Dolstra
2017-05-01Implement LegacySSHStore::buildDerivation()Eelco Dolstra
This makes LegacySSHStore usable by build-remote and hydra-queue-runner.
2017-05-01Chomp log output from the build hookEelco Dolstra
2017-05-01Remove $NIX_BUILD_HOOK and $NIX_CURRENT_LOADEelco Dolstra
This is to simplify remote build configuration. These environment variables predate nix.conf. The build hook now has a sensible default (namely build-remote). The current load is kept in the Nix state directory now.
2017-05-01build-remote: Don't copy the .drv closureEelco Dolstra
Since build-remote uses buildDerivation() now, we don't need to copy the .drv file anymore. This greatly reduces the set of input paths copied to the remote side (e.g. from 392 to 51 store paths for GNU hello on x86_64-darwin).
2017-05-01Pass verbosity level to build hookEelco Dolstra
2017-05-01Reduce severity of EMLINK warningsEelco Dolstra
Fixes #1357.
2017-05-01Add a dummy Store::buildPaths() methodEelco Dolstra
This default implementation of buildPaths() does nothing if all requested paths are already valid, and throws an "unsupported operation" error otherwise. This fixes a regression introduced by c30330df6f67c81986dfb124631bc756c8e58c0d in binary cache and legacy SSH stores.
2017-05-01lexer: remove catch-all rules hiding real errorsGuillaume Maudoux
With catch-all rules, we hide potential errors. It turns out that a4744254 made one cath-all useless. Flex detected that is was impossible to reach. The other is more subtle, as it can only trigger on unfinished escapes in unfinished strings, which only occurs at EOF.
2017-05-01Fix lexer to support `$'` in multiline strings.Guillaume Maudoux
2017-04-28Hopefully fix the Darwin buildEelco Dolstra
http://hydra.nixos.org/build/52080911
2017-04-28Suppress warning about ssh-auth-sockEelco Dolstra
2017-04-28Check for libreadlineEelco Dolstra
2017-04-28Fix brainfartEelco Dolstra
2017-04-28Fix hash computation when importing NARs greater than 4 GiBEelco Dolstra
This caused "nix-store --import" to compute an incorrect hash on NARs that don't fit in an unsigned int. The import would succeed, but "nix-store --verify-path" or subsequent exports would detect an incorrect hash. A deeper issue is that the export/import format does not contain a hash, so we can't detect such issues early. Also, I learned that -Wall does not warn about this.
2017-04-26Merge pull request #1358 from shlevy/store-nestingEelco Dolstra
Add Store nesting to fix import-from-derivation within filterSource
2017-04-26Add Store nesting to fix import-from-derivation within filterSourceShea Levy
2017-04-26DohEelco Dolstra
2017-04-25nix repl: Fix Ctrl-CEelco Dolstra
2017-04-25Minor cleanupEelco Dolstra
2017-04-25"using namespace std" considered harmfulEelco Dolstra
2017-04-25nix repl: Use $XDG_DATA_HOME for the readline historyEelco Dolstra
2017-04-25Make "nix repl" buildEelco Dolstra
2017-04-25Merge nix-repl repositoryEelco Dolstra
2017-04-25Cleanup in preparation of merging nix-repl repo into nix repoEelco Dolstra
2017-04-25StorePathCommands: Build installablesEelco Dolstra
So for instance "nix copy --to ... nixpkgs.hello" will build nixpkgs.hello first. It's debatable whether this is a good idea. It seems desirable for commands like "nix copy" but maybe not for commands like "nix path-info".
2017-04-25Set default installableEelco Dolstra
Thus $ nix build -f foo.nix will build foo.nix. And $ nix build will build default.nix. However, this may not be a good idea because it's kind of inconsistent, given that "nix build foo" will build the "foo" attribute from the default installation source (i.e. the synthesis of $NIX_PATH), rather than ./default.nix. So I may revert this.
2017-04-25Interpret any installable containing a slash as a pathEelco Dolstra
So "nix path-info ./result" now works.
2017-04-25Make StorePathsCommand a subclass of InstallablesCommandEelco Dolstra
This allows commands like 'nix path-info', 'nix copy', 'nix verify' etc. to work on arbitrary installables. E.g. to copy geeqie to a binary cache: $ nix copy -r --to file:///tmp/binary-cache nixpkgs.geeqie Or to get the closure size of thunderbird: $ nix path-info -S nixpkgs.thunderbird
2017-04-25Move code aroundEelco Dolstra
2017-04-25Add "nix eval" commandEelco Dolstra
This replaces "nix-instantiate --eval". The result is evaluated strictly since this seems more useful.
2017-04-25Restructure installables handling in the "nix" commandEelco Dolstra
2017-04-24Remove debug statementEelco Dolstra
2017-04-24Factor out --jsonEelco Dolstra
2017-04-24nix-shell -p: Use runCommandCCEelco Dolstra
This restores pre-17.03 behaviour by making gcc available.
2017-04-21add helper function to set 'interruptThrown'David McFarland
this fixes a linker failure on cygwin 64 due to some bad interaction between tls and shared libraries. see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64697
2017-04-20Detect lsofEelco Dolstra
Also, don't use lsof on Linux since it's not needed. Fixes #1328.
2017-04-20Improve nix show-config --jsonEelco Dolstra
In particular, show descriptions. This could be used for manpage generation etc.
2017-04-20Setting: Remove "Tag" template argumentEelco Dolstra
2017-04-20Read per-user settings from ~/.config/nix/nix.confEelco Dolstra
2017-04-20binary-caches-parallel-connections -> http-connectionsEelco Dolstra
2017-04-20Reimplement trusted-substituters (aka trusted-binary-caches)Eelco Dolstra
2017-04-19Reimplement connect-timeoutEelco Dolstra
Fixes #1339.
2017-04-19getDerivations(): Filter out packages with bad derivation namesEelco Dolstra
In particular, this disallows attribute names containing dots or starting with dots. Hydra already disallowed these. This affects the following packages in Nixpkgs master: 2048-in-terminal 2bwm 389-ds-base 90secondportraits lispPackages.3bmd lispPackages.hu.dwim.asdf lispPackages.hu.dwim.def Closes #1342.