dev-vcs/git: Sync with Gentoo

It's from Gentoo commit 2ed64e1804c4e561acad1cf9f12a8a45164e4613.

Signed-off-by: Flatcar Buildbot <buildbot@flatcar-linux.org>
This commit is contained in:
Flatcar Buildbot 2026-02-02 07:26:46 +00:00
parent 465f042166
commit b361eeb3fe
24 changed files with 1277 additions and 713 deletions

View File

@ -3,13 +3,16 @@ DIST git-2.50.1.tar.xz 7880972 BLAKE2B 4e5e3168d7dd88cc508920dd773df2ec6b568c70e
DIST git-2.51.0.tar.xz 7857228 BLAKE2B b385ee2c7aed601435952c983045055c970cdda607d83ae8ba904ee10e5e76bca097ccbe0f22e4e1467c6d606c9eecb952ffb382f351124325b6fd5d87083596 SHA512 2b8c59589266c0c9e58a9f4fda4a970a8a492e2e0ecbafc414fcfacac4a04251f0115b3676f4599a415b53906f1dea312b18a42e9bde455286abd62ec327beaf
DIST git-2.51.1.tar.xz 7865216 BLAKE2B 3bb26baee468498f882eb3bf995c58cf441a9e7537ca3dafbe58cf24a947d37a52749b62e3095446787514f0eb9e1d767d4efbee29a8d63851803e8c6bb4daa6 SHA512 bc22d26bbfad4a549d2fb6bed11eb019c2dee607c86bf8faaa986774e526e5b367d80c9a79ab50358624634d840e8e0d27e0b46411d1aabbf76728b7a7f138dd
DIST git-2.51.2.tar.xz 7865980 BLAKE2B d567f52da82cabc5d2e4f542f02209aa170536864769fa49c9a24c5129e0603a940b1adf6dedf892c8971d947400a104d312b376f3f6aa23029cb57dffc9acb4 SHA512 547c3e522d9e6a2c2ccab24ee0c7f4f2d29878759563356e3a2ae9675884b7044ce5a236803170a203b79443760eb18a7089eec02bd105316e3ab045ab7603a7
DIST git-2.52.0.tar.xz 7957064 BLAKE2B f228174814b1048f12543a6a20f771017991f9a23778f12fc32020b38837990eb19bc69e891078692ac4ad4ae1cb2e0e77400760964e09c491046e4ed8b16f96 SHA512 965e5ebb72d1f080d64e34bdb75f0bb1689c9dd41dcf63b020d986bad49808ac09bfb1115962bc0c5b95bac8622367ac4cd09aa89266f73d2137fe94c90dd3ed
DIST git-htmldocs-2.49.1.tar.xz 1602244 BLAKE2B 8d6df9ff42660123577933a95971bdd47d94b650b2cb8abafa4f4cbd981d016d3d3fdcbb08f22616ee44f928fc0aaac4f0ffee8a1d1d0c659240fcc2db9e2a25 SHA512 39db559a507b732d18ce1fa3ac513e87ca27b1d5df0f6d26cdead7b5add4eb29889d4c81e09b25c6fdbd813a0f13c833a22a4b6bbba6dea3b126e841a61424f8
DIST git-htmldocs-2.50.1.tar.xz 1615796 BLAKE2B 6d340b552075bce7d724824eefd03540d558e24c07b49e48f1bb4262a5b3632b6aa7782bb02b15aaf424d22e5460bffee066f1e2bb0018791dcec8afa79dd3b8 SHA512 ebe437851b039bab4ec83be807583a23beaf43073248ffdcddee2328fc621b5b712c094faac3ee15a783f5a0cbdd92c2635879426007e8ef0ddcb70f227782f9
DIST git-htmldocs-2.51.0.tar.xz 1627664 BLAKE2B 17106db9d7edf8717281d5af88ec9b53c91f6ba56552d5952d25ff593b4d227194df53a33dd52eb4791dd5044a7d867f8bed2371087e6dfdb4a0110e09f70055 SHA512 55460724b73bc42ebb611a4c0657f59040e8e7b28d56cb26814ae97c1b13ce3577e57e5a66f2749a93b7b3496b8a665ce5a2c31ba471eadb3267813915dc7051
DIST git-htmldocs-2.51.1.tar.xz 1629412 BLAKE2B e135a355e84c4bd1a1d1e54dd6ff875b43145649cdc90696b1650f74ff3a0b2a94190d23ffffc22b621703fbb713d042283a5e65b0ed60860cc892d26b44226e SHA512 0abfbef358162d03fc033bca23bc95cae0561e8f4852abfd49d53d546005caf0b6f759776c7bbada8353cb340b3b48b0c1cd0415db0bbf04efe591e7b9411fe1
DIST git-htmldocs-2.51.2.tar.xz 1629724 BLAKE2B ed8593f9ccbd8017656af7193914638c25be7ed2a449d3509d49949a1eff2134b3a9c163802155610e32cb07f9ea4eced9ebd0758eb0f36b0ff028c0ee0462f0 SHA512 cafb7fa2f0a3be6bff006f65c8462047e6f2c80482b09df7c45e7caba12acee670ddb886c125dcc751a5d701ebf812737f981bd0bcbc3035432de26db981929a
DIST git-htmldocs-2.52.0.tar.xz 1657524 BLAKE2B c21219b1059ee593ea850464473ba3466f83b44932261b70abecb7837a0e5c2434d71e29c495ac33faad9a34bda061b81187f691c57e8dc9557a56f8030dbeea SHA512 6fee6834bbd1400acef575fd206f58fb15472d45bad8f4ca9066930a3b4b1be8a633bb94c11f83644177266a06e2c4bb8a9478f10c4f1742016f59d07612c5e4
DIST git-manpages-2.49.1.tar.xz 594536 BLAKE2B b29aea1817053fefacc9a16abb86ea9fb4f2f239a268661a357cda16ab02b55ff3736b0c7d870fcacf4867bd063e14177bc46109115845fdea26b1870ff5f463 SHA512 0fbd824bfd68c72e8a6509989ffd016d1256cc3c5dfe4634170de2a07cdbdb4506f4b9136fa3176ac56c6f20f518a16758f1391bbd658be0caa8ebcc34158feb
DIST git-manpages-2.50.1.tar.xz 598416 BLAKE2B c47be82829562057a99da3dc801958c2f7d1eeabb5af3c28cc3a66ec03a02b96e2d1d670ce39f7ab1d39fc113abe896c73b2126129cd98c3d33292267f160690 SHA512 9de90823bfb815ce31938794b80bf8526d162125afe23084114c47d360235a8d63b6fcdf78613bd91ee492b8d8c614d026cce51733bdd63bffe533f7da616d05
DIST git-manpages-2.51.0.tar.xz 602200 BLAKE2B 12b103871dcd8173e88e2eb96621620682c19aecfb6ecbd7a9b3d8bb7358eed78c00af0738c502c5ff71ac8d85894c68ed33f395aed426d580210d4c1d36faf6 SHA512 ee2eb3bc90a63cb28ccdc8716b2d610b55eefbc0da255b7360695bc686ba52841b147c879a4f8b2ecdb767814b815929f7e0dd57fa612a87ef5e36b862056144
DIST git-manpages-2.51.1.tar.xz 602552 BLAKE2B a8781e1b7b040b39ca17ee9ea20688bc14bdd0a948e1bab2e39e01747770a97f64119e4eacdedd07e3d281469025958ca34d73faacad7c36381e9a9c8f4fe4ab SHA512 e8f00835472c2078023e28cb9ae1ac2aac8c4e950a8ef453eafe894d9bb8411e3e89108606b3783c00883db2bb041defb0bf9dd5b3558bcbd6b07b7f28c66e92
DIST git-manpages-2.51.2.tar.xz 602340 BLAKE2B 856c4531ed27b53f390f738774d758813f717b378bd64e4736e8627fe898b34b64b8d4b9fb686573f21d90d8db859062371586c440f3c6efca38346a04f7120b SHA512 d6443f22590797eb6947fbb317e2ec52beeabd6d3117425e23d93085952c4d9eaa8d26ae677a8f4d73938f9611ac636f5f26e29527cc96d1a6612c2853103a94
DIST git-manpages-2.52.0.tar.xz 607864 BLAKE2B 6736100b503afd95aa7d6d9878a5c9420b44c5755b31c99e4b6db4a567db0984a6a786d2fac07baea95bf2b758c68fef042b75b10c848732add19fe17f3243bf SHA512 8e7998ed101fa4c7e9707721cbbc61e07bab56647c69f2d46d16c30465a825e223429cfab1ddfa58302a0563a12a8e5886133566bc6a1097ab0970d8ae4458d7

View File

