Merge pull request #49815 from kalbasit/nixpkgs_fix-vim-go
vimPlugins: vim-go: make gocode, gocode-mod and keyify available to it
This commit is contained in:
commit
bd2111696c
50
pkgs/development/tools/gocode-gomod/default.nix
Normal file
50
pkgs/development/tools/gocode-gomod/default.nix
Normal file
@ -0,0 +1,50 @@
|
||||
{ stdenv, buildGoPackage, fetchFromGitHub }:
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "gocode-gomod-unstable-${version}";
|
||||
version = "2018-10-16";
|
||||
rev = "12640289f65065d652cc942ffa01a52bece1dd53";
|
||||
|
||||
goPackagePath = "github.com/stamblerre/gocode";
|
||||
|
||||
# we must allow references to the original `go` package,
|
||||
# because `gocode` needs to dig into $GOROOT to provide completions for the
|
||||
# standard packages.
|
||||
allowGoReference = true;
|
||||
|
||||
excludedPackages = ''internal/suggest/testdata'';
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
|
||||
owner = "stamblerre";
|
||||
repo = "gocode";
|
||||
sha256 = "1avv0b5p2l8pv38m5gg97k57ndr5k9yy0rfkmmwjq96pa221hs1q";
|
||||
};
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
|
||||
postInstall = ''
|
||||
mv $bin/bin/gocode $bin/bin/gocode-gomod
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "An autocompletion daemon for the Go programming language";
|
||||
longDescription = ''
|
||||
Gocode is a helper tool which is intended to be integrated with your
|
||||
source code editor, like vim, neovim and emacs. It provides several
|
||||
advanced capabilities, which currently includes:
|
||||
|
||||
- Context-sensitive autocompletion
|
||||
|
||||
It is called daemon, because it uses client/server architecture for
|
||||
caching purposes. In particular, it makes autocompletions very fast.
|
||||
Typical autocompletion time with warm cache is 30ms, which is barely
|
||||
noticeable.
|
||||
'';
|
||||
homepage = https://github.com/stamblerre/gocode;
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ kalbasit ];
|
||||
};
|
||||
}
|
11
pkgs/development/tools/gocode-gomod/deps.nix
generated
Normal file
11
pkgs/development/tools/gocode-gomod/deps.nix
generated
Normal file
@ -0,0 +1,11 @@
|
||||
[
|
||||
{
|
||||
goPackagePath = "golang.org/x/tools";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/tools";
|
||||
rev = "78dc5bac0cacea7969e98b79c3b86597e0aa4e25";
|
||||
sha256 = "16jg2x1sfm39kz4rchn0gxyq99fnkxw6v51wxriqbs76a2wrznp9";
|
||||
};
|
||||
}
|
||||
]
|
@ -2,10 +2,11 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "gocode-unstable-${version}";
|
||||
version = "2018-10-22";
|
||||
rev = "e893215113e5f7594faa3a8eb176c2700c921276";
|
||||
version = "2018-11-05";
|
||||
rev = "0af7a86943a6e0237c90f8aeb74a882e1862c898";
|
||||
|
||||
goPackagePath = "github.com/mdempsky/gocode";
|
||||
excludedPackages = ''internal/suggest/testdata'';
|
||||
|
||||
# we must allow references to the original `go` package,
|
||||
# because `gocode` needs to dig into $GOROOT to provide completions for the
|
||||
@ -17,17 +18,11 @@ buildGoPackage rec {
|
||||
|
||||
owner = "mdempsky";
|
||||
repo = "gocode";
|
||||
sha256 = "1zsll7yghv64890k7skl0g2lg9rsaiisgrfnb8kshsxrcxi1kc2l";
|
||||
sha256 = "0fxqn0v6dbwarn444lc1xrx5vfkcidi73f4ba7l4clsb9qdqgyam";
|
||||
};
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
|
||||
preBuild = ''
|
||||
# getting an error building the testdata because they contain invalid files
|
||||
# on purpose as part of the testing.
|
||||
rm -r go/src/$goPackagePath/internal/suggest/testdata
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "An autocompletion daemon for the Go programming language";
|
||||
longDescription = ''
|
||||
|
4
pkgs/development/tools/gocode/deps.nix
generated
4
pkgs/development/tools/gocode/deps.nix
generated
@ -4,8 +4,8 @@
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/tools";
|
||||
rev = "6fe81c087942f588f40c3f67b41ce284f2f70eee";
|
||||
sha256 = "04yl7rk2lf94bxz74ja5snh7ava9gcnf2yx6y002pfkk538r6w5d";
|
||||
rev = "78dc5bac0cacea7969e98b79c3b86597e0aa4e25";
|
||||
sha256 = "16jg2x1sfm39kz4rchn0gxyq99fnkxw6v51wxriqbs76a2wrznp9";
|
||||
};
|
||||
}
|
||||
]
|
||||
|
@ -14,7 +14,7 @@
|
||||
, asmfmt, delve, errcheck, godef, golint
|
||||
, gomodifytags, gotags, gotools, motion
|
||||
, gnused, reftools, gogetdoc, gometalinter
|
||||
, impl, iferr
|
||||
, impl, iferr, gocode, gocode-gomod, go-tools
|
||||
}:
|
||||
|
||||
let
|
||||
@ -261,6 +261,9 @@ with generated;
|
||||
asmfmt
|
||||
delve
|
||||
errcheck
|
||||
go-tools
|
||||
gocode
|
||||
gocode-gomod
|
||||
godef
|
||||
gogetdoc
|
||||
golint
|
||||
@ -276,8 +279,8 @@ with generated;
|
||||
in {
|
||||
postPatch = ''
|
||||
${gnused}/bin/sed \
|
||||
-Ee 's@let go_bin_path = go#path#BinPath\(\)@let go_bin_path = "${binPath}"@g' \
|
||||
-i autoload/go/path.vim
|
||||
-Ee 's@"go_bin_path", ""@"go_bin_path", "${binPath}"@g' \
|
||||
-i autoload/go/config.vim
|
||||
'';
|
||||
});
|
||||
|
||||
|
@ -14698,6 +14698,8 @@ with pkgs;
|
||||
|
||||
gocode = callPackage ../development/tools/gocode { };
|
||||
|
||||
gocode-gomod = callPackage ../development/tools/gocode-gomod { };
|
||||
|
||||
goconst = callPackage ../development/tools/goconst { };
|
||||
|
||||
goconvey = callPackage ../development/tools/goconvey { };
|
||||
|
Loading…
Reference in New Issue
Block a user