nixpkgs/pkgs/applications/blockchains/chia-plotter/default.nix
2022-04-21 18:01:28 +02:00

72 lines
1.9 KiB
Nix

{ lib
, fetchFromGitHub
, stdenv
, libsodium
, cmake
, substituteAll
, python3Packages
}:
stdenv.mkDerivation {
pname = "chia-plotter";
version = "1.1.8";
src = fetchFromGitHub {
owner = "madMAx43v3r";
repo = "chia-plotter";
rev = "9d7fd929919d1adde6404cb4718a665a81bcef6d";
sha256 = "sha256-TMAly+Qof2DHPRHqE1nZuHQaCeMo0jEd8MWy4OlXrcs=";
fetchSubmodules = true;
};
patches = [
# prevent CMake from trying to get libraries on the Internet
(substituteAll {
src = ./dont_fetch_dependencies.patch;
pybind11_src = python3Packages.pybind11.src;
relic_src = fetchFromGitHub {
owner = "Chia-Network";
repo = "relic";
rev = "1d98e5abf3ca5b14fd729bd5bcced88ea70ecfd7";
hash = "sha256-IfTD8DvTEXeLUoKe4Ejafb+PEJW5DV/VXRYuutwGQHU=";
};
sodium_src = fetchFromGitHub {
owner = "AmineKhaldi";
repo = "libsodium-cmake";
rev = "f73a3fe1afdc4e37ac5fe0ddd401bf521f6bba65"; # pinned by upstream
sha256 = "sha256-lGz7o6DQVAuEc7yTp8bYS2kwjzHwGaNjugDi1ruRJOA=";
fetchSubmodules = true;
};
})
];
nativeBuildInputs = [ cmake ];
buildInputs = [ libsodium ];
# These flags come from the upstream build script:
# https://github.com/madMAx43v3r/chia-plotter/blob/974d6e5f1440f68c48492122ca33828a98864dfc/make_devel.sh#L7
CXXFLAGS = "-O3 -fmax-errors=1";
cmakeFlags = [
"-DARITH=easy"
"-DBUILD_BLS_PYTHON_BINDINGS=false"
"-DBUILD_BLS_TESTS=false"
"-DBUILD_BLS_BENCHMARKS=false"
];
installPhase = ''
runHook preInstall
install -D -m 755 chia_plot $out/bin/chia_plot
runHook postInstall
'';
meta = with lib; {
homepage = "https://github.com/madMAx43v3r/chia-plotter";
description = "New implementation of a chia plotter which is designed as a processing pipeline";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ ilyakooo0 ];
};
}