nixpkgs/pkgs/stdenv/mingw/fetchurl/default.nix
Martin Bravenboer 688fff92de Major work on the mingw stdenv. Basics now works.
- clone of fetchurl that invokes a given chmod to workaround problems
with inappropriate file permissions (executable files are not allowed
by Nix)

- cygpath tool to determine the full windows path of a cygwin
tool. This tool is used to give fetchurl the windows path to chmod.

- native curl.exe

- gcc-wrapper no longer used

- all-packages.nix: allows stdenv to specify fetchurl.


svn path=/nixpkgs/trunk/; revision=6140
2006-08-17 00:54:32 +00:00

28 lines
996 B
Nix

{stdenv, curl, chmod}:
{url, outputHash ? "", outputHashAlgo ? "", md5 ? "", sha1 ? "", sha256 ? ""}:
assert (outputHash != "" && outputHashAlgo != "")
|| md5 != "" || sha1 != "" || sha256 != "";
stdenv.mkDerivation {
name = baseNameOf (toString url);
builder = ./builder.sh;
# Compatibility with Nix <= 0.7.
id = md5;
# New-style output content requirements.
outputHashAlgo = if outputHashAlgo != "" then outputHashAlgo else
if sha256 != "" then "sha256" else if sha1 != "" then "sha1" else "md5";
outputHash = if outputHash != "" then outputHash else
if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5;
inherit url chmod curl;
# We borrow these environment variables from the caller to allow
# easy proxy configuration. This is impure, but a fixed-output
# derivation like fetchurl is allowed to do so since its result is
# by definition pure.
impureEnvVars = ["http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"];
}