diff options
author | Moritz Ulrich <moritz@tarn-vedra.de> | 2014-10-09 20:49:15 +0200 |
---|---|---|
committer | Moritz Ulrich <moritz@tarn-vedra.de> | 2014-10-13 23:29:27 +0200 |
commit | e47428d0e2bd314c330356865f9a56234afa7af7 (patch) | |
tree | 2852244858f1da6c1940df6851c226bbea5392b6 /pkgs/build-support | |
parent | a4834a3e849ab47dff83e4e6a29281eb4e87919f (diff) | |
download | nixlib-e47428d0e2bd314c330356865f9a56234afa7af7.tar nixlib-e47428d0e2bd314c330356865f9a56234afa7af7.tar.gz nixlib-e47428d0e2bd314c330356865f9a56234afa7af7.tar.bz2 nixlib-e47428d0e2bd314c330356865f9a56234afa7af7.tar.lz nixlib-e47428d0e2bd314c330356865f9a56234afa7af7.tar.xz nixlib-e47428d0e2bd314c330356865f9a56234afa7af7.tar.zst nixlib-e47428d0e2bd314c330356865f9a56234afa7af7.zip |
Infrastructure to build chicken eggs.
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/fetchegg/builder.sh | 9 | ||||
-rw-r--r-- | pkgs/build-support/fetchegg/default.nix | 28 |
2 files changed, 37 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" + ]; +} + |