summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/altcoins/clightning.nix47
-rw-r--r--pkgs/applications/altcoins/default.nix1
-rw-r--r--pkgs/top-level/all-packages.nix3
3 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/applications/altcoins/clightning.nix b/pkgs/applications/altcoins/clightning.nix
new file mode 100644
index 00000000000..73cdd3664ea
--- /dev/null
+++ b/pkgs/applications/altcoins/clightning.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchpatch, python3, pkgconfig, which, libtool, autoconf, automake,
+  autogen, git, sqlite, gmp, zlib, fetchFromGitHub }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  name = "clightning-${version}";
+  version = "0.6";
+
+  src = fetchFromGitHub {
+    fetchSubmodules = true;
+    owner = "ElementsProject";
+    repo = "lightning";
+    rev = "v${version}";
+    sha256 = "1xbi8c7kn21wj255fxnb9s0sqnzbn3wsz4p96z084k8mw1nc71vn";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ which sqlite gmp zlib autoconf libtool automake autogen python3 pkgconfig ];
+
+  makeFlags = [ "prefix=$(out)" ];
+
+  configurePhase = ''
+    ./configure --prefix=$out --disable-developer --disable-valgrind
+  '';
+
+  postPatch = ''
+    echo "" > tools/refresh-submodules.sh
+    patchShebangs tools/generate-wire.py
+  '';
+
+  doCheck = false;
+
+  meta = {
+    description = "A Bitcoin Lightning Network implementation in C";
+    longDescription= ''
+      c-lightning is a standard compliant implementation of the Lightning
+      Network protocol. The Lightning Network is a scalability solution for
+      Bitcoin, enabling secure and instant transfer of funds between any two
+      parties for any amount.
+    '';
+    homepage = https://github.com/ElementsProject/lightning;
+    maintainers = with maintainers; [ jb55 ];
+    license = licenses.mit;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix
index 1a0e77dc12f..385e9e53522 100644
--- a/pkgs/applications/altcoins/default.nix
+++ b/pkgs/applications/altcoins/default.nix
@@ -6,6 +6,7 @@ rec {
 
   bitcoin  = libsForQt5.callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = true; };
   bitcoind = callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = false; };
+  clightning = callPackage ./clightning.nix { };
 
   bitcoin-abc  = libsForQt5.callPackage ./bitcoin-abc.nix { boost = boost165; withGui = true; };
   bitcoind-abc = callPackage ./bitcoin-abc.nix { boost = boost165; withGui = false; };
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c1c73cd8d99..57488110a4a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15012,7 +15012,10 @@ with pkgs;
   schismtracker = callPackage ../applications/audio/schismtracker { };
 
   altcoins = recurseIntoAttrs ( callPackage ../applications/altcoins { } );
+
   bitcoin = altcoins.bitcoin;
+  clightning = altcoins.clightning;
+
   bitcoin-xt = altcoins.bitcoin-xt;
   cryptop = altcoins.cryptop;