41 lines
1.3 KiB
Nix
41 lines
1.3 KiB
Nix
{ stdenv, buildGoPackage, fetchFromGitHub, libobjc, IOKit, fetchpatch }:
|
|
|
|
buildGoPackage rec {
|
|
pname = "go-ethereum";
|
|
version = "1.8.27";
|
|
|
|
goPackagePath = "github.com/ethereum/go-ethereum";
|
|
|
|
# Fix for usb-related segmentation faults on darwin
|
|
propagatedBuildInputs =
|
|
stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
|
|
|
|
# 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 = pname;
|
|
rev = "v${version}";
|
|
sha256 = "1640y7lqy7bvjjgx6wp0cnbw632ls5fj4ixclr819lfz4p5dfhx1";
|
|
};
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = https://ethereum.github.io/go-ethereum/;
|
|
description = "Official golang implementation of the Ethereum protocol";
|
|
license = with licenses; [ lgpl3 gpl3 ];
|
|
maintainers = with maintainers; [ adisbladis asymmetric lionello ];
|
|
};
|
|
}
|