Commit Graph

302 Commits

Author SHA1 Message Date
Dave Nicponski
1b6ef1268f git: Fix git-gui to work on Catalina
The existing post-install was not successfully patching the git-gui script,
and thus was invoking the packaged osx app which uses the system tk,
which is too old to work (and is no longer supported by Apple anyway).
2020-02-10 17:19:26 -05:00
Benjamin Esham
35b403bf12 git: enable zsh completion
Git ships with a zsh completion script, but this script was previously
only available at $out/share/git/contrib/completion/git-completion.zsh,
which is not a path (or a filename) that would be discovered by a
typical zsh installation. This commit symlinks that file to
$out/share/zsh/site-functions/_git, which is a more standard location.

That zsh completion script is mostly a wrapper around the Bash
completion script, so this commit also patches the former so that it can
"find" the latter.
2020-02-09 09:22:20 +01:00
Tim Steinbach
a1d7308cf9
git: 2.24.1 -> 2.25.0 2020-01-13 19:22:51 -05:00
Robin Gloster
2157dcd141
treewide: installFlags is a list 2019-12-30 13:22:43 +01:00
Frederik Rietdijk
dfdf1597a7 Merge master into staging-next 2019-12-13 11:43:39 +01:00
Wout Mertens
697b44b631
Merge pull request #75406 from andersk/gitk-completion
git: Install bash-completion symlink for gitk
2019-12-11 15:00:36 +01:00
edef
8fe0c8c351 git: 2.24.0 -> 2.24.1
CVE-2019-1348, CVE-2019-1349, CVE-2019-1350, CVE-2019-1351,
CVE-2019-1352, CVE-2019-1353, CVE-2019-1354, CVE-2019-1387,
CVE-2019-19604

Link: https://lore.kernel.org/git/xmqqr21cqcn9.fsf@gitster-ct.c.googlers.com/
2019-12-11 00:01:06 +00:00
Anders Kaseorg
a16dbef1c1 git: Install bash-completion symlink for gitk
Since bash-completion rules are loaded dynamically, the completion
rules for `gitk <Tab>` waere not being loaded until the user first
typed `git <Tab>`.  Fix this by adding a symlink named `gitk`.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2019-12-09 16:09:56 -08:00
Konrad Borowski
6e6b6a7fd5 git: enable some of previously broken tests 2019-11-29 11:28:53 +01:00
Wout Mertens
acfa5d8324
Merge pull request #74213 from ruuda/fix-git-perl-support
git: fix the "perlSupport = false" configuration
2019-11-28 21:13:05 +01:00
Jörg Thalheim
8c145dc0fb
git: build with python3
git-p4 seems to be python3 ready:

https://github.com/git/git/blob/master/git-p4.py#L32
2019-11-28 11:29:19 +00:00
Ruud van Asseldonk
2163fc7f0a git: fix the "perlSupport = false" configuration
When perlSupport = false, we will set NO_PERL=1, and build Git without
Perl support. This is a build option that Git supports. However, Git's
test suite still requires a Perl to be available to run the tests, and
we did not provide one. The tests respect PERL_PATH, and if it is not
set, they default to /usr/bin/perl.

Before this commit, if we set "perlSupport = false", then no Perl would
be available to the package, and so the tests would default to
/usr/bin/perl. When building without a sandbox, that could still work,
even though there is no "perl" on the path, because the tests defaulted
to an absolute path.

You can reproduce this issue as follows:

    nix-build -E 'let pkgs = (import ./default.nix) {}; in pkgs.git.override { perlSupport = false; }'

I just ran into this when trying to build pkgs.git from an old version
of Nixpkgs that I was able to build just fine in the past, and today it
would not build any more, complaining when running the tests:

    make -C t/ all
    make[1]: Entering directory '/build/git-2.18.0/t'
    rm -f -r 'test-results'
    /nix/store/czx8vkrb9jdgjyz8qfksh10vrnqa723l-bash-4.4-p23/bin/bash: /usr/bin/perl: No such file or directory

In the past the sandbox was not enabled by default, so then it worked
for me. But now that it is enabled, my host's (not NixOS) /usr/bin/perl
is no longer accessible, and the build fails.

