{ lib, buildGoModule, fetchFromGitHub, nix-update-script }: let pname = "erigon"; version = "2.55.1"; in buildGoModule { inherit pname version; src = fetchFromGitHub { owner = "ledgerwatch"; repo = pname; rev = "v${version}"; hash = "sha256-ttBJIx2QR3H5JFyquoGwZpWwT10r7X7GnGE4uEzuRZA="; fetchSubmodules = true; }; vendorHash = "sha256-QLuWxec1gwMnVo0Zw8z4Ef8vzxc4xFpLL/TT986Sljo="; 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 ]; }; }