[arch-commits] Commit in pycairo/trunk (PKGBUILD pycairo-1.8.0-threading.diff)

Allan McRae allan at archlinux.org
Sat Jan 10 05:28:12 UTC 2009


    Date: Saturday, January 10, 2009 @ 00:28:12
  Author: allan
Revision: 23419

upgpkg: pycairo 1.8.0-2
    Fix threading issue (FS#12579)

Added:
  pycairo/trunk/pycairo-1.8.0-threading.diff
Modified:
  pycairo/trunk/PKGBUILD

------------------------------+
 PKGBUILD                     |    9 +++--
 pycairo-1.8.0-threading.diff |   67 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 73 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2009-01-10 04:19:29 UTC (rev 23418)
+++ PKGBUILD	2009-01-10 05:28:12 UTC (rev 23419)
@@ -3,18 +3,21 @@
 
 pkgname=pycairo
 pkgver=1.8.0
-pkgrel=1
+pkgrel=2
 pkgdesc="Python bindings for the cairo graphics library"
 arch=(i686 x86_64)
 license=('LGPL' 'MPL')
 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=('847f5377c32228a656819f5bd18eb6b4')
+md5sums=('847f5377c32228a656819f5bd18eb6b4'
+         '5259928a3d58750d5c54af60d71f2493')
 
 build() {
   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="${pkgdir}" install || return 1

Added: pycairo-1.8.0-threading.diff
===================================================================
--- pycairo-1.8.0-threading.diff	                        (rev 0)
+++ pycairo-1.8.0-threading.diff	2009-01-10 05:28:12 UTC (rev 23419)
@@ -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);
+ }
+ 




More information about the arch-commits mailing list