about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/version-management/git-and-tools/gitweb/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/version-management/git-and-tools/gitweb/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gitweb/default.nix34
1 files changed, 12 insertions, 22 deletions
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitweb/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitweb/default.nix
index a98dd5bc5862..afd90ba49690 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitweb/default.nix
+++ b/nixpkgs/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 ];