mini-calc: 3.3.3 -> 3.3.5 (#372274)
[NixPkgs.git] / pkgs / by-name / li / libff / package.nix
blob3a48a3145a44ecca99c5454843020269b65c1267
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   cmake,
6   boost,
7   gmp,
8   openssl,
9   pkg-config,
10   enableStatic ? stdenv.hostPlatform.isStatic,
13 stdenv.mkDerivation rec {
14   pname = "libff";
15   version = "0.2.1";
17   src = fetchFromGitHub {
18     owner = "scipr-lab";
19     repo = "libff";
20     rev = "v${version}";
21     sha256 = "0dczi829497vqlmn6n4fgi89bc2h9f13gx30av5z2h6ikik7crgn";
22     fetchSubmodules = true;
23   };
25   cmakeFlags =
26     [ "-DWITH_PROCPS=Off" ]
27     ++ lib.optionals stdenv.hostPlatform.isAarch64 [
28       "-DCURVE=ALT_BN128"
29       "-DUSE_ASM=OFF"
30     ];
32   postPatch = lib.optionalString (!enableStatic) ''
33     substituteInPlace libff/CMakeLists.txt --replace "STATIC" "SHARED"
34   '';
36   nativeBuildInputs = [
37     cmake
38     pkg-config
39   ];
40   buildInputs = [
41     boost
42     gmp
43     openssl
44   ];
46   meta = with lib; {
47     description = "C++ library for Finite Fields and Elliptic Curves";
48     changelog = "https://github.com/scipr-lab/libff/blob/develop/CHANGELOG.md";
49     homepage = "https://github.com/scipr-lab/libff";
50     license = licenses.mit;
51     platforms = platforms.unix;
52     maintainers = with maintainers; [ arturcygan ];
53   };