diff --git a/pkgs/applications/blockchains/optimism/geth.nix b/pkgs/applications/blockchains/optimism/geth.nix new file mode 100644 index 000000000000..ab854f64f7a4 --- /dev/null +++ b/pkgs/applications/blockchains/optimism/geth.nix @@ -0,0 +1,50 @@ +{ stdenv +, lib +, buildGoModule +, fetchFromGitHub +, libobjc +, IOKit +}: + +buildGoModule rec { + pname = "op-geth"; + version = "1.101106.0"; + + src = fetchFromGitHub { + owner = "ethereum-optimism"; + repo = "op-geth"; + rev = "v${version}"; + hash = "sha256-hLng9DMzRN43m0+GAc6Bn0c9heuekghn4ZdDKgQcSKY="; + fetchSubmodules = true; + }; + + subPackages = [ + "cmd/abidump" + "cmd/abigen" + "cmd/bootnode" + "cmd/clef" + "cmd/devp2p" + "cmd/ethkey" + "cmd/evm" + "cmd/faucet" + "cmd/geth" + "cmd/p2psim" + "cmd/rlpdump" + "cmd/utils" + ]; + + vendorHash = "sha256-bGEvBXG6q9m5go+4mAlOu424ReTbfwVhkohN+FikBMg="; + + # Fix for usb-related segmentation faults on darwin + propagatedBuildInputs = + lib.optionals stdenv.isDarwin [ libobjc IOKit ]; + + ldflags = [ "-s" "-w" ]; + + meta = with lib; { + description = ""; + homepage = "https://github.com/ethereum-optimism/op-geth"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ happysalada ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7fb38e65dd07..b84116bc6616 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11007,6 +11007,11 @@ with pkgs; mtm = callPackage ../tools/misc/mtm { }; + op-geth = callPackage ../applications/blockchains/optimism/geth.nix { + inherit (darwin) libobjc; + inherit (darwin.apple_sdk.frameworks) IOKit; + }; + optimism = callPackage ../applications/blockchains/optimism { }; pa_applet = callPackage ../tools/audio/pa-applet { };