Commit Graph

39 Commits

Author SHA1 Message Date
Linus Heckemann
4a30f2efec requireFile: exit with non-zero error message
Since the script running is a failure condition, we should fail the
build properly, not leaving it up to the missing output to determine
that the build went wrong.  This should partly address #38952 — nix
build will print out the build log on non-zero exits.
2018-04-15 13:58:05 +01:00
Orivej Desh
170a964815 makeSetupHook: make the default name "hook" overridable
for occasional convenience while looking at drv paths,
such as in the output of nix-build and nix-diff.
2017-12-19 01:41:31 +00:00
John Ericson
da19c34d0f stdenv setup: Always use both propagated files
This continues #23374, which always kept around both attributes, by
always including both propagated files: `propgated-native-build-inputs`
and `propagated-build-inputs`. `nativePkgs` and `crossPkgs` are still
defined as before, however, so this change should only barely
observable.

This is an incremental step to fully keeping the dependencies separate
in all cases.
2017-11-21 10:44:44 -05:00
Nikita Uvarov
cb593780f3 trivial-builders.nix: fix writeShellScriptBin
The check should be performed on the target shell script, not on the output directory.
2017-10-06 10:55:36 +02:00
Sergey Mironov
f49c2fbf7a
trivial-builders.nix: add writeShellScriptBin builder 2017-08-01 20:23:08 -04:00
John Ericson
f6f40e3fe5 stdenv-setup and misc pkgs: Revert to space-deliminated propagated-* files
We cannot switch to line-delimited yet, because certain Nix commands do
not read in the entire file, but just the first line.
2017-07-26 09:07:55 -04:00
John Ericson
3cb745d5a6 stdenv: Store one package per line in nix-support/propagated-*
This makes those files a bit easier to read. Also, for what it's worth,
it brings us one baby step closer to handling spaces in store paths.

Also, I optimized handling of many transitive deps with read. Probably,
not very beneficial, but nice to enforce the pkg-per-line structure.
Doing so let me find much dubious code and fix it.

Two misc notes:

 - `propagated-user-env-packages` also needed to be adjusted as
   sometimes it is copied to/from the propagated input files.

 - `local fd` should ensure that file descriptors aren't clobbered
   during recursion.
2017-07-10 13:32:13 -04:00
Ryan Trinkle
0916c26ed6 symlinkJoin: eliminate lndir spam
By default lndir outputs the name of each subdirectory as it descends into it; this commit gives it the -silent flag to disable this behavior
2017-05-27 16:19:34 -04:00
Michael Raskin
c94e44b0ae linkFarm: prefer local build 2016-12-09 11:26:53 +01:00
Eelco Dolstra
97bfc2fac9 runCommand: Use stdenvNoCC
This ensures that most "trivial" derivations used to build NixOS
configurations no longer depend on GCC. For commands that do invoke
gcc, there is runCommandCC.
2016-09-29 13:06:43 +02:00
Eelco Dolstra
c5ddb7dd56 Move useSetUID to pam_usb, the only place where it's used 2016-09-29 13:05:28 +02:00
Eelco Dolstra
030e20f759 Add a warning about using requireFile 2016-09-29 13:05:28 +02:00
Vladimír Čunát
ab9515092b symlinkJoin: truly pass the defaulted parameters
The catch is that in nix the @-pattern binds the set that was *explicitly*
passed to the function, i.e. default values are *not* taken into account.
2016-07-14 15:36:53 +02:00
Domen Kožar
7a5b85cdda pkgs.runCommand: passAsFile (buildCommand can be very long)
Close #15803. This avoids the error:

while setting up the build environment: executing
‘/nix/store/7sb42axk5lrxqz45nldrb2pchlys14s1-bash-4.3-p42/bin/bash’:
Argument list too long

Note: I wanted to make it optional based on buildCommand length,
but that seems pointless as I'm sure it's less performant.