@ -0,0 +1,33 @@
https://bugs.gentoo.org/953122
https://lore.kernel.org/git/20251202-toon-cross-compile-v1-0-cabc8bce529f@iotcl.com/
From 6437cb608c9c9894852499da36e22095adb57a8e Mon Sep 17 00:00:00 2001
Message-ID: <6437cb608c9c9894852499da36e22095adb57a8e.1764817376.git.sam@gentoo.org>
From: Toon Claes <toon@iotcl.com>
Date: Tue, 2 Dec 2025 11:48:08 +0100
Subject: [PATCH 1/3] meson: ignore subprojects/.wraplock
When asking Meson to wrap subprojects, it generates a .wraplock file in
the subprojects/ directory. Ignore this file.
See also https://github.com/mesonbuild/meson/issues/14948.
Signed-off-by: Toon Claes <toon@iotcl.com>
---
subprojects/.gitignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/subprojects/.gitignore b/subprojects/.gitignore
index 63ea916ef5..2bb68c8794 100644
--- a/subprojects/.gitignore
+++ b/subprojects/.gitignore
@@ -1 +1,2 @@
/*/
+.wraplock
base-commit: f0ef5b6d9bcc258e4cbef93839d1b7465d5212b9
prerequisite-patch-id: b59f73a32b9910a2e72eb13797a0f9bd76ce4812
prerequisite-patch-id: 9f1fdad38ca8082e13069df63de6af32599fe654
--
2.52.0

View File

@ -0,0 +1,38 @@
https://bugs.gentoo.org/953122
https://lore.kernel.org/git/20251202-toon-cross-compile-v1-0-cabc8bce529f@iotcl.com/
From 4f638a773a0f9f6961abe92226be9c23a486110d Mon Sep 17 00:00:00 2001
Message-ID: <4f638a773a0f9f6961abe92226be9c23a486110d.1764817376.git.sam@gentoo.org>
In-Reply-To: <6437cb608c9c9894852499da36e22095adb57a8e.1764817376.git.sam@gentoo.org>
References: <6437cb608c9c9894852499da36e22095adb57a8e.1764817376.git.sam@gentoo.org>
From: Toon Claes <toon@iotcl.com>
Date: Tue, 2 Dec 2025 11:48:09 +0100
Subject: [PATCH 2/3] meson: only detect ICONV_OMITS_BOM if possible
In our Meson setup it automatically detects whether ICONV_OMITS_BOM
should be defined. To check this, a piece of code is compiled and ran.
When cross-compiling, it's not possible to run this piece of code. Guard
this test with a can_run_host_binaries() check to ensure it can run.
Signed-off-by: Toon Claes <toon@iotcl.com>
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index f1b3615659..95348e69a4 100644
--- a/meson.build
+++ b/meson.build
@@ -1064,7 +1064,7 @@ if iconv.found()
}
'''
- if compiler.run(iconv_omits_bom_source,
+ if meson.can_run_host_binaries() and compiler.run(iconv_omits_bom_source,
dependencies: iconv,
name: 'iconv omits BOM',
).returncode() != 0
--
2.52.0

View File

@ -0,0 +1,48 @@
https://bugs.gentoo.org/953122
https://lore.kernel.org/git/20251202-toon-cross-compile-v1-0-cabc8bce529f@iotcl.com/
From 9e911f149088538f67ca9e8bf5cbfc95d3fe23fe Mon Sep 17 00:00:00 2001
Message-ID: <9e911f149088538f67ca9e8bf5cbfc95d3fe23fe.1764817376.git.sam@gentoo.org>
In-Reply-To: <6437cb608c9c9894852499da36e22095adb57a8e.1764817376.git.sam@gentoo.org>
References: <6437cb608c9c9894852499da36e22095adb57a8e.1764817376.git.sam@gentoo.org>
From: Toon Claes <toon@iotcl.com>
Date: Wed, 3 Dec 2025 15:53:31 +0100
Subject: [PATCH 3/3] meson: use is_cross_build() where possible
In previous commit the first use of meson.can_run_host_binaries() was
introduced. This is a guard around compiler.run() to ensure it's
actually possible to execute the provided.
In other places we've been having the same issue, but here `not
meson.is_cross_build()` is used as guard. This does the trick, but it
also prevents the code from running even when an exe_wrapper is
configured.
Switch to using meson.can_run_host_binaries() here as well.
There is another place left that still uses `not
meson.is_cross_build()`, but here it's a guard around fs.exists(). That
function will always run on the build machine, so checking for
cross-compilation is still in place here.
Signed-off-by: Toon Claes <toon@iotcl.com>
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 95348e69a4..00ad8a5c60 100644
--- a/meson.build
+++ b/meson.build
@@ -1492,7 +1492,7 @@ if not has_bsd_sysctl
endif
endif
-if not meson.is_cross_build() and compiler.run('''
+if meson.can_run_host_binaries() and compiler.run('''
#include <stdio.h>
int main(int argc, const char **argv)
--
2.52.0

View File

@ -1,38 +0,0 @@
From a57994f2d78134936521375ba9798a1b7418e230 Mon Sep 17 00:00:00 2001
From: "Robin H. Johnson" <robbat2@gentoo.org>
Date: Fri, 12 Apr 2019 00:00:07 -0700
Subject: [PATCH] submodule foreach: test foreach option swallowing
Add a testcase for submodule foreach option parsing not knowing where to
stop taking options, and accidently removing options intended for
foreach target commands.
CC: Duy Nguyen <pclouds@gmail.com>
CC: Prathamesh Chavan <pc44800@gmail.com>
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
---
t/t7407-submodule-foreach.sh | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/t/t7407-submodule-foreach.sh b/t/t7407-submodule-foreach.sh
index 77729ac4aa..706ae762e0 100755
--- a/t/t7407-submodule-foreach.sh
+++ b/t/t7407-submodule-foreach.sh
@@ -411,4 +411,14 @@ test_expect_success 'multi-argument command passed to foreach is not shell-evalu
test_cmp expected actual
'
+test_expect_success 'option-like arguments passed to foreach commands are not lost' '
+ (
+ cd super &&
+ git submodule foreach "echo be --quiet" > ../expected &&
+ git submodule foreach echo be --quiet > ../actual
+ ) &&
+ grep -sq -e "--quiet" expected &&
+ test_cmp expected actual
+'
+
test_done
--
2.21.0

View File

@ -1,459 +0,0 @@
From 35038d89fbd952e72023152478aa3cb070a907d8 Mon Sep 17 00:00:00 2001
From: Robin Johnson <robbat2@gentoo.org>
Date: Tue, 14 May 2019 08:53:06 +0200
Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
utilities
Forward-ported from 1.7.12 to current git.git v1.8.4
Forward-ported from v1.8.4 to v1.8.5.1
Forward-ported from v1.8.5.3 to v1.9.0_rc3
Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
Forward-ported from v2.0.0_rc0 to v2.0.0
Forward-ported from v2.0.0 to v2.2.2
Forward-ported from v2.2.2 to v2.8.4
Forward-ported from v2.8.4 to v2.10.0
Forward-ported from v2.10.0 to v2.12.0
Forward-ported from v2.12.0 to v2.17.0-rc1
Forward-ported from v2.17.0-rc1 to v2.18.0-rc1
Forward-ported from v2.18.0-rc1 to v2.22.0-rc0
Forward-ported from v2.22.0-rc0 to v2.31.0-rc0
Forward-ported from v2.31.0-rc0 to v2.33.0-rc0
Forward-ported from v2.33.0-rc0 to v2.37.0-rc0
Forward-ported from v2.37.0-rc0 to v2.37.0-rc1
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
---
Makefile | 50 ++++++++++++++++++++++--------
t/t9200-git-cvsexportcommit.sh | 5 +++
t/t9400-git-cvsserver-server.sh | 8 ++++-
t/t9401-git-cvsserver-crlf.sh | 15 ++++++---
t/t9600-cvsimport.sh | 41 +++++++++++++++---------
t/t9601-cvsimport-vendor-branch.sh | 11 +++++++
t/t9602-cvsimport-branches-tags.sh | 11 +++++++
t/t9603-cvsimport-patchsets.sh | 11 +++++++
t/test-lib.sh | 1 +
9 files changed, 119 insertions(+), 34 deletions(-)
diff --git a/Makefile b/Makefile
index 04d0fd1fe6..31e00ec7e6 100644
--- a/Makefile
+++ b/Makefile
@@ -316,6 +316,8 @@ include shared.mak
#
# Define NO_TCLTK if you do not want Tcl/Tk GUI.
#
+# Define NO_CVS if you do not want any CVS interface utilities.
+#
# The TCL_PATH variable governs the location of the Tcl interpreter
# used to optimize git-gui for your system. Only used if NO_TCLTK
# is not set. Defaults to the bare 'tclsh'.
@@ -605,6 +607,7 @@ PROGRAM_OBJS =
PROGRAMS =
EXCLUDED_PROGRAMS =
SCRIPT_PERL =
+SCRIPT_PERL_CVS =
SCRIPT_PYTHON =
SCRIPT_SH =
SCRIPT_LIB =
@@ -637,31 +640,33 @@ SCRIPT_LIB += git-sh-setup
SCRIPT_PERL += git-add--interactive.perl
SCRIPT_PERL += git-archimport.perl
-SCRIPT_PERL += git-cvsexportcommit.perl
-SCRIPT_PERL += git-cvsimport.perl
-SCRIPT_PERL += git-cvsserver.perl
SCRIPT_PERL += git-send-email.perl
SCRIPT_PERL += git-svn.perl
+SCRIPT_PERL_CVS += git-cvsexportcommit.perl
+SCRIPT_PERL_CVS += git-cvsimport.perl
+SCRIPT_PERL_CVS += git-cvsserver.perl
+
SCRIPT_PYTHON += git-p4.py
# Generated files for scripts
SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
+SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
# Individual rules to allow e.g.
# "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
# from subdirectories like contrib/*/
.PHONY: build-perl-script build-sh-script build-python-script
-build-perl-script: $(SCRIPT_PERL_GEN)
+build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
build-sh-script: $(SCRIPT_SH_GEN)
build-python-script: $(SCRIPT_PYTHON_GEN)
.PHONY: install-perl-script install-sh-script install-python-script
install-sh-script: $(SCRIPT_SH_GEN)
$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
-install-perl-script: $(SCRIPT_PERL_GEN)
+install-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
install-python-script: $(SCRIPT_PYTHON_GEN)
$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
@@ -670,12 +675,13 @@ install-python-script: $(SCRIPT_PYTHON_GEN)
clean-sh-script:
$(RM) $(SCRIPT_SH_GEN)
clean-perl-script:
- $(RM) $(SCRIPT_PERL_GEN)
+ $(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
clean-python-script:
$(RM) $(SCRIPT_PYTHON_GEN)
SCRIPTS = $(SCRIPT_SH_GEN) \
$(SCRIPT_PERL_GEN) \
+ $(SCRIPT_PERL_CVS_GEN) \
$(SCRIPT_PYTHON_GEN) \
git-instaweb
@@ -2350,13 +2356,27 @@ git.res: git.rc GIT-VERSION-FILE GIT-PREFIX
-DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
# This makes sure we depend on the NO_PERL setting itself.
-$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
+$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
+
+_SCRIPT_PERL_GEN =
+_SCRIPT_PERL_NOGEN =
# Used for substitution in Perl modules. Disabled when using RUNTIME_PREFIX
# since the locale directory is injected.
perl_localedir_SQ = $(localedir_SQ)
ifndef NO_PERL
+_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
+
+ifndef NO_CVS
+_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
+else
+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
+_REASON = NO_CVS
+_REASON_CONTENT = $(NO_CVS)
+endif # NO_CVS
+
+$(_SCRIPT_PERL_GEN):
PERL_HEADER_TEMPLATE = perl/header_templates/fixed_prefix.template.pl
PERL_DEFINES =
PERL_DEFINES += $(PERL_PATH_SQ)
@@ -2380,7 +2400,7 @@ endif
PERL_DEFINES += $(gitexecdir) $(perllibdir) $(localedir)
-$(SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE
+$(_SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE
$(QUIET_GEN) \
sed -e '1{' \
-e ' s|#!.*perl|#!$(PERL_PATH_SQ)|' \
@@ -2426,14 +2446,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
chmod +x $@+ && \
mv $@+ $@
else # NO_PERL
-$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
- $(QUIET_GEN) \
+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
+_REASON = NO_PERL
+_REASON_CONTENT = $(NO_PERL)
+endif # NO_PERL
+
+$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
+ $(QUIET_GEN)$(RM) $@ $@+ && \
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
- -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
+ -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
unimplemented.sh >$@+ && \
chmod +x $@+ && \
mv $@+ $@
-endif # NO_PERL
# This makes sure we depend on the NO_PYTHON setting itself.
$(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
@@ -2737,7 +2761,7 @@ MSGMERGE_FLAGS = --add-location --backup=off --update
LOCALIZED_C = $(sort $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
$(GENERATED_H))
LOCALIZED_SH = $(sort $(SCRIPT_SH) git-sh-setup.sh)
-LOCALIZED_PERL = $(sort $(SCRIPT_PERL))
+LOCALIZED_PERL = $(sort $(SCRIPT_PERL) $(SCRIPT_PERL_CVS))
ifdef XGETTEXT_INCLUDE_TESTS
LOCALIZED_C += t/t0200/test.c
diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
index c5946cb0b8..223fd5409b 100755
--- a/t/t9200-git-cvsexportcommit.sh
+++ b/t/t9200-git-cvsexportcommit.sh
@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
test_done
fi
+if ! test_have_prereq CVS; then
+ skip_all='skipping git cvsexportcommit tests, cvs not available'
+ test_done
+fi
+
cvs >/dev/null 2>&1
if test $? -ne 1
then
diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
index 210ddf09e3..a620126d3f 100755
--- a/t/t9400-git-cvsserver-server.sh
+++ b/t/t9400-git-cvsserver-server.sh
@@ -14,9 +14,15 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
. ./test-lib.sh
if ! test_have_prereq PERL; then
- skip_all='skipping git cvsserver tests, perl not available'
+ skip_all='skipping git-cvsserver tests, perl not available'
test_done
fi
+
+if ! test_have_prereq CVS; then
+ skip_all='skipping git-cvsserver tests, cvs not available'
+ test_done
+fi
+
cvs >/dev/null 2>&1
if test $? -ne 1
then
diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
index a34805acdc..0d7759f73b 100755
--- a/t/t9401-git-cvsserver-crlf.sh
+++ b/t/t9401-git-cvsserver-crlf.sh
@@ -60,15 +60,20 @@ check_status_options() {
return $stat
}
-cvs >/dev/null 2>&1
-if test $? -ne 1
+if ! test_have_prereq PERL
then
- skip_all='skipping git-cvsserver tests, cvs not found'
+ skip_all='skipping git-cvsserver tests, perl not available'
test_done
fi
-if ! test_have_prereq PERL
+if ! test_have_prereq CVS
then
- skip_all='skipping git-cvsserver tests, perl not available'
+ skip_all='skipping git-cvsserver tests, cvs not available'
+ test_done
+fi
+cvs >/dev/null 2>&1
+if test $? -ne 1
+then
+ skip_all='skipping git-cvsserver tests, cvs not found'
test_done
fi
perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
index 5680849218..7288db820b 100755
--- a/t/t9600-cvsimport.sh
+++ b/t/t9600-cvsimport.sh
@@ -11,14 +11,25 @@ if ! test_have_prereq NOT_ROOT; then
test_done
fi
-test_expect_success PERL 'setup cvsroot environment' '
+if ! test_have_prereq PERL
+then
+ skip_all='skipping git cvsimport tests, perl not available'
+ test_done
+fi
+if ! test_have_prereq CVS
+then
+ skip_all='skipping git cvsimport tests, cvs not available'
+ test_done
+fi
+
+test_expect_success 'setup cvsroot environment' '
CVSROOT=$(pwd)/cvsroot &&
export CVSROOT
'
-test_expect_success PERL 'setup cvsroot' '$CVS init'
+test_expect_success 'setup cvsroot' '$CVS init'
-test_expect_success PERL 'setup a cvs module' '
+test_expect_success 'setup a cvs module' '
mkdir "$CVSROOT/module" &&
$CVS co -d module-cvs module &&
@@ -50,23 +61,23 @@ EOF
)
'
-test_expect_success PERL 'import a trivial module' '
+test_expect_success 'import a trivial module' '
git cvsimport -a -R -z 0 -C module-git module &&
test_cmp module-cvs/o_fortuna module-git/o_fortuna
'
-test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
+test_expect_success 'pack refs' '(cd module-git && git gc)'
-test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
+test_expect_success 'initial import has correct .git/cvs-revisions' '
(cd module-git &&
git log --format="o_fortuna 1.1 %H" -1) > expected &&
test_cmp expected module-git/.git/cvs-revisions
'
-test_expect_success PERL 'update cvs module' '
+test_expect_success 'update cvs module' '
(cd module-cvs &&
cat <<EOF >o_fortuna &&
O Fortune,
@@ -94,7 +105,7 @@ EOF
)
'
-test_expect_success PERL 'update git module' '
+test_expect_success 'update git module' '
(cd module-git &&
git config cvsimport.trackRevisions true &&
@@ -105,7 +116,7 @@ test_expect_success PERL 'update git module' '
'
-test_expect_success PERL 'update has correct .git/cvs-revisions' '
+test_expect_success 'update has correct .git/cvs-revisions' '
(cd module-git &&
git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
@@ -113,7 +124,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
test_cmp expected module-git/.git/cvs-revisions
'
-test_expect_success PERL 'update cvs module' '
+test_expect_success 'update cvs module' '
(cd module-cvs &&
echo 1 >tick &&
@@ -122,7 +133,7 @@ test_expect_success PERL 'update cvs module' '
)
'
-test_expect_success PERL 'cvsimport.module config works' '
+test_expect_success 'cvsimport.module config works' '
(cd module-git &&
git config cvsimport.module module &&
@@ -134,7 +145,7 @@ test_expect_success PERL 'cvsimport.module config works' '
'
-test_expect_success PERL 'second update has correct .git/cvs-revisions' '
+test_expect_success 'second update has correct .git/cvs-revisions' '
(cd module-git &&
git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
@@ -143,7 +154,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
test_cmp expected module-git/.git/cvs-revisions
'
-test_expect_success PERL 'import from a CVS working tree' '
+test_expect_success 'import from a CVS working tree' '
$CVS co -d import-from-wt module &&
(cd import-from-wt &&
@@ -156,12 +167,12 @@ test_expect_success PERL 'import from a CVS working tree' '
'
-test_expect_success PERL 'no .git/cvs-revisions created by default' '
+test_expect_success 'no .git/cvs-revisions created by default' '
! test -e import-from-wt/.git/cvs-revisions
'
-test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree main'
+test_expect_success 'test entire HEAD' 'test_cmp_branch_tree main'
test_done
diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
index 116cddba3a..a7e7299c81 100755
--- a/t/t9601-cvsimport-vendor-branch.sh
+++ b/t/t9601-cvsimport-vendor-branch.sh
@@ -37,6 +37,17 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
. ./lib-cvs.sh
+if ! test_have_prereq PERL
+then
+ skip_all='skipping git cvsimport tests, perl not available'
+ test_done
+fi
+if ! test_have_prereq CVS
+then
+ skip_all='skipping git cvsimport tests, cvs not available'
+ test_done
+fi
+
setup_cvs_test_repository t9601
test_expect_success PERL 'import a module with a vendor branch' '
diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
index e5266c9a87..0e1878ffd3 100755
--- a/t/t9602-cvsimport-branches-tags.sh
+++ b/t/t9602-cvsimport-branches-tags.sh
@@ -9,6 +9,17 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
. ./lib-cvs.sh
+if ! test_have_prereq PERL
+then
+ skip_all='skipping git cvsimport tests, perl not available'
+ test_done
+fi
+if ! test_have_prereq CVS
+then
+ skip_all='skipping git cvsimport tests, cvs not available'
+ test_done
+fi
+
setup_cvs_test_repository t9602
test_expect_success PERL 'import module' '
diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
index 19f38f78f2..bd5727e8bf 100755
--- a/t/t9603-cvsimport-patchsets.sh
+++ b/t/t9603-cvsimport-patchsets.sh
@@ -14,6 +14,17 @@
test_description='git cvsimport testing for correct patchset estimation'
. ./lib-cvs.sh
+if ! test_have_prereq PERL
+then
+ skip_all='skipping git cvsimport tests, perl not available'
+ test_done
+fi
+if ! test_have_prereq CVS
+then
+ skip_all='skipping git cvsimport tests, cvs not available'
+ test_done
+fi
+
setup_cvs_test_repository t9603
test_expect_failure PERL 'import with criss cross times on revisions' '
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 55857af601..791aa324a9 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -1573,6 +1573,7 @@ test_set_prereq REFFILES
( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
test -z "$NO_CURL" && test_set_prereq LIBCURL
+test -z "$NO_CVS" && test_set_prereq CVS
test -z "$NO_PERL" && test_set_prereq PERL
test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
test -z "$NO_PYTHON" && test_set_prereq PYTHON
--
2.37.0.rc0

View File

@ -1,14 +0,0 @@
Neuter the "safe directory" feature, except for tests.
--- a/setup.c
+++ b/setup.c
@@ -1157,7 +1157,9 @@ static int ensure_valid_ownership(const char *gitfile,
*/
read_very_early_config(safe_directory_cb, &data);
- return data.is_safe;
+ if (git_env_bool("GIT_TEST_ASSUME_DIFFERENT_OWNER", 0))
+ return data.is_safe;
+ return 1;
}
enum discovery_result {

View File

@ -1,42 +0,0 @@
https://lore.kernel.org/git/79de1bcf31f708960a889066ce3d986e55155ad8.1736577530.git.sam@gentoo.org/
From 79de1bcf31f708960a889066ce3d986e55155ad8 Mon Sep 17 00:00:00 2001
Message-ID: <79de1bcf31f708960a889066ce3d986e55155ad8.1736577546.git.sam@gentoo.org>
From: Sam James <sam@gentoo.org>
Date: Sat, 11 Jan 2025 06:37:48 +0000
Subject: [PATCH] meson: fix perl dependencies for Documentation
We need an explicit `depends: documentation_deps` so that all of our
Documentation targets know they require asciidoc.conf. This shows up
as parallel build failures with it not yet being available.
Other targets look OK already.
Signed-off-by: Sam James <sam@gentoo.org>
---
Documentation/technical/meson.build | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/technical/meson.build b/Documentation/technical/meson.build
index 21dfb8b5c9..8c93da3566 100644
--- a/Documentation/technical/meson.build
+++ b/Documentation/technical/meson.build
@@ -42,6 +42,7 @@ api_index = custom_target(
'@OUTPUT@',
],
env: script_environment,
+ depends: documentation_deps,
input: api_docs,
output: 'api-index.txt',
)
@@ -60,6 +61,7 @@ foreach article : api_docs + articles
command: asciidoc_html_options,
input: article,
output: fs.stem(article) + '.html',
+ depends: documentation_deps,
install: true,
install_dir: get_option('datadir') / 'doc/git-doc/technical',
)
--
2.48.0.rc2

View File

@ -1,49 +0,0 @@
[This is the same as git-2.49.1-docs.patch, but modified to apply to 2.48.1.]
https://public-inbox.org/git/20250316060605.166364-1-eschwartz@gentoo.org/T/
From: Eli Schwartz <eschwartz@gentoo.org>
To: git@vger.kernel.org
Cc: Patrick Steinhardt <ps@pks.im>,
Sam James <sam@gentoo.org>
Subject: [PATCH] meson: fix perl detection when docs are enabled, but perl bindings aren't
Date: Sun, 16 Mar 2025 02:06:05 -0400
Message-ID: <20250316060605.166364-1-eschwartz@gentoo.org>
X-Mailer: git-send-email 2.48.1
Precedence: bulk
X-Mailing-List: git@vger.kernel.org
List-Id: <git.vger.kernel.org>
List-Subscribe: <mailto:git+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:git+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
The `perl` variable in meson.build is assigned to a program lookup,
which may have the value "not-found object" if configuring with
`-Dperl=disabled`.
There is already a list of other cases where we do need a perl command,
even when not building perl bindings. Building documentation should be
one of those cases, but was missing from the list. Add it.
Fixes:
```
$ meson setup builddir/ -Ddocs=man -Dperl=disabled -Dtests=false
[...]
Documentation/meson.build:308:22: ERROR: Tried to use not-found external program in "command"
```
Bug: https://bugs.gentoo.org/949247
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
--- a/meson.build
+++ b/meson.build
@@ -749,7 +749,7 @@ endif
# features. It is optional if you want to neither execute tests nor use any of
# these optional features.
perl_required = get_option('perl')
-if get_option('tests') or get_option('gitweb').enabled()
+if get_option('tests') or get_option('gitweb').enabled() or get_option('docs') != []
perl_required = true
endif

View File

@ -1,85 +0,0 @@
https://bugs.gentoo.org/948865
https://lore.kernel.org/git/20250122-b4-pks-meson-additions-v3-4-5a51eb5d3dcd@pks.im/
From: Patrick Steinhardt <ps@pks.im>
Date: Wed, 22 Jan 2025 13:05:47 +0100
Subject: [PATCH v3 04/11] meson: fix dependencies for generated headers
Precedence: bulk
X-Mailing-List: git@vger.kernel.org
List-Id: <git.vger.kernel.org>
List-Subscribe: <mailto:git+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:git+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250122-b4-pks-meson-additions-v3-4-5a51eb5d3dcd@pks.im>
References: <20250122-b4-pks-meson-additions-v3-0-5a51eb5d3dcd@pks.im>
In-Reply-To: <20250122-b4-pks-meson-additions-v3-0-5a51eb5d3dcd@pks.im>
To: git@vger.kernel.org
Cc: Evan Martin <evan.martin@gmail.com>,
Eli Schwartz <eschwartz@gentoo.org>, Junio C Hamano <gitster@pobox.com>,
M Hickford <mirth.hickford@gmail.com>, Toon Claes <toon@iotcl.com>
X-Mailer: b4 0.14.2
We generate a couple of headers from our documentation. These headers
are added to the libgit sources, but two of them aren't used by the
library, but instead by our builtins. This can cause parallel builds to
fail because the builtin object may be compiled before the header was
generated.
Fix the issue by adding both "config-list.h" and "hook-list.h" to the
list of builtin sources. While "command-list.h" is generated similarly,
it is used by "help.c" and thus part of the libgit sources indeed.
Reported-by: Evan Martin <evan.martin@gmail.com>
Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
meson.build | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/meson.build b/meson.build
index 213998986e..4053024dad 100644
--- a/meson.build
+++ b/meson.build
@@ -487,6 +487,13 @@ libgit_sources = [
'xdiff/xutils.c',
]
+libgit_sources += custom_target(
+ input: 'command-list.txt',
+ output: 'command-list.h',
+ command: [shell, meson.current_source_dir() + '/generate-cmdlist.sh', meson.current_source_dir(), '@OUTPUT@'],
+ env: script_environment,
+)
+
builtin_sources = [
'builtin/add.c',
'builtin/am.c',
@@ -614,14 +621,7 @@ builtin_sources = [
'builtin/write-tree.c',
]
-libgit_sources += custom_target(
- input: 'command-list.txt',
- output: 'command-list.h',
- command: [shell, meson.current_source_dir() + '/generate-cmdlist.sh', meson.current_source_dir(), '@OUTPUT@'],
- env: script_environment,
-)
-
-libgit_sources += custom_target(
+builtin_sources += custom_target(
output: 'config-list.h',
command: [
shell,
@@ -632,7 +632,7 @@ libgit_sources += custom_target(
env: script_environment,
)
-libgit_sources += custom_target(
+builtin_sources += custom_target(
input: 'Documentation/githooks.txt',
output: 'hook-list.h',
command: [
--
2.48.1.321.gbf1f004a4a.dirty

View File

@ -0,0 +1,32 @@
From 35f637fbabb3b8181a29ba7d96a505b49ea0ba0d Mon Sep 17 00:00:00 2001
Message-ID: <35f637fbabb3b8181a29ba7d96a505b49ea0ba0d.1763489487.git.sam@gentoo.org>
From: Sam James <sam@gentoo.org>
Date: Tue, 18 Nov 2025 18:10:03 +0000
Subject: [PATCH 1/2] rust: don't pass --quiet to cargo
This obscures that cargo is being invoked at all and it means even
ninja --verbose has no mention of it other than invoking the target.
Signed-off-by: Sam James <sam@gentoo.org>
---
src/cargo-meson.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cargo-meson.sh b/src/cargo-meson.sh
index 3998db0435..63a5e7c6ac 100755
--- a/src/cargo-meson.sh
+++ b/src/cargo-meson.sh
@@ -19,7 +19,7 @@ do
esac
done
-cargo build --lib --quiet --manifest-path="$SOURCE_DIR/Cargo.toml" --target-dir="$BUILD_DIR" "$@"
+cargo build --lib --manifest-path="$SOURCE_DIR/Cargo.toml" --target-dir="$BUILD_DIR" "$@"
RET=$?
if test $RET -ne 0
then
base-commit: 9a2fb147f2c61d0cab52c883e7e26f5b7948e3ed
--
2.51.2

View File

@ -0,0 +1,32 @@
From 1eba2788aab9f63ff55ac453b0d885aaa60c77af Mon Sep 17 00:00:00 2001
Message-ID: <1eba2788aab9f63ff55ac453b0d885aaa60c77af.1763489487.git.sam@gentoo.org>
In-Reply-To: <35f637fbabb3b8181a29ba7d96a505b49ea0ba0d.1763489487.git.sam@gentoo.org>
References: <35f637fbabb3b8181a29ba7d96a505b49ea0ba0d.1763489487.git.sam@gentoo.org>
From: Sam James <sam@gentoo.org>
Date: Tue, 18 Nov 2025 18:10:47 +0000
Subject: [PATCH 2/2] rust: respect $CARGO environment variable
Respect the CARGO environment variable if set. Gentoo uses this to
control the version of rust/cargo for a build.
Signed-off-by: Sam James <sam@gentoo.org>
---
src/cargo-meson.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cargo-meson.sh b/src/cargo-meson.sh
index 63a5e7c6ac..bbf3f91178 100755
--- a/src/cargo-meson.sh
+++ b/src/cargo-meson.sh
@@ -19,7 +19,7 @@ do
esac
done
-cargo build --lib --manifest-path="$SOURCE_DIR/Cargo.toml" --target-dir="$BUILD_DIR" "$@"
+${CARGO:-cargo} build --lib --manifest-path="$SOURCE_DIR/Cargo.toml" --target-dir="$BUILD_DIR" "$@"
RET=$?
if test $RET -ne 0
then
--
2.51.2

View File

@ -50,7 +50,7 @@ if [[ ${PV} != *9999 ]]; then
SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
fi
fi

View File

@ -50,7 +50,7 @@ if [[ ${PV} != *9999 ]]; then
SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
fi
fi

View File

@ -50,7 +50,7 @@ if [[ ${PV} != *9999 ]]; then
SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
fi
fi

View File

@ -50,7 +50,7 @@ if [[ ${PV} != *9999 ]]; then
SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
fi
fi

View File

@ -50,7 +50,7 @@ if [[ ${PV} != *9999 ]]; then
SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
fi
fi

View File

@ -0,0 +1,491 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python3_{11..14} )
inherit toolchain-funcs perl-module shell-completion optfeature plocale python-single-r1 systemd meson flag-o-matic
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
inherit git-r3
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
# 9999-r0: maint
# 9999-r1: master
# 9999-r2: next
# 9999-r3: seen
case ${PVR} in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
9999-r3) EGIT_BRANCH=seen ;;
esac
fi
MY_PV="${PV/_rc/.rc}"
MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
[[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing'
SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}"
SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}"
SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
fi
fi
S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
SLOT="0"
IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl +safe-directory selinux subversion test tk +webdav xinetd"
# Common to both DEPEND and RDEPEND
DEPEND="
dev-libs/openssl:=
virtual/zlib:=
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
keyring? (
app-crypt/libsecret
dev-libs/glib:2
)
iconv? ( virtual/libiconv )
pcre? ( dev-libs/libpcre2:= )
perl? ( dev-lang/perl:=[-build(-)] )
tk? ( dev-lang/tk:= )
"
RDEPEND="
${DEPEND}
gpg? ( app-alternatives/gpg )
perl? (
dev-perl/Error
dev-perl/MailTools
dev-perl/Authen-SASL
>=virtual/perl-libnet-3.110.0-r4[ssl]
cgi? (
dev-perl/CGI
highlight? ( app-text/highlight )
)
cvs? (
>=dev-vcs/cvsps-2.1:0
dev-perl/DBI
dev-perl/DBD-SQLite
)
subversion? (
dev-vcs/subversion[-dso(-),perl]
dev-perl/libwww-perl
dev-perl/TermReadKey
)
)
perforce? ( ${PYTHON_DEPS} )
selinux? ( sec-policy/selinux-git )
"
# This is how info docs are created with Git:
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
# .xml/docbook --(docbook2texi.pl)--> .texi
# .texi --(makeinfo)---------> .info
BDEPEND="
doc? (
app-text/asciidoc
app-text/docbook2X
app-text/xmlto
sys-apps/texinfo
)
keyring? ( virtual/pkgconfig )
nls? ( sys-devel/gettext )
test? (
app-arch/unzip
app-crypt/gnupg
dev-lang/perl
)
"
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
BDEPEND+=" app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
REQUIRED_USE="
cgi? ( perl )
cvs? ( perl )
perforce? ( ${PYTHON_REQUIRED_USE} )
subversion? ( perl )
webdav? ( curl )
"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}"/${PN}-2.48.1-macos-no-fsmonitor.patch
# This patch isn't merged upstream but is kept in the ebuild by
# demand from developers. It's opt-in (needs a config option)
# and the documentation mentions that it is a Gentoo addition.
"${FILESDIR}"/${PN}-2.50.0-diff-implement-config.diff.renames-copies-harder.patch
# Backports for cross
"${FILESDIR}"/0001-meson-ignore-subprojects-.wraplock.patch
"${FILESDIR}"/0002-meson-only-detect-ICONV_OMITS_BOM-if-possible.patch
"${FILESDIR}"/0003-meson-use-is_cross_build-where-possible.patch
)
pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]" ; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
ewarn "have been warned!"
fi
if use perforce ; then
python-single-r1_pkg_setup
fi
}
src_unpack() {
if [[ ${PV} != *9999 ]] ; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
popd &>/dev/null || die
fi
else
git-r3_src_unpack
fi
}
src_prepare() {
if ! use safe-directory ; then
# This patch neuters the "safe directory" detection.
# bugs #838271, #838223
PATCHES+=(
"${FILESDIR}"/git-2.46.2-unsafe-directory.patch
)
fi
default
}
src_configure() {
local contrib=(
completion
subtree
$(usev perl 'contacts')
)
local credential_helpers=(
$(usev keyring 'libsecret')
$(usev perl 'netrc')
)
# Needs macOS Frameworks that can't currently be built with GCC.
if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
credential_helpers+=( osxkeychain )
fi
local native_file="${T}"/meson.ini.local
cat >> ${native_file} <<-EOF || die
[binaries]
# We don't want to bake /usr/bin/sh from usrmerged systems into
# binaries. /bin/sh is required by POSIX.
sh='/bin/sh'
EOF
local emesonargs=(
--native-file "${native_file}"
$(meson_feature curl)
$(meson_feature cgi gitweb)
$(meson_feature webdav expat)
$(meson_feature iconv)
$(meson_feature nls gettext)
$(meson_feature pcre pcre2)
$(meson_feature perl)
$(meson_feature perforce python)
$(meson_use test tests)
-Dcontrib=$(IFS=, ; echo "${contrib[*]}" )
-Dcredential_helpers=$(IFS=, ; echo "${credential_helpers[*]}" )
-Dmacos_use_homebrew_gettext=false
-Dperl_cpan_fallback=false
# TODO: allow zlib-ng
-Dzlib_backend=zlib
)
[[ ${CHOST} == *-darwin* ]] && emesonargs+=( -Dfsmonitor=false )
[[ ${CHOST} == *-solaris* ]] && append-flags -D__EXTENSIONS__
# For non-live, we use a downloaded docs tarball instead.
if [[ ${PV} == *9999 ]] || use doc ; then
emesonargs+=(
-Ddocs="man$(usev doc ',html')"
)
fi
if [[ ${PV} != *9999 ]] ; then
# Non-live ebuilds download the sources from a tarball which does not
# include a .git directory. Coccinelle assumes it exists and fails
# otherwise.
#
# Fixes https://bugs.gentoo.org/952004
emesonargs+=(
-Dcoccinelle=disabled
)
fi
meson_src_configure
if use tk ; then
local tkdir
for tkdir in git-gui gitk-git ; do
(
EMESON_SOURCE="${S}"/${tkdir}
BUILD_DIR="${WORKDIR}"/${tkdir}_build
emesonargs=()
meson_src_configure
)
done
fi
}
git_emake() {
local mymakeargs=(
prefix="${EPREFIX}"/usr
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
sysconfdir="${EPREFIX}"/etc
perllibdir="$(use perl && perl_get_raw_vendorlib)"
CC="$(tc-getCC)"
CFLAGS="${CFLAGS}"
LDFLAGS="${LDFLAGS}"
PKG_CONFIG="$(tc-getPKG_CONFIG)"
OPTAR="$(tc-getAR)"
OPTCC="$(tc-getCC)"
OPTCFLAGS="${CFLAGS}"
OPTLDFLAGS="${LDFLAGS}"
PERL_PATH="${EPREFIX}/usr/bin/perl"
PERL_MM_OPT=""
V=1
"$@"
)
emake "${mymakeargs[@]}"
}
src_compile() {
meson_src_compile
if use tk ; then
local tkdir
for tkdir in git-gui gitk-git ; do
(
EMESON_SOURCE="${S}"/${tkdir}
BUILD_DIR="${WORKDIR}"/${tkdir}_build
meson_src_compile
)
done
fi
if use doc ; then
# Workaround fragments that still use the Makefile and can't
# find the bits from Meson's out-of-source build
ln -s "${BUILD_DIR}"/Documentation/asciidoc.conf "${S}"/Documentation/asciidoc.conf || die
fi
git_emake -C contrib/diff-highlight
}
src_test() {
# t0610-reftable-basics.sh uses $A
local -x A=
meson_src_test
}
src_install() {
meson_src_install
if use doc ; then
cp -r "${ED}"/usr/share/doc/git-doc/. "${ED}"/usr/share/doc/${PF}/html || die
rm -rf "${ED}"/usr/share/doc/git-doc/ || die
fi
# Depending on the tarball and manual rebuild of the documentation, the
# manpages may exist in either OR both of these directories.
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
local d
for d in / /howto/ /technical/ ; do
docinto ${d}
dodoc Documentation${d}*.adoc
done
docinto /
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
newzshcomp contrib/completion/git-completion.zsh _${PN}
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
doins contrib/completion/git-prompt.sh
#dobin contrib/fast-import/git-p4 # Moved upstream
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
newbin contrib/fast-import/import-tars.perl import-tars
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
# git-jump
exeinto /usr/libexec/git-core/
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
# diff-highlight - done above
# git-jump - done above
# gitview - installed above
# p4import - excluded because fast-import has a better one
# patches - stuff the Git guys made to go upstream to other places
# subtree - built seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
buildsystems
fast-import
rerere-train.sh
stats
)
local i
for i in "${contrib_objects[@]}" ; do
cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}"
done
if use cgi ; then
# We used to install in /usr/share/${PN}/gitweb
# but upstream installs in /usr/share/gitweb
# so we will install a symlink and use their location for compat with other
# distros
dosym ../gitweb /usr/share/${PN}/gitweb
# INSTALL discusses configuration issues, not just installation
docinto /
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
newdoc "${S}"/gitweb/README README.gitweb
for d in "${ED}"/usr/lib{,64}/perl5/ ; do
if [[ -d "${d}" ]] ; then
find "${d}" -name .packlist -delete || die
fi
done
else
rm -rf "${ED}"/usr/share/gitweb
fi
if use perl ; then
dodir "$(perl_get_vendorlib)"
mv "${ED}"/usr/share/perl5/Git.pm "${ED}/$(perl_get_vendorlib)" || die
mv "${ED}"/usr/share/perl5/Git "${ED}/$(perl_get_vendorlib)" || die
fi
if ! use subversion ; then
rm -f "${ED}"/usr/libexec/git-core/git-svn \
"${ED}"/usr/share/man/man1/git-svn.1*
fi
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
fi
if ! use prefix ; then
newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
if use tk ; then
local tkdir
for tkdir in git-gui gitk-git ; do
(
EMESON_SOURCE="${S}"/${tkdir}
BUILD_DIR="${WORKDIR}"/${tkdir}_build
meson_src_install
)
done
fi
perl_delete_localpod
# Remove disabled linguas
# we could remove sources in src_prepare, but install does not
# handle missing locale dir well
rm_loc() {
if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
rm -r "${ED}/usr/share/locale/${1}" || die
fi
}
plocale_for_each_disabled_locale rm_loc
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]] ; then
elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
elog "completion."
elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
elog "Note that the prompt bash code is now in that separate script"
fi
if has_version app-shells/zsh ; then
elog 'There are two competing zsh completions available for Git.'
elog 'One is from app-shells/zsh, the other from dev-vcs/git.'
elog 'To choose between them, order the entries of $fpath so that your'
elog 'desired completion is earlier in the list or symlink the relevant'
elog 'script into a personal override directory early on fpath.'
fi
optfeature_header "Some scripts require additional dependencies:"
optfeature git-quiltimport dev-util/quilt
optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx
}

View File

@ -0,0 +1,497 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python3_{11..14} )
RUST_OPTIONAL=1
inherit flag-o-matic toolchain-funcs perl-module shell-completion optfeature
inherit plocale python-single-r1 rust systemd meson
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
inherit git-r3
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
# 9999-r0: maint
# 9999-r1: master
# 9999-r2: next
# 9999-r3: seen
case ${PVR} in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
9999-r3) EGIT_BRANCH=seen ;;
esac
fi
MY_PV="${PV/_rc/.rc}"
MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
[[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing'
SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}"
SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}"
SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
fi
fi
S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
SLOT="0"
IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl rust +safe-directory selinux subversion test tk +webdav xinetd"
# Common to both DEPEND and RDEPEND
DEPEND="
dev-libs/openssl:=
virtual/zlib:=
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
keyring? (
app-crypt/libsecret
dev-libs/glib:2
)
iconv? ( virtual/libiconv )
pcre? ( dev-libs/libpcre2:= )
perl? ( dev-lang/perl:=[-build(-)] )
tk? ( dev-lang/tk:= )
"
RDEPEND="
${DEPEND}
gpg? ( app-alternatives/gpg )
perl? (
dev-perl/Error
dev-perl/MailTools
dev-perl/Authen-SASL
>=virtual/perl-libnet-3.110.0-r4[ssl]
cgi? (
dev-perl/CGI
highlight? ( app-text/highlight )
)
cvs? (
>=dev-vcs/cvsps-2.1:0
dev-perl/DBI
dev-perl/DBD-SQLite
)
subversion? (
dev-vcs/subversion[-dso(-),perl]
dev-perl/libwww-perl
dev-perl/TermReadKey
)
)
perforce? ( ${PYTHON_DEPS} )
selinux? ( sec-policy/selinux-git )
"
# This is how info docs are created with Git:
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
# .xml/docbook --(docbook2texi.pl)--> .texi
# .texi --(makeinfo)---------> .info
BDEPEND="
doc? (
app-text/asciidoc
app-text/docbook2X
app-text/xmlto
sys-apps/texinfo
)
keyring? ( virtual/pkgconfig )
nls? ( sys-devel/gettext )
rust? ( ${RUST_DEPEND} )
test? (
app-arch/unzip
app-crypt/gnupg
dev-lang/perl
)
"
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
BDEPEND+=" app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
REQUIRED_USE="
cgi? ( perl )
cvs? ( perl )
perforce? ( ${PYTHON_REQUIRED_USE} )
subversion? ( perl )
webdav? ( curl )
"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}"/${PN}-2.48.1-macos-no-fsmonitor.patch
# This patch isn't merged upstream but is kept in the ebuild by
# demand from developers. It's opt-in (needs a config option)
# and the documentation mentions that it is a Gentoo addition.
"${FILESDIR}"/${PN}-2.50.0-diff-implement-config.diff.renames-copies-harder.patch
"${FILESDIR}"/${PN}-2.52.0-0001-rust-don-t-pass-quiet-to-cargo.patch
"${FILESDIR}"/${PN}-2.52.0-0002-rust-respect-CARGO-environment-variable.patch
# Backports for cross
"${FILESDIR}"/0001-meson-ignore-subprojects-.wraplock.patch
"${FILESDIR}"/0002-meson-only-detect-ICONV_OMITS_BOM-if-possible.patch
"${FILESDIR}"/0003-meson-use-is_cross_build-where-possible.patch
)
pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]" ; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
ewarn "have been warned!"
fi
if use perforce ; then
python-single-r1_pkg_setup
fi
if use rust ; then
rust_pkg_setup
fi
}
src_unpack() {
if [[ ${PV} != *9999 ]] ; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
popd &>/dev/null || die
fi
else
git-r3_src_unpack
fi
}
src_prepare() {
if ! use safe-directory ; then
# This patch neuters the "safe directory" detection.
# bugs #838271, #838223
PATCHES+=(
"${FILESDIR}"/git-2.46.2-unsafe-directory.patch
)
fi
default
}
src_configure() {
local contrib=(
completion
subtree
$(usev perl 'contacts')
)
local credential_helpers=(
$(usev keyring 'libsecret')
$(usev perl 'netrc')
)
# Needs macOS Frameworks that can't currently be built with GCC.
if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
credential_helpers+=( osxkeychain )
fi
local native_file="${T}"/meson.ini.local
cat >> ${native_file} <<-EOF || die
[binaries]
# We don't want to bake /usr/bin/sh from usrmerged systems into
# binaries. /bin/sh is required by POSIX.
sh='/bin/sh'
EOF
local emesonargs=(
--native-file "${native_file}"
$(meson_feature curl)
$(meson_feature cgi gitweb)
$(meson_feature webdav expat)
$(meson_feature iconv)
$(meson_feature nls gettext)
$(meson_feature pcre pcre2)
$(meson_feature perl)
$(meson_feature perforce python)
$(meson_feature rust)
$(meson_use test tests)
-Dcontrib=$(IFS=, ; echo "${contrib[*]}" )
-Dcredential_helpers=$(IFS=, ; echo "${credential_helpers[*]}" )
-Dmacos_use_homebrew_gettext=false
-Dperl_cpan_fallback=false
# TODO: allow zlib-ng
-Dzlib_backend=zlib
)
[[ ${CHOST} == *-darwin* ]] && emesonargs+=( -Dfsmonitor=false )
[[ ${CHOST} == *-solaris* ]] && append-flags -D__EXTENSIONS__
# For non-live, we use a downloaded docs tarball instead.
if [[ ${PV} == *9999 ]] || use doc ; then
emesonargs+=(
-Ddocs="man$(usev doc ',html')"
-Dhtmldir="${EPREFIX}/usr/share/doc/${PF}/html"
)
fi
if [[ ${PV} != *9999 ]] ; then
# Non-live ebuilds download the sources from a tarball which does not
# include a .git directory. Coccinelle assumes it exists and fails
# otherwise.
#
# Fixes https://bugs.gentoo.org/952004
emesonargs+=(
-Dcoccinelle=disabled
)
fi
meson_src_configure
if use tk ; then
local tkdir
for tkdir in git-gui gitk-git ; do
(
EMESON_SOURCE="${S}"/${tkdir}
BUILD_DIR="${WORKDIR}"/${tkdir}_build
emesonargs=()
meson_src_configure
)
done
fi
}
git_emake() {
local mymakeargs=(
prefix="${EPREFIX}"/usr
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
sysconfdir="${EPREFIX}"/etc
perllibdir="$(use perl && perl_get_raw_vendorlib)"
CC="$(tc-getCC)"
CFLAGS="${CFLAGS}"
LDFLAGS="${LDFLAGS}"
PKG_CONFIG="$(tc-getPKG_CONFIG)"
OPTAR="$(tc-getAR)"
OPTCC="$(tc-getCC)"
OPTCFLAGS="${CFLAGS}"
OPTLDFLAGS="${LDFLAGS}"
PERL_PATH="${EPREFIX}/usr/bin/perl"
PERL_MM_OPT=""
V=1
"$@"
)
emake "${mymakeargs[@]}"
}
src_compile() {
meson_src_compile
if use tk ; then
local tkdir
for tkdir in git-gui gitk-git ; do
(
EMESON_SOURCE="${S}"/${tkdir}
BUILD_DIR="${WORKDIR}"/${tkdir}_build
meson_src_compile
)
done
fi
if use doc ; then
# Workaround fragments that still use the Makefile and can't
# find the bits from Meson's out-of-source build
ln -s "${BUILD_DIR}"/Documentation/asciidoc.conf "${S}"/Documentation/asciidoc.conf || die
fi
git_emake -C contrib/diff-highlight
}
src_test() {
# t0610-reftable-basics.sh uses $A
local -x A=
meson_src_test
}
src_install() {
meson_src_install
# Depending on the tarball and manual rebuild of the documentation, the
# manpages may exist in either OR both of these directories.
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
local d
for d in / /howto/ /technical/ ; do
docinto ${d}
dodoc Documentation${d}*.adoc
done
docinto /
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
newzshcomp contrib/completion/git-completion.zsh _${PN}
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
doins contrib/completion/git-prompt.sh
#dobin contrib/fast-import/git-p4 # Moved upstream
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
newbin contrib/fast-import/import-tars.perl import-tars
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
# git-jump
exeinto /usr/libexec/git-core/
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
# diff-highlight - done above
# git-jump - done above
# gitview - installed above
# p4import - excluded because fast-import has a better one
# patches - stuff the Git guys made to go upstream to other places
# subtree - built seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
buildsystems
fast-import
rerere-train.sh
stats
)
local i
for i in "${contrib_objects[@]}" ; do
cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}"
done
if use cgi ; then
# We used to install in /usr/share/${PN}/gitweb
# but upstream installs in /usr/share/gitweb
# so we will install a symlink and use their location for compat with other
# distros
dosym ../gitweb /usr/share/${PN}/gitweb
# INSTALL discusses configuration issues, not just installation
docinto /
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
newdoc "${S}"/gitweb/README README.gitweb
for d in "${ED}"/usr/lib{,64}/perl5/ ; do
if [[ -d "${d}" ]] ; then
find "${d}" -name .packlist -delete || die
fi
done
else
rm -rf "${ED}"/usr/share/gitweb
fi
if use perl ; then
dodir "$(perl_get_vendorlib)"
mv "${ED}"/usr/share/perl5/Git.pm "${ED}/$(perl_get_vendorlib)" || die
mv "${ED}"/usr/share/perl5/Git "${ED}/$(perl_get_vendorlib)" || die
fi
if ! use subversion ; then
rm -f "${ED}"/usr/libexec/git-core/git-svn \
"${ED}"/usr/share/man/man1/git-svn.1*
fi
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
fi
if ! use prefix ; then
newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
if use tk ; then
local tkdir
for tkdir in git-gui gitk-git ; do
(
EMESON_SOURCE="${S}"/${tkdir}
BUILD_DIR="${WORKDIR}"/${tkdir}_build
meson_src_install
)
done
fi
perl_delete_localpod
# Remove disabled linguas
# we could remove sources in src_prepare, but install does not
# handle missing locale dir well
rm_loc() {
if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
rm -r "${ED}/usr/share/locale/${1}" || die
fi
}
plocale_for_each_disabled_locale rm_loc
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]] ; then
elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
elog "completion."
elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
elog "Note that the prompt bash code is now in that separate script"
fi
if has_version app-shells/zsh ; then
elog 'There are two competing zsh completions available for Git.'
elog 'One is from app-shells/zsh, the other from dev-vcs/git.'
elog 'To choose between them, order the entries of $fpath so that your'
elog 'desired completion is earlier in the list or symlink the relevant'
elog 'script into a personal override directory early on fpath.'
fi
optfeature_header "Some scripts require additional dependencies:"
optfeature git-quiltimport dev-util/quilt
optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx
}