The solution is to explicitly set PERL_PATH when running the tests. This
*almost* works, except that there appears to be a bug in the test for
"git request-pull". That command is a Bash script that calls Perl at
some point, so it requires Perl, and therefore it cannot be supported
when NO_PERL=1. But that particular test does not check whether Git was
compiled with Perl support (other tests do include that check), and that
makes the test fail:

    t5150-request-pull.sh ..............................
    not ok 4 - pull request after push
    not ok 5 - request asks HEAD to be pulled
    not ok 6 - pull request format
    not ok 7 - request-pull ignores OPTIONS_KEEPDASHDASH poison
    not ok 9 - pull request with mismatched object
    not ok 10 - pull request with stale object
    Dubious, test returned 1 (wstat 256, 0x100)
    Failed 6/10 subtests

This output makes sense if you look at t5150-request-pull.sh. Test 1 and
2 are setup steps. Test 3 does call request-pull, but it expects the
command to fail, and it cannot distinguish between the command exiting
with a nonzero exit code, or failing to start it at all. So test 3
passes for the wrong reasons. Test 4 through 10 all call request-pull,
so they fail.

The quick workaround here is to disable the test. I will look into
upstreaming a patch that makes the test skip itself when Perl is
disabled.
2019-11-27 19:23:56 +01:00
Daiderd Jordan
185e30c664
git: disable failing test on darwin
The tests for null patterns where changed in 25754125cef278c7e9492fbd6dc4a28319b01f18,
it's possible utf-8 normalisation is causing different behaviour here.

    not ok 54 - LC_ALL='C' git grep -P -f f -i 'Æ<NUL>[Ð]' a
    not ok 57 - LC_ALL='C' git grep -P -f f -i '[Æ]<NUL>Ð' a
    not ok 60 - LC_ALL='C' git grep -P -f f -i '[Æ]<NUL>ð' a
    not ok 63 - LC_ALL='C' git grep -P -f f -i 'Æ<NUL>Ð' a
    Dubious, test returned 1 (wstat 256, 0x100)
    Failed 4/145 subtests
            (less 48 skipped subtests: 93 okay)
2019-11-22 21:02:21 +01:00
Tim Steinbach
0a9e548b2f
git: 2.23.0 -> 2.24.0 2019-11-04 09:35:15 -05:00
Alyssa Ross
4b63c915af
git: drop extraneous sysconfdir trailing slash
I noticed while strace-ing that Git was trying to open
/etc//gitconfig.  Not a big deal, but it is definitely more correct
without the trailing slash.
2019-11-03 21:26:56 +00:00
Matthew Bauer
0c1cef2f11
Merge pull request #68366 from sorbits/git-bash-completion
Install git’s bash completion so that it is loaded on demand
2019-09-18 09:40:52 -04:00
Allan Odgaard
dc45fc4ca2 Install git’s bash completion so that it is loaded on demand
Putting the file in $out/share/bash-completion/completions means that it will be loaded on demand by nixpkgs.bash-completion.

With the old location, the user would either have to explicitly source the file during bash startup, or set BASH_COMPLETION_COMPAT_DIR before sourcing bash_completion.sh, which will eagerly load everything in that directory.
2019-09-09 19:16:29 +02:00
Frederik Rietdijk
5061fe0c2c Merge staging-next into staging 2019-08-28 08:26:42 +02:00
Vladimír Čunát
2e6bf42a22
Merge branch 'master' into staging-next
There ver very many conflicts, basically all due to
name -> pname+version.  Fortunately, almost everything was auto-resolved
by kdiff3, and for now I just fixed up a couple evaluation problems,
as verified by the tarball job.  There might be some fallback to these
conflicts, but I believe it should be minimal.

Hydra nixpkgs: ?compare=1538299
2019-08-24 08:55:37 +02:00
Robin Gloster
4e60b0efae
treewide: update globin's maintained drvs 2019-08-20 19:36:05 +02:00
Izorkin
6da7a17ffb git: 2.22.1 -> 2.23.0 2019-08-18 09:19:42 +03:00
volth
c814d72b51 treewide: name -> pname 2019-08-17 10:54:38 +00:00
Tim Steinbach
ce1b77231a
git: 2.22.0 -> 2.22.1 2019-08-13 13:58:37 -04:00
Wout Mertens
f24e74d159
Merge pull request #53494 from kirelagin/git-instaweb
git, gitweb: Fix git-instaweb
2019-08-04 23:40:16 +02:00
Demin Dmitriy
ea688c051d git: remove runtime dependency on gcc
Reduces gitMinimal closure size from 329.6M to 174.8M.

