about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix27
1 files changed, 19 insertions, 8 deletions
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 12f354bc2fb9..0e10cdc882d0 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -1,25 +1,36 @@
-{ stdenv, fetchFromGitLab, git, go }:
+{ stdenv, fetchFromGitLab, git, buildGoPackage }:
 
-stdenv.mkDerivation rec {
+buildGoPackage rec {
   pname = "gitlab-workhorse";
 
-  version = "8.7.0";
+  version = "8.18.0";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-workhorse";
     rev = "v${version}";
-    sha256 = "1zlngc498hnzbxwdjn3ymr0xwrnfgnzzhn9lyf37yfbjl8x28n3z";
+    sha256 = "0qsbz8gv9r9wfvxsh9mpspgs2gyyidxdz5n9n7ibfy7z129mx4ak";
   };
 
-  buildInputs = [ git go ];
+  goPackagePath = "gitlab.com/gitlab-org/gitlab-workhorse";
+  goDeps = ./deps.nix;
+  buildInputs = [ git ];
+  buildFlagsArray = "-ldflags=-X main.Version=${version}";
 
-  makeFlags = [ "PREFIX=$(out)" "VERSION=${version}" "GOCACHE=$(TMPDIR)/go-cache" ];
+  # gitlab-workhorse depends on an older version of labkit which
+  # contains old, vendored versions of some packages; gitlab-workhorse
+  # also explicitly depends on newer versions of these libraries,
+  # but buildGoPackage exposes the vendored versions instead,
+  # leading to compilation errors. Since the vendored libraries
+  # aren't used here anyway, we'll just remove them.
+  postConfigure = ''
+    rm -r "$NIX_BUILD_TOP/go/src/gitlab.com/gitlab-org/labkit/vendor"
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://www.gitlab.com/;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ fpletz globin ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ fpletz globin talyz ];
     license = licenses.mit;
   };
 }