diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2015-08-31 09:21:21 +0200 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2015-08-31 09:21:21 +0200 |
commit | 2e8d40f82e4e05800a6aeb9c0587d4fd58a025e8 (patch) | |
tree | 4b5bc1baf74e3b7165a28403b00d079d3becb04f /dev-vcs | |
parent | sci-biology/rebase: Version Bump (diff) | |
download | gentoo-2e8d40f82e4e05800a6aeb9c0587d4fd58a025e8.tar.gz gentoo-2e8d40f82e4e05800a6aeb9c0587d4fd58a025e8.tar.bz2 gentoo-2e8d40f82e4e05800a6aeb9c0587d4fd58a025e8.zip |
dev-vcs/git: Bump to version 2.5.1
Package-Manager: portage-2.2.20.1
Diffstat (limited to 'dev-vcs')
-rw-r--r-- | dev-vcs/git/Manifest | 3 | ||||
-rw-r--r-- | dev-vcs/git/git-2.5.1.ebuild | 636 |
2 files changed, 639 insertions, 0 deletions
diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest index 2fa775dd0dc3..5440af638711 100644 --- a/dev-vcs/git/Manifest +++ b/dev-vcs/git/Manifest @@ -9,6 +9,7 @@ DIST git-2.4.6.tar.xz 3690432 SHA256 bdd944571c03474517b6c9941d6f1fd735eccbb164e DIST git-2.4.7.tar.xz 3691752 SHA256 6763f5ad1dfe29770aa0c523e08d53a0c7b9d32989bfbf2f39f368c7f61094de SHA512 7772d6e6466b6f835f506def455399fdfc81153975d9b259b1572cd332444187d61a19216f88476300c2030ff7a8baef794b6fe06203776e25f3f702bd31e5de WHIRLPOOL 75e630a448f6a94b179841e072900a68b57d6d9025535ff7a9e31db1591fd3290c4dda3a1a65a4ec91ad8f48fd9ad40b669a67d2d2ce0aff78831e6b41eda93d DIST git-2.4.8.tar.xz 3692460 SHA256 c7d2019d3c3b742862b252dcabb3d870b649e1af3fc8a132a0c0149f9e91dfcb SHA512 b1af6bf03dec006ed99601e66dda5b70e576c47d755d8fe5ca3cd974acc33cf2a6b76901549b56f6b4d3d3697f43c84dca35fc21c2cf5e8daad026f1bcc5b263 WHIRLPOOL e00d8e04c86ba611457547c71fb22ebef04b3a7e4316145b29cf073e4e58849bb62963b41660176f6d4e78b492c3b2ac513e80e8db42a91a4dcc31207718f012 DIST git-2.5.0.tar.xz 3740620 SHA256 cc59b1bac6c1c67a9159872863f6c5bbe0d9404cac2a85c3e9d9fa49923ce45c SHA512 ef7538c9f5ba5b2ac08962401c30e5fd51323b54b9fb5315d259adccec346e8fae9362815832dc2b5ce63a259b315c40e419bb2385dde04d84b992e62f6789b6 WHIRLPOOL 653e7aeb966dec44631bbd257a41935b2e957be9324311a4fd91f3a0ba6f1f674e2e59b4c564d70c4eeaea3788f0af9273a1d0a753b3bc820e687f0d63bddf5d +DIST git-2.5.1.tar.xz 3741764 SHA256 b3ceb7b118221b8c74d0abdc62ab035a58360dbbd28ca17c53e301e517d4220f SHA512 95e12103fa1f3da06c7c8485417de7168a0aa7f3a60119808fbdb352f73b180368a9ee19ac455ece10ba29957d070c39c2313100562716ff7f9ea7e4f0de32f1 WHIRLPOOL 11cea9a28cbdb1eb707d73c6c07db0c7fb89754e5af3e91f713f9c31f7f515689070fe472a21bee4b7344bce7ae6790dc741e35cb20deac1ceb563a09b85ad39 DIST git-htmldocs-1.8.5.6.tar.gz 2242475 SHA256 7c8e955d0798686fa030ba7b7b384a2eab2b74d5bd695d82faecac2e247bd211 SHA512 c9b2752bcdd7f8f817b14e99ab2743d153e3e7549bffb2aa98999e46d1e965d045850ec6a3e9f6bc83e6e4820ce20f281c33f946ebd2be16d275b85a5ddaee36 WHIRLPOOL 7db3fb74e6b51618890acfef8fb89ab09adf653d3196e82624671194bdb2b564b903429ffecf68b28faf96ce3ebb83b534459738d48ace048d873c158621d31c DIST git-htmldocs-1.9.5.tar.gz 2262251 SHA256 4fa289e259d6b922a51d11a687203612aa1aad5696eb83b4e67c0de8a785700f SHA512 2df975c33d3411a97ab5a684b03998b7cd188d05bae6813c753fe2092b0acf463dec49a7a546d315f520fd9c71281da41998d0f36f64f48d4f95507a034a083b WHIRLPOOL edc252ce58b31f001c0d225f0b40b3689028bd34b1cbbdd889d645d37a2931e9039f76f12e5a0f918579a0b9c5dd1f3171af2bb58ee42972411ca33ec0ebe8f2 DIST git-htmldocs-2.0.5.tar.xz 944792 SHA256 90eaf745d6ee197718fdde9c98919918ad1e4e3576608e4522b84c612cd9ef2a SHA512 e9b3d92d466762c9c7e164e9c30ff0046b262bf4707ea057e3a682f7b15a4f8149a9aaf2630f117dc3b508744cd688c6c0087cc94ff3477e7f3b85513160d7f3 WHIRLPOOL 35970d099304a5ab174fc93f8496a0c651a259dcaa3d23a2dd0233f8db214ae94a26e28044a87460d4654e61440427d331ceeac290335d6ae3fcf0423175bba9 @@ -20,6 +21,7 @@ DIST git-htmldocs-2.4.6.tar.xz 994712 SHA256 5213e8b882293ec3cda247dabbc75c6ee52 DIST git-htmldocs-2.4.7.tar.xz 995972 SHA256 ce0d1603f097b89c895613c864a7ac1ed8be36283b98298fff4fcafc2133dbc1 SHA512 1ea356f57299f41cfcb54baac17faf4f12ebb0b992769b0bf36dece800cb07d0b15b5b059d29a7e2469e885da1fa53f899e31e3c9cf58fd7fde4b2168ae19c41 WHIRLPOOL 3ffa7fc366e3a0855ecd6cc3af4577635072082236affc2079caaae2273d0965b0ea2e7fe2fb0d2bbc6b1c44b295325ca19065a4b9ba811bfc95bae94323245d DIST git-htmldocs-2.4.8.tar.xz 996004 SHA256 73c9ac3b42da1d3427bfa91c3266c6b7df332137d6ce92217c43db8f479a74ea SHA512 fcd93a76b19bd559ccb28829fa78ae0a2840a70e0c59a2709b2f089f1127b8452ee2f4e8e74128766f50eeeb560d924248d73336f2b5746305823834a9311db2 WHIRLPOOL 249390556106b13e4c02112085bd527720edcb67c85c61e429bea67bc252e7be3b6f4f641534bc342e534d154a9531379e3717d32e5109e48f886174022dce02 DIST git-htmldocs-2.5.0.tar.xz 1008428 SHA256 0924b290834e2a361a489cbc845a9bf04e56117597dc9c1a40e879cce655e4e2 SHA512 921ae8dd482719912f79f5affb6fa239290a954fb40625ac9fae2edf902989e5126ae7ca5c367b2b55c5387fb3cc3035ddf4e8b360743dbdee0f1b55ec33653c WHIRLPOOL e355781b06fba48d9ada859fe6fb515ddbfbac5a1d5c0918e8570e4566f68d644456606b5b0eb8e3e4cdc7c8b27a96b72cc1907008dff567cae71f0953968843 +DIST git-htmldocs-2.5.1.tar.xz 1008284 SHA256 2ebf4761a793d4c8bdf49ff04937c08408c8903160d910eba5714786535d0c83 SHA512 2aeb811a3fe49d53c5c714a5c88e9ce562116b1cea52293e3908f440f56d3b78f9073ed22b163d2d385e76595b9e395f4e21af5a937c37fd5588db005dcc9309 WHIRLPOOL d2907376b9370d9c8c0c84fcb9234bab1c11ea73565be04736109c24bbad1776c8f26df4d8f52209f6b5b9e7b2e2aaa72eaddf846e5bf7ed758e6a31f3fef119 DIST git-manpages-1.8.5.6.tar.gz 569061 SHA256 58ef7cb3121639b8d78e2e4c4f7f886bab57af9e9e137b10f372dfad573872c1 SHA512 a524a1c7e8bdc73ffe04bebb5c7050a18c8649b98714bf255c8e3c32a2443d8d5abf33e3ca2eb108d601f01e0bda50fed1e134ffdae87bcf6f551cbbd250c4ba WHIRLPOOL 2db62b96e972dbcbec1ac59d7244bf2c2ff7140c941d1d3c6b9062bd79b80541d7fa3982c5a3bc55a18fc9112ab3fa648966be5c3e1135ab7b5c89080bee82b6 DIST git-manpages-1.9.5.tar.gz 571625 SHA256 37cc735c4ced6574e8e93349d52d30372fc6f9fe3de3d6b9934a14857d6aade8 SHA512 e3df3e933fed6ff2845989a0146b28789452e9583bc19dd4a9ad335f64b15feffbdc4dd7cdb9d6b5216f7f85837318cf9b10df033f8022777f91c2b0894fb231 WHIRLPOOL e25d77fd8d9cacb92d45fd50640bc65189d02d7e23b276ccaf3b35ba1fe64ab0c49045d1fb8983b7b2b5bd996e767508446ac76506b074ded10feef1f9256918 DIST git-manpages-2.0.5.tar.xz 359000 SHA256 3cf1581da2a19c0651df445ee5f801e108619befe8965e01d61faa46ca57b642 SHA512 b3981565a34a203283801b86717386971ef53c2f5c47bdde290aa0df4d62045ecbcab1ff1b4d1d8ddf7d489e74d65b0208d87ace7ca8c8be9525be548e445425 WHIRLPOOL e8c78eb38cb3192455ccb991a4ce5cd3988d06f1f06cdf0722e4ce6fb1d4e57f618058cf07d312bcab4f5821a1b1dfc016c03626d4f3429d3e5ef089607a2801 @@ -31,3 +33,4 @@ DIST git-manpages-2.4.6.tar.xz 373408 SHA256 f32d267bdaab75812dbd116d2b329d6dc72 DIST git-manpages-2.4.7.tar.xz 373568 SHA256 cbf3171d93edea466325809c26c6946716402f7f9ae32e31e97384b2a96377f9 SHA512 e3c59ef02824d553257d5cc78e727ceca75cf1c6ba68375fe6482812ec5ff8684319ada2c38c00574509958bff0f3af732c509726f02e48517c6a8f84ea4f154 WHIRLPOOL 1be4ef465d3446ec8ae4c5ddb25f2fe66ec4b9d116a5789176e83513606cbcd70ecf07038d86903acc93a52a187d99a7c62d3593bc0d7b43a4a7af4ccac6c7ac DIST git-manpages-2.4.8.tar.xz 373596 SHA256 47558ec88776e66e6f3e3625b7efdaf2e8ad447cb7af199d60d0788d7f4438c4 SHA512 bb5dc6d7a9af05f2f5a3665f0bac29e5a08919412d69cc756981c88eaa6cf5b8cbe93e04e1aa10d2a48706178eb33a547f416ee191bdb8d25483212aa7e30e5e WHIRLPOOL 0b4ab3099b6604f17a6ff741a9d752c76772ca4f7a02e55db4cbff1e14878c3bdcb25d5e4a71dd2f7a81525475aea35d9ef09d203d949984d95ef02f9865f33c DIST git-manpages-2.5.0.tar.xz 377856 SHA256 1a6ea7220b1693eb384af0978a990ea8c0c634a7869d1ef63a2c8e427fc7f6ea SHA512 b3a5f2e8107c529ce81c1570a82472195e205ff1a8ddc75f4f0cbbf25f37a916700156df4418888c8a8a153ab58d5507a31027fb31faadeb5d4ba242847ab28d WHIRLPOOL 09f13622fff6a2b04a8ad584dab54c0b17cbfc6e803ca9e2deadab18071e50b50b37e395bb4746aff2e013f5b0025f8cdb1d439d8e6f3a659fad32646b30f4c7 +DIST git-manpages-2.5.1.tar.xz 378028 SHA256 6e403070ee71678acad0b7f53bc5327e13b42cebccc6769177fe0b4a11f042e3 SHA512 bfb421a1a7e50483b3d9c0fe6d1ec9047c4aef48b0a59b854e8adfc8a19054d14ae524fcd0ced9edfb797ea3e01fcf3f6a02b8a2f1cc0e947efd444654063b7d WHIRLPOOL d2342a9945d31741397a0be7e1a89cf4b0ce3165555dfabca33cbadba9f1e33ba6f8004a8b539ccc1462aeb27d865bf9c194884741639615d24148966eb59d47 diff --git a/dev-vcs/git/git-2.5.1.ebuild b/dev-vcs/git/git-2.5.1.ebuild new file mode 100644 index 000000000000..352b93a6807b --- /dev/null +++ b/dev-vcs/git/git-2.5.1.ebuild @@ -0,0 +1,636 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +GENTOO_DEPEND_ON_PERL=no + +# bug #329479: git-remote-testgit is not multiple-version aware +PYTHON_COMPAT=( python2_7 ) +[[ ${PV} == *9999 ]] && SCM="git-2" +EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git" +EGIT_MASTER=pu + +inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python-single-r1 systemd ${SCM} + +MY_PV="${PV/_rc/.rc}" +MY_P="${PN}-${MY_PV}" + +DOC_VER=${MY_PV} + +DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team" +HOMEPAGE="http://www.git-scm.com/" +if [[ ${PV} != *9999 ]]; then + SRC_URI_SUFFIX="xz" + SRC_URI_GOOG="https://git-core.googlecode.com/files" + SRC_URI_KORG="mirror://kernel/software/scm/git" + SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX} + ${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX} + ${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} + ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} + doc? ( + ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} + ${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} + )" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test" + +# Common to both DEPEND and RDEPEND +CDEPEND=" + dev-libs/openssl:0= + sys-libs/zlib + pcre? ( dev-libs/libpcre ) + perl? ( dev-lang/perl:=[-build(-)] ) + tk? ( dev-lang/tk:0= ) + curl? ( + net-misc/curl + webdav? ( dev-libs/expat ) + ) + emacs? ( virtual/emacs ) + gnome-keyring? ( gnome-base/libgnome-keyring )" + +RDEPEND="${CDEPEND} + gpg? ( app-crypt/gnupg ) + mediawiki? ( + dev-perl/HTML-Tree + dev-perl/MediaWiki-API + ) + perl? ( dev-perl/Error + dev-perl/Net-SMTP-SSL + dev-perl/Authen-SASL + cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) ) + cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite ) + subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey ) + ) + python? ( gtk? + ( + >=dev-python/pygtk-2.8[${PYTHON_USEDEP}] + >=dev-python/pygtksourceview-2.10.1-r1:2[${PYTHON_USEDEP}] + ) + ${PYTHON_DEPS} )" + +# This is how info docs are created with Git: +# .txt/asciidoc --(asciidoc)---------> .xml/docbook +# .xml/docbook --(docbook2texi.pl)--> .texi +# .texi --(makeinfo)---------> .info +DEPEND="${CDEPEND} + doc? ( + app-text/asciidoc + app-text/docbook2X + sys-apps/texinfo + app-text/xmlto + ) + nls? ( sys-devel/gettext ) + test? ( app-crypt/gnupg )" + +# Live ebuild builds man pages and HTML docs, additionally +if [[ ${PV} == *9999 ]]; then + DEPEND="${DEPEND} + app-text/asciidoc" +fi + +SITEFILE=50${PN}-gentoo.el +S="${WORKDIR}/${MY_P}" + +REQUIRED_USE=" + cgi? ( perl ) + cvs? ( perl ) + mediawiki? ( perl ) + subversion? ( perl ) + webdav? ( curl ) + gtk? ( python ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +pkg_setup() { + if use subversion && has_version "dev-vcs/subversion[dso]"; then + ewarn "Per Gentoo bugs #223747, #238586, when subversion is built" + ewarn "with USE=dso, there may be weird crashes in git-svn. You" + ewarn "have been warned." + fi + if use python ; then + python-single-r1_pkg_setup + fi +} + +# This is needed because for some obscure reasons future calls to make don't +# pick up these exports if we export them in src_unpack() +exportmakeopts() { + local myopts + + if use blksha1 ; then + myopts+=" BLK_SHA1=YesPlease" + elif use ppcsha1 ; then + myopts+=" PPC_SHA1=YesPlease" + fi + + if use curl ; then + use webdav || myopts+=" NO_EXPAT=YesPlease" + else + myopts+=" NO_CURL=YesPlease" + fi + + # broken assumptions, because of broken build system ... + myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease" + myopts+=" INSTALL=install TAR=tar" + myopts+=" SHELL_PATH=${EPREFIX}/bin/sh" + myopts+=" SANE_TOOL_PATH=" + myopts+=" OLD_ICONV=" + myopts+=" NO_EXTERNAL_GREP=" + + # For svn-fe + 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 + + use iconv \ + || myopts+=" NO_ICONV=YesPlease" + use nls \ + || myopts+=" NO_GETTEXT=YesPlease" + use tk \ + || myopts+=" NO_TCLTK=YesPlease" + use pcre \ + && myopts+=" USE_LIBPCRE=yes" \ + && extlibs+=" -lpcre" + use perl \ + && myopts+=" INSTALLDIRS=vendor" \ + || myopts+=" NO_PERL=YesPlease" + use python \ + || myopts+=" NO_PYTHON=YesPlease" + use subversion \ + || myopts+=" NO_SVN_TESTS=YesPlease" + use threads \ + && myopts+=" THREADED_DELTA_SEARCH=YesPlease" \ + || myopts+=" NO_PTHREADS=YesPlease" + use cvs \ + || myopts+=" NO_CVS=YesPlease" +# Disabled until ~m68k-mint can be keyworded again +# if [[ ${CHOST} == *-mint* ]] ; then +# myopts+=" NO_MMAP=YesPlease" +# myopts+=" NO_IPV6=YesPlease" +# myopts+=" NO_STRLCPY=YesPlease" +# myopts+=" NO_MEMMEM=YesPlease" +# myopts+=" NO_MKDTEMP=YesPlease" +# myopts+=" NO_MKSTEMPS=YesPlease" +# fi + if [[ ${CHOST} == ia64-*-hpux* ]]; then + myopts+=" NO_NSEC=YesPlease" + fi + if [[ ${CHOST} == *-*-aix* ]]; then + myopts+=" NO_FNMATCH_CASEFOLD=YesPlease" + fi + if [[ ${CHOST} == *-solaris* ]]; then + myopts+=" NEEDS_LIBICONV=YesPlease" + fi + + has_version '>=app-text/asciidoc-8.0' \ + && myopts+=" ASCIIDOC8=YesPlease" + myopts+=" ASCIIDOC_NO_ROFF=YesPlease" + + # Bug 290465: + # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim' + [[ "${CHOST}" == *-uclibc* ]] && \ + myopts+=" NO_NSEC=YesPlease" + + export MY_MAKEOPTS="${myopts}" + export EXTLIBS="${extlibs}" +} + +src_unpack() { + if [[ ${PV} != *9999 ]]; then + unpack ${MY_P}.tar.${SRC_URI_SUFFIX} + cd "${S}" + unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} + use doc && \ + cd "${S}"/Documentation && \ + unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} + cd "${S}" + else + git-2_src_unpack + cd "${S}" + #cp "${FILESDIR}"/GIT-VERSION-GEN . + fi + +} + +src_prepare() { + # bug #350330 - automagic CVS when we don't want it is bad. + epatch "${FILESDIR}"/git-2.2.2-optional-cvs.patch + + # install mediawiki perl modules also in vendor_dir + # hack, needs better upstream solution + epatch "${FILESDIR}"/git-1.8.5-mw-vendor.patch + + epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch + + epatch_user + + sed -i \ + -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \ + -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \ + -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \ + -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \ + -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ + -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ + Makefile contrib/svn-fe/Makefile || die "sed failed" + + # Never install the private copy of Error.pm (bug #296310) + sed -i \ + -e '/private-Error.pm/s,^,#,' \ + perl/Makefile.PL + + # Fix docbook2texi command + sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \ + Documentation/Makefile || die "sed failed" + + # Fix git-subtree missing DESTDIR + sed -i \ + -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \ + -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \ + contrib/subtree/Makefile +} + +git_emake() { + # bug #326625: PERL_PATH, PERL_MM_OPT + # bug #320647: PYTHON_PATH + PYTHON_PATH="" + use python && PYTHON_PATH="${PYTHON}" + emake ${MY_MAKEOPTS} \ + DESTDIR="${D}" \ + OPTCFLAGS="${CFLAGS}" \ + OPTLDFLAGS="${LDFLAGS}" \ + OPTCC="$(tc-getCC)" \ + OPTAR="$(tc-getAR)" \ + prefix="${EPREFIX}"/usr \ + htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \ + sysconfdir="${EPREFIX}"/etc \ + PYTHON_PATH="${PYTHON_PATH}" \ + PERL_MM_OPT="" \ + GIT_TEST_OPTS="--no-color" \ + V=1 \ + "$@" + # This is the fix for bug #326625, but it also causes breakage, see bug + # #352693. + # PERL_PATH="${EPREFIX}/usr/bin/env perl" \ +} + +src_configure() { + exportmakeopts +} + +src_compile() { + if use perl ; then + git_emake perl/PM.stamp || die "emake perl/PM.stamp failed" + git_emake perl/perl.mak || die "emake perl/perl.mak failed" + fi + git_emake || die "emake failed" + + if use emacs ; then + elisp-compile contrib/emacs/git{,-blame}.el + fi + + if use perl && use cgi ; then + git_emake \ + gitweb \ + || die "emake gitweb (cgi) failed" + fi + + if [[ ${CHOST} == *-darwin* ]]; then + cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain" + git_emake || die "emake credential-osxkeychain" + fi + + cd "${S}"/Documentation + if [[ ${PV} == *9999 ]] ; then + git_emake man \ + || die "emake man failed" + if use doc ; then + git_emake info html \ + || die "emake info html failed" + fi + else + if use doc ; then + git_emake info \ + || die "emake info html failed" + fi + fi + + if use subversion ; then + cd "${S}"/contrib/svn-fe + # 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" + if use doc ; then + git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed" + fi + cd "${S}" + fi + + if use gnome-keyring ; then + cd "${S}"/contrib/credential/gnome-keyring + git_emake || die "emake git-credential-gnome-keyring failed" + fi + + cd "${S}"/contrib/subtree + git_emake + use doc && git_emake doc + + if use mediawiki ; then + cd "${S}"/contrib/mw-to-git + git_emake + fi +} + +src_install() { + git_emake \ + install || \ + die "make install failed" + + if [[ ${CHOST} == *-darwin* ]]; then + dobin contrib/credential/osxkeychain/git-credential-osxkeychain + fi + + # Depending on the tarball and manual rebuild of the documentation, the + # manpages may exist in either OR both of these directories. + find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157] + find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157] + + dodoc README Documentation/{SubmittingPatches,CodingGuidelines} + use doc && dodir /usr/share/doc/${PF}/html + for d in / /howto/ /technical/ ; do + docinto ${d} + dodoc Documentation${d}*.txt + use doc && dohtml -p ${d} Documentation${d}*.html + done + docinto / + # Upstream does not ship this pre-built :-( + use doc && doinfo Documentation/{git,gitman}.info + + newbashcomp contrib/completion/git-completion.bash ${PN} + bashcomp_alias git gitk + # Not really a bash-completion file (bug #477920) + # but still needed uncompressed (bug #507480) + insinto /usr/share/${PN} + doins contrib/completion/git-prompt.sh + + if use emacs ; then + elisp-install ${PN} contrib/emacs/git.{el,elc} + elisp-install ${PN} contrib/emacs/git-blame.{el,elc} + #elisp-install ${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}/${PN}/compat/.nosearch" + elisp-site-file-install "${FILESDIR}"/${SITEFILE} + fi + + if use python && use gtk ; then + python_doscript "${S}"/contrib/gitview/gitview + dodoc "${S}"/contrib/gitview/gitview.txt + fi + + #dobin contrib/fast-import/git-p4 # Moved upstream + #dodoc contrib/fast-import/git-p4.txt # Moved upstream + newbin contrib/fast-import/import-tars.perl import-tars + exeinto /usr/libexec/git-core/ + newexe contrib/git-resurrect.sh git-resurrect + + # git-subtree + cd "${S}"/contrib/subtree + git_emake install || die "Failed to emake install git-subtree" + if use doc ; then + git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree" + fi + newdoc README README.git-subtree + dodoc git-subtree.txt + cd "${S}" + + if use mediawiki ; then + cd "${S}"/contrib/mw-to-git + git_emake install + cd "${S}" + fi + + # diff-highlight + dobin contrib/diff-highlight/diff-highlight + newdoc contrib/diff-highlight/README README.diff-highlight + + # git-jump + exeinto /usr/libexec/git-core/ + doexe contrib/git-jump/git-jump + newdoc contrib/git-jump/README git-jump.txt + + # git-contacts + exeinto /usr/libexec/git-core/ + doexe contrib/contacts/git-contacts + dodoc contrib/contacts/git-contacts.txt + + if use gnome-keyring ; then + cd "${S}"/contrib/credential/gnome-keyring + dobin git-credential-gnome-keyring + fi + + if use subversion ; then + cd "${S}"/contrib/svn-fe + dobin svn-fe + dodoc svn-fe.txt + use doc && doman svn-fe.1 && dohtml svn-fe.html + cd "${S}" + fi + + dodir /usr/share/${PN}/contrib + # The following are excluded: + # completion - installed above + # credential/gnome-keyring TODO + # diff-highlight - done above + # emacs - installed above + # examples - these are stuff that is not used in Git anymore actually + # git-jump - done above + # gitview - installed above + # p4import - excluded because fast-import has a better one + # patches - stuff the Git guys made to go upstream to other places + # persistent-https - TODO + # mw-to-git - TODO + # subtree - build seperately + # svnimport - use git-svn + # thunderbird-patch-inline - fixes thunderbird + for i in \ + buildsystems convert-objects fast-import \ + hg-to-git hooks remotes2config.sh rerere-train.sh \ + stats workdir \ + ; do + cp -rf \ + "${S}"/contrib/${i} \ + "${ED}"/usr/share/${PN}/contrib \ + || die "Failed contrib ${i}" + done + + if use perl && use cgi ; then + # We used to install in /usr/share/${PN}/gitweb + # but upstream installs in /usr/share/gitweb + # so we will install a symlink and use their location for compat with other + # distros + dosym /usr/share/gitweb /usr/share/${PN}/gitweb + + # INSTALL discusses configuration issues, not just installation + docinto / + newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb + newdoc "${S}"/gitweb/README README.gitweb + + find "${ED}"/usr/lib64/perl5/ \ + -name .packlist \ + -exec rm \{\} \; + else + rm -rf "${ED}"/usr/share/gitweb + fi + + if ! use subversion ; then + rm -f "${ED}"/usr/libexec/git-core/git-svn \ + "${ED}"/usr/share/man/man1/git-svn.1* + fi + + if use xinetd ; then + insinto /etc/xinetd.d + newins "${FILESDIR}"/git-daemon.xinetd git-daemon + fi + + if use !prefix ; then + newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon + newconfd "${FILESDIR}"/git-daemon.confd git-daemon + systemd_newunit "${FILESDIR}/git-daemon_at.service" "git-daemon@.service" + systemd_dounit "${FILESDIR}/git-daemon.socket" + fi + + perl_delete_localpod +} + +src_test() { + local disabled="" #t7004-tag.sh" #520270 + local tests_cvs="t9200-git-cvsexportcommit.sh \ + t9400-git-cvsserver-server.sh \ + t9401-git-cvsserver-crlf.sh \ + t9402-git-cvsserver-refs.sh \ + t9600-cvsimport.sh \ + t9601-cvsimport-vendor-branch.sh \ + t9602-cvsimport-branches-tags.sh \ + t9603-cvsimport-patchsets.sh \ + t9604-cvsimport-timestamps.sh" + local tests_perl="t3701-add-interactive.sh \ + t5502-quickfetch.sh \ + t5512-ls-remote.sh \ + t5520-pull.sh \ + t7106-reset-unborn-branch.sh \ + t7501-commit.sh" + # Bug #225601 - t0004 is not suitable for root perm + # Bug #219839 - t1004 is not suitable for root perm + # t0001-init.sh - check for init notices EPERM* fails + local tests_nonroot="t0001-init.sh \ + t0004-unwritable.sh \ + t0070-fundamental.sh \ + t1004-read-tree-m-u-wf.sh \ + t3700-add.sh \ + t7300-clean.sh" + # t9100 still fails with symlinks in SVN 1.7 + local test_svn="t9100-git-svn-basic.sh" + + # Unzip is used only for the testcase code, not by any normal parts of Git. + if ! has_version app-arch/unzip ; then + einfo "Disabling tar-tree tests" + disabled="${disabled} t5000-tar-tree.sh" + fi + + cvs=0 + use cvs && let cvs=$cvs+1 + if [[ ${EUID} -eq 0 ]]; then + if [[ $cvs -eq 1 ]]; then + ewarn "Skipping CVS tests because CVS does not work as root!" + ewarn "You should retest with FEATURES=userpriv!" + disabled="${disabled} ${tests_cvs}" + fi + einfo "Skipping other tests that require being non-root" + disabled="${disabled} ${tests_nonroot}" + else + [[ $cvs -gt 0 ]] && \ + has_version dev-vcs/cvs && \ + let cvs=$cvs+1 + [[ $cvs -gt 1 ]] && \ + has_version "dev-vcs/cvs[server]" && \ + let cvs=$cvs+1 + if [[ $cvs -lt 3 ]]; then + einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])" + disabled="${disabled} ${tests_cvs}" + fi + fi + + if ! use perl ; then + einfo "Disabling tests that need Perl" + disabled="${disabled} ${tests_perl}" + fi + + einfo "Disabling tests that fail with SVN 1.7" + disabled="${disabled} ${test_svn}" + + # Reset all previously disabled tests + cd "${S}/t" + for i in *.sh.DISABLED ; do + [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}" + done + einfo "Disabled tests:" + for i in ${disabled} ; do + [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i" + done + + # Avoid the test system removing the results because we want them ourselves + sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \ + -i "${S}"/t/Makefile + + # Clean old results first, must always run + cd "${S}/t" + nonfatal git_emake clean + + # Now run the tests, keep going if we hit an error, and don't terminate on + # failure + cd "${S}" + einfo "Start test run" + #MAKEOPTS=-j1 + nonfatal git_emake --keep-going test + rc=$? + + # Display nice results, now print the results + cd "${S}/t" + nonfatal git_emake aggregate-results + + # And bail if there was a problem + [ $rc -eq 0 ] || die "tests failed. Please file a bug." +} + +showpkgdeps() { + local pkg=$1 + shift + elog " $(printf "%-17s:" ${pkg}) ${@}" +} + +pkg_postinst() { + use emacs && elisp-site-regen + einfo "Please read /usr/share/bash-completion/git for Git bash command completion" + einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt" + einfo "Note that the prompt bash code is now in that separate script" + elog "These additional scripts need some dependencies:" + echo + showpkgdeps git-quiltimport "dev-util/quilt" + showpkgdeps git-instaweb \ + "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )" + echo +} + +pkg_postrm() { + use emacs && elisp-site-regen +} |