commit: 724de2ccb5756cf13ae3ae16a37ed0f60488a338
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 14 18:13:15 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Mar 14 18:17:11 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=724de2cc
dev-vcs/git: add 2.49.0
Still not completely comfortable with the doc setup here and the relationship
with the downloaded tarballs of pregenerated ones and how it glues together,
it'll need more work.
More contrib bits have moved into Meson now.
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-vcs/git/Manifest | 3 +
...-meson-use-test_environment-conditionally.patch | 63 ++++++++++++++
.../git/{git-9999-r3.ebuild => git-2.49.0.ebuild} | 97 +++++++++------------
dev-vcs/git/git-9999-r1.ebuild | 98 +++++++++-------------
dev-vcs/git/git-9999-r2.ebuild | 98 +++++++++-------------
dev-vcs/git/git-9999-r3.ebuild | 97 +++++++++------------
dev-vcs/git/git-9999.ebuild | 98 +++++++++-------------
7 files changed, 269 insertions(+), 285 deletions(-)
diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
index 162e1a837938..ad40e84a4c9a 100644
--- a/dev-vcs/git/Manifest
+++ b/dev-vcs/git/Manifest
@@ -1,9 +1,12 @@
DIST git-2.45.2.tar.xz 7487680 BLAKE2B
477acc786c26e0b04843ad6d07333607b2274d587263d72c6d036cade725e6f62f8c773903f401c799de71527d0473589afc507eec02f445e0c148dd7cbf407c
SHA512
dce30d0d563f3f76ef49c8dc88105e0cf0941c8cd70303418d9d737f840ffba36bcc575c380c75080edf64af74487e1a680db146ec5f527a32104e887d4ceb73
DIST git-2.45.3.tar.xz 7492256 BLAKE2B
51c08789487070c33ff7c6c2135203010f12641eaf9908bf70724255e72bed24a7f0b7cc0b5c947081dad22041d0ee80c53971e5634510d35d797747338cd2d8
SHA512
b5b98bcc886f6a015b54193a9481092d4bfdc3689c479a8751e63529ce1dd1db226f2da38d26f25f54b81fe2c3c48d8edbe18af534fff65f6fcaa4c50923f93b
DIST git-2.48.1.tar.xz 7723580 BLAKE2B
092ed16fab3b3e56c81cb91db48e4db1f41b6d91d4855a7c73fb642f1fd0272823a92b8963644ef33517c61956bca89a95e4b4dc3e9237cb0520aa37c0770966
SHA512
75c89ab4ca83adc46989a4b05a9b482b40a7ba69d15aa1c1f27d0cee37c2908e154a75d59b0a0a540647352b9c55020f1a5ad309f0eff78e9fd8e631ef9e4606
+DIST git-2.49.0.tar.xz 7771796 BLAKE2B
c9a58cb4bcbc33d3c6ede2ce6e6131af3998669419c8d8e4317c52ee14ae4bfcdd209780c6dda31cd772bdb703096729de17f21579bf7f0bb830bc6c9e1d7ffd
SHA512
81a16415890305fc6cfd14ade8bee76779feba01f51c5446f40c14211654342c68ef0911859fa6e8e9ff0a718847bb44ee4156d03a19c9165df19ba91e09e1f0
DIST git-htmldocs-2.45.2.tar.xz 1569148 BLAKE2B
5013a13da54d87728f621a09d04dee1cba7b44d230360394b86e04269bf276399cf44de74ffc14a76ec1724e1015b630300d551b3a268273a768e0edc1a7fa45
SHA512
272bb31d8d43b270d5281c5d1beadea8e5a580c738ece2580d2c6ba7e7fe6fdbca71b672a2811273119495e62613f7a4d34764b4dfbc26e4dbf9dee5797fb440
DIST git-htmldocs-2.45.3.tar.xz 1527700 BLAKE2B
1baf8df995d6a31b550d91425c94ac63425eb4efc5a334dd5a312cf1c8da84e132c30dbbb192d9bcdfcabfa9f7b758ff2445ed8d634ad31723d3835bef2ca49c
SHA512
4e8b16e77f7606c279e7793cbd6f8e18973213339f56a379dbf1fc074b7d1f032783bb956de0ebb58fad7e8954b7a75ab990b265f1858b32321e7c33de414601
DIST git-htmldocs-2.48.1.tar.xz 1580120 BLAKE2B
4d57fc0ab8256d4cf5984696485610329f63bccce8ad6bcda20bca9abbaac0725dfac0aef385a62371c2c8e7d26e86c62e0de36321f40a3da667fa2b92e43ef4
SHA512
703f237c129d3d54cea9104dc1d47ad8881400a1c90e1a55153e63912c8e7d03e1000fef5cd1962933e8a600d71e11f28a94214853047ac8e748dc53ba906ac5
+DIST git-htmldocs-2.49.0.tar.xz 1602472 BLAKE2B
d3b0d49b7f7046dfd802145e37760d31ef048ecbbfb75e5bf904edd8d0d0cad56c118d843e06d1d72b159917f6bd0f6fa2413bba3f6ba0de041d8e8fdc247f94
SHA512
effc0ecb3e84febb80de208ad4b8bb3859c171aedac24fdd4f52c07d33dedef16c20ac16bc6c6fbbb9d30b0926c08be22c78405614732d5e2cf24e90bd93384f
DIST git-manpages-2.45.2.tar.xz 576428 BLAKE2B
c89ebd25c0caf391fcd29cc8609252daf2cf742a8cc78ce5b64931befb126c951ebb7504bc8ccbee06b81727dc3e4ded67c69adf8d737f4df38dfda758e3c734
SHA512
d39a5c92c1cfcae145713b8ff1a84258947392a3cf1490e3f7d4f87836d05e79dc4fecbff16b7c1bc314572d6d32aa2c29e7fcde993b549b2fab71620734c19b
DIST git-manpages-2.45.3.tar.xz 576480 BLAKE2B
61eeccea65dcae72e0151459ad4a225d455fd6c57dc55394aa2e5e8f3179643f63eb64c8d75ac51ae467b8c277df2ac9777c55134efcc05805bef16019171b30
SHA512
c06b97a8f2c43c7a11355dea95e4766bc58978a70c30d5ee4af86e45dadd5be11d1ba30e1750535c067169af7b6497d2d03ae5cc1f36aff1b96a80a1f34dbc1c
DIST git-manpages-2.48.1.tar.xz 590608 BLAKE2B
54ff646cd1d5ce93e8e37eef4682e81a1c95f99903b2d760f70e51f2c9f02378f6de5464a5fcca24c08f8327ec114cdd1684eee07fd2512af7e9615c47104a99
SHA512
b086ac89e77b1af58beff26576fb5c3a1dfe8641315ab0b60819dcf0ba9e5be4173deaa77fa1f95d8594895a583ed629c469714b0a5e87fecd36e5be397ba8f5
+DIST git-manpages-2.49.0.tar.xz 594760 BLAKE2B
c5a1810e1369cc94c93716db5baf9d217e9c47c824cab8e978128ff7e8fe38119b64dd43fe4186e561f2b230d9e82ec254da0080b9a568dc31ae7ea73e46d612
SHA512
6347bf0d580634c3c78ff93578e088b31ccd5ebd844678a1255f82c5ceb1a301829701daf4212d8ca0f508fcd03cfef52b727a11f1c6d37346adbd709d0b041a
diff --git
a/dev-vcs/git/files/git-2.49.0-meson-use-test_environment-conditionally.patch
b/dev-vcs/git/files/git-2.49.0-meson-use-test_environment-conditionally.patch
new file mode 100644
index 000000000000..d9df28c4b579
--- /dev/null
+++
b/dev-vcs/git/files/git-2.49.0-meson-use-test_environment-conditionally.patch
@@ -0,0 +1,63 @@
+From 310a34bace801d288e369c6a01a8d04ffc4c3c06 Mon Sep 17 00:00:00 2001
+Message-ID:
<310a34bace801d288e369c6a01a8d04ffc4c3c06.1741975400.git....@gentoo.org>
+From: Sam James <[email protected]>
+Date: Fri, 14 Mar 2025 18:00:15 +0000
+Subject: [PATCH] meson: use test_environment conditionally.
+
+test_environment is only defined with -Dtests, so use it conditionally
+and define a stub environment() instead, to avoid erroring out:
+
+```
+$ meson setup -Dtests=false -Dcontrib=subtree build
+[...]
+
+contrib/subtree/meson.build:15:27: ERROR: Unknown variable "test_environment".
+```
+
+Do the same for 'netrc' in contrib/ as it uses the same pattern.
+---
+ contrib/credential/netrc/meson.build | 8 ++++++--
+ contrib/subtree/meson.build | 8 ++++++--
+ 2 files changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/contrib/credential/netrc/meson.build
b/contrib/credential/netrc/meson.build
+index a990dbb86d..6d815d01c4 100644
+--- a/contrib/credential/netrc/meson.build
++++ b/contrib/credential/netrc/meson.build
+@@ -7,8 +7,12 @@ credential_netrc = custom_target(
+ install_dir: get_option('libexecdir') / 'git-core',
+ )
+
+-credential_netrc_testenv = test_environment
+-credential_netrc_testenv.set('CREDENTIAL_NETRC_PATH',
credential_netrc.full_path())
++if get_option('tests')
++ credential_netrc_testenv = test_environment
++ credential_netrc_testenv.set('CREDENTIAL_NETRC_PATH',
credential_netrc.full_path())
++else
++ credential_netrc_testenv = environment()
++endif
+
+ test('t-git-credential-netrc',
+ shell,
+diff --git a/contrib/subtree/meson.build b/contrib/subtree/meson.build
+index 9c72b23625..d18f188216 100644
+--- a/contrib/subtree/meson.build
++++ b/contrib/subtree/meson.build
+@@ -12,8 +12,12 @@ git_subtree = custom_target(
+ install_dir: get_option('libexecdir') / 'git-core',
+ )
+
+-subtree_test_environment = test_environment
+-subtree_test_environment.prepend('PATH', meson.current_build_dir())
++if get_option('tests')
++ subtree_test_environment = test_environment
++ subtree_test_environment.prepend('PATH', meson.current_build_dir())
++else
++ subtree_test_environment = environment()
++endif
+
+ test('t7900-subtree', shell,
+ args: [ 't7900-subtree.sh' ],
+--
+2.48.1
+
diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-2.49.0.ebuild
similarity index 87%
copy from dev-vcs/git/git-9999-r3.ebuild
copy to dev-vcs/git/git-2.49.0.ebuild
index b9d2fdd44259..c01f7afe963b 100644
--- a/dev-vcs/git/git-9999-r3.ebuild
+++ b/dev-vcs/git/git-2.49.0.ebuild
@@ -148,7 +148,8 @@ REQUIRED_USE="
RESTRICT="!test? ( test )"
PATCHES=(
- "${FILESDIR}"/${PN}-2.48.0-doc-deps.patch
+ "${FILESDIR}"/${PN}-2.48.1-macos-no-fsmonitor.patch
+
"${FILESDIR}"/${PN}-2.49.0-meson-use-test_environment-conditionally.patch
)
pkg_setup() {
@@ -194,7 +195,36 @@ src_prepare() {
}
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'
+ # Avoid automagic installation of gitk-gui.
+ $(usev !tk "wish='wish-falseified'")
+ EOF
+
local emesonargs=(
+ --native-file "${native_file}"
+
$(meson_feature curl)
$(meson_feature cgi gitweb)
$(meson_feature webdav expat)
@@ -204,10 +234,18 @@ src_configure() {
$(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 )
+
# For non-live, we use a downloaded docs tarball instead.
if [[ ${PV} == *9999 ]] || use doc ; then
emesonargs+=(
@@ -248,24 +286,11 @@ git_emake() {
src_compile() {
meson_src_compile
- if use perl ; then
- git_emake -C contrib/credential/netrc
- fi
-
- if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
- git_emake -C contrib/credential/osxkeychain
- fi
-
- if use keyring ; then
- git_emake -C contrib/credential/libsecret
- fi
-
if use mediawiki ; then
git_emake -C contrib/mw-to-git
fi
if use tk ; then
- git_emake -C gitk-git
git_emake -C git-gui
fi
@@ -276,9 +301,6 @@ src_compile() {
fi
git_emake -C contrib/diff-highlight
- git_emake -C contrib/subtree git-subtree
- # git-subtree.1 requires the full USE=doc dependency stack
- use doc && git_emake -C contrib/subtree git-subtree.html git-subtree.1
}
src_test() {
@@ -296,10 +318,6 @@ src_test() {
src_install() {
meson_src_install
- if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
- dobin contrib/credential/osxkeychain/git-credential-osxkeychain
- fi
-
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
@@ -311,18 +329,6 @@ src_install() {
find Documentation/*.[157] >/dev/null 2>&1 && doman
Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
- use doc && dodir /usr/share/doc/${PF}/html
- local d
- for d in / /howto/ /technical/ ; do
- docinto ${d}
- dodoc Documentation${d}*.txt
- if use doc ; then
- docinto ${d}/html
- dodoc Documentation${d}*.html
- fi
- done
- docinto /
-
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
@@ -336,17 +342,6 @@ src_install() {
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
- # git-subtree
- pushd contrib/subtree &>/dev/null || die
- git_emake DESTDIR="${D}" install
- if use doc ; then
- # Do not move git subtree install-man outside USE=doc!
- git_emake DESTDIR="${D}" install-man install-html
- fi
- newdoc README README.git-subtree
- dodoc git-subtree.txt
- popd &>/dev/null || die
-
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
@@ -356,15 +351,6 @@ src_install() {
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
- # git-contacts
- exeinto /usr/libexec/git-core/
- doexe contrib/contacts/git-contacts
- dodoc contrib/contacts/git-contacts.txt
-
- if use keyring ; then
- dobin contrib/credential/libsecret/git-credential-libsecret
- fi
-
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
@@ -377,7 +363,7 @@ src_install() {
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
- # subtree - build seperately
+ # subtree - built seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
@@ -419,8 +405,6 @@ src_install() {
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
-
- dobin contrib/credential/netrc/git-credential-netrc
fi
if use mediawiki ; then
@@ -445,7 +429,6 @@ src_install() {
fi
if use tk ; then
- git_emake -C gitk-git DESTDIR="${D}" install
git_emake -C git-gui DESTDIR="${D}" install
fi
diff --git a/dev-vcs/git/git-9999-r1.ebuild b/dev-vcs/git/git-9999-r1.ebuild
index f90f10f55f15..c01f7afe963b 100644
--- a/dev-vcs/git/git-9999-r1.ebuild
+++ b/dev-vcs/git/git-9999-r1.ebuild
@@ -148,7 +148,8 @@ REQUIRED_USE="
RESTRICT="!test? ( test )"
PATCHES=(
- "${FILESDIR}"/${PN}-2.48.0-doc-deps.patch
+ "${FILESDIR}"/${PN}-2.48.1-macos-no-fsmonitor.patch
+
"${FILESDIR}"/${PN}-2.49.0-meson-use-test_environment-conditionally.patch
)
pkg_setup() {
@@ -194,7 +195,36 @@ src_prepare() {
}
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'
+ # Avoid automagic installation of gitk-gui.
+ $(usev !tk "wish='wish-falseified'")
+ EOF
+
local emesonargs=(
+ --native-file "${native_file}"
+
$(meson_feature curl)
$(meson_feature cgi gitweb)
$(meson_feature webdav expat)
@@ -204,9 +234,18 @@ src_configure() {
$(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 )
+
# For non-live, we use a downloaded docs tarball instead.
if [[ ${PV} == *9999 ]] || use doc ; then
emesonargs+=(
@@ -247,24 +286,11 @@ git_emake() {
src_compile() {
meson_src_compile
- if use perl ; then
- git_emake -C contrib/credential/netrc
- fi
-
- if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
- git_emake -C contrib/credential/osxkeychain
- fi
-
- if use keyring ; then
- git_emake -C contrib/credential/libsecret
- fi
-
if use mediawiki ; then
git_emake -C contrib/mw-to-git
fi
if use tk ; then
- git_emake -C gitk-git
git_emake -C git-gui
fi
@@ -275,9 +301,6 @@ src_compile() {
fi
git_emake -C contrib/diff-highlight
- git_emake -C contrib/subtree git-subtree
- # git-subtree.1 requires the full USE=doc dependency stack
- use doc && git_emake -C contrib/subtree git-subtree.html git-subtree.1
}
src_test() {
@@ -295,10 +318,6 @@ src_test() {
src_install() {
meson_src_install
- if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
- dobin contrib/credential/osxkeychain/git-credential-osxkeychain
- fi
-
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
@@ -310,18 +329,6 @@ src_install() {
find Documentation/*.[157] >/dev/null 2>&1 && doman
Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
- use doc && dodir /usr/share/doc/${PF}/html
- local d
- for d in / /howto/ /technical/ ; do
- docinto ${d}
- dodoc Documentation${d}*.txt
- if use doc ; then
- docinto ${d}/html
- dodoc Documentation${d}*.html
- fi
- done
- docinto /
-
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
@@ -335,17 +342,6 @@ src_install() {
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
- # git-subtree
- pushd contrib/subtree &>/dev/null || die
- git_emake DESTDIR="${D}" install
- if use doc ; then
- # Do not move git subtree install-man outside USE=doc!
- git_emake DESTDIR="${D}" install-man install-html
- fi
- newdoc README README.git-subtree
- dodoc git-subtree.txt
- popd &>/dev/null || die
-
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
@@ -355,15 +351,6 @@ src_install() {
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
- # git-contacts
- exeinto /usr/libexec/git-core/
- doexe contrib/contacts/git-contacts
- dodoc contrib/contacts/git-contacts.txt
-
- if use keyring ; then
- dobin contrib/credential/libsecret/git-credential-libsecret
- fi
-
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
@@ -376,7 +363,7 @@ src_install() {
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
- # subtree - build seperately
+ # subtree - built seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
@@ -418,8 +405,6 @@ src_install() {
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
-
- dobin contrib/credential/netrc/git-credential-netrc
fi
if use mediawiki ; then
@@ -444,7 +429,6 @@ src_install() {
fi
if use tk ; then
- git_emake -C gitk-git DESTDIR="${D}" install
git_emake -C git-gui DESTDIR="${D}" install
fi
diff --git a/dev-vcs/git/git-9999-r2.ebuild b/dev-vcs/git/git-9999-r2.ebuild
index f90f10f55f15..c01f7afe963b 100644
--- a/dev-vcs/git/git-9999-r2.ebuild
+++ b/dev-vcs/git/git-9999-r2.ebuild
@@ -148,7 +148,8 @@ REQUIRED_USE="
RESTRICT="!test? ( test )"
PATCHES=(
- "${FILESDIR}"/${PN}-2.48.0-doc-deps.patch
+ "${FILESDIR}"/${PN}-2.48.1-macos-no-fsmonitor.patch
+
"${FILESDIR}"/${PN}-2.49.0-meson-use-test_environment-conditionally.patch
)
pkg_setup() {
@@ -194,7 +195,36 @@ src_prepare() {
}
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'
+ # Avoid automagic installation of gitk-gui.
+ $(usev !tk "wish='wish-falseified'")
+ EOF
+
local emesonargs=(
+ --native-file "${native_file}"
+
$(meson_feature curl)
$(meson_feature cgi gitweb)
$(meson_feature webdav expat)
@@ -204,9 +234,18 @@ src_configure() {
$(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 )
+
# For non-live, we use a downloaded docs tarball instead.
if [[ ${PV} == *9999 ]] || use doc ; then
emesonargs+=(
@@ -247,24 +286,11 @@ git_emake() {
src_compile() {
meson_src_compile
- if use perl ; then
- git_emake -C contrib/credential/netrc
- fi
-
- if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
- git_emake -C contrib/credential/osxkeychain
- fi
-
- if use keyring ; then
- git_emake -C contrib/credential/libsecret
- fi
-
if use mediawiki ; then
git_emake -C contrib/mw-to-git
fi
if use tk ; then
- git_emake -C gitk-git
git_emake -C git-gui
fi
@@ -275,9 +301,6 @@ src_compile() {
fi
git_emake -C contrib/diff-highlight
- git_emake -C contrib/subtree git-subtree
- # git-subtree.1 requires the full USE=doc dependency stack
- use doc && git_emake -C contrib/subtree git-subtree.html git-subtree.1
}
src_test() {
@@ -295,10 +318,6 @@ src_test() {
src_install() {
meson_src_install
- if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
- dobin contrib/credential/osxkeychain/git-credential-osxkeychain
- fi
-
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
@@ -310,18 +329,6 @@ src_install() {
find Documentation/*.[157] >/dev/null 2>&1 && doman
Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
- use doc && dodir /usr/share/doc/${PF}/html
- local d
- for d in / /howto/ /technical/ ; do
- docinto ${d}
- dodoc Documentation${d}*.txt
- if use doc ; then
- docinto ${d}/html
- dodoc Documentation${d}*.html
- fi
- done
- docinto /
-
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
@@ -335,17 +342,6 @@ src_install() {
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
- # git-subtree
- pushd contrib/subtree &>/dev/null || die
- git_emake DESTDIR="${D}" install
- if use doc ; then
- # Do not move git subtree install-man outside USE=doc!
- git_emake DESTDIR="${D}" install-man install-html
- fi
- newdoc README README.git-subtree
- dodoc git-subtree.txt
- popd &>/dev/null || die
-
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
@@ -355,15 +351,6 @@ src_install() {
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
- # git-contacts
- exeinto /usr/libexec/git-core/
- doexe contrib/contacts/git-contacts
- dodoc contrib/contacts/git-contacts.txt
-
- if use keyring ; then
- dobin contrib/credential/libsecret/git-credential-libsecret
- fi
-
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
@@ -376,7 +363,7 @@ src_install() {
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
- # subtree - build seperately
+ # subtree - built seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
@@ -418,8 +405,6 @@ src_install() {
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
-
- dobin contrib/credential/netrc/git-credential-netrc
fi
if use mediawiki ; then
@@ -444,7 +429,6 @@ src_install() {
fi
if use tk ; then
- git_emake -C gitk-git DESTDIR="${D}" install
git_emake -C git-gui DESTDIR="${D}" install
fi
diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-9999-r3.ebuild
index b9d2fdd44259..c01f7afe963b 100644
--- a/dev-vcs/git/git-9999-r3.ebuild
+++ b/dev-vcs/git/git-9999-r3.ebuild
@@ -148,7 +148,8 @@ REQUIRED_USE="
RESTRICT="!test? ( test )"
PATCHES=(
- "${FILESDIR}"/${PN}-2.48.0-doc-deps.patch
+ "${FILESDIR}"/${PN}-2.48.1-macos-no-fsmonitor.patch
+
"${FILESDIR}"/${PN}-2.49.0-meson-use-test_environment-conditionally.patch
)
pkg_setup() {
@@ -194,7 +195,36 @@ src_prepare() {
}
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'
+ # Avoid automagic installation of gitk-gui.
+ $(usev !tk "wish='wish-falseified'")
+ EOF
+
local emesonargs=(
+ --native-file "${native_file}"
+
$(meson_feature curl)
$(meson_feature cgi gitweb)
$(meson_feature webdav expat)
@@ -204,10 +234,18 @@ src_configure() {
$(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 )
+
# For non-live, we use a downloaded docs tarball instead.
if [[ ${PV} == *9999 ]] || use doc ; then
emesonargs+=(
@@ -248,24 +286,11 @@ git_emake() {
src_compile() {
meson_src_compile
- if use perl ; then
- git_emake -C contrib/credential/netrc
- fi
-
- if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
- git_emake -C contrib/credential/osxkeychain
- fi
-
- if use keyring ; then
- git_emake -C contrib/credential/libsecret
- fi
-
if use mediawiki ; then
git_emake -C contrib/mw-to-git
fi
if use tk ; then
- git_emake -C gitk-git
git_emake -C git-gui
fi
@@ -276,9 +301,6 @@ src_compile() {
fi
git_emake -C contrib/diff-highlight
- git_emake -C contrib/subtree git-subtree
- # git-subtree.1 requires the full USE=doc dependency stack
- use doc && git_emake -C contrib/subtree git-subtree.html git-subtree.1
}
src_test() {
@@ -296,10 +318,6 @@ src_test() {
src_install() {
meson_src_install
- if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
- dobin contrib/credential/osxkeychain/git-credential-osxkeychain
- fi
-
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
@@ -311,18 +329,6 @@ src_install() {
find Documentation/*.[157] >/dev/null 2>&1 && doman
Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
- use doc && dodir /usr/share/doc/${PF}/html
- local d
- for d in / /howto/ /technical/ ; do
- docinto ${d}
- dodoc Documentation${d}*.txt
- if use doc ; then
- docinto ${d}/html
- dodoc Documentation${d}*.html
- fi
- done
- docinto /
-
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
@@ -336,17 +342,6 @@ src_install() {
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
- # git-subtree
- pushd contrib/subtree &>/dev/null || die
- git_emake DESTDIR="${D}" install
- if use doc ; then
- # Do not move git subtree install-man outside USE=doc!
- git_emake DESTDIR="${D}" install-man install-html
- fi
- newdoc README README.git-subtree
- dodoc git-subtree.txt
- popd &>/dev/null || die
-
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
@@ -356,15 +351,6 @@ src_install() {
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
- # git-contacts
- exeinto /usr/libexec/git-core/
- doexe contrib/contacts/git-contacts
- dodoc contrib/contacts/git-contacts.txt
-
- if use keyring ; then
- dobin contrib/credential/libsecret/git-credential-libsecret
- fi
-
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
@@ -377,7 +363,7 @@ src_install() {
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
- # subtree - build seperately
+ # subtree - built seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
@@ -419,8 +405,6 @@ src_install() {
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
-
- dobin contrib/credential/netrc/git-credential-netrc
fi
if use mediawiki ; then
@@ -445,7 +429,6 @@ src_install() {
fi
if use tk ; then
- git_emake -C gitk-git DESTDIR="${D}" install
git_emake -C git-gui DESTDIR="${D}" install
fi
diff --git a/dev-vcs/git/git-9999.ebuild b/dev-vcs/git/git-9999.ebuild
index f90f10f55f15..c01f7afe963b 100644
--- a/dev-vcs/git/git-9999.ebuild
+++ b/dev-vcs/git/git-9999.ebuild
@@ -148,7 +148,8 @@ REQUIRED_USE="
RESTRICT="!test? ( test )"
PATCHES=(
- "${FILESDIR}"/${PN}-2.48.0-doc-deps.patch
+ "${FILESDIR}"/${PN}-2.48.1-macos-no-fsmonitor.patch
+
"${FILESDIR}"/${PN}-2.49.0-meson-use-test_environment-conditionally.patch
)
pkg_setup() {
@@ -194,7 +195,36 @@ src_prepare() {
}
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'
+ # Avoid automagic installation of gitk-gui.
+ $(usev !tk "wish='wish-falseified'")
+ EOF
+
local emesonargs=(
+ --native-file "${native_file}"
+
$(meson_feature curl)
$(meson_feature cgi gitweb)
$(meson_feature webdav expat)
@@ -204,9 +234,18 @@ src_configure() {
$(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 )
+
# For non-live, we use a downloaded docs tarball instead.
if [[ ${PV} == *9999 ]] || use doc ; then
emesonargs+=(
@@ -247,24 +286,11 @@ git_emake() {
src_compile() {
meson_src_compile
- if use perl ; then
- git_emake -C contrib/credential/netrc
- fi
-
- if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
- git_emake -C contrib/credential/osxkeychain
- fi
-
- if use keyring ; then
- git_emake -C contrib/credential/libsecret
- fi
-
if use mediawiki ; then
git_emake -C contrib/mw-to-git
fi
if use tk ; then
- git_emake -C gitk-git
git_emake -C git-gui
fi
@@ -275,9 +301,6 @@ src_compile() {
fi
git_emake -C contrib/diff-highlight
- git_emake -C contrib/subtree git-subtree
- # git-subtree.1 requires the full USE=doc dependency stack
- use doc && git_emake -C contrib/subtree git-subtree.html git-subtree.1
}
src_test() {
@@ -295,10 +318,6 @@ src_test() {
src_install() {
meson_src_install
- if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
- dobin contrib/credential/osxkeychain/git-credential-osxkeychain
- fi
-
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
@@ -310,18 +329,6 @@ src_install() {
find Documentation/*.[157] >/dev/null 2>&1 && doman
Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
- use doc && dodir /usr/share/doc/${PF}/html
- local d
- for d in / /howto/ /technical/ ; do
- docinto ${d}
- dodoc Documentation${d}*.txt
- if use doc ; then
- docinto ${d}/html
- dodoc Documentation${d}*.html
- fi
- done
- docinto /
-
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
@@ -335,17 +342,6 @@ src_install() {
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
- # git-subtree
- pushd contrib/subtree &>/dev/null || die
- git_emake DESTDIR="${D}" install
- if use doc ; then
- # Do not move git subtree install-man outside USE=doc!
- git_emake DESTDIR="${D}" install-man install-html
- fi
- newdoc README README.git-subtree
- dodoc git-subtree.txt
- popd &>/dev/null || die
-
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
@@ -355,15 +351,6 @@ src_install() {
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
- # git-contacts
- exeinto /usr/libexec/git-core/
- doexe contrib/contacts/git-contacts
- dodoc contrib/contacts/git-contacts.txt
-
- if use keyring ; then
- dobin contrib/credential/libsecret/git-credential-libsecret
- fi
-
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
@@ -376,7 +363,7 @@ src_install() {
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
- # subtree - build seperately
+ # subtree - built seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
@@ -418,8 +405,6 @@ src_install() {
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
-
- dobin contrib/credential/netrc/git-credential-netrc
fi
if use mediawiki ; then
@@ -444,7 +429,6 @@ src_install() {
fi
if use tk ; then
- git_emake -C gitk-git DESTDIR="${D}" install
git_emake -C git-gui DESTDIR="${D}" install
fi