50 lines
1.2 KiB
Nix
50 lines
1.2 KiB
Nix
{ gitpkgs ? import /home/steveej/src/github/NixOS/nixpkgs {}
|
|
, pkgs ? gitpkgs
|
|
, name ? "generic"
|
|
, version
|
|
, extraBuildInputs ? []
|
|
, extraShellHook ? ""
|
|
}:
|
|
let
|
|
go = builtins.getAttr "go_${version}" pkgs;
|
|
buildInputs = with pkgs; [
|
|
glibc.out
|
|
glibc.static
|
|
|
|
go
|
|
gotools
|
|
#gotools.bin
|
|
#gocode.bin
|
|
#godef godef.bin
|
|
godep
|
|
#godep.bin
|
|
gox.bin
|
|
#ginkgo ginkgo.bin
|
|
#gomega
|
|
(import ./vim-go.nix{inherit pkgs;})
|
|
];
|
|
|
|
in pkgs.stdenv.mkDerivation {
|
|
inherit name;
|
|
buildInputs = extraBuildInputs ++ buildInputs;
|
|
shellHook = ''
|
|
goname=${go.version}_$name
|
|
setPS1 $goname
|
|
export GOROOT=${go}/share/go
|
|
export GOPATH="$HOME/.gopath_$goname"
|
|
export PATH="$HOME/.gopath_$goname/bin:$PATH"
|
|
unset name
|
|
unset SSL_CERT_FILE
|
|
|
|
go get -u github.com/Masterminds/glide
|
|
go get -u github.com/sgotti/glide-vc
|
|
go get -u github.com/alecthomas/gometalinter
|
|
go get -u github.com/golang/lint/golint
|
|
go get -u github.com/rogpeppe/godef
|
|
go get -u github.com/kisielk/errcheck
|
|
go get -u github.com/jstemmer/gotags
|
|
go get -u github.com/klauspost/asmfmt/cmd/asmfmt
|
|
go get -u github.com/nsf/gocode
|
|
${extraShellHook}
|
|
'';
|
|
}
|