about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libsnark/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libsnark/default.nix')
-rw-r--r--nixpkgs/pkgs/development/libraries/libsnark/default.nix32
1 files changed, 32 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libsnark/default.nix b/nixpkgs/pkgs/development/libraries/libsnark/default.nix
new file mode 100644
index 000000000000..4ea2209160f8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libsnark/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, openssl, boost, gmp, procps }:
+
+let
+  rev = "9e6b19ff15bc19fba5da1707ba18e7f160e5ed07";
+  inherit (stdenv) lib;
+in stdenv.mkDerivation rec {
+  name = "libsnark-pre${version}";
+  version = stdenv.lib.substring 0 8 rev;
+
+  buildInputs = [ cmake pkgconfig openssl boost gmp ] ++ lib.optional stdenv.hostPlatform.isLinux procps;
+
+  cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ "-DWITH_PROCPS=OFF" "-DWITH_SUPERCOP=OFF" ];
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner           = "scipr-lab";
+    repo            = "libsnark";
+    sha256          = "13f02qp2fmfhvxlp4xi69m0l8r5nq913l2f0zwdk7hl46lprfdca";
+    fetchSubmodules = true;
+  };
+
+  patches = [ ./darwin-fix-clock-gettime.patch ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "C++ library for zkSNARKs";
+    homepage = https://github.com/scipr-lab/libsnark;
+    license = licenses.mit;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+  };
+}