diff --git a/packages/chia-beta/default.nix b/packages/chia-beta/default.nix new file mode 100644 index 0000000..c2f8ee6 --- /dev/null +++ b/packages/chia-beta/default.nix @@ -0,0 +1,100 @@ +{ lib +, cacert +, fetchFromGitHub +, python3Packages +}: + +let chia = python3Packages.buildPythonApplication rec { + pname = "chia"; + version = "2.0.0-b1"; + + src = fetchFromGitHub { + owner = "Chia-Network"; + repo = "chia-blockchain"; + rev = version; + fetchSubmodules = true; + hash = "sha256-A7XIjkaE5RIeKez5jGO+WjA1+qy353c5vQtXZYONees="; + }; + + 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 + anyio + bitstring + boto3 + 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 + ]; + + checkInputs = 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 diff --git a/packages/default.nix b/packages/default.nix index 6864032..2a71c1c 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -35,7 +35,7 @@ pkgs.extend (final: prev: src = inputs.cat-admin-tool; }; chia = final.callPackage ./chia { }; - chia-beta = final.chia; + chia-beta = final.callPackage ./chia-beta {}; chia-rc = final.callPackage ./chia-rc {}; chia-plotter = final.callPackage ./chia-plotter { }; })