nixpkgs/pkgs/applications/blockchains/chia/default.nix
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00

99 lines
2.0 KiB
Nix

{ lib
, cacert
, fetchFromGitHub
, python3Packages
}:
let chia = python3Packages.buildPythonApplication rec {
pname = "chia";
version = "1.6.2";
src = fetchFromGitHub {
owner = "Chia-Network";
repo = "chia-blockchain";
rev = version;
fetchSubmodules = true;
hash = "sha256-BgUgTYpjFsKisfFni8TzSYQ8+S3P+7m78DuyjWF5xh8=";
};
postPatch = ''
substituteInPlace setup.py \
--replace "==" ">="
cp ${cacert}/etc/ssl/certs/ca-bundle.crt mozilla-ca/cacert.pem
'';
nativeBuildInputs = [
python3Packages.setuptools-scm
];
# give a hint to setuptools-scm on package version
SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";
propagatedBuildInputs = with python3Packages; [
aiofiles
aiohttp
aiosqlite
bitstring
blspy
chiapos
chiavdf
chiabip158
chia-rs
click
clvm
clvm-rs
clvm-tools
clvm-tools-rs
colorama
colorlog
concurrent-log-handler
cryptography
dnslib
dnspython
fasteners
filelock
keyrings-cryptfile
psutil
pyyaml
setproctitle
setuptools # needs pkg_resources at runtime
sortedcontainers
watchdog
websockets
zstd
];
nativeCheckInputs = with python3Packages; [
pytestCheckHook
];
# Testsuite is expensive and non-deterministic, so it is available in
# passthru.tests instead.
doCheck = false;
disabledTests = [
"test_spend_through_n"
"test_spend_zero_coin"
"test_default_cached_master_passphrase"
"test_using_legacy_keyring"
];
preCheck = ''
export HOME=`mktemp -d`
'';
passthru.tests = {
chiaWithTests = chia.overrideAttrs (_: { doCheck = true; });
};
meta = with lib; {
homepage = "https://www.chia.net/";
description = "Chia is a modern cryptocurrency built from scratch, designed to be efficient, decentralized, and secure.";
license = with licenses; [ asl20 ];
maintainers = teams.chia.members;
platforms = platforms.all;
};
};
in chia