about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin-client.nix36
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 38 insertions, 0 deletions
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix b/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix
new file mode 100644
index 0000000000000..1f45626855f5a
--- /dev/null
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix
@@ -0,0 +1,36 @@
+{ stdenv, lib, fetchurl, pkgconfig, autoreconfHook
+, boost, libsodium, czmqpp, libbitcoin }:
+
+let
+  pname = "libbitcoin-client";
+  version = "2.2.0";
+
+in stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/libbitcoin/libbitcoin-client/archive/v${version}.tar.gz";
+    sha256 = "1g79hl6jmf5dam7vq19h4dgdj7gcn19fa7q78vn573mg2rdyal53";
+  };
+
+  buildInputs = [ autoreconfHook pkgconfig ];
+
+  propagatedBuildInputs = [ libsodium czmqpp libbitcoin ];
+
+  configureFlags = [
+    "--with-boost=${boost.dev}"
+    "--with-boost-libdir=${boost.out}/lib"
+    "--with-bash-completiondir=$out/share/bash-completion/completions"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Bitcoin client query library";
+    homepage = https://github.com/libbitcoin/libbitcoin-client;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ chris-martin ];
+
+    # https://wiki.unsystem.net/en/index.php/Libbitcoin/License
+    # AGPL with an additional clause
+    license = licenses.agpl3;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f00631a652bfd..dd8fa82fbb9cd 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -12325,6 +12325,8 @@ in
     secp256k1 = secp256k1.override { enableECDH = true; };
   };
 
+  libbitcoin-client = callPackage ../tools/misc/libbitcoin/libbitcoin-client.nix { };
+
   go-ethereum = self.altcoins.go-ethereum;
   ethabi = self.altcoins.ethabi;