{ stdenv, buildGoPackage, fetchFromGitHub, libobjc, IOKit }: buildGoPackage rec { pname = "go-ethereum"; version = "1.9.7"; goPackagePath = "github.com/ethereum/go-ethereum"; # Fix for usb-related segmentation faults on darwin propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ]; src = fetchFromGitHub { owner = "ethereum"; repo = pname; rev = "v${version}"; sha256 = "07110dj91wmkpwz7iy0lmxx3y9wjxjrhk3rhkfdil74cxm0wkkn2"; }; meta = with stdenv.lib; { homepage = "https://geth.ethereum.org/"; description = "Official golang implementation of the Ethereum protocol"; license = with licenses; [ lgpl3 gpl3 ]; maintainers = with maintainers; [ adisbladis asymmetric lionello xrelkd ]; }; }