diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libff')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libff/default.nix | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libff/default.nix b/nixpkgs/pkgs/development/libraries/libff/default.nix new file mode 100644 index 000000000000..72d2406aa82b --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libff/default.nix @@ -0,0 +1,34 @@ +{ lib, stdenv, fetchFromGitHub, cmake, boost, gmp, openssl, pkg-config }: + +stdenv.mkDerivation rec { + pname = "libff"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "scipr-lab"; + repo = "libff"; + rev = "v${version}"; + sha256 = "0dczi829497vqlmn6n4fgi89bc2h9f13gx30av5z2h6ikik7crgn"; + fetchSubmodules = true; + }; + + cmakeFlags = [ "-DWITH_PROCPS=Off" ]; + + # CMake is hardcoded to always build static library which causes linker + # failure for Haskell applications depending on haskellPackages.hevm on macOS. + postPatch = lib.optionalString stdenv.isDarwin '' + substituteInPlace libff/CMakeLists.txt --replace "STATIC" "SHARED" + ''; + + nativeBuildInputs = [ cmake pkg-config ]; + buildInputs = [ boost gmp openssl ]; + + meta = with lib; { + description = "C++ library for Finite Fields and Elliptic Curves"; + changelog = "https://github.com/scipr-lab/libff/blob/develop/CHANGELOG.md"; + homepage = "https://github.com/scipr-lab/libff"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = with maintainers; [ arturcygan ]; + }; +} |