{ lib, buildGoModule, fetchFromGitHub, nix-update-script }: let pname = "erigon"; version = "2.54.0"; in buildGoModule { inherit pname version; src = fetchFromGitHub { owner = "ledgerwatch"; repo = pname; rev = "v${version}"; hash = "sha256-1kgbIg/3SvVT83UfwAYUixs1RQk4PP1quiOcI1mzbZ0="; fetchSubmodules = true; }; vendorHash = "sha256-Gr9mrME8/ZDxp2ORKessNhfguklDf+jC4RSpzLOSBhQ="; proxyVendor = true; # Build errors in mdbx when format hardening is enabled: # cc1: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security] hardeningDisable = [ "format" ]; # Fix error: 'Caught SIGILL in blst_cgo_init' # https://github.com/bnb-chain/bsc/issues/1521 CGO_CFLAGS = "-O -D__BLST_PORTABLE__"; CGO_CFLAGS_ALLOW = "-O -D__BLST_PORTABLE__"; subPackages = [ "cmd/erigon" "cmd/evm" "cmd/rpcdaemon" "cmd/rlpdump" ]; passthru.updateScript = nix-update-script { }; meta = with lib; { homepage = "https://github.com/ledgerwatch/erigon/"; description = "Ethereum node implementation focused on scalability and modularity"; license = with licenses; [ lgpl3Plus gpl3Plus ]; maintainers = with maintainers; [ d-xo happysalada ]; }; }