diff --git a/pkgs/applications/altcoins/go-ethereum.nix b/pkgs/applications/altcoins/go-ethereum.nix index 22697af2092..1e16eb78cef 100644 --- a/pkgs/applications/altcoins/go-ethereum.nix +++ b/pkgs/applications/altcoins/go-ethereum.nix @@ -1,8 +1,9 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, libobjc, IOKit }: +{ stdenv, buildGoPackage, fetchFromGitHub, libobjc, IOKit, fetchpatch }: buildGoPackage rec { - name = "go-ethereum-${version}"; - version = "1.8.26"; + pname = "go-ethereum"; + version = "1.8.27"; + goPackagePath = "github.com/ethereum/go-ethereum"; # Fix for usb-related segmentation faults on darwin @@ -12,11 +13,22 @@ buildGoPackage rec { # Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 ) hardeningDisable = [ "fortify" ]; + # Apply ethereum/go-ethereum#19183 to fix the aarch64 build failure. + # + # TODO Remove this patch when upstream (https://github.com/ethereum/go-ethereum) + # fix this problem in the future release. + patches = [ + (fetchpatch { + url = "https://github.com/ethereum/go-ethereum/commit/39bd2609.patch"; + sha256 = "1a362hzvcjk505hicv25kziy3c6s5an4j7rk4jibcxwgvygb3mz5"; + }) + ]; + src = fetchFromGitHub { owner = "ethereum"; - repo = "go-ethereum"; + repo = pname; rev = "v${version}"; - sha256 = "0i7shrwix5j8l5i0ap5pzhninwyk2kvm1pax27pnnjlpam8577i4"; + sha256 = "1640y7lqy7bvjjgx6wp0cnbw632ls5fj4ixclr819lfz4p5dfhx1"; }; meta = with stdenv.lib; {