diff options
author | Mathieu Boespflug <mboes@tweag.net> | 2017-10-02 15:25:12 +0200 |
---|---|---|
committer | zimbatm <zimbatm@zimbatm.com> | 2017-10-02 14:25:12 +0100 |
commit | f795d78d86b453c7bc34ada886025edc0433e512 (patch) | |
tree | 6df46d6b2477b7493fbf2243f8ab1c1843b24e96 | |
parent | 3594c358bdc2d968ea48e9c844a1416859164049 (diff) | |
download | nixlib-f795d78d86b453c7bc34ada886025edc0433e512.tar nixlib-f795d78d86b453c7bc34ada886025edc0433e512.tar.gz nixlib-f795d78d86b453c7bc34ada886025edc0433e512.tar.bz2 nixlib-f795d78d86b453c7bc34ada886025edc0433e512.tar.lz nixlib-f795d78d86b453c7bc34ada886025edc0433e512.tar.xz nixlib-f795d78d86b453c7bc34ada886025edc0433e512.tar.zst nixlib-f795d78d86b453c7bc34ada886025edc0433e512.zip |
git: Properly wrap Git commands that are implemented in Perl. (#30001)
Some Git commands are implemented as Perl scripts. Some of these scripts use Perl modules from CPAN. Without wrapping these programs to set `GITPERLLIB`, these programs would not be fully functional because some Perl libraries are found to be missing at runtime. Fixes #29996
-rw-r--r-- | pkgs/applications/version-management/git-and-tools/git/default.nix | 16 |
1 files changed, 16 insertions, 0 deletions
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 fcf35a9ca34e..51f523305d18 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -145,6 +145,22 @@ stdenv.mkDerivation { # Also put git-http-backend into $PATH, so that we can use smart # HTTP(s) transports for pushing ln -s $out/libexec/git-core/git-http-backend $out/bin/git-http-backend + + # wrap perl commands + gitperllib=$out/lib/perl5/site_perl + for i in ${builtins.toString perlLibs}; do + gitperllib=$gitperllib:$i/lib/perl5/site_perl + done + wrapProgram $out/libexec/git-core/git-cvsimport \ + --set GITPERLLIB "$gitperllib" + wrapProgram $out/libexec/git-core/git-add--interactive \ + --set GITPERLLIB "$gitperllib" + wrapProgram $out/libexec/git-core/git-archimport \ + --set GITPERLLIB "$gitperllib" + wrapProgram $out/libexec/git-core/git-instaweb \ + --set GITPERLLIB "$gitperllib" + wrapProgram $out/libexec/git-core/git-cvsexportcommit \ + --set GITPERLLIB "$gitperllib" '' + (if svnSupport then |