From 0f4f5d69a774b3cba1c8cebb4e1a21d6e4212a3b Mon Sep 17 00:00:00 2001 From: "Wael M. Nasreddine" Date: Mon, 5 Nov 2018 22:13:40 -0800 Subject: gocode-gomod: init unstable at 2018-10-16 --- pkgs/development/tools/gocode-gomod/default.nix | 50 +++++++++++++++++++++++++ pkgs/development/tools/gocode-gomod/deps.nix | 11 ++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 63 insertions(+) create mode 100644 pkgs/development/tools/gocode-gomod/default.nix create mode 100644 pkgs/development/tools/gocode-gomod/deps.nix diff --git a/pkgs/development/tools/gocode-gomod/default.nix b/pkgs/development/tools/gocode-gomod/default.nix new file mode 100644 index 000000000000..b0069d3488e0 --- /dev/null +++ b/pkgs/development/tools/gocode-gomod/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/tools/gocode-gomod/deps.nix b/pkgs/development/tools/gocode-gomod/deps.nix new file mode 100644 index 000000000000..ac9662697063 --- /dev/null +++ b/pkgs/development/tools/gocode-gomod/deps.nix @@ -0,0 +1,11 @@ +[ + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "78dc5bac0cacea7969e98b79c3b86597e0aa4e25"; + sha256 = "16jg2x1sfm39kz4rchn0gxyq99fnkxw6v51wxriqbs76a2wrznp9"; + }; + } +] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e8aa4618fad2..28de804b14dd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14705,6 +14705,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 { }; -- cgit 1.4.1