about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/networking/taler/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/taler/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/networking/taler/default.nix57
1 files changed, 57 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/taler/default.nix b/nixpkgs/pkgs/applications/networking/taler/default.nix
new file mode 100644
index 000000000000..06e389a69c80
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/taler/default.nix
@@ -0,0 +1,57 @@
+{ lib, stdenv, fetchurl, curl, gnunet, jansson, libgcrypt, libmicrohttpd
+, qrencode, libsodium, libtool, pkg-config, postgresql, sqlite }:
+
+let
+  gnunet' = gnunet.override { postgresqlSupport = true; };
+
+  mkTaler = { pname, version, sha256 }:
+    extraAttrs:
+    stdenv.mkDerivation (extraAttrs // {
+      inherit pname version;
+      src = fetchurl {
+        url = "mirror://gnu/taler/${pname}-${version}.tar.gz";
+        inherit sha256;
+      };
+      enableParallelBuilding = true;
+      meta = with lib; {
+        description = "Anonymous, taxable payment system.";
+        homepage = "https://taler.net/";
+        license = licenses.agpl3Plus;
+        maintainers = with maintainers; [ ehmry ];
+        platforms = platforms.gnu ++ platforms.linux;
+      };
+    });
+
+in rec {
+
+  taler-exchange = mkTaler {
+    pname = "taler-exchange";
+    version = "0.8.1";
+    sha256 = "sha256-MPt3n1JXd0Y89b1qCuF6YxptSr7henfYp97JTq1Z+x4=";
+  } {
+    buildInputs = [
+      curl
+      jansson
+      libgcrypt
+      libmicrohttpd
+      libsodium
+      libtool
+      postgresql
+      # sqlite
+    ];
+    propagatedBuildInputs = [ gnunet' ];
+    patches = [ ./exchange-fix-6665.patch ];
+  };
+
+  taler-merchant = mkTaler {
+    pname = "taler-merchant";
+    version = "0.8.0";
+    sha256 = "sha256-scrFLXeoQirGqhc+bSQKRl84PfUvjrp1uxF7pfOIB9Q=";
+  } {
+    nativeBuildInputs = [ pkg-config ];
+    buildInputs = taler-exchange.buildInputs ++ [ qrencode taler-exchange ];
+    propagatedBuildInputs = [ gnunet' ];
+    PKG_CONFIG = "${pkg-config}/bin/pkg-config";
+  };
+
+}