summary refs log tree commit diff
path: root/pkgs/applications/version-management
diff options
context:
space:
mode:
authorKirill Elagin <kirelagin@gmail.com>2019-01-06 16:09:20 +0300
committerKirill Elagin <kirelagin@gmail.com>2019-01-06 16:14:49 +0300
commit047def418ee726a43b46bce6d93f26e2dd705cb4 (patch)
tree91da5511be75557879e1cbc16daf88679abf9853 /pkgs/applications/version-management
parent813c6d46641976befcfdfdb1bdaaf7a84bb34d03 (diff)
downloadnixpkgs-047def418ee726a43b46bce6d93f26e2dd705cb4.tar
nixpkgs-047def418ee726a43b46bce6d93f26e2dd705cb4.tar.gz
nixpkgs-047def418ee726a43b46bce6d93f26e2dd705cb4.tar.bz2
nixpkgs-047def418ee726a43b46bce6d93f26e2dd705cb4.tar.lz
nixpkgs-047def418ee726a43b46bce6d93f26e2dd705cb4.tar.xz
nixpkgs-047def418ee726a43b46bce6d93f26e2dd705cb4.tar.zst
nixpkgs-047def418ee726a43b46bce6d93f26e2dd705cb4.zip
git: Do not split gitweb output
This partially reverts 9029ed933c69287c64a30d40b6b4f9f1ace7dd94 as
`git-instaweb`, which comes with git, needs on gitweb and having them in
separate outputs results in a cycle.
Diffstat (limited to 'pkgs/applications/version-management')
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix7
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitweb/default.nix23
2 files changed, 15 insertions, 15 deletions
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 9c405d0aba8..8be4dcc95c8 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
     sha256 = "1scbggzghkzzfqg4ky3qh7h9w87c3zya4ls5disz7dbx56is7sgw";
   };
 
-  outputs = [ "out" ] ++ stdenv.lib.optional perlSupport "gitweb";
+  outputs = [ "out" ];
 
   hardeningDisable = [ "format" ];
 
@@ -87,7 +87,6 @@ stdenv.mkDerivation {
 
   makeFlags = [
     "prefix=\${out}"
-    "gitwebdir=\${gitweb}"  # put in separate package for simpler maintenance
     "SHELL_PATH=${stdenv.shell}"
   ]
   ++ (if perlSupport then ["PERL_PATH=${perlPackages.perl}/bin/perl"] else ["NO_PERL=1"])
@@ -190,11 +189,11 @@ stdenv.mkDerivation {
       # 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'|" \
-          $gitweb/gitweb.cgi
+          $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}\";" \
-              "$gitweb/gitweb.cgi"
+              "$out/share/gitweb/gitweb.cgi"
       done
     ''
 
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 f165fa6b05c..afd90ba4969 100644
--- a/pkgs/applications/version-management/git-and-tools/gitweb/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitweb/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, git, fetchFromGitHub
+{ stdenv, buildEnv, git, fetchFromGitHub
 , gitwebTheme ? false }:
 
 let
@@ -6,19 +6,20 @@ let
     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
-
-      ${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 ];