diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2007-08-27 12:44:01 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2007-08-27 12:44:01 +0000 |
commit | 45a2c87402c70f14cd6b4505e7b9c6f1872fb546 (patch) | |
tree | 6504fc4bd01d91f50182a3a37be6e85ecd78e83c /pkgs/build-support/fetchurl/default.nix | |
parent | 6d4fa01f1e681be36f3122b2359b953a8e41ccc7 (diff) | |
download | nixlib-45a2c87402c70f14cd6b4505e7b9c6f1872fb546.tar nixlib-45a2c87402c70f14cd6b4505e7b9c6f1872fb546.tar.gz nixlib-45a2c87402c70f14cd6b4505e7b9c6f1872fb546.tar.bz2 nixlib-45a2c87402c70f14cd6b4505e7b9c6f1872fb546.tar.lz nixlib-45a2c87402c70f14cd6b4505e7b9c6f1872fb546.tar.xz nixlib-45a2c87402c70f14cd6b4505e7b9c6f1872fb546.tar.zst nixlib-45a2c87402c70f14cd6b4505e7b9c6f1872fb546.zip |
* Support for mirror:// URLs a la Gentoo (NIXPKGS-70). Instead of
fetchurl { url = http://heanet.dl.sourceforge.net/sourceforge/zapping/zapping-0.9.6.tar.bz2; md5 = "8306775c6a11de4d72345b5eee970ea6"; }; you can write fetchurl { url = mirror://sourceforge/zapping/zapping-0.9.6.tar.bz2; md5 = "8306775c6a11de4d72345b5eee970ea6"; }; which causes fetchurl to try the SourceForge mirrors listed in the `sourceforge' attribute in build-support/fetchurl/mirrors.nix. (They're currently tried in sequence, and the lists of mirrors are not configurable yet.) The syntax for mirror URLs is mirror://site/path/to/file, where `site' is currently one of `sourceforge', `gnu' (mirrors of ftp://ftp.gnu.org/pub/gnu) and `kernel' (mirrors of http://www.all.kernel.org/pub/). svn path=/nixpkgs/trunk/; revision=9197
Diffstat (limited to 'pkgs/build-support/fetchurl/default.nix')
-rw-r--r-- | pkgs/build-support/fetchurl/default.nix | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix index c79f3d214c64..eb40c4c6a910 100644 --- a/pkgs/build-support/fetchurl/default.nix +++ b/pkgs/build-support/fetchurl/default.nix @@ -30,7 +30,7 @@ assert (outputHash != "" && outputHashAlgo != "") let urls_ = if urls != [] then urls else [url]; in -stdenv.mkDerivation { +stdenv.mkDerivation ({ name = if name != "" then name else baseNameOf (toString (builtins.head urls_)); @@ -39,10 +39,9 @@ stdenv.mkDerivation { urls = urls_; - # The content-addressable mirrors. - hashedMirrors = [ - http://nix.cs.uu.nl/dist/tarballs - ]; + # If set, prefer the content-addressable mirrors + # (http://nix.cs.uu.nl/dist/tarballs) over the original URLs. + preferHashedMirrors = true; # Compatibility with Nix <= 0.7. id = md5; @@ -59,3 +58,8 @@ stdenv.mkDerivation { # by definition pure. impureEnvVars = ["http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"]; } + +# Pass the mirror locations to the builder. +// (import ./mirrors.nix) + +) |