about summary refs log tree commit diff
path: root/pkgs/applications/version-management/git-and-tools
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2019-08-21 14:25:13 +0200
committerRobin Gloster <mail@glob.in>2019-08-21 14:25:13 +0200
commitf4fc845e5b8195b7ef4c7bc6a0e83495ae472d2d (patch)
tree43c003d74f5de4cf4f42207cfd933d1077f8f04a /pkgs/applications/version-management/git-and-tools
parent9135412b63fcdb8d5cf1be659b657628f754d9c5 (diff)
parent609d408970362522c3b85ea5f903321247ed502f (diff)
downloadnixlib-f4fc845e5b8195b7ef4c7bc6a0e83495ae472d2d.tar
nixlib-f4fc845e5b8195b7ef4c7bc6a0e83495ae472d2d.tar.gz
nixlib-f4fc845e5b8195b7ef4c7bc6a0e83495ae472d2d.tar.bz2
nixlib-f4fc845e5b8195b7ef4c7bc6a0e83495ae472d2d.tar.lz
nixlib-f4fc845e5b8195b7ef4c7bc6a0e83495ae472d2d.tar.xz
nixlib-f4fc845e5b8195b7ef4c7bc6a0e83495ae472d2d.tar.zst
nixlib-f4fc845e5b8195b7ef4c7bc6a0e83495ae472d2d.zip
Merge remote-tracking branch 'upstream/master' into openssl-1.1
Diffstat (limited to 'pkgs/applications/version-management/git-and-tools')
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix20
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitweb/default.nix34
-rw-r--r--pkgs/applications/version-management/git-and-tools/hub/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/pre-commit/default.nix34
-rw-r--r--pkgs/applications/version-management/git-and-tools/tig/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/topgit/default.nix32
8 files changed, 49 insertions, 79 deletions
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index 5068647e8798..c7d77bf34981 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -145,7 +145,7 @@ let
 
   lab = callPackage ./lab { };
 
-  pre-commit = callPackage ./pre-commit { };
+  pre-commit = pkgs.python3Packages.toPythonApplication pkgs.python3Packages.pre-commit;
 
   pass-git-helper = python3Packages.callPackage ./pass-git-helper { };
 
diff --git a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
index 1af2170e1699..599c6bb4308e 100644
--- a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
@@ -43,6 +43,6 @@ stdenv.mkDerivation rec {
       diff-so-fancy builds on the good-lookin' output of git contrib's
       diff-highlight to upgrade your diffs' appearances.
     '';
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz globin ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 67125458c72f..83e65bc17171 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -14,6 +14,7 @@
 , darwin
 , withLibsecret ? false
 , pkgconfig, glib, libsecret
+, gzip # needed at runtime by gitweb.cgi
 }:
 
 assert sendEmailSupport -> perlSupport;
@@ -22,6 +23,8 @@ assert svnSupport -> perlSupport;
 let
   version = "2.22.0";
   svn = subversionClient.override { perlBindings = perlSupport; };
