git: make manual reproducible

This makes the git HTML manual reproducible.

It also removes the `git.info` manual, since this one is
basically entirely broken anyway. This likely happened
when we migrated from asciidoc to asciidoctor in #102020.
I don't suggest going back to asciidoc: that would
re-introduce a python2 dependency and another
reproducibility issue with the HTML docs.

Co-Authored-By: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
This commit is contained in:
Arnout Engelen 2020-11-30 22:32:59 +01:00
parent 6cea12ccff
commit 91099b08ae
No known key found for this signature in database
GPG key ID: 061107B0F74A6DAA

View file

@ -1,4 +1,5 @@
{ fetchurl, stdenv, buildPackages
, fetchpatch
, curl, openssl, zlib, expat, perlPackages, python3, gettext, cpio
, gnugrep, gnused, gawk, coreutils # needed at runtime by git-filter-branch etc
, openssh, pcre2
@ -51,6 +52,12 @@ stdenv.mkDerivation {
./ssh-path.patch
./git-send-email-honor-PATH.patch
./installCheck-path.patch
(fetchpatch {
# https://github.com/git/git/pull/925
name = "make-manual-reproducible.patch";
url = "https://github.com/git/git/commit/7a68e9e0b8eda91eb576bbbc5ed66298f3ab761c.patch";
sha256 = "02naws82pd3vvwrrgqn91kid8qkjihyjaz1ahgjz8qlmnn2avf5n";
})
];
postPatch = ''
@ -229,8 +236,8 @@ stdenv.mkDerivation {
notSupported $out/libexec/git-core/git-send-email
'')
+ stdenv.lib.optionalString withManual ''# Install man pages and Info manual
make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES USE_ASCIIDOCTOR=1 PERL_PATH="${buildPackages.perl}/bin/perl" cmd-list.made install install-html install-info \
+ stdenv.lib.optionalString withManual ''# Install man pages
make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES USE_ASCIIDOCTOR=1 PERL_PATH="${buildPackages.perl}/bin/perl" cmd-list.made install install-html \
-C Documentation ''
+ (if guiSupport then ''