diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index 54b51f010f4..9296ad80ca2 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -15,6 +15,7 @@ let perlPackages.MIMEBase64 perlPackages.AuthenSASL perlPackages.DigestHMAC ]; + gitwebPerlLibs = with perlPackages; [ CGI HTMLParser ]; }; in 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 fa40f1a49a2..badce5b00f8 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -2,7 +2,7 @@ , gnugrep, gzip, openssh , asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45 , libxslt, tcl, tk, makeWrapper, libiconv -, svnSupport, subversionClient, perlLibs, smtpPerlLibs +, svnSupport, subversionClient, perlLibs, smtpPerlLibs, gitwebPerlLibs , guiSupport , withManual ? true , pythonSupport ? true @@ -102,6 +102,11 @@ stdenv.mkDerivation { # 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/lib/perl5/site_perl\";" \ + "$out/share/gitweb/gitweb.cgi" + done # Also put git-http-backend into $PATH, so that we can use smart # HTTP(s) transports for pushing