diff options
| author | Sam James <sam@gentoo.org> | 2025-03-14 18:13:15 +0000 |
|---|---|---|
| committer | Sam James <sam@gentoo.org> | 2025-03-14 18:17:11 +0000 |
| commit | 724de2ccb5756cf13ae3ae16a37ed0f60488a338 (patch) | |
| tree | acb56ee9be70417210ffe12312ac52b441eefc8c /dev-vcs/git/git-9999.ebuild | |
| parent | 0e3d0ea4a5452ebb7b51d4597a710bad0a49ed3b (diff) | |
| download | gentoo-724de2ccb5756cf13ae3ae16a37ed0f60488a338.tar.gz gentoo-724de2ccb5756cf13ae3ae16a37ed0f60488a338.tar.bz2 gentoo-724de2ccb5756cf13ae3ae16a37ed0f60488a338.zip | |
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@gentoo.org>
Diffstat (limited to 'dev-vcs/git/git-9999.ebuild')
| -rw-r--r-- | dev-vcs/git/git-9999.ebuild | 98 |
1 files changed, 41 insertions, 57 deletions
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 |
