Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/
Date: Tue, 06 Oct 2015 07:30:27
Message-Id: 1444116608.26a12c9ac600ca30fda05f4ea1f7241c634aea73.polynomial-c@gentoo
1 commit: 26a12c9ac600ca30fda05f4ea1f7241c634aea73
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Tue Oct 6 07:27:57 2015 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Tue Oct 6 07:30:08 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=26a12c9a
7
8 dev-vcs/git: Bump to version 2.6.1
9
10 Package-Manager: portage-2.2.22
11 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
12
13 dev-vcs/git/Manifest | 3 +
14 dev-vcs/git/git-2.6.1.ebuild | 642 +++++++++++++++++++++++++++++++++++++++++++
15 2 files changed, 645 insertions(+)
16
17 diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
18 index affb401..b393aa2 100644
19 --- a/dev-vcs/git/Manifest
20 +++ b/dev-vcs/git/Manifest
21 @@ -9,6 +9,7 @@ DIST git-2.4.6.tar.xz 3690432 SHA256 bdd944571c03474517b6c9941d6f1fd735eccbb164e
22 DIST git-2.4.9.tar.xz 3692824 SHA256 0f5fba41639d3224fee02f40393e2053ee9468fa7b88d64c5b97f7e65667bd2b SHA512 d5df1f725d5af8449e091ee50f6c4371c2b1699d80d499321a751ecf6c61d75c6c3a286ea60661ae1608bf92c94e2c8977ad08731e153830bd5c5b4587d8ba82 WHIRLPOOL a670eeb5abbcf844324b2444d87ecc9eb8c2899d6f37da6aef9f27edbe53d90086907642aac14536396b61d4520cd4e7b77124f4d54cc7f9f9e5a769741e4d03
23 DIST git-2.5.3.tar.xz 3745096 SHA256 124d29d857a1282fd2111cf4a021f156e8bae917f455b4551b2aea87f0453a1a SHA512 ab73d67f76ec8a6350995c692eefa7ab60ae13590d5d7c2fbd3ec1105a8d435ec1b156106fd6c3d6b51080a27f3ebd66bbf0a85042b697bc835143d9f625474e WHIRLPOOL e0c0fde0b263fd4847c21353ec81449baf6f1d5631aed4fdaa41dab2665159b528d7c477dacaef4efb2786ecaf3c0bd44ef3a589765543eee9726e70c5207d66
24 DIST git-2.6.0.tar.xz 3808872 SHA256 211beb96ff41a83727e39704431ac388ecb1cebb5219cda067999bce4e1e15a6 SHA512 efcde5fa3ac56d577e25259e74f19026438ccf8888b79429eec2f141bb2a63bb83e73f65b1ea96bcc1f9f894fb90ec1b5ea81b9f0c1806d25352f6b266e7202a WHIRLPOOL de703ba5d4024a6205bb795330b1ed06c70b01fad311739c59d837e7b2c7cad27bfbcd7cae0ac18378a8baa9d0fc0a5341665c312d7749cbb488b14456745ad1
25 +DIST git-2.6.1.tar.xz 3811268 SHA256 fc7c727745d5eb0d796a16dc7c4b999c184830110e0aeb592c788597cc8e9ccd SHA512 55516aeaa73baf180135a0812bfcb35e26699db034688049a11b4ec98faa6c23582e78a1a72a87332116bb88a2d7e9565ccc7891de883b82ad7524ee2809a25e WHIRLPOOL d25217692cd428fa1d436fa16e8b7d8996377fe4af1a0b4ea29faf8ed85115c7a3fcfe359949ebfbfdac1630f5af43cb894d26d31f7e0984dfab422d6651a2ae
26 DIST git-htmldocs-1.8.5.6.tar.gz 2242475 SHA256 7c8e955d0798686fa030ba7b7b384a2eab2b74d5bd695d82faecac2e247bd211 SHA512 c9b2752bcdd7f8f817b14e99ab2743d153e3e7549bffb2aa98999e46d1e965d045850ec6a3e9f6bc83e6e4820ce20f281c33f946ebd2be16d275b85a5ddaee36 WHIRLPOOL 7db3fb74e6b51618890acfef8fb89ab09adf653d3196e82624671194bdb2b564b903429ffecf68b28faf96ce3ebb83b534459738d48ace048d873c158621d31c
27 DIST git-htmldocs-1.9.5.tar.gz 2262251 SHA256 4fa289e259d6b922a51d11a687203612aa1aad5696eb83b4e67c0de8a785700f SHA512 2df975c33d3411a97ab5a684b03998b7cd188d05bae6813c753fe2092b0acf463dec49a7a546d315f520fd9c71281da41998d0f36f64f48d4f95507a034a083b WHIRLPOOL edc252ce58b31f001c0d225f0b40b3689028bd34b1cbbdd889d645d37a2931e9039f76f12e5a0f918579a0b9c5dd1f3171af2bb58ee42972411ca33ec0ebe8f2
28 DIST git-htmldocs-2.0.5.tar.xz 944792 SHA256 90eaf745d6ee197718fdde9c98919918ad1e4e3576608e4522b84c612cd9ef2a SHA512 e9b3d92d466762c9c7e164e9c30ff0046b262bf4707ea057e3a682f7b15a4f8149a9aaf2630f117dc3b508744cd688c6c0087cc94ff3477e7f3b85513160d7f3 WHIRLPOOL 35970d099304a5ab174fc93f8496a0c651a259dcaa3d23a2dd0233f8db214ae94a26e28044a87460d4654e61440427d331ceeac290335d6ae3fcf0423175bba9
29 @@ -20,6 +21,7 @@ DIST git-htmldocs-2.4.6.tar.xz 994712 SHA256 5213e8b882293ec3cda247dabbc75c6ee52
30 DIST git-htmldocs-2.4.9.tar.xz 995724 SHA256 6000eb00fee2adc4d5a8fd8ace857049e6fb623aa7ec9087d983c29953319cd6 SHA512 42905ae5383e5f0444ec868a1d742bada31cf25eac582b95ab6e6334a3dfefd05d2e08a1c2f7c0354a841703cbac2c6dc25437ca9f681a5bb0a121dc94d2d938 WHIRLPOOL 9791ab122cf680f060d274c6a7bcdd1aaf0660f83ed4e91073fed1dd2f2b16e96e938fcbf04e03373768b8036e3f8dd0be54639f8d24bce59501c970e4225d73
31 DIST git-htmldocs-2.5.3.tar.xz 1009248 SHA256 f87465b5f6d01ceccb314b3e0a3749d642bea1007b0bc78afba868d75413d85e SHA512 7e5bcb85c270c740aa619d3cedd81e4f9bab989a8785512faab70cbd5029c021972b0574083272bed85324bf9372bf52f7b52827030133e09618731bf927f36f WHIRLPOOL f17c063c5b6e2a3cb7d25810b26f909bd09e281963e56029290c754b8f38bf7dba446405e96e4c49244db0bb60176b34852ac3f9a5b1d61c886eb90c2391efd8
32 DIST git-htmldocs-2.6.0.tar.xz 1016192 SHA256 0ba5d5d630e3235b74bcfb4ea2e9bbda8a3e619aaaf9e1f56e12dec5d8dc1d87 SHA512 11d17ee8fe6537efba323887ccb64fe9c905b293d3d06f4c0f0b3da4283a7ac5b5bf840055bb9f96d28121aecce074d86feebaa2a407291ec812246308aefa1e WHIRLPOOL 7e08864790a3e5c584e85acd6aca15bfddea846df9ca423c2dfe1332da2283b8fb9ee462639733f35e4842d27a895b59db0e29e3e4636d525131b47c2851b139
33 +DIST git-htmldocs-2.6.1.tar.xz 1016516 SHA256 791487ebd5a25456d41d8825ef450fdf3214898a328028d01acdb21a668052da SHA512 da0500da633deb185c59c45296ca9ffa631f0e1fc2e8bb5163b4c1913cc21610dc723aa415706e7433246b2604fa2e84222a25f97987f55a9d544d9c2ddac300 WHIRLPOOL 3f31ed5b0d7b78851fdc21c3e885ac34d2901381a9d845f534708b94040b3728ad58c47dae24d1a9ce8a5778d6cd9983815746f4a9c5eaca0ee4f2279da37cd6
34 DIST git-manpages-1.8.5.6.tar.gz 569061 SHA256 58ef7cb3121639b8d78e2e4c4f7f886bab57af9e9e137b10f372dfad573872c1 SHA512 a524a1c7e8bdc73ffe04bebb5c7050a18c8649b98714bf255c8e3c32a2443d8d5abf33e3ca2eb108d601f01e0bda50fed1e134ffdae87bcf6f551cbbd250c4ba WHIRLPOOL 2db62b96e972dbcbec1ac59d7244bf2c2ff7140c941d1d3c6b9062bd79b80541d7fa3982c5a3bc55a18fc9112ab3fa648966be5c3e1135ab7b5c89080bee82b6
35 DIST git-manpages-1.9.5.tar.gz 571625 SHA256 37cc735c4ced6574e8e93349d52d30372fc6f9fe3de3d6b9934a14857d6aade8 SHA512 e3df3e933fed6ff2845989a0146b28789452e9583bc19dd4a9ad335f64b15feffbdc4dd7cdb9d6b5216f7f85837318cf9b10df033f8022777f91c2b0894fb231 WHIRLPOOL e25d77fd8d9cacb92d45fd50640bc65189d02d7e23b276ccaf3b35ba1fe64ab0c49045d1fb8983b7b2b5bd996e767508446ac76506b074ded10feef1f9256918
36 DIST git-manpages-2.0.5.tar.xz 359000 SHA256 3cf1581da2a19c0651df445ee5f801e108619befe8965e01d61faa46ca57b642 SHA512 b3981565a34a203283801b86717386971ef53c2f5c47bdde290aa0df4d62045ecbcab1ff1b4d1d8ddf7d489e74d65b0208d87ace7ca8c8be9525be548e445425 WHIRLPOOL e8c78eb38cb3192455ccb991a4ce5cd3988d06f1f06cdf0722e4ce6fb1d4e57f618058cf07d312bcab4f5821a1b1dfc016c03626d4f3429d3e5ef089607a2801
37 @@ -31,3 +33,4 @@ DIST git-manpages-2.4.6.tar.xz 373408 SHA256 f32d267bdaab75812dbd116d2b329d6dc72
38 DIST git-manpages-2.4.9.tar.xz 373644 SHA256 0adc425adb13d669fcc90fa28d5fff3e64d8c9feb49d0565ec031b7bddcc4e02 SHA512 0df6359b8119b023b2d375bba08539cad4c0718184c5027b99827490fc17bbcff5da227a9b13bbdb5a82a45567cb83984dab050faafea1b7939532397f6688a0 WHIRLPOOL 20b8e34bfa4c5c20cf92368676f3a98949ed8c12a9c5b90f7cd052387492afb0e1521bf328e4bff43c4e8aeff8784d88b79498e47bffd093bc751e49046034e9
39 DIST git-manpages-2.5.3.tar.xz 378000 SHA256 c5d8e9036be741924cf2614f0178a10f0c7d7b1d3efef96c1a08c751596cae3a SHA512 ed5a736b6ad22469ff7677434d046f331b0b4f7bbab8d14baa7a376bf44b384ffcc37ce1a99278d0fa69d8a058df21de1f8300a72cb2ad4b781543aac5100752 WHIRLPOOL f914d116e8aafd76a5decbfc945a6a3826814cda04d471716aeede4923eda79da61e809d888890b545b78811afd9b85c354540d9af06206e9402f1815c19e914
40 DIST git-manpages-2.6.0.tar.xz 380940 SHA256 94c45cf2353f8e1bbb6b56b6f54289203319db4cc38d94f53fcfb8dc3b669615 SHA512 3173f77da6fab0f5ac5d46a206b18fe69083ee74288326af63bc3938fb359e16a0cf5490f71ea8b11ba54117871caff7b4022e698ecd328c028b27eebc711724 WHIRLPOOL c76454026f747a5e68c3a195b99471b2f012013ccd6b305a7ac4c396dd463476a8fff68017dc631198e2fc309c3f28a2373883b6b376166168e57ceff624dba5
41 +DIST git-manpages-2.6.1.tar.xz 381288 SHA256 e4cf64edcecd284d9ef4e6ca7fa0e8556d2414b5d9881a9abfe477f95b416391 SHA512 513a0692ef2b7db12c8eddcd69e6cb465d39138a5d7a6703458f262c8623fdf6324da64f434fef6f1bb7cf3705c9e17ed4555394a609aa4f8ae24c205dadc3a6 WHIRLPOOL 4a4058d6e0c6d0ccdf256b0e9faa31d49579a97f6268f7ae0cfcd0559152eb665e2d827295b3160f8e08c2a3240c3a0b2e51f6350a393a74ed64d3a4ebd473c8
42
43 diff --git a/dev-vcs/git/git-2.6.1.ebuild b/dev-vcs/git/git-2.6.1.ebuild
44 new file mode 100644
45 index 0000000..fa75f1e
46 --- /dev/null
47 +++ b/dev-vcs/git/git-2.6.1.ebuild
48 @@ -0,0 +1,642 @@
49 +# Copyright 1999-2015 Gentoo Foundation
50 +# Distributed under the terms of the GNU General Public License v2
51 +# $Id$
52 +
53 +EAPI=5
54 +
55 +GENTOO_DEPEND_ON_PERL=no
56 +
57 +# bug #329479: git-remote-testgit is not multiple-version aware
58 +PYTHON_COMPAT=( python2_7 )
59 +[[ ${PV} == *9999 ]] && SCM="git-2"
60 +EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
61 +EGIT_MASTER=pu
62 +
63 +inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
64 +
65 +MY_PV="${PV/_rc/.rc}"
66 +MY_P="${PN}-${MY_PV}"
67 +
68 +DOC_VER=${MY_PV}
69 +
70 +DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
71 +HOMEPAGE="http://www.git-scm.com/"
72 +if [[ ${PV} != *9999 ]]; then
73 + SRC_URI_SUFFIX="xz"
74 + SRC_URI_GOOG="https://git-core.googlecode.com/files"
75 + SRC_URI_KORG="mirror://kernel/software/scm/git"
76 + SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
77 + ${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
78 + ${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
79 + ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
80 + doc? (
81 + ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
82 + ${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
83 + )"
84 + 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"
85 +fi
86 +
87 +LICENSE="GPL-2"
88 +SLOT="0"
89 +IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
90 +
91 +# Common to both DEPEND and RDEPEND
92 +CDEPEND="
93 + !libressl? ( dev-libs/openssl:0= )
94 + libressl? ( dev-libs/libressl:= )
95 + sys-libs/zlib
96 + pcre? ( dev-libs/libpcre )
97 + perl? ( dev-lang/perl:=[-build(-)] )
98 + tk? ( dev-lang/tk:0= )
99 + curl? (
100 + net-misc/curl
101 + webdav? ( dev-libs/expat )
102 + )
103 + emacs? ( virtual/emacs )
104 + gnome-keyring? ( gnome-base/libgnome-keyring )"
105 +
106 +RDEPEND="${CDEPEND}
107 + gpg? ( app-crypt/gnupg )
108 + mediawiki? (
109 + dev-perl/HTML-Tree
110 + dev-perl/MediaWiki-API
111 + )
112 + perl? ( dev-perl/Error
113 + dev-perl/Net-SMTP-SSL
114 + dev-perl/Authen-SASL
115 + cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
116 + cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
117 + subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
118 + )
119 + python? ( gtk?
120 + (
121 + >=dev-python/pygtk-2.8[${PYTHON_USEDEP}]
122 + >=dev-python/pygtksourceview-2.10.1-r1:2[${PYTHON_USEDEP}]
123 + )
124 + ${PYTHON_DEPS} )"
125 +
126 +# This is how info docs are created with Git:
127 +# .txt/asciidoc --(asciidoc)---------> .xml/docbook
128 +# .xml/docbook --(docbook2texi.pl)--> .texi
129 +# .texi --(makeinfo)---------> .info
130 +DEPEND="${CDEPEND}
131 + doc? (
132 + app-text/asciidoc
133 + app-text/docbook2X
134 + sys-apps/texinfo
135 + app-text/xmlto
136 + )
137 + nls? ( sys-devel/gettext )
138 + test? ( app-crypt/gnupg )"
139 +
140 +# Live ebuild builds man pages and HTML docs, additionally
141 +if [[ ${PV} == *9999 ]]; then
142 + DEPEND="${DEPEND}
143 + app-text/asciidoc"
144 +fi
145 +
146 +SITEFILE=50${PN}-gentoo.el
147 +S="${WORKDIR}/${MY_P}"
148 +
149 +REQUIRED_USE="
150 + cgi? ( perl )
151 + cvs? ( perl )
152 + mediawiki? ( perl )
153 + subversion? ( perl )
154 + webdav? ( curl )
155 + gtk? ( python )
156 + python? ( ${PYTHON_REQUIRED_USE} )
157 +"
158 +
159 +pkg_setup() {
160 + if use subversion && has_version "dev-vcs/subversion[dso]"; then
161 + ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
162 + ewarn "with USE=dso, there may be weird crashes in git-svn. You"
163 + ewarn "have been warned."
164 + fi
165 + if use python ; then
166 + python-single-r1_pkg_setup
167 + fi
168 +}
169 +
170 +# This is needed because for some obscure reasons future calls to make don't
171 +# pick up these exports if we export them in src_unpack()
172 +exportmakeopts() {
173 + local myopts
174 +
175 + if use blksha1 ; then
176 + myopts+=" BLK_SHA1=YesPlease"
177 + elif use ppcsha1 ; then
178 + myopts+=" PPC_SHA1=YesPlease"
179 + fi
180 +
181 + if use curl ; then
182 + use webdav || myopts+=" NO_EXPAT=YesPlease"
183 + else
184 + myopts+=" NO_CURL=YesPlease"
185 + fi
186 +
187 + # broken assumptions, because of broken build system ...
188 + myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
189 + myopts+=" INSTALL=install TAR=tar"
190 + myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
191 + myopts+=" SANE_TOOL_PATH="
192 + myopts+=" OLD_ICONV="
193 + myopts+=" NO_EXTERNAL_GREP="
194 +
195 + # For svn-fe
196 + extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
197 +
198 + # can't define this to null, since the entire makefile depends on it
199 + sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
200 +
201 + use iconv \
202 + || myopts+=" NO_ICONV=YesPlease"
203 + use nls \
204 + || myopts+=" NO_GETTEXT=YesPlease"
205 + use tk \
206 + || myopts+=" NO_TCLTK=YesPlease"
207 + use pcre \
208 + && myopts+=" USE_LIBPCRE=yes" \
209 + && extlibs+=" -lpcre"
210 + use perl \
211 + && myopts+=" INSTALLDIRS=vendor" \
212 + || myopts+=" NO_PERL=YesPlease"
213 + use python \
214 + || myopts+=" NO_PYTHON=YesPlease"
215 + use subversion \
216 + || myopts+=" NO_SVN_TESTS=YesPlease"
217 + use threads \
218 + && myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
219 + || myopts+=" NO_PTHREADS=YesPlease"
220 + use cvs \
221 + || myopts+=" NO_CVS=YesPlease"
222 +# Disabled until ~m68k-mint can be keyworded again
223 +# if [[ ${CHOST} == *-mint* ]] ; then
224 +# myopts+=" NO_MMAP=YesPlease"
225 +# myopts+=" NO_IPV6=YesPlease"
226 +# myopts+=" NO_STRLCPY=YesPlease"
227 +# myopts+=" NO_MEMMEM=YesPlease"
228 +# myopts+=" NO_MKDTEMP=YesPlease"
229 +# myopts+=" NO_MKSTEMPS=YesPlease"
230 +# fi
231 + if [[ ${CHOST} == ia64-*-hpux* ]]; then
232 + myopts+=" NO_NSEC=YesPlease"
233 + fi
234 + if [[ ${CHOST} == *-*-aix* ]]; then
235 + myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
236 + fi
237 + if [[ ${CHOST} == *-solaris* ]]; then
238 + myopts+=" NEEDS_LIBICONV=YesPlease"
239 + fi
240 +
241 + has_version '>=app-text/asciidoc-8.0' \
242 + && myopts+=" ASCIIDOC8=YesPlease"
243 + myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
244 +
245 + # Bug 290465:
246 + # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
247 + [[ "${CHOST}" == *-uclibc* ]] && \
248 + myopts+=" NO_NSEC=YesPlease"
249 +
250 + export MY_MAKEOPTS="${myopts}"
251 + export EXTLIBS="${extlibs}"
252 +}
253 +
254 +src_unpack() {
255 + if [[ ${PV} != *9999 ]]; then
256 + unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
257 + cd "${S}"
258 + unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
259 + use doc && \
260 + cd "${S}"/Documentation && \
261 + unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
262 + cd "${S}"
263 + else
264 + git-2_src_unpack
265 + cd "${S}"
266 + #cp "${FILESDIR}"/GIT-VERSION-GEN .
267 + fi
268 +
269 +}
270 +
271 +src_prepare() {
272 + # bug #350330 - automagic CVS when we don't want it is bad.
273 + epatch "${FILESDIR}"/git-2.2.2-optional-cvs.patch
274 +
275 + # install mediawiki perl modules also in vendor_dir
276 + # hack, needs better upstream solution
277 + epatch "${FILESDIR}"/git-1.8.5-mw-vendor.patch
278 +
279 + epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
280 +
281 + # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
282 + epatch "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
283 +
284 + epatch "${FILESDIR}"/${PN}-2.6.0-send-email_connection_closed_fix.patch
285 +
286 + epatch_user
287 +
288 + sed -i \
289 + -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
290 + -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
291 + -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
292 + -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
293 + -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
294 + -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
295 + Makefile contrib/svn-fe/Makefile || die "sed failed"
296 +
297 + # Never install the private copy of Error.pm (bug #296310)
298 + sed -i \
299 + -e '/private-Error.pm/s,^,#,' \
300 + perl/Makefile.PL
301 +
302 + # Fix docbook2texi command
303 + sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
304 + Documentation/Makefile || die "sed failed"
305 +
306 + # Fix git-subtree missing DESTDIR
307 + sed -i \
308 + -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
309 + -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
310 + contrib/subtree/Makefile
311 +}
312 +
313 +git_emake() {
314 + # bug #326625: PERL_PATH, PERL_MM_OPT
315 + # bug #320647: PYTHON_PATH
316 + PYTHON_PATH=""
317 + use python && PYTHON_PATH="${PYTHON}"
318 + emake ${MY_MAKEOPTS} \
319 + DESTDIR="${D}" \
320 + OPTCFLAGS="${CFLAGS}" \
321 + OPTLDFLAGS="${LDFLAGS}" \
322 + OPTCC="$(tc-getCC)" \
323 + OPTAR="$(tc-getAR)" \
324 + prefix="${EPREFIX}"/usr \
325 + htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
326 + sysconfdir="${EPREFIX}"/etc \
327 + PYTHON_PATH="${PYTHON_PATH}" \
328 + PERL_MM_OPT="" \
329 + GIT_TEST_OPTS="--no-color" \
330 + V=1 \
331 + "$@"
332 + # This is the fix for bug #326625, but it also causes breakage, see bug
333 + # #352693.
334 + # PERL_PATH="${EPREFIX}/usr/bin/env perl" \
335 +}
336 +
337 +src_configure() {
338 + exportmakeopts
339 +}
340 +
341 +src_compile() {
342 + if use perl ; then
343 + git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
344 + git_emake perl/perl.mak || die "emake perl/perl.mak failed"
345 + fi
346 + git_emake || die "emake failed"
347 +
348 + if use emacs ; then
349 + elisp-compile contrib/emacs/git{,-blame}.el
350 + fi
351 +
352 + if use perl && use cgi ; then
353 + git_emake \
354 + gitweb \
355 + || die "emake gitweb (cgi) failed"
356 + fi
357 +
358 + if [[ ${CHOST} == *-darwin* ]]; then
359 + cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
360 + git_emake || die "emake credential-osxkeychain"
361 + fi
362 +
363 + cd "${S}"/Documentation
364 + if [[ ${PV} == *9999 ]] ; then
365 + git_emake man \
366 + || die "emake man failed"
367 + if use doc ; then
368 + git_emake info html \
369 + || die "emake info html failed"
370 + fi
371 + else
372 + if use doc ; then
373 + git_emake info \
374 + || die "emake info html failed"
375 + fi
376 + fi
377 +
378 + if use subversion ; then
379 + cd "${S}"/contrib/svn-fe
380 + # by defining EXTLIBS we override the detection for libintl and
381 + # libiconv, bug #516168
382 + local nlsiconv=
383 + use nls && use !elibc_glibc && nlsiconv+=" -lintl"
384 + use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
385 + git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
386 + if use doc ; then
387 + git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
388 + fi
389 + cd "${S}"
390 + fi
391 +
392 + if use gnome-keyring ; then
393 + cd "${S}"/contrib/credential/gnome-keyring
394 + git_emake || die "emake git-credential-gnome-keyring failed"
395 + fi
396 +
397 + cd "${S}"/contrib/subtree
398 + git_emake
399 + use doc && git_emake doc
400 +
401 + if use mediawiki ; then
402 + cd "${S}"/contrib/mw-to-git
403 + git_emake
404 + fi
405 +}
406 +
407 +src_install() {
408 + git_emake \
409 + install || \
410 + die "make install failed"
411 +
412 + if [[ ${CHOST} == *-darwin* ]]; then
413 + dobin contrib/credential/osxkeychain/git-credential-osxkeychain
414 + fi
415 +
416 + # Depending on the tarball and manual rebuild of the documentation, the
417 + # manpages may exist in either OR both of these directories.
418 + find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
419 + find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
420 +
421 + dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
422 + use doc && dodir /usr/share/doc/${PF}/html
423 + for d in / /howto/ /technical/ ; do
424 + docinto ${d}
425 + dodoc Documentation${d}*.txt
426 + use doc && dohtml -p ${d} Documentation${d}*.html
427 + done
428 + docinto /
429 + # Upstream does not ship this pre-built :-(
430 + use doc && doinfo Documentation/{git,gitman}.info
431 +
432 + newbashcomp contrib/completion/git-completion.bash ${PN}
433 + bashcomp_alias git gitk
434 + # Not really a bash-completion file (bug #477920)
435 + # but still needed uncompressed (bug #507480)
436 + insinto /usr/share/${PN}
437 + doins contrib/completion/git-prompt.sh
438 +
439 + if use emacs ; then
440 + elisp-install ${PN} contrib/emacs/git.{el,elc}
441 + elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
442 + #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
443 + # don't add automatically to the load-path, so the sitefile
444 + # can do a conditional loading
445 + touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
446 + elisp-site-file-install "${FILESDIR}"/${SITEFILE}
447 + fi
448 +
449 + if use python && use gtk ; then
450 + python_doscript "${S}"/contrib/gitview/gitview
451 + dodoc "${S}"/contrib/gitview/gitview.txt
452 + fi
453 +
454 + #dobin contrib/fast-import/git-p4 # Moved upstream
455 + #dodoc contrib/fast-import/git-p4.txt # Moved upstream
456 + newbin contrib/fast-import/import-tars.perl import-tars
457 + exeinto /usr/libexec/git-core/
458 + newexe contrib/git-resurrect.sh git-resurrect
459 +
460 + # git-subtree
461 + cd "${S}"/contrib/subtree
462 + git_emake install || die "Failed to emake install git-subtree"
463 + if use doc ; then
464 + git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
465 + fi
466 + newdoc README README.git-subtree
467 + dodoc git-subtree.txt
468 + cd "${S}"
469 +
470 + if use mediawiki ; then
471 + cd "${S}"/contrib/mw-to-git
472 + git_emake install
473 + cd "${S}"
474 + fi
475 +
476 + # diff-highlight
477 + dobin contrib/diff-highlight/diff-highlight
478 + newdoc contrib/diff-highlight/README README.diff-highlight
479 +
480 + # git-jump
481 + exeinto /usr/libexec/git-core/
482 + doexe contrib/git-jump/git-jump
483 + newdoc contrib/git-jump/README git-jump.txt
484 +
485 + # git-contacts
486 + exeinto /usr/libexec/git-core/
487 + doexe contrib/contacts/git-contacts
488 + dodoc contrib/contacts/git-contacts.txt
489 +
490 + if use gnome-keyring ; then
491 + cd "${S}"/contrib/credential/gnome-keyring
492 + dobin git-credential-gnome-keyring
493 + fi
494 +
495 + if use subversion ; then
496 + cd "${S}"/contrib/svn-fe
497 + dobin svn-fe
498 + dodoc svn-fe.txt
499 + use doc && doman svn-fe.1 && dohtml svn-fe.html
500 + cd "${S}"
501 + fi
502 +
503 + dodir /usr/share/${PN}/contrib
504 + # The following are excluded:
505 + # completion - installed above
506 + # credential/gnome-keyring TODO
507 + # diff-highlight - done above
508 + # emacs - installed above
509 + # examples - these are stuff that is not used in Git anymore actually
510 + # git-jump - done above
511 + # gitview - installed above
512 + # p4import - excluded because fast-import has a better one
513 + # patches - stuff the Git guys made to go upstream to other places
514 + # persistent-https - TODO
515 + # mw-to-git - TODO
516 + # subtree - build seperately
517 + # svnimport - use git-svn
518 + # thunderbird-patch-inline - fixes thunderbird
519 + for i in \
520 + buildsystems convert-objects fast-import \
521 + hg-to-git hooks remotes2config.sh rerere-train.sh \
522 + stats workdir \
523 + ; do
524 + cp -rf \
525 + "${S}"/contrib/${i} \
526 + "${ED}"/usr/share/${PN}/contrib \
527 + || die "Failed contrib ${i}"
528 + done
529 +
530 + if use perl && use cgi ; then
531 + # We used to install in /usr/share/${PN}/gitweb
532 + # but upstream installs in /usr/share/gitweb
533 + # so we will install a symlink and use their location for compat with other
534 + # distros
535 + dosym /usr/share/gitweb /usr/share/${PN}/gitweb
536 +
537 + # INSTALL discusses configuration issues, not just installation
538 + docinto /
539 + newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
540 + newdoc "${S}"/gitweb/README README.gitweb
541 +
542 + find "${ED}"/usr/lib64/perl5/ \
543 + -name .packlist \
544 + -exec rm \{\} \;
545 + else
546 + rm -rf "${ED}"/usr/share/gitweb
547 + fi
548 +
549 + if ! use subversion ; then
550 + rm -f "${ED}"/usr/libexec/git-core/git-svn \
551 + "${ED}"/usr/share/man/man1/git-svn.1*
552 + fi
553 +
554 + if use xinetd ; then
555 + insinto /etc/xinetd.d
556 + newins "${FILESDIR}"/git-daemon.xinetd git-daemon
557 + fi
558 +
559 + if use !prefix ; then
560 + newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
561 + newconfd "${FILESDIR}"/git-daemon.confd git-daemon
562 + systemd_newunit "${FILESDIR}/git-daemon_at.service" "git-daemon@.service"
563 + systemd_dounit "${FILESDIR}/git-daemon.socket"
564 + fi
565 +
566 + perl_delete_localpod
567 +}
568 +
569 +src_test() {
570 + local disabled="" #t7004-tag.sh" #520270
571 + local tests_cvs="t9200-git-cvsexportcommit.sh \
572 + t9400-git-cvsserver-server.sh \
573 + t9401-git-cvsserver-crlf.sh \
574 + t9402-git-cvsserver-refs.sh \
575 + t9600-cvsimport.sh \
576 + t9601-cvsimport-vendor-branch.sh \
577 + t9602-cvsimport-branches-tags.sh \
578 + t9603-cvsimport-patchsets.sh \
579 + t9604-cvsimport-timestamps.sh"
580 + local tests_perl="t3701-add-interactive.sh \
581 + t5502-quickfetch.sh \
582 + t5512-ls-remote.sh \
583 + t5520-pull.sh \
584 + t7106-reset-unborn-branch.sh \
585 + t7501-commit.sh"
586 + # Bug #225601 - t0004 is not suitable for root perm
587 + # Bug #219839 - t1004 is not suitable for root perm
588 + # t0001-init.sh - check for init notices EPERM* fails
589 + local tests_nonroot="t0001-init.sh \
590 + t0004-unwritable.sh \
591 + t0070-fundamental.sh \
592 + t1004-read-tree-m-u-wf.sh \
593 + t3700-add.sh \
594 + t7300-clean.sh"
595 + # t9100 still fails with symlinks in SVN 1.7
596 + local test_svn="t9100-git-svn-basic.sh"
597 +
598 + # Unzip is used only for the testcase code, not by any normal parts of Git.
599 + if ! has_version app-arch/unzip ; then
600 + einfo "Disabling tar-tree tests"
601 + disabled="${disabled} t5000-tar-tree.sh"
602 + fi
603 +
604 + cvs=0
605 + use cvs && let cvs=$cvs+1
606 + if [[ ${EUID} -eq 0 ]]; then
607 + if [[ $cvs -eq 1 ]]; then
608 + ewarn "Skipping CVS tests because CVS does not work as root!"
609 + ewarn "You should retest with FEATURES=userpriv!"
610 + disabled="${disabled} ${tests_cvs}"
611 + fi
612 + einfo "Skipping other tests that require being non-root"
613 + disabled="${disabled} ${tests_nonroot}"
614 + else
615 + [[ $cvs -gt 0 ]] && \
616 + has_version dev-vcs/cvs && \
617 + let cvs=$cvs+1
618 + [[ $cvs -gt 1 ]] && \
619 + has_version "dev-vcs/cvs[server]" && \
620 + let cvs=$cvs+1
621 + if [[ $cvs -lt 3 ]]; then
622 + einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
623 + disabled="${disabled} ${tests_cvs}"
624 + fi
625 + fi
626 +
627 + if ! use perl ; then
628 + einfo "Disabling tests that need Perl"
629 + disabled="${disabled} ${tests_perl}"
630 + fi
631 +
632 + einfo "Disabling tests that fail with SVN 1.7"
633 + disabled="${disabled} ${test_svn}"
634 +
635 + # Reset all previously disabled tests
636 + cd "${S}/t"
637 + for i in *.sh.DISABLED ; do
638 + [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
639 + done
640 + einfo "Disabled tests:"
641 + for i in ${disabled} ; do
642 + [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
643 + done
644 +
645 + # Avoid the test system removing the results because we want them ourselves
646 + sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
647 + -i "${S}"/t/Makefile
648 +
649 + # Clean old results first, must always run
650 + cd "${S}/t"
651 + nonfatal git_emake clean
652 +
653 + # Now run the tests, keep going if we hit an error, and don't terminate on
654 + # failure
655 + cd "${S}"
656 + einfo "Start test run"
657 + #MAKEOPTS=-j1
658 + nonfatal git_emake --keep-going test
659 + rc=$?
660 +
661 + # Display nice results, now print the results
662 + cd "${S}/t"
663 + nonfatal git_emake aggregate-results
664 +
665 + # And bail if there was a problem
666 + [ $rc -eq 0 ] || die "tests failed. Please file a bug."
667 +}
668 +
669 +showpkgdeps() {
670 + local pkg=$1
671 + shift
672 + elog " $(printf "%-17s:" ${pkg}) ${@}"
673 +}
674 +
675 +pkg_postinst() {
676 + use emacs && elisp-site-regen
677 + einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
678 + einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
679 + einfo "Note that the prompt bash code is now in that separate script"
680 + elog "These additional scripts need some dependencies:"
681 + echo
682 + showpkgdeps git-quiltimport "dev-util/quilt"
683 + showpkgdeps git-instaweb \
684 + "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
685 + echo
686 +}
687 +
688 +pkg_postrm() {
689 + use emacs && elisp-site-regen
690 +}