View File

@ -7,8 +7,9 @@ GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python3_{11..14} )
inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd meson
RUST_OPTIONAL=1
inherit flag-o-matic toolchain-funcs perl-module shell-completion optfeature
inherit plocale python-single-r1 rust systemd meson
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
@ -50,7 +51,7 @@ if [[ ${PV} != *9999 ]]; then
SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
fi
fi
@ -58,7 +59,7 @@ S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
SLOT="0"
IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl +safe-directory selinux subversion test tk +webdav xinetd"
IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl rust +safe-directory selinux subversion test tk +webdav xinetd"
# Common to both DEPEND and RDEPEND
DEPEND="
@ -117,6 +118,7 @@ BDEPEND="
)
keyring? ( virtual/pkgconfig )
nls? ( sys-devel/gettext )
rust? ( ${RUST_DEPEND} )
test? (
app-arch/unzip
app-crypt/gnupg
@ -148,6 +150,9 @@ PATCHES=(
# demand from developers. It's opt-in (needs a config option)
# and the documentation mentions that it is a Gentoo addition.
"${FILESDIR}"/${PN}-2.50.0-diff-implement-config.diff.renames-copies-harder.patch
"${FILESDIR}"/${PN}-2.52.0-0001-rust-don-t-pass-quiet-to-cargo.patch
"${FILESDIR}"/${PN}-2.52.0-0002-rust-respect-CARGO-environment-variable.patch
)
pkg_setup() {
@ -160,6 +165,10 @@ pkg_setup() {
if use perforce ; then
python-single-r1_pkg_setup
fi
if use rust ; then
rust_pkg_setup
fi
}
src_unpack() {
@ -228,6 +237,7 @@ src_configure() {
$(meson_feature pcre pcre2)
$(meson_feature perl)
$(meson_feature perforce python)
$(meson_feature rust)
$(meson_use test tests)
-Dcontrib=$(IFS=, ; echo "${contrib[*]}" )
@ -240,6 +250,7 @@ src_configure() {
)
[[ ${CHOST} == *-darwin* ]] && emesonargs+=( -Dfsmonitor=false )
[[ ${CHOST} == *-solaris* ]] && append-flags -D__EXTENSIONS__
# For non-live, we use a downloaded docs tarball instead.
if [[ ${PV} == *9999 ]] || use doc ; then
@ -350,6 +361,7 @@ src_install() {
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
newzshcomp contrib/completion/git-completion.zsh _${PN}
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
@ -466,6 +478,14 @@ pkg_postinst() {
elog "Note that the prompt bash code is now in that separate script"
fi
if has_version app-shells/zsh ; then
elog 'There are two competing zsh completions available for Git.'
elog 'One is from app-shells/zsh, the other from dev-vcs/git.'
elog 'To choose between them, order the entries of $fpath so that your'
elog 'desired completion is earlier in the list or symlink the relevant'
elog 'script into a personal override directory early on fpath.'
fi
optfeature_header "Some scripts require additional dependencies:"
optfeature git-quiltimport dev-util/quilt
optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx

View File

@ -7,8 +7,9 @@ GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python3_{11..14} )
inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd meson
RUST_OPTIONAL=1
inherit flag-o-matic toolchain-funcs perl-module shell-completion optfeature
inherit plocale python-single-r1 rust systemd meson
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
@ -50,7 +51,7 @@ if [[ ${PV} != *9999 ]]; then
SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
fi
fi
@ -58,7 +59,7 @@ S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
SLOT="0"
IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl +safe-directory selinux subversion test tk +webdav xinetd"
IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl rust +safe-directory selinux subversion test tk +webdav xinetd"
# Common to both DEPEND and RDEPEND
DEPEND="
@ -117,6 +118,7 @@ BDEPEND="
)
keyring? ( virtual/pkgconfig )
nls? ( sys-devel/gettext )
rust? ( ${RUST_DEPEND} )
test? (
app-arch/unzip
app-crypt/gnupg
@ -148,6 +150,9 @@ PATCHES=(
# demand from developers. It's opt-in (needs a config option)
# and the documentation mentions that it is a Gentoo addition.
"${FILESDIR}"/${PN}-2.50.0-diff-implement-config.diff.renames-copies-harder.patch
"${FILESDIR}"/${PN}-2.52.0-0001-rust-don-t-pass-quiet-to-cargo.patch
"${FILESDIR}"/${PN}-2.52.0-0002-rust-respect-CARGO-environment-variable.patch
)
pkg_setup() {
@ -160,6 +165,10 @@ pkg_setup() {
if use perforce ; then
python-single-r1_pkg_setup
fi
if use rust ; then
rust_pkg_setup
fi
}
src_unpack() {
@ -228,6 +237,7 @@ src_configure() {
$(meson_feature pcre pcre2)
$(meson_feature perl)
$(meson_feature perforce python)
$(meson_feature rust)
$(meson_use test tests)
-Dcontrib=$(IFS=, ; echo "${contrib[*]}" )
@ -240,6 +250,7 @@ src_configure() {
)
[[ ${CHOST} == *-darwin* ]] && emesonargs+=( -Dfsmonitor=false )
[[ ${CHOST} == *-solaris* ]] && append-flags -D__EXTENSIONS__
# For non-live, we use a downloaded docs tarball instead.
if [[ ${PV} == *9999 ]] || use doc ; then
@ -350,6 +361,7 @@ src_install() {
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
newzshcomp contrib/completion/git-completion.zsh _${PN}
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
@ -466,6 +478,14 @@ pkg_postinst() {
elog "Note that the prompt bash code is now in that separate script"
fi
if has_version app-shells/zsh ; then
elog 'There are two competing zsh completions available for Git.'
elog 'One is from app-shells/zsh, the other from dev-vcs/git.'
elog 'To choose between them, order the entries of $fpath so that your'
elog 'desired completion is earlier in the list or symlink the relevant'
elog 'script into a personal override directory early on fpath.'
fi
optfeature_header "Some scripts require additional dependencies:"
optfeature git-quiltimport dev-util/quilt
optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx

View File

@ -7,8 +7,9 @@ GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python3_{11..14} )
inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd meson
RUST_OPTIONAL=1
inherit flag-o-matic toolchain-funcs perl-module shell-completion optfeature
inherit plocale python-single-r1 rust systemd meson
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
@ -50,7 +51,7 @@ if [[ ${PV} != *9999 ]]; then
SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
fi
fi
@ -58,7 +59,7 @@ S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
SLOT="0"
IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl +safe-directory selinux subversion test tk +webdav xinetd"
IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl rust +safe-directory selinux subversion test tk +webdav xinetd"
# Common to both DEPEND and RDEPEND
DEPEND="
@ -117,6 +118,7 @@ BDEPEND="
)
keyring? ( virtual/pkgconfig )
nls? ( sys-devel/gettext )
rust? ( ${RUST_DEPEND} )
test? (
app-arch/unzip
app-crypt/gnupg
@ -148,6 +150,9 @@ PATCHES=(
# demand from developers. It's opt-in (needs a config option)
# and the documentation mentions that it is a Gentoo addition.
"${FILESDIR}"/${PN}-2.50.0-diff-implement-config.diff.renames-copies-harder.patch
"${FILESDIR}"/${PN}-2.52.0-0001-rust-don-t-pass-quiet-to-cargo.patch
"${FILESDIR}"/${PN}-2.52.0-0002-rust-respect-CARGO-environment-variable.patch
)
pkg_setup() {
@ -160,6 +165,10 @@ pkg_setup() {
if use perforce ; then
python-single-r1_pkg_setup
fi
if use rust ; then
rust_pkg_setup
fi
}
src_unpack() {
@ -228,6 +237,7 @@ src_configure() {
$(meson_feature pcre pcre2)
$(meson_feature perl)
$(meson_feature perforce python)
$(meson_feature rust)
$(meson_use test tests)
-Dcontrib=$(IFS=, ; echo "${contrib[*]}" )
@ -240,6 +250,7 @@ src_configure() {
)
[[ ${CHOST} == *-darwin* ]] && emesonargs+=( -Dfsmonitor=false )
[[ ${CHOST} == *-solaris* ]] && append-flags -D__EXTENSIONS__
# For non-live, we use a downloaded docs tarball instead.
if [[ ${PV} == *9999 ]] || use doc ; then
@ -350,6 +361,7 @@ src_install() {
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
newzshcomp contrib/completion/git-completion.zsh _${PN}
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
@ -466,6 +478,14 @@ pkg_postinst() {
elog "Note that the prompt bash code is now in that separate script"
fi
if has_version app-shells/zsh ; then
elog 'There are two competing zsh completions available for Git.'
elog 'One is from app-shells/zsh, the other from dev-vcs/git.'
elog 'To choose between them, order the entries of $fpath so that your'
elog 'desired completion is earlier in the list or symlink the relevant'
elog 'script into a personal override directory early on fpath.'
fi
optfeature_header "Some scripts require additional dependencies:"
optfeature git-quiltimport dev-util/quilt
optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx

View File

@ -7,8 +7,9 @@ GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python3_{11..14} )
inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd meson
RUST_OPTIONAL=1
inherit flag-o-matic toolchain-funcs perl-module shell-completion optfeature
inherit plocale python-single-r1 rust systemd meson
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
@ -50,7 +51,7 @@ if [[ ${PV} != *9999 ]]; then
SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
fi
fi
@ -58,7 +59,7 @@ S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
SLOT="0"
IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl +safe-directory selinux subversion test tk +webdav xinetd"
IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl rust +safe-directory selinux subversion test tk +webdav xinetd"
# Common to both DEPEND and RDEPEND
DEPEND="
@ -117,6 +118,7 @@ BDEPEND="
)
keyring? ( virtual/pkgconfig )
nls? ( sys-devel/gettext )
rust? ( ${RUST_DEPEND} )
test? (
app-arch/unzip
app-crypt/gnupg
@ -148,6 +150,9 @@ PATCHES=(
# demand from developers. It's opt-in (needs a config option)
# and the documentation mentions that it is a Gentoo addition.
"${FILESDIR}"/${PN}-2.50.0-diff-implement-config.diff.renames-copies-harder.patch
"${FILESDIR}"/${PN}-2.52.0-0001-rust-don-t-pass-quiet-to-cargo.patch
"${FILESDIR}"/${PN}-2.52.0-0002-rust-respect-CARGO-environment-variable.patch
)
pkg_setup() {
@ -160,6 +165,10 @@ pkg_setup() {
if use perforce ; then
python-single-r1_pkg_setup
fi
if use rust ; then
rust_pkg_setup
fi
}
src_unpack() {
@ -228,6 +237,7 @@ src_configure() {
$(meson_feature pcre pcre2)
$(meson_feature perl)
$(meson_feature perforce python)
$(meson_feature rust)
$(meson_use test tests)
-Dcontrib=$(IFS=, ; echo "${contrib[*]}" )
@ -240,11 +250,13 @@ src_configure() {
)
[[ ${CHOST} == *-darwin* ]] && emesonargs+=( -Dfsmonitor=false )
[[ ${CHOST} == *-solaris* ]] && append-flags -D__EXTENSIONS__
# For non-live, we use a downloaded docs tarball instead.
if [[ ${PV} == *9999 ]] || use doc ; then
emesonargs+=(
-Ddocs="man$(usev doc ',html')"
-Dhtmldir="${EPREFIX}/usr/share/doc/${PF}/html"
)
fi
@ -334,11 +346,6 @@ src_test() {
src_install() {
meson_src_install
if use doc ; then
cp -r "${ED}"/usr/share/doc/git-doc/. "${ED}"/usr/share/doc/${PF}/html || die
rm -rf "${ED}"/usr/share/doc/git-doc/ || die
fi
# Depending on the tarball and manual rebuild of the documentation, the
# manpages may exist in either OR both of these directories.
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
@ -354,6 +361,7 @@ src_install() {
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
newzshcomp contrib/completion/git-completion.zsh _${PN}
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
@ -470,6 +478,14 @@ pkg_postinst() {
elog "Note that the prompt bash code is now in that separate script"
fi
if has_version app-shells/zsh ; then
elog 'There are two competing zsh completions available for Git.'
elog 'One is from app-shells/zsh, the other from dev-vcs/git.'
elog 'To choose between them, order the entries of $fpath so that your'
elog 'desired completion is earlier in the list or symlink the relevant'
elog 'script into a personal override directory early on fpath.'
fi
optfeature_header "Some scripts require additional dependencies:"
optfeature git-quiltimport dev-util/quilt
optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx

View File

@ -26,6 +26,7 @@
<flag name="highlight">GitWeb support for <pkg>app-text/highlight</pkg></flag>
<flag name="mediawiki">Support pulling and pushing from MediaWiki</flag>
<flag name="perforce">Add support for Perforce version control system (requires manual installation of Perforce client)</flag>
<flag name="rust">Build components using Rust, starting with 2.52 with varint. This will become mandatory upstream with Git 3.0.</flag>
<flag name="safe-directory">Respect the safe.directory setting</flag>
<flag name="subversion">Include git-svn for <pkg>dev-vcs/subversion</pkg> support</flag>
<flag name="tk">Include the 'gitk' and 'git gui' tools</flag>