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 ];