about summary refs log tree commit diff
path: root/pkgs/development/tools/egg2nix
diff options
context:
space:
mode:
authorMoritz Ulrich <moritz@tarn-vedra.de>2014-10-14 00:41:03 +0200
committerMoritz Ulrich <moritz@tarn-vedra.de>2014-10-14 00:41:03 +0200
commit36c5ec58c48ca751fb80aec4d737b6f39a6f6956 (patch)
tree2f0620ff398f97c9e23a35fecb177160d687ab80 /pkgs/development/tools/egg2nix
parent9ab1666ff08eff2d6091cfa8c2698de4522c5ec7 (diff)
downloadnixlib-36c5ec58c48ca751fb80aec4d737b6f39a6f6956.tar
nixlib-36c5ec58c48ca751fb80aec4d737b6f39a6f6956.tar.gz
nixlib-36c5ec58c48ca751fb80aec4d737b6f39a6f6956.tar.bz2
nixlib-36c5ec58c48ca751fb80aec4d737b6f39a6f6956.tar.lz
nixlib-36c5ec58c48ca751fb80aec4d737b6f39a6f6956.tar.xz
nixlib-36c5ec58c48ca751fb80aec4d737b6f39a6f6956.tar.zst
nixlib-36c5ec58c48ca751fb80aec4d737b6f39a6f6956.zip
New package: egg2nix.
Generates nix-expressions from Chicken Scheme Eggs.
Diffstat (limited to 'pkgs/development/tools/egg2nix')
-rw-r--r--pkgs/development/tools/egg2nix/chicken-eggs.nix361
-rw-r--r--pkgs/development/tools/egg2nix/chicken-eggs.scm6
-rw-r--r--pkgs/development/tools/egg2nix/default.nix32
3 files changed, 399 insertions, 0 deletions
diff --git a/pkgs/development/tools/egg2nix/chicken-eggs.nix b/pkgs/development/tools/egg2nix/chicken-eggs.nix
new file mode 100644
index 000000000000..3e7127ac3cbd
--- /dev/null
+++ b/pkgs/development/tools/egg2nix/chicken-eggs.nix
@@ -0,0 +1,361 @@
+{ pkgs, stdenv }:
+rec {
+inherit (pkgs) eggDerivation fetchegg;
+
+versions = eggDerivation {
+  name = "versions-1.15";
+
+  src = fetchegg {
+    name = "versions";
+    version = "1.15";
+    sha256 = "0qs9yq0jvz9cfd2vwvf1ya8wxxxqghhai57x0w3ywi0h4afbqivm";
+  };
+
+  buildInputs = [
+    eggdoc
+  ];
+};
+
+
+matchable = eggDerivation {
+  name = "matchable-3.3";
+
+  src = fetchegg {
+    name = "matchable";
+    version = "3.3";
+    sha256 = "07y3lpzgm4djiwi9y2adc796f9kwkmdr28fkfkw65syahdax8990";
+  };
+
+  buildInputs = [
+    
+  ];
+};
+
+
+http-client = eggDerivation {
+  name = "http-client-0.7.1";
+
+  src = fetchegg {
+    name = "http-client";
+    version = "0.7.1";
+    sha256 = "1s03zgmb7kb99ld0f2ylqgicrab9qgza53fkgsqvg7bh5njmzhxr";
+  };
+
+  buildInputs = [
+    intarweb
+    uri-common
+    message-digest
+    md5
+    string-utils
+    sendfile
+  ];
+};
+
+
+sxml-transforms = eggDerivation {
+  name = "sxml-transforms-1.4.1";
+
+  src = fetchegg {
+    name = "sxml-transforms";
+    version = "1.4.1";
+    sha256 = "1igm3h1nm1i5mwm2akk105v5k96azjm1vnl637l3l5w2yycc76a2";
+  };
+
+  buildInputs = [
+    
+  ];
+};
+
+
+eggdoc = eggDerivation {
+  name = "eggdoc-1.3.1";
+
+  src = fetchegg {
+    name = "eggdoc";
+    version = "1.3.1";
+    sha256 = "17ypr5sl2vnnzqxipybmjkm7d5wlsbp7fyq25qr6phgil8axafww";
+  };
+
+  buildInputs = [
+    sxml-transforms
+  ];
+};
+
+
+sendfile = eggDerivation {
+  name = "sendfile-1.7.29";
+
+  src = fetchegg {
+    name = "sendfile";
+    version = "1.7.29";
+    sha256 = "1dc02cbkx5kixhbqjy26g6gs680vy7krc9qis1p1v4aa0b2lgj7k";
+  };
+
+  buildInputs = [
+    
+  ];
+};
+
+
+setup-helper = eggDerivation {
+  name = "setup-helper-1.5.4";
+
+  src = fetchegg {
+    name = "setup-helper";
+    version = "1.5.4";
+    sha256 = "1k644y0md2isdcvazqfm4nyc8rh3dby6b0j3r4na4w8ryspqp6gj";
+  };
+
+  buildInputs = [
+    
+  ];
+};
+
+
+check-errors = eggDerivation {
+  name = "check-errors-1.13.0";
+
+  src = fetchegg {
+    name = "check-errors";
+    version = "1.13.0";
+    sha256 = "12a0sn82n98jybh72zb39fdddmr5k4785xglxb16750fhy8rmjwi";
+  };
+
+  buildInputs = [
+    setup-helper
+  ];
+};
+
+
+synch = eggDerivation {
+  name = "synch-2.1.2";
+
+  src = fetchegg {
+    name = "synch";
+    version = "2.1.2";
+    sha256 = "1m9mnbq0m5jsxmd1a3rqpwpxj0l1b7vn1fknvxycc047pmlcyl00";
+  };
+
+  buildInputs = [
+    setup-helper
+    check-errors
+  ];
+};
+
+
+record-variants = eggDerivation {
+  name = "record-variants-0.5.1";
+
+  src = fetchegg {
+    name = "record-variants";
+    version = "0.5.1";
+    sha256 = "15wgysxkm8m4hx9nhhw9akchzipdnqc7yj3qd3zn0z7sxg4sld1h";
+  };
+
+  buildInputs = [
+    
+  ];
+};
+
+
+miscmacros = eggDerivation {
+  name = "miscmacros-2.96";
+
+  src = fetchegg {
+    name = "miscmacros";
+    version = "2.96";
+    sha256 = "1ajdgjrni10i2hmhcp4rawnxajjxry3kmq1krdmah4sf0kjrgajc";
+  };
+
+  buildInputs = [
+    
+  ];
+};
+
+
+lookup-table = eggDerivation {
+  name = "lookup-table-1.13.5";
+
+  src = fetchegg {
+    name = "lookup-table";
+    version = "1.13.5";
+    sha256 = "1nzly6rhynawlvzlyilk8z8cxz57cf9n5iv20glkhh28pz2izmrb";
+  };
+
+  buildInputs = [
+    setup-helper
+    check-errors
+    miscmacros
+    record-variants
+    synch
+  ];
+};
+
+
+string-utils = eggDerivation {
+  name = "string-utils-1.2.4";
+
+  src = fetchegg {
+    name = "string-utils";
+    version = "1.2.4";
+    sha256 = "07alvghg0dahilrm4jg44bndl0x69sv1zbna9l20cbdvi35i0jp1";
+  };
+
+  buildInputs = [
+    setup-helper
+    miscmacros
+    lookup-table
+    check-errors
+  ];
+};
+
+
+blob-utils = eggDerivation {
+  name = "blob-utils-1.0.3";
+
+  src = fetchegg {
+    name = "blob-utils";
+    version = "1.0.3";
+    sha256 = "17vdn02fnxnjx5ixgqimln93lqvzyq4y9w02fw7xnbdcjzqm0xml";
+  };
+
+  buildInputs = [
+    setup-helper
+    string-utils
+  ];
+};
+
+
+variable-item = eggDerivation {
+  name = "variable-item-1.3.1";
+
+  src = fetchegg {
+    name = "variable-item";
+    version = "1.3.1";
+    sha256 = "19b3mhb8kr892sz9yyzq79l0vv28dgilw9cf415kj6aq16yp4d5n";
+  };
+
+  buildInputs = [
+    setup-helper
+    check-errors
+  ];
+};
+
+
+message-digest = eggDerivation {
+  name = "message-digest-3.1.0";
+
+  src = fetchegg {
+    name = "message-digest";
+    version = "3.1.0";
+    sha256 = "1w6bax19dwgih78vcimiws0rja7qsd8hmbm6qqg2hf9cw3vab21s";
+  };
+
+  buildInputs = [
+    setup-helper
+    miscmacros
+    check-errors
+    variable-item
+    blob-utils
+    string-utils
+  ];
+};
+
+
+md5 = eggDerivation {
+  name = "md5-3.1.0";
+
+  src = fetchegg {
+    name = "md5";
+    version = "3.1.0";
+    sha256 = "0bka43nx8x9b0b079qpvml2fl20km19ny0qjmhwzlh6rwmzazj2a";
+  };
+
+  buildInputs = [
+    message-digest
+  ];
+};
+
+
+defstruct = eggDerivation {
+  name = "defstruct-1.6";
+
+  src = fetchegg {
+    name = "defstruct";
+    version = "1.6";
+    sha256 = "0lsgl32nmb5hxqiii4r3292cx5vqh50kp6v062nfiyid9lhrj0li";
+  };
+
+  buildInputs = [
+    
+  ];
+};
+
+
+uri-generic = eggDerivation {
+  name = "uri-generic-2.41";
+
+  src = fetchegg {
+    name = "uri-generic";
+    version = "2.41";
+    sha256 = "1r5jbzjllbnmhm5n0m3fcx0g6dc2c2jzp1dcndkfmxz0cl99zxac";
+  };
+
+  buildInputs = [
+    matchable
+    defstruct
+  ];
+};
+
+
+uri-common = eggDerivation {
+  name = "uri-common-1.4";
+
+  src = fetchegg {
+    name = "uri-common";
+    version = "1.4";
+    sha256 = "01ds1gixcn4rz657x3hr4rhw2496hsjff42ninw0k39l8i1cbh7c";
+  };
+
+  buildInputs = [
+    uri-generic
+    defstruct
+    matchable
+  ];
+};
+
+
+base64 = eggDerivation {
+  name = "base64-3.3.1";
+
+  src = fetchegg {
+    name = "base64";
+    version = "3.3.1";
+    sha256 = "0wmldiwwg1jpcn07wb906nc53si5j7sa83wgyq643xzqcx4v4x1d";
+  };
+
+  buildInputs = [
+    
+  ];
+};
+
+
+intarweb = eggDerivation {
+  name = "intarweb-1.3";
+
+  src = fetchegg {
+    name = "intarweb";
+    version = "1.3";
+    sha256 = "0izlby78c25py29bdcbc0vapb6h7xgchqrzi6i51d0rb3mnwy88h";
+  };
+
+  buildInputs = [
+    defstruct
+    uri-common
+    base64
+  ];
+};
+
+}
+
+
diff --git a/pkgs/development/tools/egg2nix/chicken-eggs.scm b/pkgs/development/tools/egg2nix/chicken-eggs.scm
new file mode 100644
index 000000000000..119b06703259
--- /dev/null
+++ b/pkgs/development/tools/egg2nix/chicken-eggs.scm
@@ -0,0 +1,6 @@
+(
+ ;; Eggs used by egg2nix
+ versions
+ matchable
+ http-client
+ )
diff --git a/pkgs/development/tools/egg2nix/default.nix b/pkgs/development/tools/egg2nix/default.nix
new file mode 100644
index 000000000000..f3312cf3e0f7
--- /dev/null
+++ b/pkgs/development/tools/egg2nix/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, eggDerivation, fetchurl, chickenEggs }:
+
+# Note: This mostly reimplements the default.nix already contained in
+# the tarball. Is there a nicer way than duplicating code?
+
+eggDerivation {
+  src = fetchurl {
+    url = "https://github.com/the-kenny/egg2nix/archive/0.1.tar.gz";
+    sha256 = "0x1vg70rwvd4dbgp8wynlff36cnq1h9ncpag0xgn5jq0miqfr57j";
+  };
+
+  name = "egg2nix-0.1";
+  buildInputs = with chickenEggs; [
+    versions matchable http-client
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin/
+    mv egg2nix.scm $out/bin/egg2nix
+    chmod +x $out/bin/egg2nix
+
+    runHook postInstall #important - wraps the stuff in $out/bin/
+  '';
+
+  meta = {
+    description = "Generate nix-expression from Chicken Scheme eggs";
+    homepage = https://github.com/the-kenny/egg2nix;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.the-kenny ];
+  };
+}