]> git.rkrishnan.org Git - functorrent.git/commitdiff
WIP: FuncTorrent as a nix package
authorRamakrishnan Muthukrishnan <ram@rkrishnan.org>
Wed, 29 Apr 2015 00:08:07 +0000 (05:38 +0530)
committerRamakrishnan Muthukrishnan <ram@rkrishnan.org>
Wed, 29 Apr 2015 00:08:24 +0000 (05:38 +0530)
default.nix [new file with mode: 0644]
shell.nix

diff --git a/default.nix b/default.nix
new file mode 100644 (file)
index 0000000..32a0078
--- /dev/null
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base16Bytestring, binary, cryptohash, doctest, hlint, HTTP
+, networkUri, parsec, QuickCheck, tasty, tastyHunit
+, tastyQuickcheck, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "functorrent";
+  version = "0.1.0.0";
+  src = ./.;
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    base16Bytestring binary cryptohash HTTP networkUri parsec
+    QuickCheck tasty tastyHunit
+  ];
+  testDepends = [
+    doctest hlint QuickCheck tasty tastyHunit tastyQuickcheck
+    testFrameworkQuickcheck2
+  ];
+  meta = {
+    description = "A Bit-torrent client";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
index 401650300457f3507942a8b5ab1a944b82d506b4..b3b0789721d813912c9894c84dce52dee8f07353 100644 (file)
--- a/shell.nix
+++ b/shell.nix
@@ -1,22 +1,12 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ haskellPackages ? (import <nixpkgs> {}).haskellPackages }:
-
-with haskellPackages; cabal.mkDerivation (self: {
-  pname = "functorrent";
-  version = "0.1.0.0";
-  src = "./.";
-  isLibrary = true;
-  isExecutable = true;
-  buildTools = [ cabalInstall ];
-  buildDepends = [
-    base16Bytestring binary cryptohash HTTP networkUri parsec tasty
-    tastyHunit
+let pkgs = (import <nixpkgs> {});
+    haskellPackages = pkgs.recurseIntoAttrs (pkgs.haskellPackages.override {
+        extension = self : super :
+        let callPackage = self.callPackage;
+        in {
+          thisPackage = haskellPackages.callPackage (import ./default.nix) {};
+        };});
+in pkgs.lib.overrideDerivation haskellPackages.thisPackage (old: {
+  buildInputs = old.buildInputs ++ [
+    haskellPackages.cabalInstall
   ];
-  testDepends = [ doctest hlint QuickCheck tasty tastyHunit ];
-  meta = {
-    description = "A Bit-torrent client";
-    license = self.stdenv.lib.licenses.gpl3;
-    platforms = self.ghc.meta.platforms;
-  };
 })