2023-01-20 10:41:00 +00:00
|
|
|
{ lib, buildGoModule, fetchFromGitHub, nix-update-script }:
|
2021-08-11 14:56:57 +00:00
|
|
|
|
2022-12-17 10:02:37 +00:00
|
|
|
let
|
2021-08-11 14:56:57 +00:00
|
|
|
pname = "erigon";
|
2024-06-05 15:53:02 +00:00
|
|
|
version = "2.60.0";
|
2023-01-20 10:41:00 +00:00
|
|
|
in
|
|
|
|
buildGoModule {
|
|
|
|
inherit pname version;
|
2021-08-11 14:56:57 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "ledgerwatch";
|
|
|
|
repo = pname;
|
|
|
|
rev = "v${version}";
|
2024-06-05 15:53:02 +00:00
|
|
|
hash = "sha256-c0CArubKvdh9xcvBM15O4vGwAsSHzaINtoKd0XczJHU=";
|
2022-07-14 12:49:19 +00:00
|
|
|
fetchSubmodules = true;
|
2021-08-11 14:56:57 +00:00
|
|
|
};
|
|
|
|
|
2024-06-05 15:53:02 +00:00
|
|
|
vendorHash = "sha256-38NmSSK3a70WvhZAZ529wdAMlEuk8/4YqtadoLOn1IY=";
|
2022-01-07 04:07:37 +00:00
|
|
|
proxyVendor = true;
|
2021-08-11 14:56:57 +00:00
|
|
|
|
|
|
|
# Build errors in mdbx when format hardening is enabled:
|
|
|
|
# cc1: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security]
|
|
|
|
hardeningDisable = [ "format" ];
|
|
|
|
|
2023-11-16 04:20:00 +00:00
|
|
|
# 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__";
|
|
|
|
|
2021-08-11 14:56:57 +00:00
|
|
|
subPackages = [
|
|
|
|
"cmd/erigon"
|
|
|
|
"cmd/evm"
|
|
|
|
"cmd/rpcdaemon"
|
|
|
|
"cmd/rlpdump"
|
|
|
|
];
|
|
|
|
|
2024-04-21 15:54:59 +00:00
|
|
|
# Matches the tags to upstream's release build configuration
|
|
|
|
# https://github.com/ledgerwatch/erigon/blob/0c0dbe5f3a81cf8f16da8e4838312ab80ebe5302/.goreleaser.yml
|
|
|
|
#
|
|
|
|
# Enabling silkworm also breaks the build as it requires dynamically linked libraries.
|
|
|
|
# If we need it in the future, we should consider packaging silkworm and silkworm-go
|
|
|
|
# as depenedencies explicitly.
|
|
|
|
tags = "-tags=nosqlite,noboltdb,nosilkworm";
|
|
|
|
|
2023-01-20 10:41:00 +00:00
|
|
|
passthru.updateScript = nix-update-script { };
|
2022-12-28 21:21:41 +00:00
|
|
|
|
2021-08-11 14:56:57 +00:00
|
|
|
meta = with lib; {
|
|
|
|
homepage = "https://github.com/ledgerwatch/erigon/";
|
|
|
|
description = "Ethereum node implementation focused on scalability and modularity";
|
|
|
|
license = with licenses; [ lgpl3Plus gpl3Plus ];
|
2022-09-22 12:36:57 +00:00
|
|
|
maintainers = with maintainers; [ d-xo happysalada ];
|
2021-08-11 14:56:57 +00:00
|
|
|
};
|
|
|
|
}
|