+
+  gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
 in
 
 stdenv.mkDerivation {
@@ -32,7 +35,7 @@ stdenv.mkDerivation {
     sha256 = "17zj6jwx3s6bybd290f1mj5iym1r64560rmnf0p63x4akxclp7hm";
   };
 
-  outputs = [ "out" ] ++ stdenv.lib.optional perlSupport "gitweb";
+  outputs = [ "out" ];
 
   hardeningDisable = [ "format" ];
 
@@ -171,9 +174,6 @@ stdenv.mkDerivation {
       # HTTP(s) transports for pushing
       ln -s $out/libexec/git-core/git-http-backend $out/bin/git-http-backend
     '' + stdenv.lib.optionalString perlSupport ''
-      # put in separate package for simpler maintenance
-      mv $out/share/gitweb $gitweb/
-
       # wrap perl commands
       makeWrapper "$out/share/git/contrib/credential/netrc/git-credential-netrc" $out/bin/git-credential-netrc \
                   --set PERL5LIB   "$out/${perlPackages.perl.libPrefix}:${perlPackages.makePerlPath perlLibs}"
@@ -187,6 +187,16 @@ stdenv.mkDerivation {
                   --set GITPERLLIB "$out/${perlPackages.perl.libPrefix}:${perlPackages.makePerlPath perlLibs}"
       wrapProgram $out/libexec/git-core/git-cvsexportcommit \
                   --set GITPERLLIB "$out/${perlPackages.perl.libPrefix}:${perlPackages.makePerlPath perlLibs}"
+
+      # gzip (and optionally bzip2, xz, zip) are runtime dependencies for
+      # gitweb.cgi, need to patch so that it's found
+      sed -i -e "s|'compressor' => \['gzip'|'compressor' => ['${gzip}/bin/gzip'|" \
+          $out/share/gitweb/gitweb.cgi
+      # Give access to CGI.pm and friends (was removed from perl core in 5.22)
+      for p in ${stdenv.lib.concatStringsSep " " gitwebPerlLibs}; do
+          sed -i -e "/use CGI /i use lib \"$p/${perlPackages.perl.libPrefix}\";" \
+              "$out/share/gitweb/gitweb.cgi"
+      done
     ''
 
    + (if svnSupport then ''
@@ -308,6 +318,6 @@ stdenv.mkDerivation {
     '';
 
     platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ peti the-kenny wmertens ];
+    maintainers = with stdenv.lib.maintainers; [ peti the-kenny wmertens globin ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/gitweb/default.nix b/pkgs/applications/version-management/git-and-tools/gitweb/default.nix
index a98dd5bc5862..afd90ba49690 100644
--- a/pkgs/applications/version-management/git-and-tools/gitweb/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitweb/default.nix
@@ -1,35 +1,25 @@
-{ stdenv, git, gzip, perlPackages, fetchFromGitHub
+{ stdenv, buildEnv, git, fetchFromGitHub
 , gitwebTheme ? false }:
 
 let
-  gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
   gitwebThemeSrc = fetchFromGitHub {
     owner = "kogakure";
     repo = "gitweb-theme";
     rev = "049b88e664a359f8ec25dc6f531b7e2aa60dd1a2";
-    sha256 = "0wksqma41z36dbv6w6iplkjfdm0ha3njp222fakyh4lismajr71p";
+    extraPostFetch = ''
+      mkdir -p "$TMPDIR/gitwebTheme"
+      mv "$out"/* "$TMPDIR/gitwebTheme/"
+      mkdir "$out/static"
+      mv "$TMPDIR/gitwebTheme"/* "$out/static/"
+    '';
+    sha256 = "17hypq6jvhy6zhh26lp3nyi52npfd5wy5752k6sq0shk4na2acqi";
   };
-in stdenv.mkDerivation {
+in buildEnv {
   name = "gitweb-${stdenv.lib.getVersion git}";
 
-  src = git.gitweb;
-
-  installPhase = ''
-      mkdir $out
-      mv * $out
-
-      # gzip (and optionally bzip2, xz, zip) are runtime dependencies for
-      # gitweb.cgi, need to patch so that it's found
-      sed -i -e "s|'compressor' => \['gzip'|'compressor' => ['${gzip}/bin/gzip'|" \
-          $out/gitweb.cgi
-      # Give access to CGI.pm and friends (was removed from perl core in 5.22)
-      for p in ${stdenv.lib.concatStringsSep " " gitwebPerlLibs}; do
-          sed -i -e "/use CGI /i use lib \"$p/${perlPackages.perl.libPrefix}\";" \
-              "$out/gitweb.cgi"
-      done
-
-      ${stdenv.lib.optionalString gitwebTheme "cp ${gitwebThemeSrc}/* $out/static"}
-  '';
+  ignoreCollisions = true;
+  paths = stdenv.lib.optional gitwebTheme "${gitwebThemeSrc}"
+       ++ [ "${git}/share/gitweb" ];
 
   meta = git.meta // {
     maintainers = with stdenv.lib.maintainers; [ gnidorah ];
diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix
index 8733863196d3..f1950923415f 100644
--- a/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -38,7 +38,7 @@ buildGoPackage rec {
     description = "Command-line wrapper for git that makes you better at GitHub";
     license = licenses.mit;
     homepage = https://hub.github.com/;
-    maintainers = with maintainers; [ the-kenny ];
+    maintainers = with maintainers; [ the-kenny globin ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix b/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix
deleted file mode 100644
index ed44043eb9a9..000000000000
--- a/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, python3Packages }:
-with python3Packages; buildPythonApplication rec {
-  pname = "pre-commit";
-  version = "1.17.0";
-
-  src = fetchPypi {
-    inherit version;
-    pname = "pre_commit";
-    sha256 = "1qswk30w2cq8xvj16mhszsi3npp0z08s8lki1w67nif23c2kkk6c";
-  };
-
-  propagatedBuildInputs = [
-    aspy-yaml
-    cached-property
-    cfgv
-    identify
-    nodeenv
-    six
-    toml
-    virtualenv
-    importlib-metadata
-  ] ++ stdenv.lib.optional (pythonOlder "3.7") importlib-resources
-    ++ stdenv.lib.optional (pythonOlder "3.2") futures;
-
-  # Tests fail due to a missing windll dependency
-  doCheck = false;
-
-  meta = with stdenv.lib; {
-    description = "A framework for managing and maintaining multi-language pre-commit hooks";
-    homepage = https://pre-commit.com/;
-    license = licenses.mit;
-    maintainers = with maintainers; [ borisbabic ];
-  };
-}
diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix
index e9862cb48975..52f5551e204f 100644
--- a/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = https://jonas.github.io/tig/;
     description = "Text-mode interface for git";
-    maintainers = with maintainers; [ bjornfor domenkozar qknight ];
+    maintainers = with maintainers; [ bjornfor domenkozar qknight globin ];
     license = licenses.gpl2;
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/version-management/git-and-tools/topgit/default.nix b/pkgs/applications/version-management/git-and-tools/topgit/default.nix
index c183bbde7e6b..0da0cfa02b63 100644
--- a/pkgs/applications/version-management/git-and-tools/topgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/topgit/default.nix
@@ -1,26 +1,30 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchFromGitHub, git, perl }:
 
 stdenv.mkDerivation rec {
-  name = "topgit-0.9";
+  pname = "topgit";
+  version = "0.19.12";
 
-  src = fetchurl {
-    url = "https://github.com/greenrd/topgit/archive/${name}.tar.gz";
-    sha256 = "1z9x42a0cmn8n2n961qcfl522nd6j9a3dpx1jbqfp24ddrk5zd94";
+  src = fetchFromGitHub {
+    owner = "mackyle";
+    repo = "topgit";
+    rev = "${pname}-${version}";
+    sha256 = "1wvf8hmwwl7a2fr17cfs3pbxjccdsjw9ngzivxlgja0gvfz4hjd5";
   };
 
-  configurePhase = "makeFlags=prefix=$out";
+  makeFlags = [ "prefix=${placeholder "out"}" ];
+
+  nativeBuildInputs = [ perl git ];
 
   postInstall = ''
-    mkdir -p "$out/share/doc/${name}" "$out/etc/bash_completion.d/"
-    mv README "$out/share/doc/${name}/"
-    mv contrib/tg-completion.bash "$out/etc/bash_completion.d/"
+    install -Dm644 README -t"$out/share/doc/${pname}-${version}/"
+    install -Dm755 contrib/tg-completion.bash -t "$out/etc/bash_completion.d/"
   '';
 
-  meta = {
-    homepage = https://github.com/greenrd/topgit;
+  meta = with stdenv.lib; {
     description = "TopGit manages large amount of interdependent topic branches";
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ marcweber ];
+    homepage = "https://github.com/mackyle/topgit";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ marcweber ];
   };
 }