summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2014-10-31 11:14:24 +0100
committerPeter Simons <simons@cryp.to>2014-10-31 11:14:24 +0100
commitb11060d8db2f856f3feaaa9d84df36606504d071 (patch)
tree74d8e01a5d7eb246dd25819a1b7f926082700732 /pkgs/build-support
parentc04e49289871232ff3c2fd1239b64c2513f18fd1 (diff)
parente18e77fbcdebc5bf1768157747b7e6d1ae7d9379 (diff)
downloadnixlib-b11060d8db2f856f3feaaa9d84df36606504d071.tar
nixlib-b11060d8db2f856f3feaaa9d84df36606504d071.tar.gz
nixlib-b11060d8db2f856f3feaaa9d84df36606504d071.tar.bz2
nixlib-b11060d8db2f856f3feaaa9d84df36606504d071.tar.lz
nixlib-b11060d8db2f856f3feaaa9d84df36606504d071.tar.xz
nixlib-b11060d8db2f856f3feaaa9d84df36606504d071.tar.zst
nixlib-b11060d8db2f856f3feaaa9d84df36606504d071.zip
Merge remote-tracking branch 'origin/master' into staging.
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/fetchegg/builder.sh9
-rw-r--r--pkgs/build-support/fetchegg/default.nix28
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix1
3 files changed, 38 insertions, 0 deletions
diff --git a/pkgs/build-support/fetchegg/builder.sh b/pkgs/build-support/fetchegg/builder.sh
new file mode 100644
index 000000000000..204661063090
--- /dev/null
+++ b/pkgs/build-support/fetchegg/builder.sh
@@ -0,0 +1,9 @@
+source $stdenv/setup
+
+header "exporting egg ${eggName} (version $version) into $out"
+
+mkdir -p $out
+chicken-install -r "${eggName}:${version}"
+cp -r ${eggName}/* $out/
+
+stopNest
diff --git a/pkgs/build-support/fetchegg/default.nix b/pkgs/build-support/fetchegg/default.nix
new file mode 100644
index 000000000000..223d2098c770
--- /dev/null
+++ b/pkgs/build-support/fetchegg/default.nix
@@ -0,0 +1,28 @@
+# Fetches a chicken egg from henrietta using `chicken-install -r'
+# See: http://wiki.call-cc.org/chicken-projects/egg-index-4.html
+
+{ stdenv, chicken }:
+{ name, version, md5 ? "", sha256 ? "" }:
+
+stdenv.mkDerivation {
+  name = "chicken-${name}-export";
+  builder = ./builder.sh;
+  buildInputs = [ chicken ];
+
+  outputHashAlgo = if sha256 == "" then "md5" else "sha256";
+  outputHashMode = "recursive";
+  outputHash = if sha256 == "" then md5 else sha256;
+
+  inherit version;
+
+  eggName = name;
+
+  impureEnvVars = [
+    # 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.
+    "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
+  ];
+}
+
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index 741c8c0d5460..991b32352ffe 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -173,6 +173,7 @@ rec {
     ftp://ftp.nl.debian.org/debian/
     ftp://ftp.ru.debian.org/debian/
     ftp://ftp.debian.org/debian/
+    http://ftp.debian.org/debian/
     http://archive.debian.org/debian-archive/debian/
     ftp://ftp.funet.fi/pub/mirrors/ftp.debian.org/debian/
   ];