Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 21.05 58 lines 1.3 kB view raw
1{ lib 2, buildPythonPackage 3, fetchPypi 4, fetchFromGitHub 5, setuptools-scm 6, substituteAll 7, cmake 8, boost 9, gmp 10, pybind11 11, pythonOlder 12}: 13 14buildPythonPackage rec { 15 pname = "blspy"; 16 version = "1.0.2"; 17 disabled = pythonOlder "3.7"; 18 19 src = fetchPypi { 20 inherit pname version; 21 hash = "sha256-N1mk83uZrzSty2DyXfKiVp85z/jmztiUSRXKfNBRJV4="; 22 }; 23 24 patches = [ 25 # prevent CMake from trying to get libraries on the Internet 26 (substituteAll { 27 src = ./dont_fetch_dependencies.patch; 28 pybind11_src = pybind11.src; 29 relic_src = fetchFromGitHub { 30 owner = "relic-toolkit"; 31 repo = "relic"; 32 rev = "1885ae3b681c423c72b65ce1fe70910142cf941c"; # pinned by blspy 33 hash = "sha256-tsSZTcssl8t7Nqdex4BesgQ+ACPgTdtHnJFvS9josN0="; 34 }; 35 }) 36 ]; 37 38 nativeBuildInputs = [ cmake setuptools-scm ]; 39 40 buildInputs = [ boost gmp.static pybind11 ]; 41 42 pythonImportsCheck = [ 43 "blspy" 44 ]; 45 46 # Note: upstream testsuite is just a single test.py script outside of any framework 47 doCheck = false; 48 49 # CMake needs to be run by setuptools rather than by its hook 50 dontConfigure = true; 51 52 meta = with lib; { 53 description = "BLS signatures with aggregation"; 54 homepage = "https://github.com/Chia-Network/bls-signatures/"; 55 license = licenses.asl20; 56 maintainers = teams.chia.members; 57 }; 58}