summaryrefslogtreecommitdiff
path: root/dev-vcs/git/git-9999.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-vcs/git/git-9999.ebuild')
-rw-r--r--dev-vcs/git/git-9999.ebuild98
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