diff options
author | Yury G. Kudryashov <urkud.urkud@gmail.com> | 2010-05-03 09:13:17 +0000 |
---|---|---|
committer | Yury G. Kudryashov <urkud.urkud@gmail.com> | 2010-05-03 09:13:17 +0000 |
commit | 796ffd9f71b94d6f78cadf4c3214778ec181dd67 (patch) | |
tree | f1dc1eac7b915da621a6ec74d3d0fad54a799cf1 /pkgs/build-support/trivial-builders.nix | |
parent | 2d9ba975e788a134c254e1967758f85f9db4e876 (diff) | |
download | nixlib-796ffd9f71b94d6f78cadf4c3214778ec181dd67.tar nixlib-796ffd9f71b94d6f78cadf4c3214778ec181dd67.tar.gz nixlib-796ffd9f71b94d6f78cadf4c3214778ec181dd67.tar.bz2 nixlib-796ffd9f71b94d6f78cadf4c3214778ec181dd67.tar.lz nixlib-796ffd9f71b94d6f78cadf4c3214778ec181dd67.tar.xz nixlib-796ffd9f71b94d6f78cadf4c3214778ec181dd67.tar.zst nixlib-796ffd9f71b94d6f78cadf4c3214778ec181dd67.zip |
Move "fetchurl restricted" code to requireFile.
This reverts r21474 and r21467. Also migrate wtk (r21472) to new API. svn path=/nixpkgs/trunk/; revision=21575
Diffstat (limited to 'pkgs/build-support/trivial-builders.nix')
-rw-r--r-- | pkgs/build-support/trivial-builders.nix | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index 25ae340629b1..992e28476f06 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -73,6 +73,36 @@ rec { linkFarm = name: entries: runCommand name {} ("mkdir -p $out; cd $out; \n" + (stdenv.lib.concatMapStrings (x: "ln -s '${x.path}' '${x.name}';\n") entries)); + # Require file + requireFile = {name, sha256, url ? null, message ? null} : + assert (message != null) || (url != null); + let msg = + if message != null then message + else '' + Unfortunately, we may not download file ${name} automatically. + Please, go to ${url}, download it yourself, and add it to the Nix store + using either + nix-store --add-fixed sha256 ${name} + or + nix-prefetch-url file://path/to/${name} + ''; + in + stdenv.mkDerivation { + inherit name; + outputHashAlgo = "sha256"; + outputHash = sha256; + builder = writeScript "restrict-message" '' +source ${stdenv}/setup +cat <<_EOF_ + +*** +${msg} +*** + +_EOF_ + ''; + }; + # Search in the environment if the same program exists with a set uid or # set gid bit. If it exists, run the first program found, otherwise run # the default binary. |