summaryrefslogtreecommitdiffstats
path: root/abs/core/pycairo
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/pycairo')
-rw-r--r--abs/core/pycairo/PKGBUILD19
-rw-r--r--abs/core/pycairo/pycairo-1.8.0-threading.diff67
2 files changed, 78 insertions, 8 deletions
diff --git a/abs/core/pycairo/PKGBUILD b/abs/core/pycairo/PKGBUILD
index 283ed43..51fa905 100644
--- a/abs/core/pycairo/PKGBUILD
+++ b/abs/core/pycairo/PKGBUILD
@@ -1,21 +1,24 @@
-# $Id: PKGBUILD 1020 2008-04-27 18:50:59Z jgc $
+# $Id: PKGBUILD 23420 2009-01-10 05:29:10Z allan $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=pycairo
-pkgver=1.4.12
-pkgrel=1
+pkgver=1.8.0
+pkgrel=2
pkgdesc="Python bindings for the cairo graphics library"
arch=(i686 x86_64)
license=('LGPL' 'MPL')
-depends=('python>=2.5' 'cairo>=1.6.4')
+depends=('python' 'cairo>=1.8.6')
options=('!libtool')
-source=(http://cairographics.org/releases/${pkgname}-${pkgver}.tar.gz)
+source=(http://cairographics.org/releases/${pkgname}-${pkgver}.tar.gz
+ pycairo-1.8.0-threading.diff)
url="http://www.cairographics.org/"
-md5sums=('c63199d35b1e1d3c5133509f315f70d7')
+md5sums=('847f5377c32228a656819f5bd18eb6b4'
+ '5259928a3d58750d5c54af60d71f2493')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}"/pycairo-1.8.0-threading.diff || return 1
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core/pycairo/pycairo-1.8.0-threading.diff b/abs/core/pycairo/pycairo-1.8.0-threading.diff
new file mode 100644
index 0000000..ce1a80f
--- /dev/null
+++ b/abs/core/pycairo/pycairo-1.8.0-threading.diff
@@ -0,0 +1,67 @@
+diff -Naur pycairo-1.8.0-old/cairo/pycairo-surface.c pycairo-1.8.0/cairo/pycairo-surface.c
+--- pycairo-1.8.0-old/cairo/pycairo-surface.c 2008-12-10 17:41:16.000000000 +1000
++++ pycairo-1.8.0/cairo/pycairo-surface.c 2009-01-10 15:08:36.000000000 +1000
+@@ -310,10 +310,10 @@
+ return NULL;
+ }
+ Py_DECREF(writer);
+- Py_BEGIN_ALLOW_THREADS
++ /*Py_BEGIN_ALLOW_THREADS*/ /*seg faults reported*/
+ status = cairo_surface_write_to_png_stream (o->surface, _write_func,
+ file);
+- Py_END_ALLOW_THREADS
++ /*Py_END_ALLOW_THREADS*/
+ }
+ RETURN_NULL_IF_CAIRO_ERROR(status);
+ Py_RETURN_NONE;
+@@ -505,9 +505,9 @@
+ }
+ Py_DECREF(reader);
+
+- Py_BEGIN_ALLOW_THREADS
++ /*Py_BEGIN_ALLOW_THREADS*/ /*seg faults reported*/
+ is = cairo_image_surface_create_from_png_stream (_read_func, file);
+- Py_END_ALLOW_THREADS
++ /*Py_END_ALLOW_THREADS*/
+ return PycairoSurface_FromSurface (is, NULL);
+ }
+ #endif /* CAIRO_HAS_PNG_FUNCTIONS */
+@@ -712,10 +712,10 @@
+ }
+ Py_DECREF(writer);
+
+- Py_BEGIN_ALLOW_THREADS
++ /*Py_BEGIN_ALLOW_THREADS*/ /*seg faults reported*/
+ sfc = cairo_pdf_surface_create_for_stream (_write_func, file,
+ width_in_points, height_in_points);
+- Py_END_ALLOW_THREADS
++ /*Py_END_ALLOW_THREADS*/
+ return PycairoSurface_FromSurface (sfc, file);
+ }
+
+@@ -818,10 +818,10 @@
+ }
+ Py_DECREF(writer);
+
+- Py_BEGIN_ALLOW_THREADS
++ /*Py_BEGIN_ALLOW_THREADS*/ /*seg faults reported*/
+ sfc = cairo_ps_surface_create_for_stream (_write_func, file,
+ width_in_points, height_in_points);
+- Py_END_ALLOW_THREADS
++ /*Py_END_ALLOW_THREADS*/
+ return PycairoSurface_FromSurface (sfc, file);
+ }
+
+@@ -1010,10 +1010,10 @@
+ }
+ Py_DECREF(writer);
+
+- Py_BEGIN_ALLOW_THREADS
++ /*Py_BEGIN_ALLOW_THREADS*/ /*seg faults reported*/
+ sfc = cairo_svg_surface_create_for_stream (_write_func, file,
+ width_in_points, height_in_points);
+- Py_END_ALLOW_THREADS
++ /*Py_END_ALLOW_THREADS*/
+ return PycairoSurface_FromSurface (sfc, file);
+ }
+