{ stdenv , lib , buildGoModule , fetchFromGitHub , libobjc , IOKit }: buildGoModule rec { pname = "op-geth"; version = "1.101304.2"; src = fetchFromGitHub { owner = "ethereum-optimism"; repo = "op-geth"; rev = "v${version}"; hash = "sha256-cGCgcwP/9xSpVo2UJAArptF5KEflo7SSdfg5WYUMuxY="; 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-F0OANE4S7WJDYKpJ6mCnR38CPyOov0Hxc0gK1MGHcIg="; # 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 ]; }; }