Fixes the issue https://github.com/NixOS/nixpkgs/issues/64350.

In git 2.22.0 git-stash is no longer a shell script and now it is just a symlink to git.
`postInstall` assumed that it was a shell script, tried to patch it and
ended up corrupting the file and made `strip` refuse stripping it.
2019-07-17 10:33:13 +02:00
Peter Simons
eeffb474bd
Merge pull request #56069 from delroth/git-diff-highlight
git: build diff-highlight if Perl support is enabled
2019-06-14 17:27:02 +02:00
Will Dietz
eeb9e6c762
git: 2.21.0 -> 2.22.0
https://github.com/git/git/blob/master/Documentation/RelNotes/2.22.0.txt
2019-06-07 20:55:34 -05:00
Artemis Tosini
fc917e5346
git: 2.19.2 -> 2.21.0 2019-02-25 19:21:45 +00:00
Pierre Bourdon
ce15dafc7d
git: build diff-highlight if Perl support is enabled
Fixes #27671.

git/git@0c977dbc81 made that script
require an extra build step.
2019-02-20 01:11:32 +01:00
Kirill Elagin
047def418e
git: Do not split gitweb output
This partially reverts 9029ed933c as
`git-instaweb`, which comes with git, needs on gitweb and having them in
separate outputs results in a cycle.
2019-01-06 16:14:49 +03:00
Kirill Elagin
813c6d4664
git, gitweb: Fix git-instaweb
* Make the build system embed the correct path to gitweb into git-instaweb
* Move gitweb fixups to the git expression, to make sure that gitweb
used by git-instaweb is functional
* This will increase the closure size of git, but only with perlSupport
2019-01-06 14:56:54 +03:00
volth
bb9557eb7c lib.makePerlPath -> perlPackages.makePerlPath 2018-12-15 03:50:31 +00:00
Craig Younkins
921d046537 git: wrap git-credential-netrc to set PERL5LIB (#50992) 2018-12-14 21:49:09 +01:00
Will Dietz
003a96c04c git: 2.19.1 -> 2.19.2
https://github.com/git/git/blob/master/Documentation/RelNotes/2.19.2.txt
2018-11-21 15:48:45 -06:00
Eelco Dolstra
7b9c4954f2
git: Strip libsecret
This reduces gitFull's closure size from 412 MiB to 271 MiB.
2018-10-08 18:13:29 +02:00
edef
5cdecca8b7 git: 2.19.0 -> 2.19.1 (CVE-2018-17456) 2018-10-05 18:36:08 +00:00
Andrew Childs
50454ec5f1 git: 2.18.0 -> 2.19.0 (#46723) 2018-09-18 17:54:22 +02:00
Frederik Rietdijk
099c13da1b Merge staging-next into master (#44009)
* substitute(): --subst-var was silently coercing to "" if the variable does not exist.

* libffi: simplify using `checkInputs`

* pythonPackges.hypothesis, pythonPackages.pytest: simpify dependency cycle fix

* utillinux: 2.32 -> 2.32.1

https://lkml.org/lkml/2018/7/16/532

* busybox: 1.29.0 -> 1.29.1

* bind: 9.12.1-P2 -> 9.12.2

https://ftp.isc.org/isc/bind9/9.12.2/RELEASE-NOTES-bind-9.12.2.html

* curl: 7.60.0 -> 7.61.0

* gvfs: make tests run, but disable

* ilmbase: disable tests on i686. Spooky!

* mdds: fix tests

* git: disable checks as tests are run in installcheck

* ruby: disable tests

* libcommuni: disable checks as tests are run in installcheck

* librdf: make tests run, but disable

* neon, neon_0_29: make tests run, but disable

* pciutils: 3.6.0 -> 3.6.1

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/pciutils/versions.

* mesa: more include fixes

mostly from void-linux (thanks!)

* npth: 1.5 -> 1.6

minor bump

* boost167: Add lockfree next_prior patch

* stdenv: cleanup darwin bootstrapping

Also gets rid of the full python and some of it's dependencies in the
stdenv build closure.

* Revert "pciutils: use standardized equivalent for canonicalize_file_name"

This reverts commit f8db20fb3a.
Patching should no longer be needed with 3.6.1.

* binutils-wrapper: Try to avoid adding unnecessary -L flags

(cherry picked from commit f3758258b8895508475caf83e92bfb236a27ceb9)
Signed-off-by: Domen Kožar <domen@dev.si>

* libffi: don't check on darwin

libffi usages in stdenv broken darwin. We need to disable doCheck for that case.

* "rm $out/share/icons/hicolor/icon-theme.cache" -> hicolor-icon-theme setup-hook

* python.pkgs.pytest: setupHook to prevent creation of .pytest-cache folder, fixes #40273

When `py.test` was run with a folder as argument, it would not only
search for tests in that folder, but also create a .pytest-cache folder.
Not only is this state we don't want, but it was also causing
collisions.

* parity-ui: fix after merge

* python.pkgs.pytest-flake8: disable test, fix build

* Revert "meson: 0.46.1 -> 0.47.0"

With meson 0.47.0 (or 0.47.1, or git)
things are very wrong re:rpath handling
resulting in at best missing libs but
even corrupt binaries :(.

When we run patchelf it masks the problem
by removing obviously busted paths.
Which is probably why this wasn't noticed immediately.

Unfortunately the binary already
has a long series of paths scribbled
in a space intended for a much smaller string;
in my testing it was something like
lengths were 67 with 300+ written to it.

I think we've reported the relevant issues upstream,
but unfortunately it appears our patches
are what introduces the overwrite/corruption
(by no longer being correct in what they assume)

This doesn't look so bad to fix but it's
not something I can spend more time on
at the moment.

--

Interestingly the overwritten string data
(because it is scribbled past the bounds)
remains in the binary and is why we're suddenly
seeing unexpected references in various builds
-- notably this is is the reason we're
seeing the "extra-utils" breakage
that entirely crippled NixOS on master
(and probably on staging before?).

Fixes #43650.

This reverts commit 305ac4dade.

(cherry picked from commit 273d68eff8f7b6cd4ebed3718e5078a0f43cb55d)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-07-24 15:04:48 +01:00
Benjamin Staffin
815ae70556
gitFull: build libsecret credential helper (#43616)
...except on Darwin, where it won't be useful.
2018-07-22 15:20:37 -04:00
Will Dietz
bb00076931 Revert "Revert "Merge pull request #42376 from dtzWill/update/git-2.18.0""
This reverts commit 6d1955e0c4.
2018-06-28 07:01:14 -05:00
Will Dietz
6d1955e0c4 Revert "Merge pull request #42376 from dtzWill/update/git-2.18.0"
This reverts commit 2624f90796, reversing
changes made to 37aab4cbb5.

See:
https://github.com/NixOS/nixpkgs/pull/42376#issuecomment-399789096

Basically this breaks at least some users of fetchgit,
so let's revert this until this is sorted out.
2018-06-24 22:36:50 -05:00
Will Dietz
26f24fe09a git: indicate when last tested to "still" fail, for checking updates 2018-06-22 10:10:20 -05:00
Will Dietz
1190af39b9 git: disable failing completion test as well 2018-06-22 10:02:57 -05:00
Will Dietz
4136cb5ba9 git: disable "editor with a space" tests due to fails
Need to investigate.
2018-06-22 10:00:42 -05:00
Will Dietz
e65e6cad23 git: disable working-tree-encoding tests on musl
Makes assumptions about BOM.
2018-06-22 09:56:20 -05:00
Will Dietz
5f27396e8f git: remove symlinks-in-bin patch 2018-06-22 09:15:54 -05:00
Will Dietz
18231121f4 git: 2.17.1 -> 2.18.0 2018-06-22 09:12:06 -05:00
Matthew Bauer
fc048073e6 git: remove object file from closure
This file pulls in some big dependencies that are unneeded (like
clang).
2018-06-21 19:47:10 -04:00
Tim Steinbach
9db1f486e1
git: 2.17.0 -> 2.17.1 2018-05-29 21:33:43 -04:00
Will Dietz
481ca44771 git: disable failing test w/musl for now
I'm working to resolve this but it will take some time
(patches sent to upstream musl, maybe to git afterwards)
and for now this blocks quite a lot.

If that doesn't work out we can explore options such as
always using GNU libiconv with musl.
2018-05-03 15:20:38 -05:00