Unverified Commit 76d6a790 authored by Yt's avatar Yt Committed by GitHub
Browse files

erigon: 3.0.4 -> 3.3.7 (#487155)

parents 7df2e7f0 ba24f9b6
Loading
Loading
Loading
Loading
+20 −24
Original line number Diff line number Diff line
@@ -3,35 +3,27 @@
  buildGoModule,
  fetchFromGitHub,
  nix-update-script,
  versionCheckHook,
}:

let
  pname = "erigon";
  version = "3.0.4";
  version = "3.3.7";
in
buildGoModule {
  inherit pname version;

  src = fetchFromGitHub {
    owner = "ledgerwatch";
    owner = "erigontech";
    repo = "erigon";
    tag = "v${version}";
    hash = "sha256-MQpHRlKxWCBD2Tj9isxMKwvYBy9HtDkQPyKPse8uB3g=";
    hash = "sha256-pvwZ71/68jrRqTIPQdmlhJ/BLFhsNjmtcVfiqIC274c=";
    fetchSubmodules = true;
  };

  vendorHash = "sha256-ocnq97cMsiMgDTZhwZ/fiGzaHiSAiJckPwWZu2q3f58=";
  vendorHash = "sha256-i/ri6HDaF8Mz7UgO14TPR1GBAxnmYuvWDP/B0L5gRd8=";
  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"
@@ -40,14 +32,16 @@ buildGoModule {
  ];

  # 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.
  # https://github.com/erigontech/erigon/blob/0a263a3d989f79310d78c3d42c27beef01d5dcb5/wmake.ps1#L415
  tags = [
    "nosqlite"
    "noboltdb"

    # Enabling silkworm also breaks the build as it requires dynamically linked libraries:
    # > Some binaries contain forbidden references to /build/.
    #
    # If we need it in the future, we should consider packaging silkworm and silkworm-go
    # as depenedencies explicitly.
    "nosilkworm"
  ];

@@ -59,15 +53,17 @@ buildGoModule {
    ];
  };

  nativeInstallCheckInputs = [ versionCheckHook ];
  doInstallCheck = true;
  versionCheckProgram = "${placeholder "out"}/bin/erigon";

  meta = {
    homepage = "https://github.com/ledgerwatch/erigon/";
    description = "Ethereum node implementation focused on scalability and modularity";
    license = with lib.licenses; [
      lgpl3Plus
      gpl3Plus
    ];
    homepage = "https://github.com/erigontech/erigon/";
    description = "Erigon is an implementation of Ethereum (execution layer with embeddable consensus layer), on the efficiency frontier.";
    license = lib.licenses.lgpl3;
    maintainers = with lib.maintainers; [
      happysalada
      pmw
    ];
  };
}