{ buildGoModule, fetchFromGitHub, lib, }: buildGoModule rec { pname = "coreth"; version = "0.15.2"; src = fetchFromGitHub { owner = "ava-labs"; repo = "coreth"; rev = "v${version}"; hash = "sha256-YPL/CJIAB/hkUrvyY0jcHWNKry6ddeO2mpxBiutNNMU="; }; # go mod vendor has a bug, see: golang/go#57529 proxyVendor = true; vendorHash = "sha256-SGOg2xHWcwJc4j6RcR2KaicXrBkwY2PtknVEvQtatGs="; ldflags = [ "-s" "-w" "-X github.com/ava-labs/coreth/plugin/evm.Version=${version}" "-X github.com/ava-labs/coreth/cmd/abigen.gitCommit=${version}" "-X github.com/ava-labs/coreth/cmd/abigen.gitDate=1970-01-01" ]; subPackages = [ "cmd/abigen" "plugin" ]; postInstall = "mv $out/bin/{plugin,evm}"; meta = { description = "Code and wrapper to extract Ethereum blockchain functionalities without network/consensus, for building custom blockchain services"; homepage = "https://github.com/ava-labs/coreth"; changelog = "https://github.com/ava-labs/coreth/releases/tag/v${version}"; license = lib.licenses.lgpl3Only; maintainers = with lib.maintainers; [ urandom ]; }; }