Gentoo Archives: gentoo-commits

From: "Andreas HAttel (dilfridge)" <dilfridge@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-libs/icu: icu-54.1-r1.ebuild icu-53.1-r3.ebuild ChangeLog icu-53.1-r1.ebuild
Date: Sat, 07 Feb 2015 17:47:10
Message-Id: 20150207174706.675871143C@oystercatcher.gentoo.org
1 dilfridge 15/02/07 17:47:06
2
3 Modified: ChangeLog
4 Added: icu-54.1-r1.ebuild icu-53.1-r3.ebuild
5 Removed: icu-53.1-r1.ebuild
6 Log:
7 Backport patch for CVE-2014-9654, bug 539108. Unfortunately this does bad things to a header file, so forcing a rebuild by mangling subslots...
8
9 (Portage version: 2.2.15/cvs/Linux x86_64, signed Manifest commit with key 84AD142F)
10
11 Revision Changes Path
12 1.293 dev-libs/icu/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/icu/ChangeLog?rev=1.293&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/icu/ChangeLog?rev=1.293&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/icu/ChangeLog?r1=1.292&r2=1.293
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/dev-libs/icu/ChangeLog,v
21 retrieving revision 1.292
22 retrieving revision 1.293
23 diff -u -r1.292 -r1.293
24 --- ChangeLog 1 Feb 2015 17:00:52 -0000 1.292
25 +++ ChangeLog 7 Feb 2015 17:47:06 -0000 1.293
26 @@ -1,6 +1,15 @@
27 # ChangeLog for dev-libs/icu
28 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/ChangeLog,v 1.292 2015/02/01 17:00:52 mgorny Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/ChangeLog,v 1.293 2015/02/07 17:47:06 dilfridge Exp $
31 +
32 +*icu-54.1-r1 (07 Feb 2015)
33 +*icu-53.1-r3 (07 Feb 2015)
34 +
35 + 07 Feb 2015; Andreas K. Huettel <dilfridge@g.o> -icu-53.1-r1.ebuild,
36 + +icu-53.1-r3.ebuild, +icu-54.1-r1.ebuild,
37 + +files/icu-54.1-CVE-2014-9654.patch:
38 + Backport patch for CVE-2014-9654, bug 539108. Unfortunately this does bad
39 + things to a header file, so forcing a rebuild by mangling subslots...
40
41 *icu-54.1 (01 Feb 2015)
42
43
44
45
46 1.1 dev-libs/icu/icu-54.1-r1.ebuild
47
48 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/icu/icu-54.1-r1.ebuild?rev=1.1&view=markup
49 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/icu/icu-54.1-r1.ebuild?rev=1.1&content-type=text/plain
50
51 Index: icu-54.1-r1.ebuild
52 ===================================================================
53 # Copyright 1999-2015 Gentoo Foundation
54 # Distributed under the terms of the GNU General Public License v2
55 # $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/icu-54.1-r1.ebuild,v 1.1 2015/02/07 17:47:06 dilfridge Exp $
56
57 EAPI=5
58
59 inherit eutils flag-o-matic toolchain-funcs autotools multilib-minimal
60
61 DESCRIPTION="International Components for Unicode"
62 HOMEPAGE="http://www.icu-project.org/"
63 SRC_URI="http://download.icu-project.org/files/icu4c/${PV/_/}/icu4c-${PV//./_}-src.tgz"
64
65 LICENSE="BSD"
66
67 SLOT="0/54a"
68
69 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
70 IUSE="debug doc examples static-libs"
71
72 DEPEND="
73 doc? (
74 app-doc/doxygen[dot]
75 )
76 "
77
78 S="${WORKDIR}/${PN}/source"
79
80 MULTILIB_CHOST_TOOLS=(
81 /usr/bin/icu-config
82 )
83
84 src_prepare() {
85 local variable
86
87 epatch "${FILESDIR}/${PN}-remove-bashisms.patch"
88 epatch "${FILESDIR}/${P}-CVE-2014-9654.patch"
89 epatch_user
90
91 # Disable renaming as it is stupind thing to do
92 sed -i \
93 -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
94 common/unicode/uconfig.h || die
95
96 # Fix linking of icudata
97 sed -i \
98 -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
99 config/mh-linux || die
100
101 # Append doxygen configuration to configure
102 sed -i \
103 -e 's:icudefs.mk:icudefs.mk Doxyfile:' \
104 configure.ac || die
105
106 eautoreconf
107 }
108
109 src_configure() {
110 # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
111 append-cxxflags -std=gnu++98
112
113 if tc-is-cross-compiler; then
114 mkdir "${WORKDIR}"/host || die
115 pushd "${WORKDIR}"/host >/dev/null || die
116
117 CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
118 CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
119 RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
120 "${S}"/configure --disable-renaming --disable-debug \
121 --disable-samples --enable-static || die
122 emake
123
124 popd >/dev/null || die
125 fi
126
127 multilib-minimal_src_configure
128 }
129
130 multilib_src_configure() {
131 local myeconfargs=(
132 --disable-renaming
133 --disable-samples
134 $(use_enable debug)
135 $(use_enable static-libs static)
136 )
137
138 multilib_is_native_abi && myeconfargs+=(
139 $(use_enable examples samples)
140 )
141 tc-is-cross-compiler && myeconfargs+=(
142 --with-cross-build="${WORKDIR}"/host
143 )
144
145 # icu tries to use clang by default
146 tc-export CC CXX
147
148 ECONF_SOURCE=${S} \
149 econf "${myeconfargs[@]}"
150 }
151
152 multilib_src_compile() {
153 default
154
155 if multilib_is_native_abi && use doc; then
156 doxygen -u Doxyfile || die
157 doxygen Doxyfile || die
158 fi
159 }
160
161 multilib_src_test() {
162 # INTLTEST_OPTS: intltest options
163 # -e: Exhaustive testing
164 # -l: Reporting of memory leaks
165 # -v: Increased verbosity
166 # IOTEST_OPTS: iotest options
167 # -e: Exhaustive testing
168 # -v: Increased verbosity
169 # CINTLTST_OPTS: cintltst options
170 # -e: Exhaustive testing
171 # -v: Increased verbosity
172 emake -j1 VERBOSE="1" check
173 }
174
175 multilib_src_install() {
176 default
177
178 if multilib_is_native_abi && use doc; then
179 dohtml -p api -r doc/html/
180 fi
181 }
182
183 multilib_src_install_all() {
184 einstalldocs
185 dohtml ../readme.html
186 }
187
188
189
190 1.1 dev-libs/icu/icu-53.1-r3.ebuild
191
192 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/icu/icu-53.1-r3.ebuild?rev=1.1&view=markup
193 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/icu/icu-53.1-r3.ebuild?rev=1.1&content-type=text/plain
194
195 Index: icu-53.1-r3.ebuild
196 ===================================================================
197 # Copyright 1999-2015 Gentoo Foundation
198 # Distributed under the terms of the GNU General Public License v2
199 # $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/icu-53.1-r3.ebuild,v 1.1 2015/02/07 17:47:06 dilfridge Exp $
200
201 EAPI=5
202
203 inherit eutils toolchain-funcs autotools multilib-minimal
204
205 DESCRIPTION="International Components for Unicode"
206 HOMEPAGE="http://www.icu-project.org/"
207 SRC_URI="http://download.icu-project.org/files/icu4c/${PV/_/}/icu4c-${PV//./_}-src.tgz"
208
209 LICENSE="BSD"
210
211 SLOT="0/53a"
212
213 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
214 IUSE="debug doc examples static-libs"
215
216 DEPEND="
217 doc? (
218 app-doc/doxygen[dot]
219 )
220 "
221
222 S="${WORKDIR}/${PN}/source"
223
224 src_prepare() {
225 local variable
226
227 epatch "${FILESDIR}/icu-fix-tests-depending-on-date.patch"
228 epatch "${FILESDIR}/${PN}-remove-bashisms.patch"
229 epatch "${FILESDIR}/${PN}-54.1-CVE-2014-9654.patch"
230
231 epatch_user
232
233 # Do not hardcode flags in icu-config and icu-*.pc files.
234 # https://ssl.icu-project.org/trac/ticket/6102
235 for variable in CFLAGS CPPFLAGS CXXFLAGS FFLAGS LDFLAGS; do
236 sed \
237 -e "/^${variable} =.*/s: *@${variable}@\( *$\)\?::" \
238 -i config/icu.pc.in \
239 -i config/Makefile.inc.in \
240 || die
241 done
242
243 # Disable renaming as it is stupind thing to do
244 sed -i \
245 -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
246 common/unicode/uconfig.h || die
247
248 # Fix linking of icudata
249 sed -i \
250 -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
251 config/mh-linux || die
252
253 # Append doxygen configuration to configure
254 sed -i \
255 -e 's:icudefs.mk:icudefs.mk Doxyfile:' \
256 configure.ac || die
257 eautoreconf
258 }
259
260 src_configure() {
261 if tc-is-cross-compiler; then
262 mkdir "${WORKDIR}"/host || die
263 pushd "${WORKDIR}"/host >/dev/null || die
264
265 CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
266 CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
267 RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
268 "${S}"/configure --disable-renaming --disable-debug \
269 --disable-samples --enable-static || die
270 emake
271
272 popd >/dev/null || die
273 fi
274
275 multilib-minimal_src_configure
276 }
277
278 multilib_src_configure() {
279 local myeconfargs=(
280 --disable-renaming
281 --disable-samples
282 $(use_enable debug)
283 $(use_enable static-libs static)
284 )
285
286 multilib_is_native_abi && myeconfargs+=(
287 $(use_enable examples samples)
288 )
289 tc-is-cross-compiler && myeconfargs+=(
290 --with-cross-build="${WORKDIR}"/host
291 )
292
293 # icu tries to use clang by default
294 tc-export CC CXX
295
296 ECONF_SOURCE=${S} \
297 econf "${myeconfargs[@]}"
298 }
299
300 multilib_src_compile() {
301 default
302
303 if multilib_is_native_abi && use doc; then
304 doxygen -u Doxyfile || die
305 doxygen Doxyfile || die
306 fi
307 }
308
309 multilib_src_test() {
310 # INTLTEST_OPTS: intltest options
311 # -e: Exhaustive testing
312 # -l: Reporting of memory leaks
313 # -v: Increased verbosity
314 # IOTEST_OPTS: iotest options
315 # -e: Exhaustive testing
316 # -v: Increased verbosity
317 # CINTLTST_OPTS: cintltst options
318 # -e: Exhaustive testing
319 # -v: Increased verbosity
320 emake -j1 VERBOSE="1" check
321 }
322
323 multilib_src_install() {
324 default
325
326 if multilib_is_native_abi && use doc; then
327 dohtml -p api -r doc/html/
328 fi
329 }
330
331 multilib_src_install_all() {
332 einstalldocs
333 dohtml ../readme.html
334 }