Amended by vcunat:
https://github.com/NixOS/nixpkgs/pull/15803#issuecomment-224841225
2016-06-10 10:49:26 +02:00
Nikolay Amiantov
ebe1cbe0da symlinkJoin: allow arbitrary additional attributes 2016-05-27 13:42:22 +03:00
Nikolay Amiantov
dfe608c8a2 symlinkJoin: accept set as an argument with additional options 2016-04-26 15:37:42 +03:00
Vladimír Čunát
ab0bc1ecaf symlinkJoin: preferLocalBuild && !allowSubstitutes 2016-03-11 15:59:18 +01:00
Profpatsch
82fa1a796b lib/copyPathToStore: annotate docstring 2016-03-01 15:26:35 +01:00
Vladimír Čunát
4b581903b3 requireFile: preferLocalBuild = true
There's no point trying to "distribute" showing the error message.
2016-02-19 13:47:50 +01:00
Domen Kožar
36057827f6 requireFile: remove colon from the url for easier copy/paste 2016-01-16 21:58:40 +01:00
Domen Kožar
622eb5f699 requireFile: use correct absolute path syntax 2016-01-14 14:13:58 +01:00
Eelco Dolstra
64bc8a84a4 Force another rebuild
Unfortunately, yesterday Nix got reverted to a version with broken
passAsFile implementation on some Hydra machines, so we have corrupted
files again. (E.g. http://hydra.nixos.org/build/29777678.) Forcing
another gratuitous rebuild to get rid of them.

(cherry picked from commit 75974d9220b8397c736ada76fb24eb934fa62f6c)
2016-01-07 13:21:16 +01:00
Thomas Tuegel
d6bec4e77f add copyPathToStore and copyPathsToStore 2015-12-16 15:00:44 -06:00
Eelco Dolstra
dc62669335 Set ‘allowSubstitutes = false’ on various derivations
This reduces the number of binary cache requests. See
b64988bb35.
2015-07-09 15:10:37 +02:00
Shea Levy
e987d1c1e3 requireFile: Make more flexible 2015-07-08 06:25:07 -04:00
Wout Mertens
5c9319ddac writeTextFile: Use passAsFile if available 2015-02-18 01:08:03 +01:00
Eelco Dolstra
2ee8b30b64 stdenv.lib -> lib 2014-10-27 10:25:35 +01:00
Jaka Hudoklin
7c2d00aefd build-support: Add writeTextDir
This `writeTextFile` based helper function is especially usefull for writing a
bunch of configuration files to root of the output folder
2014-03-23 10:05:38 +00:00
Eelco Dolstra
ab3eeabfed Rename buildNativeInputs -> nativeBuildInputs
Likewise for propagatedBuildNativeInputs, etc.  "buildNativeInputs"
sounds like an imperative rather than a noun phrase.
2012-12-28 19:20:09 +01:00
Eelco Dolstra
e5fc65ed40 * writeTextFile: don't use the build hook. NixOS uses this function a
lot, and it causes a lot of unnecessary overhead on machines with
  remote building enabled.

svn path=/nixpkgs/trunk/; revision=33934
2012-04-26 15:01:41 +00:00
Eelco Dolstra
2938819d7e * Remove an unnecessary function.
svn path=/nixpkgs/trunk/; revision=33271
2012-03-19 18:13:47 +00:00
Eelco Dolstra
c556a6ea46 * "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointless
function, so obsolete it.

svn path=/nixpkgs/branches/stdenv-updates/; revision=31644
2012-01-18 20:16:00 +00:00
Eelco Dolstra
353d450867 * wrapPythonPrograms: don't hard-code the Python library prefix.
svn path=/nixpkgs/branches/modular-python/; revision=26594
2011-03-29 15:19:59 +00:00
Eelco Dolstra
47adaa80e3 * Move the wrapPythonPrograms function into a separate setup hook
(wrapPython).

svn path=/nixpkgs/branches/modular-python/; revision=26580
2011-03-28 16:33:33 +00:00
Yury G. Kudryashov
796ffd9f71 Move "fetchurl restricted" code to requireFile.
This reverts r21474 and r21467.
Also migrate wtk (r21472) to new API.

svn path=/nixpkgs/trunk/; revision=21575
2010-05-03 09:13:17 +00:00
Nicolas Pierron
9d62d5a35c * Add a wrapper to find any set-uid version of a program in the environment.
svn path=/nixpkgs/trunk/; revision=19181
2010-01-03 11:08:45 +00:00
Michael Raskin
e8c3467487 Fix linkFarm for its new location
svn path=/nixpkgs/trunk/; revision=18567
2009-11-23 19:28:03 +00:00
Michael Raskin
e99acbff72 Restore linkFarm trivial builder
svn path=/nixpkgs/trunk/; revision=18566
2009-11-23 19:18:53 +00:00
Eelco Dolstra
aa392c3aa7 * Move functions like `runCommand' out of all-packages.nix and into
build-support/.

svn path=/nixpkgs/trunk/; revision=18465
2009-11-19 16:07:47 +00:00