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, 29 Sep 2015 07:52:06
Message-Id: 1443513112.6653c78c19e25213eacf59aaa0f8834f555b20de.polynomial-c@gentoo
1 commit: 6653c78c19e25213eacf59aaa0f8834f555b20de
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Tue Sep 29 07:48:40 2015 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Tue Sep 29 07:51:52 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6653c78c
7
8 dev-vcs/git: Bump to version 2.6.0
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.0.ebuild | 640 +++++++++++++++++++++++++++++++++++++++++++
15 2 files changed, 643 insertions(+)
16
17 diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
18 index caeaad1..0a7a34b 100644
19 --- a/dev-vcs/git/Manifest
20 +++ b/dev-vcs/git/Manifest
21 @@ -10,6 +10,7 @@ DIST git-2.4.8.tar.xz 3692460 SHA256 c7d2019d3c3b742862b252dcabb3d870b649e1af3fc
22 DIST git-2.4.9.tar.xz 3692824 SHA256 0f5fba41639d3224fee02f40393e2053ee9468fa7b88d64c5b97f7e65667bd2b SHA512 d5df1f725d5af8449e091ee50f6c4371c2b1699d80d499321a751ecf6c61d75c6c3a286ea60661ae1608bf92c94e2c8977ad08731e153830bd5c5b4587d8ba82 WHIRLPOOL a670eeb5abbcf844324b2444d87ecc9eb8c2899d6f37da6aef9f27edbe53d90086907642aac14536396b61d4520cd4e7b77124f4d54cc7f9f9e5a769741e4d03
23 DIST git-2.5.2.tar.xz 3744080 SHA256 4b4760a90ede51accee703bd6815f1f79afef68670acdcf3ea31dcc846a40c9b SHA512 b553aa521ac43c33323fc9ceed084a411fb5924ee48f6f30808152dd1185f36d339678788d05d8e62099d496be22a4b6b0242529505cff702884c394e13c58aa WHIRLPOOL 4049a000ccbdeeb1b2882b34484cfabac9ba7ef672644c3eb708075b5fbe63e17599fc908e056ddf25f3bb5c34e42d0354c3d951e4ba1978a51caeb20a285ae7
24 DIST git-2.5.3.tar.xz 3745096 SHA256 124d29d857a1282fd2111cf4a021f156e8bae917f455b4551b2aea87f0453a1a SHA512 ab73d67f76ec8a6350995c692eefa7ab60ae13590d5d7c2fbd3ec1105a8d435ec1b156106fd6c3d6b51080a27f3ebd66bbf0a85042b697bc835143d9f625474e WHIRLPOOL e0c0fde0b263fd4847c21353ec81449baf6f1d5631aed4fdaa41dab2665159b528d7c477dacaef4efb2786ecaf3c0bd44ef3a589765543eee9726e70c5207d66
25 +DIST git-2.6.0.tar.xz 3808872 SHA256 211beb96ff41a83727e39704431ac388ecb1cebb5219cda067999bce4e1e15a6 SHA512 efcde5fa3ac56d577e25259e74f19026438ccf8888b79429eec2f141bb2a63bb83e73f65b1ea96bcc1f9f894fb90ec1b5ea81b9f0c1806d25352f6b266e7202a WHIRLPOOL de703ba5d4024a6205bb795330b1ed06c70b01fad311739c59d837e7b2c7cad27bfbcd7cae0ac18378a8baa9d0fc0a5341665c312d7749cbb488b14456745ad1
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 @@ -22,6 +23,7 @@ DIST git-htmldocs-2.4.8.tar.xz 996004 SHA256 73c9ac3b42da1d3427bfa91c3266c6b7df3
30 DIST git-htmldocs-2.4.9.tar.xz 995724 SHA256 6000eb00fee2adc4d5a8fd8ace857049e6fb623aa7ec9087d983c29953319cd6 SHA512 42905ae5383e5f0444ec868a1d742bada31cf25eac582b95ab6e6334a3dfefd05d2e08a1c2f7c0354a841703cbac2c6dc25437ca9f681a5bb0a121dc94d2d938 WHIRLPOOL 9791ab122cf680f060d274c6a7bcdd1aaf0660f83ed4e91073fed1dd2f2b16e96e938fcbf04e03373768b8036e3f8dd0be54639f8d24bce59501c970e4225d73
31 DIST git-htmldocs-2.5.2.tar.xz 1008940 SHA256 87e416455a293552c2bab46fb3ec75424e2143e6f98f5ce7bcb6d4e50c4020eb SHA512 5276e5aa82845d7a661a2f79d54d1b3e7a95f95220bd4b855cf8c6c13ed456d8c80682c3ccae280317172c515733968a0a61758e3a634a8f1b1a08a6e43f04fb WHIRLPOOL 9d431116146cbcf5adb5e05848f31712a64dfb45301bc85bb2ff3f3c04587349bfdea85c8f6be67c43af09b8ffe4b1458f128db85438ff7913b2b2bb049f8374
32 DIST git-htmldocs-2.5.3.tar.xz 1009248 SHA256 f87465b5f6d01ceccb314b3e0a3749d642bea1007b0bc78afba868d75413d85e SHA512 7e5bcb85c270c740aa619d3cedd81e4f9bab989a8785512faab70cbd5029c021972b0574083272bed85324bf9372bf52f7b52827030133e09618731bf927f36f WHIRLPOOL f17c063c5b6e2a3cb7d25810b26f909bd09e281963e56029290c754b8f38bf7dba446405e96e4c49244db0bb60176b34852ac3f9a5b1d61c886eb90c2391efd8
33 +DIST git-htmldocs-2.6.0.tar.xz 1016192 SHA256 0ba5d5d630e3235b74bcfb4ea2e9bbda8a3e619aaaf9e1f56e12dec5d8dc1d87 SHA512 11d17ee8fe6537efba323887ccb64fe9c905b293d3d06f4c0f0b3da4283a7ac5b5bf840055bb9f96d28121aecce074d86feebaa2a407291ec812246308aefa1e WHIRLPOOL 7e08864790a3e5c584e85acd6aca15bfddea846df9ca423c2dfe1332da2283b8fb9ee462639733f35e4842d27a895b59db0e29e3e4636d525131b47c2851b139
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 @@ -34,3 +36,4 @@ DIST git-manpages-2.4.8.tar.xz 373596 SHA256 47558ec88776e66e6f3e3625b7efdaf2e8a
38 DIST git-manpages-2.4.9.tar.xz 373644 SHA256 0adc425adb13d669fcc90fa28d5fff3e64d8c9feb49d0565ec031b7bddcc4e02 SHA512 0df6359b8119b023b2d375bba08539cad4c0718184c5027b99827490fc17bbcff5da227a9b13bbdb5a82a45567cb83984dab050faafea1b7939532397f6688a0 WHIRLPOOL 20b8e34bfa4c5c20cf92368676f3a98949ed8c12a9c5b90f7cd052387492afb0e1521bf328e4bff43c4e8aeff8784d88b79498e47bffd093bc751e49046034e9
39 DIST git-manpages-2.5.2.tar.xz 378032 SHA256 76512caa7044710f9954079828218cd94ab17da34effd3bdd9db2434d18720c2 SHA512 f9a9d9f4d96c19550702ac7eaa94a9308e1c7b39e1290baf81ab74709398db97261a884d8e9e1c71c899dd17cc485fede276c25c601cf7dfa6384b18170915a1 WHIRLPOOL 35f89e546f949499a2efcb4c47c361f3f89f5c952e18748703999d9186b40977b09abfadc63c1e10c06c183f1338109b80ddb0c9501a3baa0f82cac40bc8218a
40 DIST git-manpages-2.5.3.tar.xz 378000 SHA256 c5d8e9036be741924cf2614f0178a10f0c7d7b1d3efef96c1a08c751596cae3a SHA512 ed5a736b6ad22469ff7677434d046f331b0b4f7bbab8d14baa7a376bf44b384ffcc37ce1a99278d0fa69d8a058df21de1f8300a72cb2ad4b781543aac5100752 WHIRLPOOL f914d116e8aafd76a5decbfc945a6a3826814cda04d471716aeede4923eda79da61e809d888890b545b78811afd9b85c354540d9af06206e9402f1815c19e914
41 +DIST git-manpages-2.6.0.tar.xz 380940 SHA256 94c45cf2353f8e1bbb6b56b6f54289203319db4cc38d94f53fcfb8dc3b669615 SHA512 3173f77da6fab0f5ac5d46a206b18fe69083ee74288326af63bc3938fb359e16a0cf5490f71ea8b11ba54117871caff7b4022e698ecd328c028b27eebc711724 WHIRLPOOL c76454026f747a5e68c3a195b99471b2f012013ccd6b305a7ac4c396dd463476a8fff68017dc631198e2fc309c3f28a2373883b6b376166168e57ceff624dba5
42
43 diff --git a/dev-vcs/git/git-2.6.0.ebuild b/dev-vcs/git/git-2.6.0.ebuild
44 new file mode 100644
45 index 0000000..c38a8ea
46 --- /dev/null
47 +++ b/dev-vcs/git/git-2.6.0.ebuild
48 @@ -0,0 +1,640 @@
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_user
285 +
286 + sed -i \
287 + -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
288 + -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
289 + -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
290 + -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
291 + -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
292 + -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
293 + Makefile contrib/svn-fe/Makefile || die "sed failed"
294 +
295 + # Never install the private copy of Error.pm (bug #296310)
296 + sed -i \
297 + -e '/private-Error.pm/s,^,#,' \
298 + perl/Makefile.PL
299 +
300 + # Fix docbook2texi command
301 + sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
302 + Documentation/Makefile || die "sed failed"
303 +
304 + # Fix git-subtree missing DESTDIR
305 + sed -i \
306 + -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
307 + -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
308 + contrib/subtree/Makefile
309 +}
310 +
311 +git_emake() {
312 + # bug #326625: PERL_PATH, PERL_MM_OPT
313 + # bug #320647: PYTHON_PATH
314 + PYTHON_PATH=""
315 + use python && PYTHON_PATH="${PYTHON}"
316 + emake ${MY_MAKEOPTS} \
317 + DESTDIR="${D}" \
318 + OPTCFLAGS="${CFLAGS}" \
319 + OPTLDFLAGS="${LDFLAGS}" \
320 + OPTCC="$(tc-getCC)" \
321 + OPTAR="$(tc-getAR)" \
322 + prefix="${EPREFIX}"/usr \
323 + htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
324 + sysconfdir="${EPREFIX}"/etc \
325 + PYTHON_PATH="${PYTHON_PATH}" \
326 + PERL_MM_OPT="" \
327 + GIT_TEST_OPTS="--no-color" \
328 + V=1 \
329 + "$@"
330 + # This is the fix for bug #326625, but it also causes breakage, see bug
331 + # #352693.
332 + # PERL_PATH="${EPREFIX}/usr/bin/env perl" \
333 +}
334 +
335 +src_configure() {
336 + exportmakeopts
337 +}
338 +
339 +src_compile() {
340 + if use perl ; then
341 + git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
342 + git_emake perl/perl.mak || die "emake perl/perl.mak failed"
343 + fi
344 + git_emake || die "emake failed"
345 +
346 + if use emacs ; then
347 + elisp-compile contrib/emacs/git{,-blame}.el
348 + fi
349 +
350 + if use perl && use cgi ; then
351 + git_emake \
352 + gitweb \
353 + || die "emake gitweb (cgi) failed"
354 + fi
355 +
356 + if [[ ${CHOST} == *-darwin* ]]; then
357 + cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
358 + git_emake || die "emake credential-osxkeychain"
359 + fi
360 +
361 + cd "${S}"/Documentation
362 + if [[ ${PV} == *9999 ]] ; then
363 + git_emake man \
364 + || die "emake man failed"
365 + if use doc ; then
366 + git_emake info html \
367 + || die "emake info html failed"
368 + fi
369 + else
370 + if use doc ; then
371 + git_emake info \
372 + || die "emake info html failed"
373 + fi
374 + fi
375 +
376 + if use subversion ; then
377 + cd "${S}"/contrib/svn-fe
378 + # by defining EXTLIBS we override the detection for libintl and
379 + # libiconv, bug #516168
380 + local nlsiconv=
381 + use nls && use !elibc_glibc && nlsiconv+=" -lintl"
382 + use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
383 + git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
384 + if use doc ; then
385 + git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
386 + fi
387 + cd "${S}"
388 + fi
389 +
390 + if use gnome-keyring ; then
391 + cd "${S}"/contrib/credential/gnome-keyring
392 + git_emake || die "emake git-credential-gnome-keyring failed"
393 + fi
394 +
395 + cd "${S}"/contrib/subtree
396 + git_emake
397 + use doc && git_emake doc
398 +
399 + if use mediawiki ; then
400 + cd "${S}"/contrib/mw-to-git
401 + git_emake
402 + fi
403 +}
404 +
405 +src_install() {
406 + git_emake \
407 + install || \
408 + die "make install failed"
409 +
410 + if [[ ${CHOST} == *-darwin* ]]; then
411 + dobin contrib/credential/osxkeychain/git-credential-osxkeychain
412 + fi
413 +
414 + # Depending on the tarball and manual rebuild of the documentation, the
415 + # manpages may exist in either OR both of these directories.
416 + find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
417 + find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
418 +
419 + dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
420 + use doc && dodir /usr/share/doc/${PF}/html
421 + for d in / /howto/ /technical/ ; do
422 + docinto ${d}
423 + dodoc Documentation${d}*.txt
424 + use doc && dohtml -p ${d} Documentation${d}*.html
425 + done
426 + docinto /
427 + # Upstream does not ship this pre-built :-(
428 + use doc && doinfo Documentation/{git,gitman}.info
429 +
430 + newbashcomp contrib/completion/git-completion.bash ${PN}
431 + bashcomp_alias git gitk
432 + # Not really a bash-completion file (bug #477920)
433 + # but still needed uncompressed (bug #507480)
434 + insinto /usr/share/${PN}
435 + doins contrib/completion/git-prompt.sh
436 +
437 + if use emacs ; then
438 + elisp-install ${PN} contrib/emacs/git.{el,elc}
439 + elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
440 + #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
441 + # don't add automatically to the load-path, so the sitefile
442 + # can do a conditional loading
443 + touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
444 + elisp-site-file-install "${FILESDIR}"/${SITEFILE}
445 + fi
446 +
447 + if use python && use gtk ; then
448 + python_doscript "${S}"/contrib/gitview/gitview
449 + dodoc "${S}"/contrib/gitview/gitview.txt
450 + fi
451 +
452 + #dobin contrib/fast-import/git-p4 # Moved upstream
453 + #dodoc contrib/fast-import/git-p4.txt # Moved upstream
454 + newbin contrib/fast-import/import-tars.perl import-tars
455 + exeinto /usr/libexec/git-core/
456 + newexe contrib/git-resurrect.sh git-resurrect
457 +
458 + # git-subtree
459 + cd "${S}"/contrib/subtree
460 + git_emake install || die "Failed to emake install git-subtree"
461 + if use doc ; then
462 + git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
463 + fi
464 + newdoc README README.git-subtree
465 + dodoc git-subtree.txt
466 + cd "${S}"
467 +
468 + if use mediawiki ; then
469 + cd "${S}"/contrib/mw-to-git
470 + git_emake install
471 + cd "${S}"
472 + fi
473 +
474 + # diff-highlight
475 + dobin contrib/diff-highlight/diff-highlight
476 + newdoc contrib/diff-highlight/README README.diff-highlight
477 +
478 + # git-jump
479 + exeinto /usr/libexec/git-core/
480 + doexe contrib/git-jump/git-jump
481 + newdoc contrib/git-jump/README git-jump.txt
482 +
483 + # git-contacts
484 + exeinto /usr/libexec/git-core/
485 + doexe contrib/contacts/git-contacts
486 + dodoc contrib/contacts/git-contacts.txt
487 +
488 + if use gnome-keyring ; then
489 + cd "${S}"/contrib/credential/gnome-keyring
490 + dobin git-credential-gnome-keyring
491 + fi
492 +
493 + if use subversion ; then
494 + cd "${S}"/contrib/svn-fe
495 + dobin svn-fe
496 + dodoc svn-fe.txt
497 + use doc && doman svn-fe.1 && dohtml svn-fe.html
498 + cd "${S}"
499 + fi
500 +
501 + dodir /usr/share/${PN}/contrib
502 + # The following are excluded:
503 + # completion - installed above
504 + # credential/gnome-keyring TODO
505 + # diff-highlight - done above
506 + # emacs - installed above
507 + # examples - these are stuff that is not used in Git anymore actually
508 + # git-jump - done above
509 + # gitview - installed above
510 + # p4import - excluded because fast-import has a better one
511 + # patches - stuff the Git guys made to go upstream to other places
512 + # persistent-https - TODO
513 + # mw-to-git - TODO
514 + # subtree - build seperately
515 + # svnimport - use git-svn
516 + # thunderbird-patch-inline - fixes thunderbird
517 + for i in \
518 + buildsystems convert-objects fast-import \
519 + hg-to-git hooks remotes2config.sh rerere-train.sh \
520 + stats workdir \
521 + ; do
522 + cp -rf \
523 + "${S}"/contrib/${i} \
524 + "${ED}"/usr/share/${PN}/contrib \
525 + || die "Failed contrib ${i}"
526 + done
527 +
528 + if use perl && use cgi ; then
529 + # We used to install in /usr/share/${PN}/gitweb
530 + # but upstream installs in /usr/share/gitweb
531 + # so we will install a symlink and use their location for compat with other
532 + # distros
533 + dosym /usr/share/gitweb /usr/share/${PN}/gitweb
534 +
535 + # INSTALL discusses configuration issues, not just installation
536 + docinto /
537 + newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
538 + newdoc "${S}"/gitweb/README README.gitweb
539 +
540 + find "${ED}"/usr/lib64/perl5/ \
541 + -name .packlist \
542 + -exec rm \{\} \;
543 + else
544 + rm -rf "${ED}"/usr/share/gitweb
545 + fi
546 +
547 + if ! use subversion ; then
548 + rm -f "${ED}"/usr/libexec/git-core/git-svn \
549 + "${ED}"/usr/share/man/man1/git-svn.1*
550 + fi
551 +
552 + if use xinetd ; then
553 + insinto /etc/xinetd.d
554 + newins "${FILESDIR}"/git-daemon.xinetd git-daemon
555 + fi
556 +
557 + if use !prefix ; then
558 + newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
559 + newconfd "${FILESDIR}"/git-daemon.confd git-daemon
560 + systemd_newunit "${FILESDIR}/git-daemon_at.service" "git-daemon@.service"
561 + systemd_dounit "${FILESDIR}/git-daemon.socket"
562 + fi
563 +
564 + perl_delete_localpod
565 +}
566 +
567 +src_test() {
568 + local disabled="" #t7004-tag.sh" #520270
569 + local tests_cvs="t9200-git-cvsexportcommit.sh \
570 + t9400-git-cvsserver-server.sh \
571 + t9401-git-cvsserver-crlf.sh \
572 + t9402-git-cvsserver-refs.sh \
573 + t9600-cvsimport.sh \
574 + t9601-cvsimport-vendor-branch.sh \
575 + t9602-cvsimport-branches-tags.sh \
576 + t9603-cvsimport-patchsets.sh \
577 + t9604-cvsimport-timestamps.sh"
578 + local tests_perl="t3701-add-interactive.sh \
579 + t5502-quickfetch.sh \
580 + t5512-ls-remote.sh \
581 + t5520-pull.sh \
582 + t7106-reset-unborn-branch.sh \
583 + t7501-commit.sh"
584 + # Bug #225601 - t0004 is not suitable for root perm
585 + # Bug #219839 - t1004 is not suitable for root perm
586 + # t0001-init.sh - check for init notices EPERM* fails
587 + local tests_nonroot="t0001-init.sh \
588 + t0004-unwritable.sh \
589 + t0070-fundamental.sh \
590 + t1004-read-tree-m-u-wf.sh \
591 + t3700-add.sh \
592 + t7300-clean.sh"
593 + # t9100 still fails with symlinks in SVN 1.7
594 + local test_svn="t9100-git-svn-basic.sh"
595 +
596 + # Unzip is used only for the testcase code, not by any normal parts of Git.
597 + if ! has_version app-arch/unzip ; then
598 + einfo "Disabling tar-tree tests"
599 + disabled="${disabled} t5000-tar-tree.sh"
600 + fi
601 +
602 + cvs=0
603 + use cvs && let cvs=$cvs+1
604 + if [[ ${EUID} -eq 0 ]]; then
605 + if [[ $cvs -eq 1 ]]; then
606 + ewarn "Skipping CVS tests because CVS does not work as root!"
607 + ewarn "You should retest with FEATURES=userpriv!"
608 + disabled="${disabled} ${tests_cvs}"
609 + fi
610 + einfo "Skipping other tests that require being non-root"
611 + disabled="${disabled} ${tests_nonroot}"
612 + else
613 + [[ $cvs -gt 0 ]] && \
614 + has_version dev-vcs/cvs && \
615 + let cvs=$cvs+1
616 + [[ $cvs -gt 1 ]] && \
617 + has_version "dev-vcs/cvs[server]" && \
618 + let cvs=$cvs+1
619 + if [[ $cvs -lt 3 ]]; then
620 + einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
621 + disabled="${disabled} ${tests_cvs}"
622 + fi
623 + fi
624 +
625 + if ! use perl ; then
626 + einfo "Disabling tests that need Perl"
627 + disabled="${disabled} ${tests_perl}"
628 + fi
629 +
630 + einfo "Disabling tests that fail with SVN 1.7"
631 + disabled="${disabled} ${test_svn}"
632 +
633 + # Reset all previously disabled tests
634 + cd "${S}/t"
635 + for i in *.sh.DISABLED ; do
636 + [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
637 + done
638 + einfo "Disabled tests:"
639 + for i in ${disabled} ; do
640 + [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
641 + done
642 +
643 + # Avoid the test system removing the results because we want them ourselves
644 + sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
645 + -i "${S}"/t/Makefile
646 +
647 + # Clean old results first, must always run
648 + cd "${S}/t"
649 + nonfatal git_emake clean
650 +
651 + # Now run the tests, keep going if we hit an error, and don't terminate on
652 + # failure
653 + cd "${S}"
654 + einfo "Start test run"
655 + #MAKEOPTS=-j1
656 + nonfatal git_emake --keep-going test
657 + rc=$?
658 +
659 + # Display nice results, now print the results
660 + cd "${S}/t"
661 + nonfatal git_emake aggregate-results
662 +
663 + # And bail if there was a problem
664 + [ $rc -eq 0 ] || die "tests failed. Please file a bug."
665 +}
666 +
667 +showpkgdeps() {
668 + local pkg=$1
669 + shift
670 + elog " $(printf "%-17s:" ${pkg}) ${@}"
671 +}
672 +
673 +pkg_postinst() {
674 + use emacs && elisp-site-regen
675 + einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
676 + einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
677 + einfo "Note that the prompt bash code is now in that separate script"
678 + elog "These additional scripts need some dependencies:"
679 + echo
680 + showpkgdeps git-quiltimport "dev-util/quilt"
681 + showpkgdeps git-instaweb \
682 + "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
683 + echo
684 +}
685 +
686 +pkg_postrm() {
687 + use emacs && elisp-site-regen
688 +}