mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-25 03:17:13 +00:00
38 lines
1.2 KiB
Nix
38 lines
1.2 KiB
Nix
|
{ stdenv, git, gzip, perlPackages, fetchFromGitHub
|
||
|
, gitwebTheme ? false }:
|
||
|
|
||
|
let
|
||
|
gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
|
||
|
gitwebThemeSrc = fetchFromGitHub {
|
||
|
owner = "kogakure";
|
||
|
repo = "gitweb-theme";
|
||
|
rev = "049b88e664a359f8ec25dc6f531b7e2aa60dd1a2";
|
||
|
sha256 = "0wksqma41z36dbv6w6iplkjfdm0ha3njp222fakyh4lismajr71p";
|
||
|
};
|
||
|
in stdenv.mkDerivation {
|
||
|
name = "gitweb";
|
||
|
|
||
|
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/lib/perl5/site_perl\";" \
|
||
|
"$out/gitweb.cgi"
|
||
|
done
|
||
|
|
||
|
${stdenv.lib.optionalString gitwebTheme "cp ${gitwebThemeSrc}/* $out/static"}
|
||
|
'';
|
||
|
|
||
|
meta = git.meta // {
|
||
|
maintainers = with stdenv.lib.maintainers; [ gnidorah ];
|
||
|
};
|
||
|
}
|