diff --git a/dev-vcs/git-cvs/Manifest b/dev-vcs/git-cvs/Manifest index 86d78acad..623e9ab2b 100644 --- a/dev-vcs/git-cvs/Manifest +++ b/dev-vcs/git-cvs/Manifest @@ -1,6 +1,6 @@ -DIST git-2.19.2.tar.xz 5235608 BLAKE2B ece292b8cf41deafc63c00e6176b0de39936f7d840d776192f32c1e293abc06c39119d13ed947d3de6a212fa6973bedb288c06f8bfcfc8144e563d5af40e45da SHA512 1d707c1a7a16fe9399592b0354e9023f701b019f36fe775997c46354d40617a80fa04aacc5330825c4f9301c2910ead8b26274a7f3b92e9d790b4705c0d7aa96 DIST git-2.21.0.tar.xz 5491296 BLAKE2B c5e66f4d4045f99bb4306e8f096ae9299908383df78bdf2a954cd415f4778eb59ea0ee7d501689313617de7dc1d2ee4ae15ab70dee564add5de877109073ddff SHA512 83f57c3950a07f6773a3aea66611d22daba0e5599e5d8f0751a16f6fdbeab0f3844d942a39a5642051212df99d1d4513253c36829b1454b4f0977cc6026fd973 -DIST git-htmldocs-2.19.2.tar.xz 1223848 BLAKE2B 6f30192cb101988fdfcce3bb79c684c6d1ac08cdc929caa049102fba10277fa8cc908904fe7472e40d60707c1b23145d95c441c1401c8697c37a81456d79aab8 SHA512 830e780beea10bde750d09a335fd9986c5ffbf47a724cbbeed5a1a2c94bc81d9c9223e415c5888faf81ab6404e460565434988f6635312039b88282a46014634 +DIST git-2.23.0.tar.xz 5707148 BLAKE2B a57642cfc297615c9510d9d746d83fc4174195bfefe22fc77098419e424d4f6e383896ad5509370c8cc35b2f4b531dcf5c5a4e9c2d2e99041ad15a40399ec4d2 SHA512 c0bb29b3689ec2e157f90df849599ca149a08fc0c69f6a68b1f3219b6335d521983e6ed58cd364b86398e4dcf9e84892fb9eded79a1c97b74150edca299cf671 DIST git-htmldocs-2.21.0.tar.xz 1234956 BLAKE2B d8ef32acbad7eeb8758f711e09c380dbf3ca72526067b3a86ed0865e37351c4fac1f0c7e845e7b0c27a1d955c64622f10c999389446b53191acdc05a44647847 SHA512 4537b3f67d03050e5daefaa6f274d3acdf6e116dc8c7f76566b33100e76a445c3e3894b5ff63b5ddb024e1c691a3bf08acea42dbec681da1b0f1de2e5736c9c4 -DIST git-manpages-2.19.2.tar.xz 432200 BLAKE2B 92b4c87c40e20133c4b6d9b7f3d56952556470855543a329ea0fb7a91382396376755656ded029d68df8291b0ffecc3e6b2b4c6f71cb8694d44c5f02da7357f8 SHA512 329ea9a6de4a5352c57d2ea3df0cf6caf9dcf03728416a3bca5a5ebc5dc133abe1faffd5e5b5ae11cc91412baff93df83ff684f3626bbac0770ca94bc79d2cb1 +DIST git-htmldocs-2.23.0.tar.xz 1294240 BLAKE2B 7420eb836d582448a996d8302d1e4873316baadd3a1baae555935443028af6a9c9e1fa629d5e0667901b8c63cce19bbf5e46c5fcb09b50382751e6b2cbc3d514 SHA512 165c8989ed9c0c09125e2e99beeddd1f2bb4d00ecae4aa58bcbfb1f1a8cd5a6ad646035e984471484fd1e943437d5d42d917e8c32b1207c590a1fc7c9bebc2dc DIST git-manpages-2.21.0.tar.xz 440096 BLAKE2B 6cbedf6e497b0d13c62003b166293a0d438d163255bce845eaf75e08a3eec49060c314e73d24c1c015101868d9149e9b0cd1c2e8cb3ce2245b8acae5701fe8ba SHA512 61e01cd312dbade8aac0144e32edc5eea2708b274273c207889a291cea18d131c9c2d83cc405ba8a955d387fd1e6dd74b7bdae4003f2062501073a0844122d30 +DIST git-manpages-2.23.0.tar.xz 448272 BLAKE2B 34dcb535caf54bfa9ea8e9f2d8104fe74e4c38398d685a712735c0199dab59cfeac16f863c6285a1122139cb2be99cfad4ba7c3f71e88603284815536172ccbc SHA512 f4316f28d8f462804cee3e6f5d19a1426087dbeb0e6141148d9b021562c86723cbd4f96d30cc650b2b41230e097c3a1f574055b8b7e5025cbb90089484bf9e96 diff --git a/dev-vcs/git-cvs/git-cvs-2.19.2.ebuild b/dev-vcs/git-cvs/git-cvs-2.23.0-r1.ebuild similarity index 88% rename from dev-vcs/git-cvs/git-cvs-2.19.2.ebuild rename to dev-vcs/git-cvs/git-cvs-2.23.0-r1.ebuild index d21e6e9a6..fdfc7447b 100644 --- a/dev-vcs/git-cvs/git-cvs-2.19.2.ebuild +++ b/dev-vcs/git-cvs/git-cvs-2.23.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -6,10 +6,13 @@ EAPI=6 GENTOO_DEPEND_ON_PERL=no # bug #329479: git-remote-testgit is not multiple-version aware -PYTHON_COMPAT=( python2_7 ) +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) + +inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd + PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" if [[ ${PV} == *9999 ]]; then - SCM="git-r3" + inherit git-r3 EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git" # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches. # See https://git-scm.com/docs/gitworkflows#_graduation @@ -26,13 +29,11 @@ if [[ ${PV} == *9999 ]]; then esac fi -inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM} - MY_PV="${PV/_rc/.rc}" MY_PN="${PN/-cvs}" MY_P="${MY_PN}-${MY_PV}" -DOC_VER=${MY_PV} +DOC_VER="${MY_PV}" #DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency" DESCRIPTION="CVS module for git" @@ -40,7 +41,7 @@ DESCRIPTION="CVS module for git" HOMEPAGE="https://www.git-scm.com/" if [[ ${PV} != *9999 ]]; then SRC_URI_SUFFIX="xz" - SRC_URI_KORG="mirror://kernel/software/scm/git" + 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_KORG}/${MY_PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} @@ -53,7 +54,7 @@ fi LICENSE="GPL-2" SLOT="0" -IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test sab-split" +IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl ppcsha1 tk +threads +webdav xinetd cvs subversion test sab-split" # Common to both DEPEND and RDEPEND CDEPEND=" @@ -73,6 +74,7 @@ CDEPEND=" webdav? ( dev-libs/expat ) ) emacs? ( virtual/emacs ) + iconv? ( virtual/libiconv ) " RDEPEND="${CDEPEND} @@ -80,7 +82,6 @@ RDEPEND="${CDEPEND} perl? ( dev-perl/Error dev-perl/MailTools - dev-perl/Net-SMTP-SSL dev-perl/Authen-SASL cgi? ( dev-perl/CGI @@ -102,7 +103,7 @@ RDEPEND="${CDEPEND} dev-perl/TermReadKey ) ) - python? ( ${PYTHON_DEPS} ) + perforce? ( ${PYTHON_DEPS} ) " # This is how info docs are created with Git: @@ -114,8 +115,8 @@ DEPEND="${CDEPEND} doc? ( app-text/asciidoc app-text/docbook2X - sys-apps/texinfo app-text/xmlto + sys-apps/texinfo ) nls? ( sys-devel/gettext ) test? ( app-crypt/gnupg )" @@ -137,17 +138,24 @@ REQUIRED_USE=" subversion? ( perl ) webdav? ( curl ) pcre-jit? ( pcre ) - python? ( ${PYTHON_REQUIRED_USE} ) + perforce? ( ${PYTHON_REQUIRED_USE} ) sab-split? ( !cgi perl cvs !subversion !tk ) " +RESTRICT="!test? ( test )" + PATCHES=( # bug #350330 - automagic CVS when we don't want it is bad. - "${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch + "${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch + + # Make submodule output quiet + "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch + + "${FILESDIR}"/${P/-cvs}-avoid_empty_remote_line.patch #698384 ) pkg_setup() { @@ -156,7 +164,7 @@ pkg_setup() { ewarn "with USE=dso, there may be weird crashes in git-svn. You" ewarn "have been warned." fi - if use python ; then + if use perforce ; then python-single-r1_pkg_setup fi } @@ -171,9 +179,9 @@ exportmakeopts() { $(usex iconv '' NO_ICONV=YesPlease) $(usex nls '' NO_GETTEXT=YesPlease) $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease) - $(usex python '' NO_PYTHON=YesPlease) + $(usex perforce '' NO_PYTHON=YesPlease) $(usex subversion '' NO_SVN_TESTS=YesPlease) - $(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease) + $(usex threads '' NO_PTHREAD=YesPlease) $(usex tk '' NO_TCLTK=YesPlease) ) @@ -202,7 +210,7 @@ exportmakeopts() { ) # For svn-fe - extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')" + extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') ) # can't define this to null, since the entire makefile depends on it sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die @@ -210,13 +218,13 @@ exportmakeopts() { if use pcre; then if use pcre-jit; then myopts+=( USE_LIBPCRE2=YesPlease ) - extlibs+=" -lpcre2-8" + extlibs+=( -lpcre2-8 ) else myopts+=( USE_LIBPCRE1=YesPlease NO_LIBPCRE1_JIT=YesPlease ) - extlibs+=" -lpcre" + extlibs+=( -lpcre ) fi fi # Disabled until ~m68k-mint can be keyworded again @@ -241,7 +249,7 @@ exportmakeopts() { NEEDS_LIBICONV=YesPlease HAVE_CLOCK_MONOTONIC=1 ) - grep -q getdelim "${ROOT}"/usr/include/stdio.h && \ + grep -q getdelim "${ROOT%/}"/usr/include/stdio.h && \ myopts+=( HAVE_GETDELIM=1 ) fi @@ -250,11 +258,13 @@ exportmakeopts() { # Bug 290465: # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim' - [[ "${CHOST}" == *-uclibc* ]] && \ + if [[ "${CHOST}" == *-uclibc* ]] ; then myopts+=( NO_NSEC=YesPlease ) + use iconv && myopts+=( NEEDS_LIBICONV=YesPlease ) + fi export MY_MAKEOPTS="${myopts[@]}" - export EXTLIBS="${extlibs}" + export EXTLIBS="${extlibs[@]}" } src_unpack() { @@ -304,11 +314,11 @@ src_prepare() { git_emake() { # bug #320647: PYTHON_PATH local PYTHON_PATH="" - use python && PYTHON_PATH="${PYTHON}" + use perforce && PYTHON_PATH="${PYTHON}" emake ${MY_MAKEOPTS} \ prefix="${EPREFIX}"/usr \ htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \ - perllibdir="$(perl_get_raw_vendorlib)" \ + perllibdir="$(use perl && perl_get_raw_vendorlib)" \ sysconfdir="${EPREFIX}"/etc \ DESTDIR="${D}" \ GIT_TEST_OPTS="--no-color" \ @@ -367,12 +377,17 @@ src_compile() { pushd contrib/svn-fe &>/dev/null || die # by defining EXTLIBS we override the detection for libintl and # libiconv, bug #516168 - local nlsiconv= - use nls && use !elibc_glibc && nlsiconv+=" -lintl" - use iconv && use !elibc_glibc && nlsiconv+=" -liconv" - git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed" + local nlsiconv=() + use nls && use !elibc_glibc && nlsiconv+=( -lintl ) + use iconv && use !elibc_glibc && nlsiconv+=( -liconv ) + git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \ + || die "emake svn-fe failed" if use doc ; then - git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed" + # svn-fe.1 requires the full USE=doc dependency stack + git_emake svn-fe.1 \ + || die "emake svn-fe.1 failed" + git_emake svn-fe.html \ + || die "svn-fe.html failed" fi popd &>/dev/null || die fi @@ -384,8 +399,9 @@ src_compile() { fi pushd contrib/subtree &>/dev/null || die - git_emake - use doc && git_emake doc + git_emake git-subtree + # git-subtree.1 requires the full USE=doc dependency stack + use doc && git_emake git-subtree.html git-subtree.1 popd &>/dev/null || die pushd contrib/diff-highlight &>/dev/null || die @@ -401,10 +417,15 @@ src_compile() { } sab-src_install_cleanup() { + local perllibdir + perllibdir="$(perl_get_raw_vendorlib)" + local perlv=${perllibdir##*/} + cp "${FILESDIR}/git-${PV}-spec" "${T}/spec" || die sed -i \ -e "s/@git-doc@/${PN}/" \ - -e "s/@git-ver@/${PV}/" \ + -e "s/@git-ver@/${PVR}/" \ + -e "s/@perl-ver-path@/${perlv}/" \ "${T}/spec" || die dirstr.py \ @@ -417,9 +438,7 @@ sab-src_install_cleanup() { } src_install() { - git_emake \ - install || \ - die "make install failed" + git_emake install || die "make install failed" if [[ ${CHOST} == *-darwin* ]]; then dobin contrib/credential/osxkeychain/git-credential-osxkeychain @@ -434,6 +453,7 @@ 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 @@ -459,7 +479,7 @@ src_install() { #elisp-install ${MY_PN}/compat contrib/emacs/vc-git.{el,elc} # don't add automatically to the load-path, so the sitefile # can do a conditional loading - touch "${ED}${SITELISP}/${MY_PN}/compat/.nosearch" + touch "${ED%/}${SITELISP}/${MY_PN}/compat/.nosearch" elisp-site-file-install "${FILESDIR}"/${SITEFILE} fi @@ -471,9 +491,10 @@ src_install() { # git-subtree pushd contrib/subtree &>/dev/null || die - git_emake install || die "Failed to emake install git-subtree" + git_emake install || die "Failed to emake install for git-subtree" if use doc ; then - git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree" + # Do not move git subtree install-man outside USE=doc! + git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree" fi newdoc README README.git-subtree dodoc git-subtree.txt @@ -510,6 +531,7 @@ src_install() { dobin svn-fe dodoc svn-fe.txt if use doc ; then + # Do not move svn-fe.1 outside USE=doc! doman svn-fe.1 docinto html dodoc svn-fe.html @@ -542,6 +564,7 @@ src_install() { stats workdir ) + local i for i in "${contrib_objects[@]}" ; do cp -rf \ "${S}"/contrib/${i} \ @@ -562,7 +585,7 @@ src_install() { newdoc "${S}"/gitweb/README README.gitweb for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do - if test -d "$d" ; then find "$d" \ + if test -d "${d}" ; then find "${d}" \ -name .packlist \ -delete || die fi diff --git a/dev-vcs/git-gui-tools/Manifest b/dev-vcs/git-gui-tools/Manifest index 86d78acad..623e9ab2b 100644 --- a/dev-vcs/git-gui-tools/Manifest +++ b/dev-vcs/git-gui-tools/Manifest @@ -1,6 +1,6 @@ -DIST git-2.19.2.tar.xz 5235608 BLAKE2B ece292b8cf41deafc63c00e6176b0de39936f7d840d776192f32c1e293abc06c39119d13ed947d3de6a212fa6973bedb288c06f8bfcfc8144e563d5af40e45da SHA512 1d707c1a7a16fe9399592b0354e9023f701b019f36fe775997c46354d40617a80fa04aacc5330825c4f9301c2910ead8b26274a7f3b92e9d790b4705c0d7aa96 DIST git-2.21.0.tar.xz 5491296 BLAKE2B c5e66f4d4045f99bb4306e8f096ae9299908383df78bdf2a954cd415f4778eb59ea0ee7d501689313617de7dc1d2ee4ae15ab70dee564add5de877109073ddff SHA512 83f57c3950a07f6773a3aea66611d22daba0e5599e5d8f0751a16f6fdbeab0f3844d942a39a5642051212df99d1d4513253c36829b1454b4f0977cc6026fd973 -DIST git-htmldocs-2.19.2.tar.xz 1223848 BLAKE2B 6f30192cb101988fdfcce3bb79c684c6d1ac08cdc929caa049102fba10277fa8cc908904fe7472e40d60707c1b23145d95c441c1401c8697c37a81456d79aab8 SHA512 830e780beea10bde750d09a335fd9986c5ffbf47a724cbbeed5a1a2c94bc81d9c9223e415c5888faf81ab6404e460565434988f6635312039b88282a46014634 +DIST git-2.23.0.tar.xz 5707148 BLAKE2B a57642cfc297615c9510d9d746d83fc4174195bfefe22fc77098419e424d4f6e383896ad5509370c8cc35b2f4b531dcf5c5a4e9c2d2e99041ad15a40399ec4d2 SHA512 c0bb29b3689ec2e157f90df849599ca149a08fc0c69f6a68b1f3219b6335d521983e6ed58cd364b86398e4dcf9e84892fb9eded79a1c97b74150edca299cf671 DIST git-htmldocs-2.21.0.tar.xz 1234956 BLAKE2B d8ef32acbad7eeb8758f711e09c380dbf3ca72526067b3a86ed0865e37351c4fac1f0c7e845e7b0c27a1d955c64622f10c999389446b53191acdc05a44647847 SHA512 4537b3f67d03050e5daefaa6f274d3acdf6e116dc8c7f76566b33100e76a445c3e3894b5ff63b5ddb024e1c691a3bf08acea42dbec681da1b0f1de2e5736c9c4 -DIST git-manpages-2.19.2.tar.xz 432200 BLAKE2B 92b4c87c40e20133c4b6d9b7f3d56952556470855543a329ea0fb7a91382396376755656ded029d68df8291b0ffecc3e6b2b4c6f71cb8694d44c5f02da7357f8 SHA512 329ea9a6de4a5352c57d2ea3df0cf6caf9dcf03728416a3bca5a5ebc5dc133abe1faffd5e5b5ae11cc91412baff93df83ff684f3626bbac0770ca94bc79d2cb1 +DIST git-htmldocs-2.23.0.tar.xz 1294240 BLAKE2B 7420eb836d582448a996d8302d1e4873316baadd3a1baae555935443028af6a9c9e1fa629d5e0667901b8c63cce19bbf5e46c5fcb09b50382751e6b2cbc3d514 SHA512 165c8989ed9c0c09125e2e99beeddd1f2bb4d00ecae4aa58bcbfb1f1a8cd5a6ad646035e984471484fd1e943437d5d42d917e8c32b1207c590a1fc7c9bebc2dc DIST git-manpages-2.21.0.tar.xz 440096 BLAKE2B 6cbedf6e497b0d13c62003b166293a0d438d163255bce845eaf75e08a3eec49060c314e73d24c1c015101868d9149e9b0cd1c2e8cb3ce2245b8acae5701fe8ba SHA512 61e01cd312dbade8aac0144e32edc5eea2708b274273c207889a291cea18d131c9c2d83cc405ba8a955d387fd1e6dd74b7bdae4003f2062501073a0844122d30 +DIST git-manpages-2.23.0.tar.xz 448272 BLAKE2B 34dcb535caf54bfa9ea8e9f2d8104fe74e4c38398d685a712735c0199dab59cfeac16f863c6285a1122139cb2be99cfad4ba7c3f71e88603284815536172ccbc SHA512 f4316f28d8f462804cee3e6f5d19a1426087dbeb0e6141148d9b021562c86723cbd4f96d30cc650b2b41230e097c3a1f574055b8b7e5025cbb90089484bf9e96 diff --git a/dev-vcs/git-gui-tools/git-gui-tools-2.19.2.ebuild b/dev-vcs/git-gui-tools/git-gui-tools-2.23.0-r1.ebuild similarity index 88% rename from dev-vcs/git-gui-tools/git-gui-tools-2.19.2.ebuild rename to dev-vcs/git-gui-tools/git-gui-tools-2.23.0-r1.ebuild index 0744e3ee0..ea67be7f0 100644 --- a/dev-vcs/git-gui-tools/git-gui-tools-2.19.2.ebuild +++ b/dev-vcs/git-gui-tools/git-gui-tools-2.23.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -7,10 +7,13 @@ EAPI=6 GENTOO_DEPEND_ON_PERL=no # bug #329479: git-remote-testgit is not multiple-version aware -PYTHON_COMPAT=( python2_7 ) +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) + +inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd + PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" if [[ ${PV} == *9999 ]]; then - SCM="git-r3" + inherit git-r3 EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git" # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches. # See https://git-scm.com/docs/gitworkflows#_graduation @@ -27,13 +30,11 @@ if [[ ${PV} == *9999 ]]; then esac fi -inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM} - MY_PV="${PV/_rc/.rc}" MY_PN="${PN/-gui-tools}" MY_P="${MY_PN}-${MY_PV}" -DOC_VER=${MY_PV} +DOC_VER="${MY_PV}" #DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency" DESCRIPTION="GUI tools derived from git: gitk, git-gui and gitview" @@ -41,7 +42,7 @@ DESCRIPTION="GUI tools derived from git: gitk, git-gui and gitview" HOMEPAGE="https://www.git-scm.com/" if [[ ${PV} != *9999 ]]; then SRC_URI_SUFFIX="xz" - SRC_URI_KORG="mirror://kernel/software/scm/git" + 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_KORG}/${MY_PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} @@ -54,7 +55,7 @@ fi LICENSE="GPL-2" SLOT="0" -IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test sab-split" +IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl ppcsha1 tk +threads +webdav xinetd cvs subversion test sab-split" # Common to both DEPEND and RDEPEND CDEPEND=" @@ -74,6 +75,7 @@ CDEPEND=" webdav? ( dev-libs/expat ) ) emacs? ( virtual/emacs ) + iconv? ( virtual/libiconv ) " RDEPEND="${CDEPEND} @@ -81,7 +83,6 @@ RDEPEND="${CDEPEND} perl? ( dev-perl/Error dev-perl/MailTools - dev-perl/Net-SMTP-SSL dev-perl/Authen-SASL cgi? ( dev-perl/CGI @@ -103,7 +104,7 @@ RDEPEND="${CDEPEND} dev-perl/TermReadKey ) ) - python? ( ${PYTHON_DEPS} ) + perforce? ( ${PYTHON_DEPS} ) " # This is how info docs are created with Git: @@ -115,8 +116,8 @@ DEPEND="${CDEPEND} doc? ( app-text/asciidoc app-text/docbook2X - sys-apps/texinfo app-text/xmlto + sys-apps/texinfo ) nls? ( sys-devel/gettext ) test? ( app-crypt/gnupg )" @@ -138,17 +139,24 @@ REQUIRED_USE=" subversion? ( perl ) webdav? ( curl ) pcre-jit? ( pcre ) - python? ( ${PYTHON_REQUIRED_USE} ) + perforce? ( ${PYTHON_REQUIRED_USE} ) sab-split? ( !cgi perl !cvs !subversion tk ) " +RESTRICT="!test? ( test )" + PATCHES=( # bug #350330 - automagic CVS when we don't want it is bad. - "${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch + "${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch + + # Make submodule output quiet + "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch + + "${FILESDIR}"/${P/-gui-tools}-avoid_empty_remote_line.patch #698384 ) pkg_setup() { @@ -157,7 +165,7 @@ pkg_setup() { ewarn "with USE=dso, there may be weird crashes in git-svn. You" ewarn "have been warned." fi - if use python ; then + if use perforce ; then python-single-r1_pkg_setup fi } @@ -172,9 +180,9 @@ exportmakeopts() { $(usex iconv '' NO_ICONV=YesPlease) $(usex nls '' NO_GETTEXT=YesPlease) $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease) - $(usex python '' NO_PYTHON=YesPlease) + $(usex perforce '' NO_PYTHON=YesPlease) $(usex subversion '' NO_SVN_TESTS=YesPlease) - $(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease) + $(usex threads '' NO_PTHREAD=YesPlease) $(usex tk '' NO_TCLTK=YesPlease) ) @@ -203,7 +211,7 @@ exportmakeopts() { ) # For svn-fe - extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')" + extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') ) # can't define this to null, since the entire makefile depends on it sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die @@ -211,13 +219,13 @@ exportmakeopts() { if use pcre; then if use pcre-jit; then myopts+=( USE_LIBPCRE2=YesPlease ) - extlibs+=" -lpcre2-8" + extlibs+=( -lpcre2-8 ) else myopts+=( USE_LIBPCRE1=YesPlease NO_LIBPCRE1_JIT=YesPlease ) - extlibs+=" -lpcre" + extlibs+=( -lpcre ) fi fi # Disabled until ~m68k-mint can be keyworded again @@ -242,7 +250,7 @@ exportmakeopts() { NEEDS_LIBICONV=YesPlease HAVE_CLOCK_MONOTONIC=1 ) - grep -q getdelim "${ROOT}"/usr/include/stdio.h && \ + grep -q getdelim "${ROOT%/}"/usr/include/stdio.h && \ myopts+=( HAVE_GETDELIM=1 ) fi @@ -251,11 +259,13 @@ exportmakeopts() { # Bug 290465: # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim' - [[ "${CHOST}" == *-uclibc* ]] && \ + if [[ "${CHOST}" == *-uclibc* ]] ; then myopts+=( NO_NSEC=YesPlease ) + use iconv && myopts+=( NEEDS_LIBICONV=YesPlease ) + fi export MY_MAKEOPTS="${myopts[@]}" - export EXTLIBS="${extlibs}" + export EXTLIBS="${extlibs[@]}" } src_unpack() { @@ -305,11 +315,11 @@ src_prepare() { git_emake() { # bug #320647: PYTHON_PATH local PYTHON_PATH="" - use python && PYTHON_PATH="${PYTHON}" + use perforce && PYTHON_PATH="${PYTHON}" emake ${MY_MAKEOPTS} \ prefix="${EPREFIX}"/usr \ htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \ - perllibdir="$(perl_get_raw_vendorlib)" \ + perllibdir="$(use perl && perl_get_raw_vendorlib)" \ sysconfdir="${EPREFIX}"/etc \ DESTDIR="${D}" \ GIT_TEST_OPTS="--no-color" \ @@ -368,12 +378,17 @@ src_compile() { pushd contrib/svn-fe &>/dev/null || die # by defining EXTLIBS we override the detection for libintl and # libiconv, bug #516168 - local nlsiconv= - use nls && use !elibc_glibc && nlsiconv+=" -lintl" - use iconv && use !elibc_glibc && nlsiconv+=" -liconv" - git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed" + local nlsiconv=() + use nls && use !elibc_glibc && nlsiconv+=( -lintl ) + use iconv && use !elibc_glibc && nlsiconv+=( -liconv ) + git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \ + || die "emake svn-fe failed" if use doc ; then - git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed" + # svn-fe.1 requires the full USE=doc dependency stack + git_emake svn-fe.1 \ + || die "emake svn-fe.1 failed" + git_emake svn-fe.html \ + || die "svn-fe.html failed" fi popd &>/dev/null || die fi @@ -385,8 +400,9 @@ src_compile() { fi pushd contrib/subtree &>/dev/null || die - git_emake - use doc && git_emake doc + git_emake git-subtree + # git-subtree.1 requires the full USE=doc dependency stack + use doc && git_emake git-subtree.html git-subtree.1 popd &>/dev/null || die pushd contrib/diff-highlight &>/dev/null || die @@ -402,10 +418,15 @@ src_compile() { } sab-src_install_cleanup() { + local perllibdir + perllibdir="$(perl_get_raw_vendorlib)" + local perlv=${perllibdir##*/} + cp "${FILESDIR}/git-${PV}-spec" "${T}/spec" || die sed -i \ -e "s/@git-doc@/${PN}/" \ - -e "s/@git-ver@/${PV}/" \ + -e "s/@git-ver@/${PVR}/" \ + -e "s/@perl-ver-path@/${perlv}/" \ "${T}/spec" || die dirstr.py \ @@ -418,9 +439,7 @@ sab-src_install_cleanup() { } src_install() { - git_emake \ - install || \ - die "make install failed" + git_emake install || die "make install failed" if [[ ${CHOST} == *-darwin* ]]; then dobin contrib/credential/osxkeychain/git-credential-osxkeychain @@ -435,6 +454,7 @@ 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 @@ -460,7 +480,7 @@ src_install() { #elisp-install ${MY_PN}/compat contrib/emacs/vc-git.{el,elc} # don't add automatically to the load-path, so the sitefile # can do a conditional loading - touch "${ED}${SITELISP}/${MY_PN}/compat/.nosearch" + touch "${ED%/}${SITELISP}/${MY_PN}/compat/.nosearch" elisp-site-file-install "${FILESDIR}"/${SITEFILE} fi @@ -472,9 +492,10 @@ src_install() { # git-subtree pushd contrib/subtree &>/dev/null || die - git_emake install || die "Failed to emake install git-subtree" + git_emake install || die "Failed to emake install for git-subtree" if use doc ; then - git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree" + # Do not move git subtree install-man outside USE=doc! + git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree" fi newdoc README README.git-subtree dodoc git-subtree.txt @@ -511,6 +532,7 @@ src_install() { dobin svn-fe dodoc svn-fe.txt if use doc ; then + # Do not move svn-fe.1 outside USE=doc! doman svn-fe.1 docinto html dodoc svn-fe.html @@ -543,6 +565,7 @@ src_install() { stats workdir ) + local i for i in "${contrib_objects[@]}" ; do cp -rf \ "${S}"/contrib/${i} \ @@ -563,7 +586,7 @@ src_install() { newdoc "${S}"/gitweb/README README.gitweb for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do - if test -d "$d" ; then find "$d" \ + if test -d "${d}" ; then find "${d}" \ -name .packlist \ -delete || die fi diff --git a/dev-vcs/git-subversion/Manifest b/dev-vcs/git-subversion/Manifest index 86d78acad..623e9ab2b 100644 --- a/dev-vcs/git-subversion/Manifest +++ b/dev-vcs/git-subversion/Manifest @@ -1,6 +1,6 @@ -DIST git-2.19.2.tar.xz 5235608 BLAKE2B ece292b8cf41deafc63c00e6176b0de39936f7d840d776192f32c1e293abc06c39119d13ed947d3de6a212fa6973bedb288c06f8bfcfc8144e563d5af40e45da SHA512 1d707c1a7a16fe9399592b0354e9023f701b019f36fe775997c46354d40617a80fa04aacc5330825c4f9301c2910ead8b26274a7f3b92e9d790b4705c0d7aa96 DIST git-2.21.0.tar.xz 5491296 BLAKE2B c5e66f4d4045f99bb4306e8f096ae9299908383df78bdf2a954cd415f4778eb59ea0ee7d501689313617de7dc1d2ee4ae15ab70dee564add5de877109073ddff SHA512 83f57c3950a07f6773a3aea66611d22daba0e5599e5d8f0751a16f6fdbeab0f3844d942a39a5642051212df99d1d4513253c36829b1454b4f0977cc6026fd973 -DIST git-htmldocs-2.19.2.tar.xz 1223848 BLAKE2B 6f30192cb101988fdfcce3bb79c684c6d1ac08cdc929caa049102fba10277fa8cc908904fe7472e40d60707c1b23145d95c441c1401c8697c37a81456d79aab8 SHA512 830e780beea10bde750d09a335fd9986c5ffbf47a724cbbeed5a1a2c94bc81d9c9223e415c5888faf81ab6404e460565434988f6635312039b88282a46014634 +DIST git-2.23.0.tar.xz 5707148 BLAKE2B a57642cfc297615c9510d9d746d83fc4174195bfefe22fc77098419e424d4f6e383896ad5509370c8cc35b2f4b531dcf5c5a4e9c2d2e99041ad15a40399ec4d2 SHA512 c0bb29b3689ec2e157f90df849599ca149a08fc0c69f6a68b1f3219b6335d521983e6ed58cd364b86398e4dcf9e84892fb9eded79a1c97b74150edca299cf671 DIST git-htmldocs-2.21.0.tar.xz 1234956 BLAKE2B d8ef32acbad7eeb8758f711e09c380dbf3ca72526067b3a86ed0865e37351c4fac1f0c7e845e7b0c27a1d955c64622f10c999389446b53191acdc05a44647847 SHA512 4537b3f67d03050e5daefaa6f274d3acdf6e116dc8c7f76566b33100e76a445c3e3894b5ff63b5ddb024e1c691a3bf08acea42dbec681da1b0f1de2e5736c9c4 -DIST git-manpages-2.19.2.tar.xz 432200 BLAKE2B 92b4c87c40e20133c4b6d9b7f3d56952556470855543a329ea0fb7a91382396376755656ded029d68df8291b0ffecc3e6b2b4c6f71cb8694d44c5f02da7357f8 SHA512 329ea9a6de4a5352c57d2ea3df0cf6caf9dcf03728416a3bca5a5ebc5dc133abe1faffd5e5b5ae11cc91412baff93df83ff684f3626bbac0770ca94bc79d2cb1 +DIST git-htmldocs-2.23.0.tar.xz 1294240 BLAKE2B 7420eb836d582448a996d8302d1e4873316baadd3a1baae555935443028af6a9c9e1fa629d5e0667901b8c63cce19bbf5e46c5fcb09b50382751e6b2cbc3d514 SHA512 165c8989ed9c0c09125e2e99beeddd1f2bb4d00ecae4aa58bcbfb1f1a8cd5a6ad646035e984471484fd1e943437d5d42d917e8c32b1207c590a1fc7c9bebc2dc DIST git-manpages-2.21.0.tar.xz 440096 BLAKE2B 6cbedf6e497b0d13c62003b166293a0d438d163255bce845eaf75e08a3eec49060c314e73d24c1c015101868d9149e9b0cd1c2e8cb3ce2245b8acae5701fe8ba SHA512 61e01cd312dbade8aac0144e32edc5eea2708b274273c207889a291cea18d131c9c2d83cc405ba8a955d387fd1e6dd74b7bdae4003f2062501073a0844122d30 +DIST git-manpages-2.23.0.tar.xz 448272 BLAKE2B 34dcb535caf54bfa9ea8e9f2d8104fe74e4c38398d685a712735c0199dab59cfeac16f863c6285a1122139cb2be99cfad4ba7c3f71e88603284815536172ccbc SHA512 f4316f28d8f462804cee3e6f5d19a1426087dbeb0e6141148d9b021562c86723cbd4f96d30cc650b2b41230e097c3a1f574055b8b7e5025cbb90089484bf9e96 diff --git a/dev-vcs/git-subversion/git-subversion-2.19.2.ebuild b/dev-vcs/git-subversion/git-subversion-2.23.0-r1.ebuild similarity index 88% rename from dev-vcs/git-subversion/git-subversion-2.19.2.ebuild rename to dev-vcs/git-subversion/git-subversion-2.23.0-r1.ebuild index 60340892c..c80102b26 100644 --- a/dev-vcs/git-subversion/git-subversion-2.19.2.ebuild +++ b/dev-vcs/git-subversion/git-subversion-2.23.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -6,10 +6,13 @@ EAPI=6 GENTOO_DEPEND_ON_PERL=no # bug #329479: git-remote-testgit is not multiple-version aware -PYTHON_COMPAT=( python2_7 ) +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) + +inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd + PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" if [[ ${PV} == *9999 ]]; then - SCM="git-r3" + inherit git-r3 EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git" # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches. # See https://git-scm.com/docs/gitworkflows#_graduation @@ -26,13 +29,11 @@ if [[ ${PV} == *9999 ]]; then esac fi -inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM} - MY_PV="${PV/_rc/.rc}" MY_PN="${PN/-subversion}" MY_P="${MY_PN}-${MY_PV}" -DOC_VER=${MY_PV} +DOC_VER="${MY_PV}" #DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency" DESCRIPTION="Subversion module for git" @@ -40,7 +41,7 @@ DESCRIPTION="Subversion module for git" HOMEPAGE="https://www.git-scm.com/" if [[ ${PV} != *9999 ]]; then SRC_URI_SUFFIX="xz" - SRC_URI_KORG="mirror://kernel/software/scm/git" + 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_KORG}/${MY_PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} @@ -53,7 +54,7 @@ fi LICENSE="GPL-2" SLOT="0" -IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test sab-split" +IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl ppcsha1 tk +threads +webdav xinetd cvs subversion test sab-split" # Common to both DEPEND and RDEPEND CDEPEND=" @@ -73,6 +74,7 @@ CDEPEND=" webdav? ( dev-libs/expat ) ) emacs? ( virtual/emacs ) + iconv? ( virtual/libiconv ) " RDEPEND="${CDEPEND} @@ -80,7 +82,6 @@ RDEPEND="${CDEPEND} perl? ( dev-perl/Error dev-perl/MailTools - dev-perl/Net-SMTP-SSL dev-perl/Authen-SASL cgi? ( dev-perl/CGI @@ -102,7 +103,7 @@ RDEPEND="${CDEPEND} dev-perl/TermReadKey ) ) - python? ( ${PYTHON_DEPS} ) + perforce? ( ${PYTHON_DEPS} ) " # This is how info docs are created with Git: @@ -114,8 +115,8 @@ DEPEND="${CDEPEND} doc? ( app-text/asciidoc app-text/docbook2X - sys-apps/texinfo app-text/xmlto + sys-apps/texinfo ) nls? ( sys-devel/gettext ) test? ( app-crypt/gnupg )" @@ -137,17 +138,24 @@ REQUIRED_USE=" subversion? ( perl ) webdav? ( curl ) pcre-jit? ( pcre ) - python? ( ${PYTHON_REQUIRED_USE} ) + perforce? ( ${PYTHON_REQUIRED_USE} ) sab-split? ( !cgi perl !cvs subversion !tk ) " +RESTRICT="!test? ( test )" + PATCHES=( # bug #350330 - automagic CVS when we don't want it is bad. - "${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch + "${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch + + # Make submodule output quiet + "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch + + "${FILESDIR}"/${P/-subversion}-avoid_empty_remote_line.patch #698384 ) pkg_setup() { @@ -156,7 +164,7 @@ pkg_setup() { ewarn "with USE=dso, there may be weird crashes in git-svn. You" ewarn "have been warned." fi - if use python ; then + if use perforce ; then python-single-r1_pkg_setup fi } @@ -171,9 +179,9 @@ exportmakeopts() { $(usex iconv '' NO_ICONV=YesPlease) $(usex nls '' NO_GETTEXT=YesPlease) $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease) - $(usex python '' NO_PYTHON=YesPlease) + $(usex perforce '' NO_PYTHON=YesPlease) $(usex subversion '' NO_SVN_TESTS=YesPlease) - $(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease) + $(usex threads '' NO_PTHREAD=YesPlease) $(usex tk '' NO_TCLTK=YesPlease) ) @@ -202,7 +210,7 @@ exportmakeopts() { ) # For svn-fe - extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')" + extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') ) # can't define this to null, since the entire makefile depends on it sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die @@ -210,13 +218,13 @@ exportmakeopts() { if use pcre; then if use pcre-jit; then myopts+=( USE_LIBPCRE2=YesPlease ) - extlibs+=" -lpcre2-8" + extlibs+=( -lpcre2-8 ) else myopts+=( USE_LIBPCRE1=YesPlease NO_LIBPCRE1_JIT=YesPlease ) - extlibs+=" -lpcre" + extlibs+=( -lpcre ) fi fi # Disabled until ~m68k-mint can be keyworded again @@ -241,7 +249,7 @@ exportmakeopts() { NEEDS_LIBICONV=YesPlease HAVE_CLOCK_MONOTONIC=1 ) - grep -q getdelim "${ROOT}"/usr/include/stdio.h && \ + grep -q getdelim "${ROOT%/}"/usr/include/stdio.h && \ myopts+=( HAVE_GETDELIM=1 ) fi @@ -250,11 +258,13 @@ exportmakeopts() { # Bug 290465: # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim' - [[ "${CHOST}" == *-uclibc* ]] && \ + if [[ "${CHOST}" == *-uclibc* ]] ; then myopts+=( NO_NSEC=YesPlease ) + use iconv && myopts+=( NEEDS_LIBICONV=YesPlease ) + fi export MY_MAKEOPTS="${myopts[@]}" - export EXTLIBS="${extlibs}" + export EXTLIBS="${extlibs[@]}" } src_unpack() { @@ -304,11 +314,11 @@ src_prepare() { git_emake() { # bug #320647: PYTHON_PATH local PYTHON_PATH="" - use python && PYTHON_PATH="${PYTHON}" + use perforce && PYTHON_PATH="${PYTHON}" emake ${MY_MAKEOPTS} \ prefix="${EPREFIX}"/usr \ htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \ - perllibdir="$(perl_get_raw_vendorlib)" \ + perllibdir="$(use perl && perl_get_raw_vendorlib)" \ sysconfdir="${EPREFIX}"/etc \ DESTDIR="${D}" \ GIT_TEST_OPTS="--no-color" \ @@ -367,12 +377,17 @@ src_compile() { pushd contrib/svn-fe &>/dev/null || die # by defining EXTLIBS we override the detection for libintl and # libiconv, bug #516168 - local nlsiconv= - use nls && use !elibc_glibc && nlsiconv+=" -lintl" - use iconv && use !elibc_glibc && nlsiconv+=" -liconv" - git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed" + local nlsiconv=() + use nls && use !elibc_glibc && nlsiconv+=( -lintl ) + use iconv && use !elibc_glibc && nlsiconv+=( -liconv ) + git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \ + || die "emake svn-fe failed" if use doc ; then - git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed" + # svn-fe.1 requires the full USE=doc dependency stack + git_emake svn-fe.1 \ + || die "emake svn-fe.1 failed" + git_emake svn-fe.html \ + || die "svn-fe.html failed" fi popd &>/dev/null || die fi @@ -384,8 +399,9 @@ src_compile() { fi pushd contrib/subtree &>/dev/null || die - git_emake - use doc && git_emake doc + git_emake git-subtree + # git-subtree.1 requires the full USE=doc dependency stack + use doc && git_emake git-subtree.html git-subtree.1 popd &>/dev/null || die pushd contrib/diff-highlight &>/dev/null || die @@ -401,10 +417,15 @@ src_compile() { } sab-src_install_cleanup() { + local perllibdir + perllibdir="$(perl_get_raw_vendorlib)" + local perlv=${perllibdir##*/} + cp "${FILESDIR}/git-${PV}-spec" "${T}/spec" || die sed -i \ -e "s/@git-doc@/${PN}/" \ - -e "s/@git-ver@/${PV}/" \ + -e "s/@git-ver@/${PVR}/" \ + -e "s/@perl-ver-path@/${perlv}/" \ "${T}/spec" || die dirstr.py \ @@ -417,9 +438,7 @@ sab-src_install_cleanup() { } src_install() { - git_emake \ - install || \ - die "make install failed" + git_emake install || die "make install failed" if [[ ${CHOST} == *-darwin* ]]; then dobin contrib/credential/osxkeychain/git-credential-osxkeychain @@ -434,6 +453,7 @@ 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 @@ -459,7 +479,7 @@ src_install() { #elisp-install ${MY_PN}/compat contrib/emacs/vc-git.{el,elc} # don't add automatically to the load-path, so the sitefile # can do a conditional loading - touch "${ED}${SITELISP}/${MY_PN}/compat/.nosearch" + touch "${ED%/}${SITELISP}/${MY_PN}/compat/.nosearch" elisp-site-file-install "${FILESDIR}"/${SITEFILE} fi @@ -471,9 +491,10 @@ src_install() { # git-subtree pushd contrib/subtree &>/dev/null || die - git_emake install || die "Failed to emake install git-subtree" + git_emake install || die "Failed to emake install for git-subtree" if use doc ; then - git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree" + # Do not move git subtree install-man outside USE=doc! + git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree" fi newdoc README README.git-subtree dodoc git-subtree.txt @@ -510,6 +531,7 @@ src_install() { dobin svn-fe dodoc svn-fe.txt if use doc ; then + # Do not move svn-fe.1 outside USE=doc! doman svn-fe.1 docinto html dodoc svn-fe.html @@ -542,6 +564,7 @@ src_install() { stats workdir ) + local i for i in "${contrib_objects[@]}" ; do cp -rf \ "${S}"/contrib/${i} \ @@ -562,7 +585,7 @@ src_install() { newdoc "${S}"/gitweb/README README.gitweb for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do - if test -d "$d" ; then find "$d" \ + if test -d "${d}" ; then find "${d}" \ -name .packlist \ -delete || die fi diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest index 86d78acad..623e9ab2b 100644 --- a/dev-vcs/git/Manifest +++ b/dev-vcs/git/Manifest @@ -1,6 +1,6 @@ -DIST git-2.19.2.tar.xz 5235608 BLAKE2B ece292b8cf41deafc63c00e6176b0de39936f7d840d776192f32c1e293abc06c39119d13ed947d3de6a212fa6973bedb288c06f8bfcfc8144e563d5af40e45da SHA512 1d707c1a7a16fe9399592b0354e9023f701b019f36fe775997c46354d40617a80fa04aacc5330825c4f9301c2910ead8b26274a7f3b92e9d790b4705c0d7aa96 DIST git-2.21.0.tar.xz 5491296 BLAKE2B c5e66f4d4045f99bb4306e8f096ae9299908383df78bdf2a954cd415f4778eb59ea0ee7d501689313617de7dc1d2ee4ae15ab70dee564add5de877109073ddff SHA512 83f57c3950a07f6773a3aea66611d22daba0e5599e5d8f0751a16f6fdbeab0f3844d942a39a5642051212df99d1d4513253c36829b1454b4f0977cc6026fd973 -DIST git-htmldocs-2.19.2.tar.xz 1223848 BLAKE2B 6f30192cb101988fdfcce3bb79c684c6d1ac08cdc929caa049102fba10277fa8cc908904fe7472e40d60707c1b23145d95c441c1401c8697c37a81456d79aab8 SHA512 830e780beea10bde750d09a335fd9986c5ffbf47a724cbbeed5a1a2c94bc81d9c9223e415c5888faf81ab6404e460565434988f6635312039b88282a46014634 +DIST git-2.23.0.tar.xz 5707148 BLAKE2B a57642cfc297615c9510d9d746d83fc4174195bfefe22fc77098419e424d4f6e383896ad5509370c8cc35b2f4b531dcf5c5a4e9c2d2e99041ad15a40399ec4d2 SHA512 c0bb29b3689ec2e157f90df849599ca149a08fc0c69f6a68b1f3219b6335d521983e6ed58cd364b86398e4dcf9e84892fb9eded79a1c97b74150edca299cf671 DIST git-htmldocs-2.21.0.tar.xz 1234956 BLAKE2B d8ef32acbad7eeb8758f711e09c380dbf3ca72526067b3a86ed0865e37351c4fac1f0c7e845e7b0c27a1d955c64622f10c999389446b53191acdc05a44647847 SHA512 4537b3f67d03050e5daefaa6f274d3acdf6e116dc8c7f76566b33100e76a445c3e3894b5ff63b5ddb024e1c691a3bf08acea42dbec681da1b0f1de2e5736c9c4 -DIST git-manpages-2.19.2.tar.xz 432200 BLAKE2B 92b4c87c40e20133c4b6d9b7f3d56952556470855543a329ea0fb7a91382396376755656ded029d68df8291b0ffecc3e6b2b4c6f71cb8694d44c5f02da7357f8 SHA512 329ea9a6de4a5352c57d2ea3df0cf6caf9dcf03728416a3bca5a5ebc5dc133abe1faffd5e5b5ae11cc91412baff93df83ff684f3626bbac0770ca94bc79d2cb1 +DIST git-htmldocs-2.23.0.tar.xz 1294240 BLAKE2B 7420eb836d582448a996d8302d1e4873316baadd3a1baae555935443028af6a9c9e1fa629d5e0667901b8c63cce19bbf5e46c5fcb09b50382751e6b2cbc3d514 SHA512 165c8989ed9c0c09125e2e99beeddd1f2bb4d00ecae4aa58bcbfb1f1a8cd5a6ad646035e984471484fd1e943437d5d42d917e8c32b1207c590a1fc7c9bebc2dc DIST git-manpages-2.21.0.tar.xz 440096 BLAKE2B 6cbedf6e497b0d13c62003b166293a0d438d163255bce845eaf75e08a3eec49060c314e73d24c1c015101868d9149e9b0cd1c2e8cb3ce2245b8acae5701fe8ba SHA512 61e01cd312dbade8aac0144e32edc5eea2708b274273c207889a291cea18d131c9c2d83cc405ba8a955d387fd1e6dd74b7bdae4003f2062501073a0844122d30 +DIST git-manpages-2.23.0.tar.xz 448272 BLAKE2B 34dcb535caf54bfa9ea8e9f2d8104fe74e4c38398d685a712735c0199dab59cfeac16f863c6285a1122139cb2be99cfad4ba7c3f71e88603284815536172ccbc SHA512 f4316f28d8f462804cee3e6f5d19a1426087dbeb0e6141148d9b021562c86723cbd4f96d30cc650b2b41230e097c3a1f574055b8b7e5025cbb90089484bf9e96 diff --git a/dev-vcs/git/files/git-2.22.0_rc0-optional-cvs.patch b/dev-vcs/git/files/git-2.22.0_rc0-optional-cvs.patch new file mode 100644 index 000000000..a7d7a7848 --- /dev/null +++ b/dev-vcs/git/files/git-2.22.0_rc0-optional-cvs.patch @@ -0,0 +1,454 @@ +From 1d3a35734efa1a1778612bb60cbbb495f65d3fc0 Mon Sep 17 00:00:00 2001 +From: Robin Johnson +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 + +Signed-off-by: Lars Wendler +--- + Makefile | 48 ++++++++++++++++++++++-------- + 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, 118 insertions(+), 33 deletions(-) + +diff --git a/Makefile b/Makefile +index f965509b3c..ab8b22faf1 100644 +--- a/Makefile ++++ b/Makefile +@@ -327,6 +327,8 @@ all:: + # Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep + # and egrep that are pickier when their input contains non-ASCII data. + # ++# 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'. +@@ -597,6 +599,7 @@ PROGRAM_OBJS = + PROGRAMS = + EXCLUDED_PROGRAMS = + SCRIPT_PERL = ++SCRIPT_PERL_CVS = + SCRIPT_PYTHON = + SCRIPT_SH = + SCRIPT_LIB = +@@ -632,31 +635,33 @@ SCRIPT_LIB += git-sh-i18n + + 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)' +@@ -665,12 +670,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 + +@@ -2189,13 +2195,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_PATH_SQ):$(PERLLIB_EXTRA_SQ):$(perllibdir_SQ) + +@@ -2216,7 +2236,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)$(RM) $@ $@+ && \ + sed -e '1{' \ + -e ' s|#!.*perl|#!$(PERL_PATH_SQ)|' \ +@@ -2262,14 +2282,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES + chmod +x $@+ && \ + mv $@+ $@ + else # NO_PERL +-$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh ++_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 +@@ -2518,7 +2542,7 @@ LOCALIZED_SH = $(SCRIPT_SH) + LOCALIZED_SH += git-parse-remote.sh + LOCALIZED_SH += git-rebase--preserve-merges.sh + LOCALIZED_SH += git-sh-setup.sh +-LOCALIZED_PERL = $(SCRIPT_PERL) ++LOCALIZED_PERL = $(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 a5e5dca753..ef6d9c911c 100755 +--- a/t/t9400-git-cvsserver-server.sh ++++ b/t/t9400-git-cvsserver-server.sh +@@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server' + . ./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 84787eee9a..eecba88527 100755 +--- a/t/t9401-git-cvsserver-crlf.sh ++++ b/t/t9401-git-cvsserver-crlf.sh +@@ -57,15 +57,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 251fdd66c4..596cd9d35d 100755 +--- a/t/t9600-cvsimport.sh ++++ b/t/t9600-cvsimport.sh +@@ -8,14 +8,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 && +@@ -47,23 +58,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 <o_fortuna && + O Fortune, +@@ -91,7 +102,7 @@ EOF + ) + ' + +-test_expect_success PERL 'update git module' ' ++test_expect_success 'update git module' ' + + (cd module-git && + git config cvsimport.trackRevisions true && +@@ -102,7 +113,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^ && +@@ -110,7 +121,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 && +@@ -119,7 +130,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 && +@@ -131,7 +142,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^^ && +@@ -140,7 +151,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 && +@@ -153,12 +164,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 master' ++test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master' + + test_done +diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh +index 827d39f5bf..d730a41f67 100755 +--- a/t/t9601-cvsimport-vendor-branch.sh ++++ b/t/t9601-cvsimport-vendor-branch.sh +@@ -34,6 +34,17 @@ + test_description='git cvsimport handling of vendor branches' + . ./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 e1db323f54..68f097401f 100755 +--- a/t/t9602-cvsimport-branches-tags.sh ++++ b/t/t9602-cvsimport-branches-tags.sh +@@ -6,6 +6,17 @@ + test_description='git cvsimport handling of branches and tags' + . ./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 3e64b11eac..606980b05c 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 908ddb9c46..9a06440599 100644 +--- a/t/test-lib.sh ++++ b/t/test-lib.sh +@@ -1428,6 +1428,7 @@ case $uname_s in + esac + + ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1 ++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.21.0 + diff --git a/dev-vcs/git/files/git-2.23.0-avoid_empty_remote_line.patch b/dev-vcs/git/files/git-2.23.0-avoid_empty_remote_line.patch new file mode 100644 index 000000000..f2bc3fd63 --- /dev/null +++ b/dev-vcs/git/files/git-2.23.0-avoid_empty_remote_line.patch @@ -0,0 +1,145 @@ +From bbf47568ad7e91ab0962b314c054a2da03232c72 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?SZEDER=20G=C3=A1bor?= +Date: Mon, 16 Sep 2019 22:54:11 +0200 +Subject: [PATCH] Revert "progress: use term_clear_line()" +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This reverts commit 5b12e3123b (progress: use term_clear_line(), +2019-06-24), because covering up the entire last line while refreshing +the progress line caused unexpected problems during 'git +clone/fetch/push': + + $ git clone ssh://localhost/home/szeder/src/tmp/linux.git/ + Cloning into 'linux'... + remote: + remote: + remote: + remote: Enumerating objects: 999295 + +The length of the progress bar line can shorten when it includes +throughput and the unit changes, or when its length exceeds the width +of the terminal and is broken into two lines. In these cases the +previously displayed longer progress line should be covered up, +because otherwise the leftover characters from the previous progress +line make the output look weird [1]. term_clear_line() makes this +quite simple, as it covers up the entire last line either by using an +ANSI control sequence or by printing a terminal width worth of space +characters, depending on whether the terminal is smart or dumb. + +Unfortunately, when accessing a remote repository via any non-local +protocol the remote 'git receive-pack/upload-pack' processes can't +possibly have any idea about the local terminal (smart of dumb? how +wide?) their progress will end up on. Consequently, they assume the +worst, i.e. standard-width dumb terminal, and print 80 spaces to cover +up the previously displayed progress line. The local 'git +clone/fetch/push' processes then display the remote's progress, +including these coverup spaces, with the 'remote: ' prefix, resulting +in a total line length of 88 characters. If the local terminal is +narrower than that, then the coverup gets line-wrapped, and after that +the CR at the end doesn't return to the beginning of the progress +line, but to the first column of its last line, resulting in those +repeated 'remote: ' lines. + +By reverting 5b12e3123b (progress: use term_clear_line(), +2019-06-24) we won't cover up the entire last line, but go back to +comparing the length of the current progress bar line with the +previous one, and cover up as many characters as needed. + +[1] See commits 545dc345eb (progress: break too long progress bar + lines, 2019-04-12) and 9f1fd84e15 (progress: clear previous + progress update dynamically, 2019-04-12). + +Signed-off-by: SZEDER Gábor +Signed-off-by: Junio C Hamano +--- + progress.c | 29 ++++++++++++++++++----------- + t/t5541-http-push-smart.sh | 6 +++--- + 2 files changed, 21 insertions(+), 14 deletions(-) + +diff --git a/progress.c b/progress.c +index 277db8afa2..0eddf1804d 100644 +--- a/progress.c ++++ b/progress.c +@@ -88,6 +88,7 @@ static void display(struct progress *progress, uint64_t n, const char *done) + const char *tp; + struct strbuf *counters_sb = &progress->counters_sb; + int show_update = 0; ++ int last_count_len = counters_sb->len; + + if (progress->delay && (!progress_update || --progress->delay)) + return; +@@ -115,21 +116,27 @@ static void display(struct progress *progress, uint64_t n, const char *done) + if (show_update) { + if (is_foreground_fd(fileno(stderr)) || done) { + const char *eol = done ? done : "\r"; ++ size_t clear_len = counters_sb->len < last_count_len ? ++ last_count_len - counters_sb->len + 1 : ++ 0; ++ /* The "+ 2" accounts for the ": ". */ ++ size_t progress_line_len = progress->title_len + ++ counters_sb->len + 2; ++ int cols = term_columns(); + +- term_clear_line(); + if (progress->split) { +- fprintf(stderr, " %s%s", counters_sb->buf, +- eol); +- } else if (!done && +- /* The "+ 2" accounts for the ": ". */ +- term_columns() < progress->title_len + +- counters_sb->len + 2) { +- fprintf(stderr, "%s:\n %s%s", +- progress->title, counters_sb->buf, eol); ++ fprintf(stderr, " %s%*s", counters_sb->buf, ++ (int) clear_len, eol); ++ } else if (!done && cols < progress_line_len) { ++ clear_len = progress->title_len + 1 < cols ? ++ cols - progress->title_len - 1 : 0; ++ fprintf(stderr, "%s:%*s\n %s%s", ++ progress->title, (int) clear_len, "", ++ counters_sb->buf, eol); + progress->split = 1; + } else { +- fprintf(stderr, "%s: %s%s", progress->title, +- counters_sb->buf, eol); ++ fprintf(stderr, "%s: %s%*s", progress->title, ++ counters_sb->buf, (int) clear_len, eol); + } + fflush(stderr); + } +diff --git a/t/t5541-http-push-smart.sh b/t/t5541-http-push-smart.sh +index b86ddb60f2..92bac43257 100755 +--- a/t/t5541-http-push-smart.sh ++++ b/t/t5541-http-push-smart.sh +@@ -262,7 +262,7 @@ test_expect_success TTY 'push shows progress when stderr is a tty' ' + cd "$ROOT_PATH"/test_repo_clone && + test_commit noisy && + test_terminal git push >output 2>&1 && +- test_i18ngrep "Writing objects" output ++ test_i18ngrep "^Writing objects" output + ' + + test_expect_success TTY 'push --quiet silences status and progress' ' +@@ -277,7 +277,7 @@ test_expect_success TTY 'push --no-progress silences progress but not status' ' + test_commit no-progress && + test_terminal git push --no-progress >output 2>&1 && + test_i18ngrep "^To http" output && +- test_i18ngrep ! "Writing objects" output ++ test_i18ngrep ! "^Writing objects" output + ' + + test_expect_success 'push --progress shows progress to non-tty' ' +@@ -285,7 +285,7 @@ test_expect_success 'push --progress shows progress to non-tty' ' + test_commit progress && + git push --progress >output 2>&1 && + test_i18ngrep "^To http" output && +- test_i18ngrep "Writing objects" output ++ test_i18ngrep "^Writing objects" output + ' + + test_expect_success 'http push gives sane defaults to reflog' ' +-- +2.24.0.rc1 + diff --git a/dev-vcs/git/files/git-2.19.2-spec b/dev-vcs/git/files/git-2.23.0-spec similarity index 97% rename from dev-vcs/git/files/git-2.19.2-spec rename to dev-vcs/git/files/git-2.23.0-spec index edf41be05..7bf6cc7cf 100644 --- a/dev-vcs/git/files/git-2.19.2-spec +++ b/dev-vcs/git/files/git-2.23.0-spec @@ -60,6 +60,9 @@ git ./usr/share/locale/bg git ./usr/share/locale/de/LC_MESSAGES/git.mo git ./usr/share/locale/de/LC_MESSAGES git ./usr/share/locale/de +git ./usr/share/locale/el/LC_MESSAGES/git.mo +git ./usr/share/locale/el/LC_MESSAGES +git ./usr/share/locale/el git ./usr/share/locale git ./usr/share/man/man5/gitmodules.5 git ./usr/share/man/man5/gitrepository-layout.5 @@ -81,13 +84,13 @@ git ./usr/share/man/man7/gitglossary.7 git ./usr/share/man/man7/gittutorial.7 git ./usr/share/man/man7/gitcli.7 git ./usr/share/man/man7/gittutorial-2.7 +git ./usr/share/man/man7/gitremote-helpers.7 git ./usr/share/man/man7 git-subversion ./usr/share/man/man1/git-svn.1 git ./usr/share/man/man1/git-verify-pack.1 git ./usr/share/man/man1/git-symbolic-ref.1 git ./usr/share/man/man1/git-parse-remote.1 git ./usr/share/man/man1/git-fast-export.1 -git ./usr/share/man/man1/git-remote-testgit.1 git ./usr/share/man/man1/git-commit.1 git ./usr/share/man/man1/git-commit-graph.1 git ./usr/share/man/man1/git-check-ref-format.1 @@ -114,6 +117,7 @@ git ./usr/share/man/man1/git-merge-one-file.1 git ./usr/share/man/man1/git-commit-tree.1 git ./usr/share/man/man1/git-upload-pack.1 git ./usr/share/man/man1/git-mktree.1 +git ./usr/share/man/man1/git-multi-pack-index.1 git ./usr/share/man/man1/git-credential-cache.1 git ./usr/share/man/man1/git-check-attr.1 git ./usr/share/man/man1/git-for-each-ref.1 @@ -129,7 +133,6 @@ git ./usr/share/man/man1/git-mailinfo.1 git ./usr/share/man/man1/git-shortlog.1 git ./usr/share/man/man1/git-interpret-trailers.1 git ./usr/share/man/man1/git-cat-file.1 -git ./usr/share/man/man1/gitremote-helpers.1 git ./usr/share/man/man1/git-remote-fd.1 git ./usr/share/man/man1/git-count-objects.1 git ./usr/share/man/man1/git-fetch.1 @@ -236,6 +239,8 @@ git ./usr/share/man/man1/git-archimport.1 git ./usr/share/man/man1/git-help.1 git ./usr/share/man/man1/git-mergetool.1 git ./usr/share/man/man1/git-replace.1 +git ./usr/share/man/man1/git-restore.1 +git ./usr/share/man/man1/git-switch.1 git ./usr/share/man/man1 git ./usr/share/man git ./usr/share/git/contrib/hooks/pre-auto-gc-battery @@ -245,7 +250,7 @@ git ./usr/share/git/contrib/hooks/multimail/README.Git git ./usr/share/git/contrib/hooks/multimail/CHANGES git ./usr/share/git/contrib/hooks/multimail/README.migrate-from-post-receive-email git ./usr/share/git/contrib/hooks/multimail/post-receive.example -git ./usr/share/git/contrib/hooks/multimail/README +git ./usr/share/git/contrib/hooks/multimail/README.rst git ./usr/share/git/contrib/hooks/multimail/doc/gitolite.rst git ./usr/share/git/contrib/hooks/multimail/doc/troubleshooting.rst git ./usr/share/git/contrib/hooks/multimail/doc/gerrit.rst @@ -270,6 +275,7 @@ git ./usr/share/git/contrib/buildsystems/generate git ./usr/share/git/contrib/buildsystems/parse.pl git ./usr/share/git/contrib/buildsystems/Generators/QMake.pm git ./usr/share/git/contrib/buildsystems/Generators/Vcproj.pm +git ./usr/share/git/contrib/buildsystems/Generators/Vcxproj.pm git ./usr/share/git/contrib/buildsystems/Generators git ./usr/share/git/contrib/buildsystems git ./usr/share/git/contrib/fast-import/import-tars.perl @@ -306,7 +312,6 @@ git ./usr/share/git-core/templates/description git ./usr/share/git-core/templates git ./usr/share/git-core git ./usr/share/doc/@git-doc@-@git-ver@/git-help.txt -git ./usr/share/doc/@git-doc@-@git-ver@/merge-config.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-update-ref.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-show-index.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-http-backend.txt @@ -315,9 +320,7 @@ git ./usr/share/doc/@git-doc@-@git-ver@/git-stripspace.txt git ./usr/share/doc/@git-doc@-@git-ver@/diff-generate-patch.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-bisect.txt git ./usr/share/doc/@git-doc@-@git-ver@/README.git-subtree -git ./usr/share/doc/@git-doc@-@git-ver@/rebase-config.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-citool.txt -git ./usr/share/doc/@git-doc@-@git-ver@/diff-config.txt git ./usr/share/doc/@git-doc@-@git-ver@/gitcore-tutorial.txt git ./usr/share/doc/@git-doc@-@git-ver@/revisions.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-checkout-index.txt @@ -393,6 +396,7 @@ git ./usr/share/doc/@git-doc@-@git-ver@/urls-remotes.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-cvsimport.txt git ./usr/share/doc/@git-doc@-@git-ver@/githooks.txt git ./usr/share/doc/@git-doc@-@git-ver@/gitmodules.txt +git ./usr/share/doc/@git-doc@-@git-ver@/git-multi-pack-index.txt git ./usr/share/doc/@git-doc@-@git-ver@/gitnamespaces.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-mailsplit.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-write-tree.txt @@ -422,7 +426,6 @@ git ./usr/share/doc/@git-doc@-@git-ver@/howto/rebase-from-internal-branch.txt git ./usr/share/doc/@git-doc@-@git-ver@/howto/maintain-git.txt git ./usr/share/doc/@git-doc@-@git-ver@/howto/separating-topic-branches.txt git ./usr/share/doc/@git-doc@-@git-ver@/howto -git ./usr/share/doc/@git-doc@-@git-ver@/git-remote-testgit.txt git ./usr/share/doc/@git-doc@-@git-ver@/blame-options.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-reflog.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-parse-remote.txt @@ -466,7 +469,6 @@ git ./usr/share/doc/@git-doc@-@git-ver@/git-sh-setup.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-index-pack.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-fast-export.txt git ./usr/share/doc/@git-doc@-@git-ver@/gitglossary.txt -git ./usr/share/doc/@git-doc@-@git-ver@/fmt-merge-msg-config.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-describe.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-subtree.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-remote.txt @@ -517,6 +519,7 @@ git ./usr/share/doc/@git-doc@-@git-ver@/technical/api-error-handling.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical/api-remote.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical/api-quote.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical/repository-version.txt +git ./usr/share/doc/@git-doc@-@git-ver@/technical/rerere.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical/http-protocol.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical/api-setup.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical/pack-protocol.txt @@ -545,12 +548,14 @@ git ./usr/share/doc/@git-doc@-@git-ver@/technical/pack-heuristics.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical/api-history-graph.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical/hash-function-transition.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical/pack-format.txt +git ./usr/share/doc/@git-doc@-@git-ver@/technical/multi-pack-index.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical/api-revision-walking.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical/signature-format.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical/api-config.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical/api-sigchain.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical/api-index-skel.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical/long-running-process-protocol.txt +git ./usr/share/doc/@git-doc@-@git-ver@/technical/api-trace2.txt git ./usr/share/doc/@git-doc@-@git-ver@/technical git ./usr/share/doc/@git-doc@-@git-ver@/git-check-ignore.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-cherry.txt @@ -581,6 +586,10 @@ git ./usr/share/doc/@git-doc@-@git-ver@/git-notes.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-commit.txt git ./usr/share/doc/@git-doc@-@git-ver@/git-mv.txt git ./usr/share/doc/@git-doc@-@git-ver@/gittutorial-2.txt +git ./usr/share/doc/@git-doc@-@git-ver@/git-restore.txt +git ./usr/share/doc/@git-doc@-@git-ver@/git-switch.txt +git ./usr/share/doc/@git-doc@-@git-ver@/MyFirstContribution.txt +git ./usr/share/doc/@git-doc@-@git-ver@/trace2-target-values.txt git ./usr/share/doc/@git-doc@-@git-ver@ git ./usr/share/doc git ./usr/share/bash-completion/completions/gitk @@ -653,7 +662,6 @@ git ./usr/libexec/git-core/git-unpack-objects git ./usr/libexec/git-core/git-show-ref git ./usr/libexec/git-core/git-merge-index git ./usr/libexec/git-core/git-send-pack -git ./usr/libexec/git-core/git-serve git ./usr/libexec/git-core/git-bisect git ./usr/libexec/git-core/git-rebase git-gui-tools ./usr/libexec/git-core/git-gui--askpass @@ -662,7 +670,6 @@ git ./usr/libexec/git-core/git-ls-tree git ./usr/libexec/git-core/git-show-index git ./usr/libexec/git-core/git-commit git ./usr/libexec/git-core/git-commit-graph -git ./usr/libexec/git-core/git-rebase--interactive git ./usr/libexec/git-core/git-check-attr git ./usr/libexec/git-core/git-cherry-pick git ./usr/libexec/git-core/git-name-rev @@ -701,6 +708,7 @@ git ./usr/libexec/git-core/mergetools/p4merge git ./usr/libexec/git-core/mergetools/kdiff3 git ./usr/libexec/git-core/mergetools/opendiff git ./usr/libexec/git-core/mergetools/tortoisemerge +git ./usr/libexec/git-core/mergetools/smerge git ./usr/libexec/git-core/mergetools git ./usr/libexec/git-core/git-help git ./usr/libexec/git-core/git-blame @@ -790,9 +798,9 @@ git ./usr/libexec/git-core/git-credential git ./usr/libexec/git-core/git-credential-store git ./usr/libexec/git-core/git-remote-testsvn git ./usr/libexec/git-core/git-mktree +git ./usr/libexec/git-core/git-multi-pack-index git ./usr/libexec/git-core/git-jump git ./usr/libexec/git-core/git-add -git ./usr/libexec/git-core/git-rebase--helper git ./usr/libexec/git-core/git-column git ./usr/libexec/git-core/git-diff-tree git ./usr/libexec/git-core/git-pack-objects @@ -807,7 +815,6 @@ git ./usr/libexec/git-core/git-upload-pack git ./usr/libexec/git-core/git-web--browse git ./usr/libexec/git-core/git-tag git ./usr/libexec/git-core/git-send-email -git ./usr/libexec/git-core/git-rebase--am git ./usr/libexec/git-core/git-interpret-trailers git ./usr/libexec/git-core/git-instaweb git ./usr/libexec/git-core/git-checkout-index @@ -830,7 +837,6 @@ git ./usr/libexec/git-core/git-merge-octopus git ./usr/libexec/git-core/git-filter-branch git ./usr/libexec/git-core/git-branch git ./usr/libexec/git-core/git-prune-packed -git ./usr/libexec/git-core/git-rebase--merge git ./usr/libexec/git-core/git-rebase--preserve-merges git ./usr/libexec/git-core/git-commit-tree git ./usr/libexec/git-core/git-fmt-merge-msg @@ -847,6 +853,10 @@ git ./usr/libexec/git-core/git-mergetool--lib git ./usr/libexec/git-core/git-difftool git ./usr/libexec/git-core/git-mv git ./usr/libexec/git-core/git-bundle +git ./usr/libexec/git-core/git-env--helper +git ./usr/libexec/git-core/git-legacy-stash +git ./usr/libexec/git-core/git-restore +git ./usr/libexec/git-core/git-switch git ./usr/libexec/git-core git ./usr/libexec git-gui-tools ./usr/bin/gitk diff --git a/dev-vcs/git/git-2.19.2.ebuild b/dev-vcs/git/git-2.23.0-r1.ebuild similarity index 89% rename from dev-vcs/git/git-2.19.2.ebuild rename to dev-vcs/git/git-2.23.0-r1.ebuild index d78e9a1fd..fcf8e4c23 100644 --- a/dev-vcs/git/git-2.19.2.ebuild +++ b/dev-vcs/git/git-2.23.0-r1.ebuild @@ -6,10 +6,13 @@ EAPI=6 GENTOO_DEPEND_ON_PERL=no # bug #329479: git-remote-testgit is not multiple-version aware -PYTHON_COMPAT=( python2_7 ) +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) + +inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd + PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" if [[ ${PV} == *9999 ]]; then - SCM="git-r3" + inherit git-r3 EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git" # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches. # See https://git-scm.com/docs/gitworkflows#_graduation @@ -26,20 +29,18 @@ if [[ ${PV} == *9999 ]]; then esac fi -inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM} - MY_PV="${PV/_rc/.rc}" MY_PN="git" MY_P="${MY_PN}-${MY_PV}" -DOC_VER=${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="mirror://kernel/software/scm/git" + 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_KORG}/${MY_PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} @@ -52,7 +53,7 @@ fi LICENSE="GPL-2" SLOT="0" -IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test sab-split" +IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl ppcsha1 tk +threads +webdav xinetd cvs subversion test sab-split" # Common to both DEPEND and RDEPEND CDEPEND=" @@ -71,6 +72,7 @@ CDEPEND=" webdav? ( dev-libs/expat ) ) emacs? ( virtual/emacs ) + iconv? ( virtual/libiconv ) " RDEPEND="${CDEPEND} @@ -78,7 +80,6 @@ RDEPEND="${CDEPEND} perl? ( dev-perl/Error dev-perl/MailTools - dev-perl/Net-SMTP-SSL dev-perl/Authen-SASL cgi? ( dev-perl/CGI @@ -100,7 +101,7 @@ RDEPEND="${CDEPEND} dev-perl/TermReadKey ) ) - python? ( ${PYTHON_DEPS} ) + perforce? ( ${PYTHON_DEPS} ) " # This is how info docs are created with Git: @@ -112,8 +113,8 @@ DEPEND="${CDEPEND} doc? ( app-text/asciidoc app-text/docbook2X - sys-apps/texinfo app-text/xmlto + sys-apps/texinfo ) nls? ( sys-devel/gettext ) test? ( app-crypt/gnupg )" @@ -135,17 +136,24 @@ REQUIRED_USE=" subversion? ( perl ) webdav? ( curl ) pcre-jit? ( pcre ) - python? ( ${PYTHON_REQUIRED_USE} ) + perforce? ( ${PYTHON_REQUIRED_USE} ) sab-split? ( !cgi perl !cvs !subversion !tk ) " +RESTRICT="!test? ( test )" + PATCHES=( # bug #350330 - automagic CVS when we don't want it is bad. - "${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch + "${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch + + # Make submodule output quiet + "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch + + "${FILESDIR}"/${P}-avoid_empty_remote_line.patch #698384 ) pkg_setup() { @@ -154,7 +162,7 @@ pkg_setup() { ewarn "with USE=dso, there may be weird crashes in git-svn. You" ewarn "have been warned." fi - if use python ; then + if use perforce ; then python-single-r1_pkg_setup fi } @@ -169,9 +177,9 @@ exportmakeopts() { $(usex iconv '' NO_ICONV=YesPlease) $(usex nls '' NO_GETTEXT=YesPlease) $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease) - $(usex python '' NO_PYTHON=YesPlease) + $(usex perforce '' NO_PYTHON=YesPlease) $(usex subversion '' NO_SVN_TESTS=YesPlease) - $(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease) + $(usex threads '' NO_PTHREAD=YesPlease) $(usex tk '' NO_TCLTK=YesPlease) ) @@ -200,7 +208,7 @@ exportmakeopts() { ) # For svn-fe - extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')" + extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') ) # can't define this to null, since the entire makefile depends on it sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die @@ -208,13 +216,13 @@ exportmakeopts() { if use pcre; then if use pcre-jit; then myopts+=( USE_LIBPCRE2=YesPlease ) - extlibs+=" -lpcre2-8" + extlibs+=( -lpcre2-8 ) else myopts+=( USE_LIBPCRE1=YesPlease NO_LIBPCRE1_JIT=YesPlease ) - extlibs+=" -lpcre" + extlibs+=( -lpcre ) fi fi # Disabled until ~m68k-mint can be keyworded again @@ -239,7 +247,7 @@ exportmakeopts() { NEEDS_LIBICONV=YesPlease HAVE_CLOCK_MONOTONIC=1 ) - grep -q getdelim "${ROOT}"/usr/include/stdio.h && \ + grep -q getdelim "${ROOT%/}"/usr/include/stdio.h && \ myopts+=( HAVE_GETDELIM=1 ) fi @@ -248,11 +256,13 @@ exportmakeopts() { # Bug 290465: # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim' - [[ "${CHOST}" == *-uclibc* ]] && \ + if [[ "${CHOST}" == *-uclibc* ]] ; then myopts+=( NO_NSEC=YesPlease ) + use iconv && myopts+=( NEEDS_LIBICONV=YesPlease ) + fi export MY_MAKEOPTS="${myopts[@]}" - export EXTLIBS="${extlibs}" + export EXTLIBS="${extlibs[@]}" } src_unpack() { @@ -302,11 +312,11 @@ src_prepare() { git_emake() { # bug #320647: PYTHON_PATH local PYTHON_PATH="" - use python && PYTHON_PATH="${PYTHON}" + use perforce && PYTHON_PATH="${PYTHON}" emake ${MY_MAKEOPTS} \ prefix="${EPREFIX}"/usr \ htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \ - perllibdir="$(perl_get_raw_vendorlib)" \ + perllibdir="$(use perl && perl_get_raw_vendorlib)" \ sysconfdir="${EPREFIX}"/etc \ DESTDIR="${D}" \ GIT_TEST_OPTS="--no-color" \ @@ -365,12 +375,17 @@ src_compile() { pushd contrib/svn-fe &>/dev/null || die # by defining EXTLIBS we override the detection for libintl and # libiconv, bug #516168 - local nlsiconv= - use nls && use !elibc_glibc && nlsiconv+=" -lintl" - use iconv && use !elibc_glibc && nlsiconv+=" -liconv" - git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed" + local nlsiconv=() + use nls && use !elibc_glibc && nlsiconv+=( -lintl ) + use iconv && use !elibc_glibc && nlsiconv+=( -liconv ) + git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \ + || die "emake svn-fe failed" if use doc ; then - git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed" + # svn-fe.1 requires the full USE=doc dependency stack + git_emake svn-fe.1 \ + || die "emake svn-fe.1 failed" + git_emake svn-fe.html \ + || die "svn-fe.html failed" fi popd &>/dev/null || die fi @@ -382,8 +397,9 @@ src_compile() { fi pushd contrib/subtree &>/dev/null || die - git_emake - use doc && git_emake doc + git_emake git-subtree + # git-subtree.1 requires the full USE=doc dependency stack + use doc && git_emake git-subtree.html git-subtree.1 popd &>/dev/null || die pushd contrib/diff-highlight &>/dev/null || die @@ -406,7 +422,7 @@ sab-src_install_cleanup() { cp "${FILESDIR}/git-${PV}-spec" "${T}/spec" || die sed -i \ -e "s/@git-doc@/${PN}/" \ - -e "s/@git-ver@/${PV}/" \ + -e "s/@git-ver@/${PVR}/" \ -e "s/@perl-ver-path@/${perlv}/" \ "${T}/spec" || die @@ -421,9 +437,7 @@ sab-src_install_cleanup() { } src_install() { - git_emake \ - install || \ - die "make install failed" + git_emake install || die "make install failed" if [[ ${CHOST} == *-darwin* ]]; then dobin contrib/credential/osxkeychain/git-credential-osxkeychain @@ -438,6 +452,7 @@ 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 @@ -463,7 +478,7 @@ src_install() { #elisp-install ${MY_PN}/compat contrib/emacs/vc-git.{el,elc} # don't add automatically to the load-path, so the sitefile # can do a conditional loading - touch "${ED}${SITELISP}/${MY_PN}/compat/.nosearch" + touch "${ED%/}${SITELISP}/${MY_PN}/compat/.nosearch" elisp-site-file-install "${FILESDIR}"/${SITEFILE} fi @@ -475,9 +490,10 @@ src_install() { # git-subtree pushd contrib/subtree &>/dev/null || die - git_emake install || die "Failed to emake install git-subtree" + git_emake install || die "Failed to emake install for git-subtree" if use doc ; then - git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree" + # Do not move git subtree install-man outside USE=doc! + git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree" fi newdoc README README.git-subtree dodoc git-subtree.txt @@ -514,6 +530,7 @@ src_install() { dobin svn-fe dodoc svn-fe.txt if use doc ; then + # Do not move svn-fe.1 outside USE=doc! doman svn-fe.1 docinto html dodoc svn-fe.html @@ -546,6 +563,7 @@ src_install() { stats workdir ) + local i for i in "${contrib_objects[@]}" ; do cp -rf \ "${S}"/contrib/${i} \ @@ -566,7 +584,7 @@ src_install() { newdoc "${S}"/gitweb/README README.gitweb for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do - if test -d "$d" ; then find "$d" \ + if test -d "${d}" ; then find "${d}" \ -name .packlist \ -delete || die fi diff --git a/www-apps/gitweb/Manifest b/www-apps/gitweb/Manifest index 86d78acad..623e9ab2b 100644 --- a/www-apps/gitweb/Manifest +++ b/www-apps/gitweb/Manifest @@ -1,6 +1,6 @@ -DIST git-2.19.2.tar.xz 5235608 BLAKE2B ece292b8cf41deafc63c00e6176b0de39936f7d840d776192f32c1e293abc06c39119d13ed947d3de6a212fa6973bedb288c06f8bfcfc8144e563d5af40e45da SHA512 1d707c1a7a16fe9399592b0354e9023f701b019f36fe775997c46354d40617a80fa04aacc5330825c4f9301c2910ead8b26274a7f3b92e9d790b4705c0d7aa96 DIST git-2.21.0.tar.xz 5491296 BLAKE2B c5e66f4d4045f99bb4306e8f096ae9299908383df78bdf2a954cd415f4778eb59ea0ee7d501689313617de7dc1d2ee4ae15ab70dee564add5de877109073ddff SHA512 83f57c3950a07f6773a3aea66611d22daba0e5599e5d8f0751a16f6fdbeab0f3844d942a39a5642051212df99d1d4513253c36829b1454b4f0977cc6026fd973 -DIST git-htmldocs-2.19.2.tar.xz 1223848 BLAKE2B 6f30192cb101988fdfcce3bb79c684c6d1ac08cdc929caa049102fba10277fa8cc908904fe7472e40d60707c1b23145d95c441c1401c8697c37a81456d79aab8 SHA512 830e780beea10bde750d09a335fd9986c5ffbf47a724cbbeed5a1a2c94bc81d9c9223e415c5888faf81ab6404e460565434988f6635312039b88282a46014634 +DIST git-2.23.0.tar.xz 5707148 BLAKE2B a57642cfc297615c9510d9d746d83fc4174195bfefe22fc77098419e424d4f6e383896ad5509370c8cc35b2f4b531dcf5c5a4e9c2d2e99041ad15a40399ec4d2 SHA512 c0bb29b3689ec2e157f90df849599ca149a08fc0c69f6a68b1f3219b6335d521983e6ed58cd364b86398e4dcf9e84892fb9eded79a1c97b74150edca299cf671 DIST git-htmldocs-2.21.0.tar.xz 1234956 BLAKE2B d8ef32acbad7eeb8758f711e09c380dbf3ca72526067b3a86ed0865e37351c4fac1f0c7e845e7b0c27a1d955c64622f10c999389446b53191acdc05a44647847 SHA512 4537b3f67d03050e5daefaa6f274d3acdf6e116dc8c7f76566b33100e76a445c3e3894b5ff63b5ddb024e1c691a3bf08acea42dbec681da1b0f1de2e5736c9c4 -DIST git-manpages-2.19.2.tar.xz 432200 BLAKE2B 92b4c87c40e20133c4b6d9b7f3d56952556470855543a329ea0fb7a91382396376755656ded029d68df8291b0ffecc3e6b2b4c6f71cb8694d44c5f02da7357f8 SHA512 329ea9a6de4a5352c57d2ea3df0cf6caf9dcf03728416a3bca5a5ebc5dc133abe1faffd5e5b5ae11cc91412baff93df83ff684f3626bbac0770ca94bc79d2cb1 +DIST git-htmldocs-2.23.0.tar.xz 1294240 BLAKE2B 7420eb836d582448a996d8302d1e4873316baadd3a1baae555935443028af6a9c9e1fa629d5e0667901b8c63cce19bbf5e46c5fcb09b50382751e6b2cbc3d514 SHA512 165c8989ed9c0c09125e2e99beeddd1f2bb4d00ecae4aa58bcbfb1f1a8cd5a6ad646035e984471484fd1e943437d5d42d917e8c32b1207c590a1fc7c9bebc2dc DIST git-manpages-2.21.0.tar.xz 440096 BLAKE2B 6cbedf6e497b0d13c62003b166293a0d438d163255bce845eaf75e08a3eec49060c314e73d24c1c015101868d9149e9b0cd1c2e8cb3ce2245b8acae5701fe8ba SHA512 61e01cd312dbade8aac0144e32edc5eea2708b274273c207889a291cea18d131c9c2d83cc405ba8a955d387fd1e6dd74b7bdae4003f2062501073a0844122d30 +DIST git-manpages-2.23.0.tar.xz 448272 BLAKE2B 34dcb535caf54bfa9ea8e9f2d8104fe74e4c38398d685a712735c0199dab59cfeac16f863c6285a1122139cb2be99cfad4ba7c3f71e88603284815536172ccbc SHA512 f4316f28d8f462804cee3e6f5d19a1426087dbeb0e6141148d9b021562c86723cbd4f96d30cc650b2b41230e097c3a1f574055b8b7e5025cbb90089484bf9e96 diff --git a/www-apps/gitweb/gitweb-2.19.2.ebuild b/www-apps/gitweb/gitweb-2.23.0-r1.ebuild similarity index 88% rename from www-apps/gitweb/gitweb-2.19.2.ebuild rename to www-apps/gitweb/gitweb-2.23.0-r1.ebuild index 4c023110f..cd8d682c3 100644 --- a/www-apps/gitweb/gitweb-2.19.2.ebuild +++ b/www-apps/gitweb/gitweb-2.23.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -6,10 +6,13 @@ EAPI=6 GENTOO_DEPEND_ON_PERL=no # bug #329479: git-remote-testgit is not multiple-version aware -PYTHON_COMPAT=( python2_7 ) +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) + +inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd + PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" if [[ ${PV} == *9999 ]]; then - SCM="git-r3" + inherit git-r3 EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git" # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches. # See https://git-scm.com/docs/gitworkflows#_graduation @@ -26,13 +29,11 @@ if [[ ${PV} == *9999 ]]; then esac fi -inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM} - MY_PV="${PV/_rc/.rc}" MY_PN="git" MY_P="${MY_PN}-${MY_PV}" -DOC_VER=${MY_PV} +DOC_VER="${MY_PV}" #DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency" DESCRIPTION="A web interface to git" @@ -40,7 +41,7 @@ DESCRIPTION="A web interface to git" HOMEPAGE="https://www.git-scm.com/" if [[ ${PV} != *9999 ]]; then SRC_URI_SUFFIX="xz" - SRC_URI_KORG="mirror://kernel/software/scm/git" + 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_KORG}/${MY_PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} @@ -53,7 +54,7 @@ fi LICENSE="GPL-2" SLOT="0" -IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test sab-split" +IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl ppcsha1 tk +threads +webdav xinetd cvs subversion test sab-split" # Common to both DEPEND and RDEPEND CDEPEND=" @@ -73,6 +74,7 @@ CDEPEND=" webdav? ( dev-libs/expat ) ) emacs? ( virtual/emacs ) + iconv? ( virtual/libiconv ) " RDEPEND="${CDEPEND} @@ -80,7 +82,6 @@ RDEPEND="${CDEPEND} perl? ( dev-perl/Error dev-perl/MailTools - dev-perl/Net-SMTP-SSL dev-perl/Authen-SASL cgi? ( dev-perl/CGI @@ -102,7 +103,7 @@ RDEPEND="${CDEPEND} dev-perl/TermReadKey ) ) - python? ( ${PYTHON_DEPS} ) + perforce? ( ${PYTHON_DEPS} ) " # This is how info docs are created with Git: @@ -114,8 +115,8 @@ DEPEND="${CDEPEND} doc? ( app-text/asciidoc app-text/docbook2X - sys-apps/texinfo app-text/xmlto + sys-apps/texinfo ) nls? ( sys-devel/gettext ) test? ( app-crypt/gnupg )" @@ -137,17 +138,24 @@ REQUIRED_USE=" subversion? ( perl ) webdav? ( curl ) pcre-jit? ( pcre ) - python? ( ${PYTHON_REQUIRED_USE} ) + perforce? ( ${PYTHON_REQUIRED_USE} ) sab-split? ( cgi perl !cvs !subversion !tk ) " +RESTRICT="!test? ( test )" + PATCHES=( # bug #350330 - automagic CVS when we don't want it is bad. - "${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch + "${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch + + # Make submodule output quiet + "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch + + "${FILESDIR}"/git-${PV}-avoid_empty_remote_line.patch #698384 ) pkg_setup() { @@ -156,7 +164,7 @@ pkg_setup() { ewarn "with USE=dso, there may be weird crashes in git-svn. You" ewarn "have been warned." fi - if use python ; then + if use perforce ; then python-single-r1_pkg_setup fi } @@ -171,9 +179,9 @@ exportmakeopts() { $(usex iconv '' NO_ICONV=YesPlease) $(usex nls '' NO_GETTEXT=YesPlease) $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease) - $(usex python '' NO_PYTHON=YesPlease) + $(usex perforce '' NO_PYTHON=YesPlease) $(usex subversion '' NO_SVN_TESTS=YesPlease) - $(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease) + $(usex threads '' NO_PTHREAD=YesPlease) $(usex tk '' NO_TCLTK=YesPlease) ) @@ -202,7 +210,7 @@ exportmakeopts() { ) # For svn-fe - extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')" + extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') ) # can't define this to null, since the entire makefile depends on it sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die @@ -210,13 +218,13 @@ exportmakeopts() { if use pcre; then if use pcre-jit; then myopts+=( USE_LIBPCRE2=YesPlease ) - extlibs+=" -lpcre2-8" + extlibs+=( -lpcre2-8 ) else myopts+=( USE_LIBPCRE1=YesPlease NO_LIBPCRE1_JIT=YesPlease ) - extlibs+=" -lpcre" + extlibs+=( -lpcre ) fi fi # Disabled until ~m68k-mint can be keyworded again @@ -241,7 +249,7 @@ exportmakeopts() { NEEDS_LIBICONV=YesPlease HAVE_CLOCK_MONOTONIC=1 ) - grep -q getdelim "${ROOT}"/usr/include/stdio.h && \ + grep -q getdelim "${ROOT%/}"/usr/include/stdio.h && \ myopts+=( HAVE_GETDELIM=1 ) fi @@ -250,11 +258,13 @@ exportmakeopts() { # Bug 290465: # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim' - [[ "${CHOST}" == *-uclibc* ]] && \ + if [[ "${CHOST}" == *-uclibc* ]] ; then myopts+=( NO_NSEC=YesPlease ) + use iconv && myopts+=( NEEDS_LIBICONV=YesPlease ) + fi export MY_MAKEOPTS="${myopts[@]}" - export EXTLIBS="${extlibs}" + export EXTLIBS="${extlibs[@]}" } src_unpack() { @@ -304,11 +314,11 @@ src_prepare() { git_emake() { # bug #320647: PYTHON_PATH local PYTHON_PATH="" - use python && PYTHON_PATH="${PYTHON}" + use perforce && PYTHON_PATH="${PYTHON}" emake ${MY_MAKEOPTS} \ prefix="${EPREFIX}"/usr \ htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \ - perllibdir="$(perl_get_raw_vendorlib)" \ + perllibdir="$(use perl && perl_get_raw_vendorlib)" \ sysconfdir="${EPREFIX}"/etc \ DESTDIR="${D}" \ GIT_TEST_OPTS="--no-color" \ @@ -367,12 +377,17 @@ src_compile() { pushd contrib/svn-fe &>/dev/null || die # by defining EXTLIBS we override the detection for libintl and # libiconv, bug #516168 - local nlsiconv= - use nls && use !elibc_glibc && nlsiconv+=" -lintl" - use iconv && use !elibc_glibc && nlsiconv+=" -liconv" - git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed" + local nlsiconv=() + use nls && use !elibc_glibc && nlsiconv+=( -lintl ) + use iconv && use !elibc_glibc && nlsiconv+=( -liconv ) + git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \ + || die "emake svn-fe failed" if use doc ; then - git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed" + # svn-fe.1 requires the full USE=doc dependency stack + git_emake svn-fe.1 \ + || die "emake svn-fe.1 failed" + git_emake svn-fe.html \ + || die "svn-fe.html failed" fi popd &>/dev/null || die fi @@ -384,8 +399,9 @@ src_compile() { fi pushd contrib/subtree &>/dev/null || die - git_emake - use doc && git_emake doc + git_emake git-subtree + # git-subtree.1 requires the full USE=doc dependency stack + use doc && git_emake git-subtree.html git-subtree.1 popd &>/dev/null || die pushd contrib/diff-highlight &>/dev/null || die @@ -401,10 +417,15 @@ src_compile() { } sab-src_install_cleanup() { + local perllibdir + perllibdir="$(perl_get_raw_vendorlib)" + local perlv=${perllibdir##*/} + cp "${FILESDIR}/git-${PV}-spec" "${T}/spec" || die sed -i \ -e "s/@git-doc@/${PN}/" \ - -e "s/@git-ver@/${PV}/" \ + -e "s/@git-ver@/${PVR}/" \ + -e "s/@perl-ver-path@/${perlv}/" \ "${T}/spec" || die dirstr.py \ @@ -417,9 +438,7 @@ sab-src_install_cleanup() { } src_install() { - git_emake \ - install || \ - die "make install failed" + git_emake install || die "make install failed" if [[ ${CHOST} == *-darwin* ]]; then dobin contrib/credential/osxkeychain/git-credential-osxkeychain @@ -434,6 +453,7 @@ 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 @@ -459,7 +479,7 @@ src_install() { #elisp-install ${MY_PN}/compat contrib/emacs/vc-git.{el,elc} # don't add automatically to the load-path, so the sitefile # can do a conditional loading - touch "${ED}${SITELISP}/${MY_PN}/compat/.nosearch" + touch "${ED%/}${SITELISP}/${MY_PN}/compat/.nosearch" elisp-site-file-install "${FILESDIR}"/${SITEFILE} fi @@ -471,9 +491,10 @@ src_install() { # git-subtree pushd contrib/subtree &>/dev/null || die - git_emake install || die "Failed to emake install git-subtree" + git_emake install || die "Failed to emake install for git-subtree" if use doc ; then - git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree" + # Do not move git subtree install-man outside USE=doc! + git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree" fi newdoc README README.git-subtree dodoc git-subtree.txt @@ -510,6 +531,7 @@ src_install() { dobin svn-fe dodoc svn-fe.txt if use doc ; then + # Do not move svn-fe.1 outside USE=doc! doman svn-fe.1 docinto html dodoc svn-fe.html @@ -542,6 +564,7 @@ src_install() { stats workdir ) + local i for i in "${contrib_objects[@]}" ; do cp -rf \ "${S}"/contrib/${i} \ @@ -565,7 +588,7 @@ src_install() { # on it (and it's controlled by the spec files). if ! use sab-split; then for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do - if test -d "$d" ; then find "$d" \ + if test -d "${d}" ; then find "${d}" \ -name .packlist \ -delete || die fi