2017-10-03 03:13:30 +01:00
|
|
|
{ stdenv, lib, buildGoPackage, fetchFromGitHub, libobjc, IOKit }:
|
2016-07-21 00:33:39 +01:00
|
|
|
|
2017-07-05 14:27:28 +01:00
|
|
|
buildGoPackage rec {
|
2016-07-21 00:33:39 +01:00
|
|
|
name = "go-ethereum-${version}";
|
2018-02-20 03:31:32 +00:00
|
|
|
version = "1.8.1";
|
2016-07-21 00:33:39 +01:00
|
|
|
goPackagePath = "github.com/ethereum/go-ethereum";
|
|
|
|
|
2017-10-03 03:13:30 +01:00
|
|
|
# Fix for usb-related segmentation faults on darwin
|
|
|
|
propagatedBuildInputs =
|
|
|
|
stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
|
|
|
|
|
2017-09-05 08:24:04 +01:00
|
|
|
# Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 )
|
|
|
|
hardeningDisable = [ "fortify" ];
|
2016-07-21 00:33:39 +01:00
|
|
|
|
2018-02-23 10:47:34 +00:00
|
|
|
# Only install binaries in $out, source is not interesting and takes ~50M
|
|
|
|
outputs = [ "out" ];
|
|
|
|
preFixup = ''
|
|
|
|
export bin="''${out}"
|
|
|
|
'';
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/bin $out
|
|
|
|
dir="$NIX_BUILD_TOP/go/bin"
|
|
|
|
[ -e "$dir" ] && cp -r $dir $out
|
|
|
|
'';
|
|
|
|
|
2017-09-05 08:24:04 +01:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "ethereum";
|
|
|
|
repo = "go-ethereum";
|
|
|
|
rev = "v${version}";
|
2018-02-20 03:31:32 +00:00
|
|
|
sha256 = "0k7ly9cw68ranksa1fdn7v2lncmlqgabw3qiiyqya2xz3s4aazlf";
|
2016-07-21 00:33:39 +01:00
|
|
|
};
|
|
|
|
|
2017-09-15 01:52:18 +01:00
|
|
|
meta = with stdenv.lib; {
|
2017-08-01 21:03:30 +01:00
|
|
|
homepage = https://ethereum.github.io/go-ethereum/;
|
2016-07-21 00:33:39 +01:00
|
|
|
description = "Official golang implementation of the Ethereum protocol";
|
2017-09-15 01:52:18 +01:00
|
|
|
license = with licenses; [ lgpl3 gpl3 ];
|
|
|
|
maintainers = [ maintainers.adisbladis ];
|
2016-07-21 00:33:39 +01:00
|
|
|
};
|
|
|
|
}
|