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