Gentoo Archives: gentoo-commits

From: Nathan Phillip Brink <binki@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/multilib-portage:master commit in: dev-python/pycairo/, dev-python/pycairo/files/
Date: Mon, 20 Feb 2012 03:51:36
Message-Id: 1329709876.16e3674d231ae99cf389246384659f28c0b19b21.binki@gentoo
1 commit: 16e3674d231ae99cf389246384659f28c0b19b21
2 Author: Nathan Phillip Brink <binki <AT> gentoo <DOT> org>
3 AuthorDate: Mon Feb 20 03:51:16 2012 +0000
4 Commit: Nathan Phillip Brink <binki <AT> gentoo <DOT> org>
5 CommitDate: Mon Feb 20 03:51:16 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/multilib-portage.git;a=commit;h=16e3674d
7
8 dev-python/pycairo: Fix bug #367293 for portage-multilib users by hackily patching waflib.
9
10 (Portage version: 2.2.0_alpha84-r1/git/Linux x86_64, RepoMan options: --force, signed Manifest commit with key 6BA81050)
11
12 ---
13 dev-python/pycairo/Manifest | 27 +++
14 .../pycairo/files/py2cairo-1.10.0-svg_check.patch | 126 +++++++++++++++
15 .../pycairo/files/pycairo-1.10.0-svg_check.patch | 126 +++++++++++++++
16 dev-python/pycairo/metadata.xml | 8 +
17 dev-python/pycairo/pycairo-1.10.0-r2.ebuild | 167 ++++++++++++++++++++
18 5 files changed, 454 insertions(+), 0 deletions(-)
19
20 diff --git a/dev-python/pycairo/Manifest b/dev-python/pycairo/Manifest
21 new file mode 100644
22 index 0000000..7c26183
23 --- /dev/null
24 +++ b/dev-python/pycairo/Manifest
25 @@ -0,0 +1,27 @@
26 +-----BEGIN PGP SIGNED MESSAGE-----
27 +Hash: SHA512
28 +
29 +AUX py2cairo-1.10.0-svg_check.patch 2912 RMD160 79cbae6b38baeb1a55309aa41cb40bd0bb2ad1b2 SHA1 fdd5a4f9b9f17aa0f48e62ef97359f57046da46e SHA256 c35d96be5be571c2f4c3415e4016a7e70a5edd6164818af80d16855e4e4efe72
30 +AUX pycairo-1.10.0-svg_check.patch 2924 RMD160 e0a01e9587ad47dc00a0d449fb3d00fcfbacfe7a SHA1 3969a610e8431938605c7eae5a86b43ef0c9881c SHA256 f9d2bac70bcca57c523e69403cb7332bf4ade0427998b6a3dc16730bcc17b6c7
31 +DIST py2cairo-1.10.0.tar.bz2 402070 RMD160 ce75db9af32ef1a3e90f6aaa649cbb2493a941a4 SHA1 2efa8dfafbd6b8e492adaab07231556fec52d6eb SHA256 d30439f06c2ec1a39e27464c6c828b6eface3b22ee17b2de05dc409e429a7431
32 +DIST pycairo-1.10.0-waf-multilib.patch 761 RMD160 1e2210e0a7c7ec2fc19245d512c0d762ca9aed1f SHA1 bbaef5a3699a53023efb659a86a97180e34dee56 SHA256 8e9e081bf7b4beced282a8de265b6e8901b113df7fbe892d7f0f93c63c771e5b
33 +DIST pycairo-1.10.0.tar.bz2 246556 RMD160 7d1c1c05113e5bbad32dbe96c65c918b170cac33 SHA1 b4283aa1cc9aafd12fd72ad371303a486da1d014 SHA256 9aa4078e7eb5be583aeabbe8d87172797717f95e8c4338f0d4a17b683a7253be
34 +EBUILD pycairo-1.10.0-r2.ebuild 4956 RMD160 8b647aaf910d5614800c9f8971b76be108a7437d SHA1 a97b1ce6799116e06a0da9936dc1abb04bd66af8 SHA256 2ed5dfce4549fdb69c3dd6c2a64dd5d5b48f538bfef69c8858bb0820ac2f80db
35 +MISC metadata.xml 244 RMD160 763839a53ccf1e2a58d249cfa2d94feeaa69e29c SHA1 fe85b5f10031620b8d1da84d695ec3080df29d82 SHA256 f5bde347c36c74889cbb32d29f06766c08eb3df6e0c468f00295681382c48457
36 +-----BEGIN PGP SIGNATURE-----
37 +Version: GnuPG v2.0.14 (GNU/Linux)
38 +
39 +iQIcBAEBCgAGBQJPQcM0AAoJEHQ6UuhrqBBQ//8P/Rorh+75shJuPQXl9G06/v/F
40 +yAmTi3VIDxh6+hzGnYs40+78Q5maCXfUnA7i66PdsYvwidceNxl3mddo2dTLtlPm
41 +uEKrXlaMHC1A3wTjKj0Zh+LtlWMU8/x83HV5jKOQy0E/45XnccvhIKnaADUXzatb
42 +z486ITlx4V0V1Kg/sCdqWkVT0EfJ5GdreXqcdOwqbEWVoVcvv15des5hSAwKM5ON
43 +1IJ5IJwln2ivI68cYA6nLrhHz6tieqqA4cie/G61z9Wapz8ZMXCEGiE3139sTQQi
44 +8+A2Yf/nkvT3AKLqVoxbsnbVf5qgHiE2m+zzTWw8/58ZbdpghS9wFHroSLIxDxX9
45 +M9Pld7XFj1zWjbINvItgE5Y7H1B9HHofx01xB8Xbq0hrTOQpK5pTknDTXTwVMJgu
46 +ktro/yL4B4Erhuc0l/m2NiSG/x+oHDUzWG06+wXjAlXXP8T4oGJMIDy6qvNhHP6z
47 +FgXDs8HEjJFmPo10WtZ/Izbcqs7//t4wWFCm41efGfHUK6T1HX5skaesKL7qxOSK
48 +PiP36IXImfBMvDN4hqI4mWGcEQHgz+z/abGu0igbooCZOkycTShVxoqFszlLjRkv
49 +wU4TVGGAEc5GrMpgnWNj8cMZiEpKasvkF3BU36fEJEXbZSZQTbYqmWxCh6IxossX
50 +RsAQNTKPLXnZhWEw5jXa
51 +=tF88
52 +-----END PGP SIGNATURE-----
53
54 diff --git a/dev-python/pycairo/files/py2cairo-1.10.0-svg_check.patch b/dev-python/pycairo/files/py2cairo-1.10.0-svg_check.patch
55 new file mode 100644
56 index 0000000..4cd755c
57 --- /dev/null
58 +++ b/dev-python/pycairo/files/py2cairo-1.10.0-svg_check.patch
59 @@ -0,0 +1,126 @@
60 +--- src/cairomodule.c
61 ++++ src/cairomodule.c
62 +@@ -127,7 +127,7 @@
63 + #else
64 + 0,
65 + #endif
66 +-#ifdef CAIRO_HAS_SVG_SURFACE
67 ++#ifdef PYCAIRO_ENABLE_SVG
68 + &PycairoSVGSurface_Type,
69 + #else
70 + 0,
71 +@@ -223,7 +223,7 @@
72 + if (PyType_Ready(&PycairoPSSurface_Type) < 0)
73 + return;
74 + #endif
75 +-#ifdef CAIRO_HAS_SVG_SURFACE
76 ++#ifdef PYCAIRO_ENABLE_SVG
77 + if (PyType_Ready(&PycairoSVGSurface_Type) < 0)
78 + return;
79 + #endif
80 +@@ -305,7 +305,7 @@
81 + PyModule_AddObject(m, "PSSurface", (PyObject *)&PycairoPSSurface_Type);
82 + #endif
83 +
84 +-#ifdef CAIRO_HAS_SVG_SURFACE
85 ++#ifdef PYCAIRO_ENABLE_SVG
86 + Py_INCREF(&PycairoSVGSurface_Type);
87 + PyModule_AddObject(m, "SVGSurface", (PyObject *)&PycairoSVGSurface_Type);
88 + #endif
89 +@@ -379,7 +379,7 @@
90 + #else
91 + PyModule_AddIntConstant(m, "HAS_PS_SURFACE", 0);
92 + #endif
93 +-#if CAIRO_HAS_SVG_SURFACE
94 ++#if PYCAIRO_ENABLE_SVG
95 + PyModule_AddIntConstant(m, "HAS_SVG_SURFACE", 1);
96 + #else
97 + PyModule_AddIntConstant(m, "HAS_SVG_SURFACE", 0);
98 +--- src/private.h
99 ++++ src/private.h
100 +@@ -86,7 +86,7 @@
101 + extern PyTypeObject PycairoPSSurface_Type;
102 + #endif
103 +
104 +-#if CAIRO_HAS_SVG_SURFACE
105 ++#if PYCAIRO_ENABLE_SVG
106 + extern PyTypeObject PycairoSVGSurface_Type;
107 + #endif
108 +
109 +--- src/pycairo.h
110 ++++ src/pycairo.h
111 +@@ -182,7 +182,7 @@
112 + #define PycairoPSSurface_Type *(Pycairo_CAPI->PSSurface_Type)
113 + #endif
114 +
115 +-#if CAIRO_HAS_SVG_SURFACE
116 ++#if PYCAIRO_ENABLE_SVG
117 + #define PycairoSVGSurface_Type *(Pycairo_CAPI->SVGSurface_Type)
118 + #endif
119 +
120 +--- src/surface.c
121 ++++ src/surface.c
122 +@@ -83,7 +83,7 @@
123 + type = &PycairoPSSurface_Type;
124 + break;
125 + #endif
126 +-#if CAIRO_HAS_SVG_SURFACE
127 ++#if PYCAIRO_ENABLE_SVG
128 + case CAIRO_SURFACE_TYPE_SVG:
129 + type = &PycairoSVGSurface_Type;
130 + break;
131 +@@ -1015,7 +1015,7 @@
132 +
133 +
134 + /* Class SVGSurface(Surface) ----------------------------------------------- */
135 +-#ifdef CAIRO_HAS_SVG_SURFACE
136 ++#ifdef PYCAIRO_ENABLE_SVG
137 + #include <cairo-svg.h>
138 +
139 + static PyObject *
140 +@@ -1125,7 +1125,7 @@
141 + 0, /* tp_is_gc */
142 + 0, /* tp_bases */
143 + };
144 +-#endif /* CAIRO_HAS_SVG_SURFACE */
145 ++#endif /* PYCAIRO_ENABLE_SVG */
146 +
147 +
148 + #if CAIRO_HAS_WIN32_SURFACE
149 +--- wscript
150 ++++ wscript
151 +@@ -1,6 +1,7 @@
152 + # -*- python -*-
153 +
154 + import os
155 ++import subprocess
156 +
157 + top = '.'
158 + out = 'build_directory'
159 +@@ -11,6 +12,17 @@
160 + cairo_version_required = '1.10.0'
161 +
162 +
163 ++def check_svg():
164 ++ if os.environ.get('PYCAIRO_DISABLE_SVG', None) is None:
165 ++ return_code = subprocess.call(['pkg-config', '--exists', 'cairo-svg'])
166 ++ if return_code == 0:
167 ++ return True
168 ++ else:
169 ++ return False
170 ++ else:
171 ++ return False
172 ++
173 ++
174 + def options(ctx):
175 + print(' %s/options()' %d)
176 + ctx.tool_options('gnu_dirs')
177 +@@ -39,6 +51,8 @@
178 + ctx.define('PYCAIRO_VERSION_MAJOR', version[0])
179 + ctx.define('PYCAIRO_VERSION_MINOR', version[1])
180 + ctx.define('PYCAIRO_VERSION_MICRO', version[2])
181 ++ if check_svg():
182 ++ ctx.define('PYCAIRO_ENABLE_SVG', 1)
183 +
184 + ctx.write_config_header('src/config.h')
185 +
186
187 diff --git a/dev-python/pycairo/files/pycairo-1.10.0-svg_check.patch b/dev-python/pycairo/files/pycairo-1.10.0-svg_check.patch
188 new file mode 100644
189 index 0000000..572a5f6
190 --- /dev/null
191 +++ b/dev-python/pycairo/files/pycairo-1.10.0-svg_check.patch
192 @@ -0,0 +1,126 @@
193 +--- src/cairomodule.c
194 ++++ src/cairomodule.c
195 +@@ -116,7 +116,7 @@
196 + #else
197 + 0,
198 + #endif
199 +-#ifdef CAIRO_HAS_SVG_SURFACE
200 ++#ifdef PYCAIRO_ENABLE_SVG
201 + &PycairoSVGSurface_Type,
202 + #else
203 + 0,
204 +@@ -247,7 +247,7 @@
205 + if (PyType_Ready(&PycairoPSSurface_Type) < 0)
206 + return NULL;
207 + #endif
208 +-#ifdef CAIRO_HAS_SVG_SURFACE
209 ++#ifdef PYCAIRO_ENABLE_SVG
210 + if (PyType_Ready(&PycairoSVGSurface_Type) < 0)
211 + return NULL;
212 + #endif
213 +@@ -337,7 +337,7 @@
214 + PyModule_AddObject(m, "PSSurface", (PyObject *)&PycairoPSSurface_Type);
215 + #endif
216 +
217 +-#ifdef CAIRO_HAS_SVG_SURFACE
218 ++#ifdef PYCAIRO_ENABLE_SVG
219 + Py_INCREF(&PycairoSVGSurface_Type);
220 + PyModule_AddObject(m, "SVGSurface", (PyObject *)&PycairoSVGSurface_Type);
221 + #endif
222 +@@ -399,7 +399,7 @@
223 + #else
224 + PyModule_AddIntConstant(m, "HAS_PS_SURFACE", 0);
225 + #endif
226 +-#if CAIRO_HAS_SVG_SURFACE
227 ++#if PYCAIRO_ENABLE_SVG
228 + PyModule_AddIntConstant(m, "HAS_SVG_SURFACE", 1);
229 + #else
230 + PyModule_AddIntConstant(m, "HAS_SVG_SURFACE", 0);
231 +--- src/private.h
232 ++++ src/private.h
233 +@@ -75,7 +75,7 @@
234 + extern PyTypeObject PycairoPSSurface_Type;
235 + #endif
236 +
237 +-#if CAIRO_HAS_SVG_SURFACE
238 ++#if PYCAIRO_ENABLE_SVG
239 + extern PyTypeObject PycairoSVGSurface_Type;
240 + #endif
241 +
242 +--- src/py3cairo.h
243 ++++ src/py3cairo.h
244 +@@ -171,7 +171,7 @@
245 + #define PycairoPSSurface_Type *(Pycairo_CAPI->PSSurface_Type)
246 + #endif
247 +
248 +-#if CAIRO_HAS_SVG_SURFACE
249 ++#if PYCAIRO_ENABLE_SVG
250 + #define PycairoSVGSurface_Type *(Pycairo_CAPI->SVGSurface_Type)
251 + #endif
252 +
253 +--- src/surface.c
254 ++++ src/surface.c
255 +@@ -72,7 +72,7 @@
256 + type = &PycairoPSSurface_Type;
257 + break;
258 + #endif
259 +-#if CAIRO_HAS_SVG_SURFACE
260 ++#if PYCAIRO_ENABLE_SVG
261 + case CAIRO_SURFACE_TYPE_SVG:
262 + type = &PycairoSVGSurface_Type;
263 + break;
264 +@@ -1022,7 +1022,7 @@
265 +
266 +
267 + /* Class SVGSurface(Surface) ----------------------------------------------- */
268 +-#ifdef CAIRO_HAS_SVG_SURFACE
269 ++#ifdef PYCAIRO_ENABLE_SVG
270 + #include <cairo-svg.h>
271 +
272 + static PyObject *
273 +@@ -1133,7 +1133,7 @@
274 + 0, /* tp_is_gc */
275 + 0, /* tp_bases */
276 + };
277 +-#endif /* CAIRO_HAS_SVG_SURFACE */
278 ++#endif /* PYCAIRO_ENABLE_SVG */
279 +
280 +
281 + #if CAIRO_HAS_WIN32_SURFACE
282 +--- wscript
283 ++++ wscript
284 +@@ -1,6 +1,7 @@
285 + # -*- python -*-
286 +
287 + import os
288 ++import subprocess
289 +
290 + top = '.'
291 + out = 'build_directory'
292 +@@ -11,6 +12,17 @@
293 + cairo_version_required = '1.10.0'
294 +
295 +
296 ++def check_svg():
297 ++ if os.environ.get('PYCAIRO_DISABLE_SVG', None) is None:
298 ++ return_code = subprocess.call(['pkg-config', '--exists', 'cairo-svg'])
299 ++ if return_code == 0:
300 ++ return True
301 ++ else:
302 ++ return False
303 ++ else:
304 ++ return False
305 ++
306 ++
307 + def options(ctx):
308 + print(' %s/options()' %d)
309 + ctx.tool_options('gnu_dirs')
310 +@@ -39,6 +51,8 @@
311 + ctx.define('PYCAIRO_VERSION_MAJOR', version[0])
312 + ctx.define('PYCAIRO_VERSION_MINOR', version[1])
313 + ctx.define('PYCAIRO_VERSION_MICRO', version[2])
314 ++ if check_svg():
315 ++ ctx.define('PYCAIRO_ENABLE_SVG', 1)
316 +
317 + ctx.write_config_header('src/config.h')
318 +
319
320 diff --git a/dev-python/pycairo/metadata.xml b/dev-python/pycairo/metadata.xml
321 new file mode 100644
322 index 0000000..5484483
323 --- /dev/null
324 +++ b/dev-python/pycairo/metadata.xml
325 @@ -0,0 +1,8 @@
326 +<?xml version="1.0" encoding="UTF-8"?>
327 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
328 +<pkgmetadata>
329 + <maintainer>
330 + <email>binki@g.o</email>
331 + <name>Nathan Phillip Brink</name>
332 + </maintainer>
333 +</pkgmetadata>
334
335 diff --git a/dev-python/pycairo/pycairo-1.10.0-r2.ebuild b/dev-python/pycairo/pycairo-1.10.0-r2.ebuild
336 new file mode 100644
337 index 0000000..d6c42a7
338 --- /dev/null
339 +++ b/dev-python/pycairo/pycairo-1.10.0-r2.ebuild
340 @@ -0,0 +1,167 @@
341 +# Copyright 1999-2012 Gentoo Foundation
342 +# Distributed under the terms of the GNU General Public License v2
343 +# $Header: /var/cvsroot/gentoo-x86/dev-python/pycairo/pycairo-1.10.0-r2.ebuild,v 1.7 2012/02/13 19:35:24 xarthisius Exp $
344 +
345 +EAPI="3"
346 +PYTHON_DEPEND="2:2.6 3:3.1"
347 +SUPPORT_PYTHON_ABIS="1"
348 +RESTRICT_PYTHON_ABIS="2.4 2.5 3.0 *-jython"
349 +
350 +inherit eutils python waf-utils
351 +
352 +PYCAIRO_PYTHON2_VERSION="${PV}"
353 +PYCAIRO_PYTHON3_VERSION="${PV}"
354 +
355 +DESCRIPTION="Python bindings for the cairo library"
356 +HOMEPAGE="http://cairographics.org/pycairo/ http://pypi.python.org/pypi/pycairo"
357 +SRC_URI="http://cairographics.org/releases/py2cairo-${PYCAIRO_PYTHON2_VERSION}.tar.bz2
358 + http://cairographics.org/releases/pycairo-${PYCAIRO_PYTHON3_VERSION}.tar.bz2
359 + http://dev.gentoo.org/~binki/distfiles/dev-python/${PN}/${P}-waf-multilib.patch"
360 +
361 +# LGPL-3 for pycairo 1.10.0.
362 +# || ( LGPL-2.1 MPL-1.1 ) for pycairo 1.8.10.
363 +LICENSE="LGPL-3 || ( LGPL-2.1 MPL-1.1 )"
364 +SLOT="0"
365 +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
366 +IUSE="doc examples +svg test"
367 +
368 +RDEPEND=">=x11-libs/cairo-1.10.0[svg?]"
369 +DEPEND="${RDEPEND}
370 + dev-util/pkgconfig
371 + test? ( dev-python/pytest )"
372 +
373 +PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")
374 +
375 +# In case if waf-utils.eclass actually accepts waf-utils_waflibdir() as
376 +# a function.
377 +unset waf-utils_waflibdir 2>/dev/null
378 +
379 +# @FUNCTION: waf-utils_waflibdir
380 +# @USAGE: [<waf-binary>]
381 +# @DESCRIPTION:
382 +# Echoes the absolute path to the directory containing waf-based
383 +# project's waflib python module. Ensures that the waflib shipped with a
384 +# project is unpacked if it isn't already. This waflib may be safely
385 +# patched because waf-lite will not touch the waflib directory when it
386 +# is run if it already exists. Uses the waf binary in WAF_BINARY or the
387 +# first argument.
388 +#
389 +# @EXAMPLE
390 +# @CODE
391 +# pushd "$(waf-utils_waflibdir)" || die "Unable to patch waflib"
392 +# epatch "${FILESDIR}"/${P}-waf-fix.patch
393 +# popd
394 +# @CODE
395 +#
396 +# Note that if you are using the python eclass, you must either call
397 +# python_set_active_version or call waf-utils_waflibdir() from within a
398 +# function run by python_execute().
399 +#
400 +# @CODE
401 +# SUPPORT_PYTHON_ABIS=1
402 +# inherit python
403 +#
404 +# src_prepare() {
405 +# python_copy_sources
406 +#
407 +# myprepare() {
408 +# epatch "${FILESDIR}"/${P}-sourcecode-fix.patch
409 +#
410 +# pushd "$(waf-utils_saflibdir "$(PYTHON)" waf)" || die "Unable to patch waflib"
411 +# epatch "${FILESDIR}"/${P}-waf-fix.patch
412 +# popd
413 +# }
414 +# python_execute_function -s myprepare
415 +# }
416 +# @CODE
417 +waf-utils_waflibdir() {
418 + debug-print-function ${FUNCNAME} "$@"
419 +
420 + # @ECLASS-VARIABLE: WAF_BINARY
421 + # @DESCRIPTION:
422 + # Eclass can use different waf executable. Usually it is located in "${S}/waf".
423 + : ${WAF_BINARY:="${S}/waf"}
424 +
425 + local waf_binary=${WAF_BINARY}
426 + [[ -n ${1} ]] && waf_binary=${1}
427 +
428 + python -c "import imp, sys; sys.argv[0] = '${waf_binary}'; waflite = imp.load_source('waflite', '${waf_binary}'); print(waflite.find_lib());" \
429 + || die "Unable to locate or unpack waflib module from the waf script at ${waf_binary}"
430 +}
431 +
432 +# When moving between the different build dirs, we want to use the waf
433 +# associated with each build dir.
434 +WAF_BINARY=./waf
435 +
436 +src_prepare() {
437 +
438 + pushd "${WORKDIR}/pycairo-${PYCAIRO_PYTHON3_VERSION}" > /dev/null
439 + rm -f src/config.h || die
440 + epatch "${FILESDIR}/${PN}-1.10.0-svg_check.patch"
441 + popd > /dev/null
442 +
443 + pushd "${WORKDIR}/py2cairo-${PYCAIRO_PYTHON2_VERSION}" > /dev/null
444 + rm -f src/config.h || die
445 + epatch "${FILESDIR}/py2cairo-1.10.0-svg_check.patch"
446 + popd > /dev/null
447 +
448 + preparation() {
449 + local srcdir=${WORKDIR}/${P}-${PYTHON_ABI}
450 + if [[ "${PYTHON_ABI}" == 3.* ]]; then
451 + cp -r "${WORKDIR}/pycairo-${PYCAIRO_PYTHON3_VERSION}" "${srcdir}"
452 + else
453 + cp -r "${WORKDIR}/py2cairo-${PYCAIRO_PYTHON2_VERSION}" "${srcdir}"
454 + fi
455 +
456 + cd "$(waf-utils_waflibdir ${srcdir}/waf)" || die "Unable to patch waflib"
457 + epatch "${DISTDIR}"/${P}-waf-multilib.patch
458 + }
459 + python_execute_function preparation
460 +}
461 +
462 +src_configure() {
463 + if ! use svg; then
464 + export PYCAIRO_DISABLE_SVG="1"
465 + fi
466 +
467 + python_execute_function -s waf-utils_src_configure --nopyc --nopyo
468 +}
469 +
470 +src_compile() {
471 + python_execute_function -s waf-utils_src_compile
472 +}
473 +
474 +src_test() {
475 + test_installation() {
476 + ./waf install --destdir="${T}/tests/${PYTHON_ABI}"
477 + }
478 + python_execute_function -q -s test_installation
479 +
480 + python_execute_py.test -P '${T}/tests/${PYTHON_ABI}${EPREFIX}$(python_get_sitedir)' -s
481 +}
482 +
483 +src_install() {
484 + python_execute_function -s waf-utils_src_install
485 +
486 + dodoc AUTHORS NEWS README || die "dodoc failed"
487 +
488 + if use doc; then
489 + pushd doc/_build/html > /dev/null
490 + insinto /usr/share/doc/${PF}/html
491 + doins -r [a-z]* _static || die "Installation of documentation failed"
492 + popd > /dev/null
493 + fi
494 +
495 + if use examples; then
496 + insinto /usr/share/doc/${PF}/examples
497 + doins -r examples/* || die "Installation of examples failed"
498 + fi
499 +}
500 +
501 +pkg_postinst() {
502 + python_mod_optimize cairo
503 +}
504 +
505 +pkg_postrm() {
506 + python_mod_cleanup cairo
507 +}