From 796ffd9f71b94d6f78cadf4c3214778ec181dd67 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Mon, 3 May 2010 09:13:17 +0000 Subject: Move "fetchurl restricted" code to requireFile. This reverts r21474 and r21467. Also migrate wtk (r21472) to new API. svn path=/nixpkgs/trunk/; revision=21575 --- pkgs/build-support/trivial-builders.nix | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'pkgs/build-support/trivial-builders.nix') 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. -- cgit 1.4.1