[arch-commits] Commit in cairo/repos (6 files)

Ionuț Mircea Bîru ioni at nymeria.archlinux.org
Sat Apr 27 13:06:33 UTC 2013


    Date: Saturday, April 27, 2013 @ 15:06:33
  Author: ioni
Revision: 183723

archrelease: copy trunk to staging-i686, staging-x86_64

Added:
  cairo/repos/staging-i686/
  cairo/repos/staging-i686/PKGBUILD
    (from rev 183722, cairo/trunk/PKGBUILD)
  cairo/repos/staging-i686/libpng16.patch
    (from rev 183722, cairo/trunk/libpng16.patch)
  cairo/repos/staging-x86_64/
  cairo/repos/staging-x86_64/PKGBUILD
    (from rev 183722, cairo/trunk/PKGBUILD)
  cairo/repos/staging-x86_64/libpng16.patch
    (from rev 183722, cairo/trunk/libpng16.patch)

-------------------------------+
 staging-i686/PKGBUILD         |   61 ++++++++++++++++++++++++++++++++++++++++
 staging-i686/libpng16.patch   |   40 ++++++++++++++++++++++++++
 staging-x86_64/PKGBUILD       |   61 ++++++++++++++++++++++++++++++++++++++++
 staging-x86_64/libpng16.patch |   40 ++++++++++++++++++++++++++
 4 files changed, 202 insertions(+)

Copied: cairo/repos/staging-i686/PKGBUILD (from rev 183722, cairo/trunk/PKGBUILD)
===================================================================
--- staging-i686/PKGBUILD	                        (rev 0)
+++ staging-i686/PKGBUILD	2013-04-27 13:06:33 UTC (rev 183723)
@@ -0,0 +1,61 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+# Contributor: Brice Carpentier <brice at daknet.org>
+
+pkgname=cairo
+pkgver=1.12.14
+pkgrel=4
+pkgdesc="Cairo vector graphics library"
+arch=(i686 x86_64)
+license=('LGPL' 'MPL')
+url="http://cairographics.org/"
+# depends=('libpng' 'libxrender' 'libxext' 'fontconfig' 'pixman>=0.28.0' 'glib2' 'mesa>=9.1' 'libgl' 'sh') 
+makedepends=('mesa>=9.1' 'mesa-libgl>=9.1' 'librsvg' 'gtk2' 'poppler-glib' 'libspectre' 'gtk-doc' 'valgrind'
+             # for the test suite:
+             'ttf-dejavu' 'gsfonts' 'xorg-server-xvfb' ) # 'libdrm')
+#optdepends=('xcb-util: for XCB backend') # really needed?
+provides=('cairo-xcb')
+replaces=('cairo-xcb')
+options=('!libtool')
+source=(http://cairographics.org/releases/$pkgname-$pkgver.tar.xz
+        libpng16.patch)
+sha1sums=('9106ab09b2e7b9f90521b18dd4a7e9577eba6c15'
+          'c9911f185637d266ce1d2985bd6fb7d0df3d75b2')
+
+build() {
+  cd $pkgname-$pkgver
+
+  patch -Np1 -i ../libpng16.patch
+
+  ./configure --prefix=/usr \
+	--sysconfdir=/etc \
+	--localstatedir=/var \
+	--disable-static \
+	--enable-tee \
+	--enable-gl \
+	--enable-egl \
+	--enable-svg \
+	--enable-ps \
+	--enable-pdf \
+	--enable-gobject #\
+	# --enable-test-surfaces
+	
+	#--disable-xlib-xcb \
+	# --enable-test-surfaces \ takes ages
+	#--enable-drm # breaks build
+	
+  make
+}
+
+#check() {
+#  cd "$srcdir/$pkgname-$pkgver"
+  #make -k check || /bin/true # 162 Passed, 328 Failed [8 crashed, 10 expected], 26 Skipped
+#  make test || /bin/true # 29 Passed, 464 Failed [460 crashed, 2 expected], 26 Skipped
+#}
+
+package() {
+  depends=('libpng' 'libxrender' 'libxext' 'fontconfig' 'pixman>=0.28.0' 'glib2' 'mesa>=9.1' 'libgl' 'sh' 'lzo2')
+
+  cd $pkgname-$pkgver
+  make DESTDIR="$pkgdir" install
+}

Copied: cairo/repos/staging-i686/libpng16.patch (from rev 183722, cairo/trunk/libpng16.patch)
===================================================================
--- staging-i686/libpng16.patch	                        (rev 0)
+++ staging-i686/libpng16.patch	2013-04-27 13:06:33 UTC (rev 183723)
@@ -0,0 +1,40 @@
+From 2dd2c826a5b367d32cf2d48ed69754795990c5db Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris at chris-wilson.co.uk>
+Date: Tue, 16 Apr 2013 09:58:56 +0000
+Subject: png: Avoid marking the surface as in error after a png warning
+
+It turns out that libpng will continue to load an image after throwing a
+warning, and that libpng16 now throws warnings for images that libpng15
+and earlier loaded without error. As we were happily loading those
+images into cairo surfaces before, we are therefore being overzealous
+in throwing an error now - so just squelch the warning.
+
+Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
+---
+diff --git a/src/cairo-png.c b/src/cairo-png.c
+index e74a4a8..068617d 100644
+--- a/src/cairo-png.c
++++ b/src/cairo-png.c
+@@ -149,13 +149,13 @@ static void
+ png_simple_warning_callback (png_structp png,
+ 	                     png_const_charp error_msg)
+ {
+-    cairo_status_t *error = png_get_error_ptr (png);
+-
+-    /* default to the most likely error */
+-    if (*error == CAIRO_STATUS_SUCCESS)
+-	*error = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+-
+-    /* png does not expect to abort and will try to tidy up after a warning */
++    /* png does not expect to abort and will try to tidy up and continue
++     * loading the image after a warning. So we also want to return the
++     * (incorrect?) surface.
++     *
++     * We use our own warning callback to squelch any attempts by libpng
++     * to write to stderr as we may not be in control of that output.
++     */
+ }
+ 
+ 
+--
+cgit v0.9.0.2-2-gbebe

Copied: cairo/repos/staging-x86_64/PKGBUILD (from rev 183722, cairo/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2013-04-27 13:06:33 UTC (rev 183723)
@@ -0,0 +1,61 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+# Contributor: Brice Carpentier <brice at daknet.org>
+
+pkgname=cairo
+pkgver=1.12.14
+pkgrel=4
+pkgdesc="Cairo vector graphics library"
+arch=(i686 x86_64)
+license=('LGPL' 'MPL')
+url="http://cairographics.org/"
+# depends=('libpng' 'libxrender' 'libxext' 'fontconfig' 'pixman>=0.28.0' 'glib2' 'mesa>=9.1' 'libgl' 'sh') 
+makedepends=('mesa>=9.1' 'mesa-libgl>=9.1' 'librsvg' 'gtk2' 'poppler-glib' 'libspectre' 'gtk-doc' 'valgrind'
+             # for the test suite:
+             'ttf-dejavu' 'gsfonts' 'xorg-server-xvfb' ) # 'libdrm')
+#optdepends=('xcb-util: for XCB backend') # really needed?
+provides=('cairo-xcb')
+replaces=('cairo-xcb')
+options=('!libtool')
+source=(http://cairographics.org/releases/$pkgname-$pkgver.tar.xz
+        libpng16.patch)
+sha1sums=('9106ab09b2e7b9f90521b18dd4a7e9577eba6c15'
+          'c9911f185637d266ce1d2985bd6fb7d0df3d75b2')
+
+build() {
+  cd $pkgname-$pkgver
+
+  patch -Np1 -i ../libpng16.patch
+
+  ./configure --prefix=/usr \
+	--sysconfdir=/etc \
+	--localstatedir=/var \
+	--disable-static \
+	--enable-tee \
+	--enable-gl \
+	--enable-egl \
+	--enable-svg \
+	--enable-ps \
+	--enable-pdf \
+	--enable-gobject #\
+	# --enable-test-surfaces
+	
+	#--disable-xlib-xcb \
+	# --enable-test-surfaces \ takes ages
+	#--enable-drm # breaks build
+	
+  make
+}
+
+#check() {
+#  cd "$srcdir/$pkgname-$pkgver"
+  #make -k check || /bin/true # 162 Passed, 328 Failed [8 crashed, 10 expected], 26 Skipped
+#  make test || /bin/true # 29 Passed, 464 Failed [460 crashed, 2 expected], 26 Skipped
+#}
+
+package() {
+  depends=('libpng' 'libxrender' 'libxext' 'fontconfig' 'pixman>=0.28.0' 'glib2' 'mesa>=9.1' 'libgl' 'sh' 'lzo2')
+
+  cd $pkgname-$pkgver
+  make DESTDIR="$pkgdir" install
+}

Copied: cairo/repos/staging-x86_64/libpng16.patch (from rev 183722, cairo/trunk/libpng16.patch)
===================================================================
--- staging-x86_64/libpng16.patch	                        (rev 0)
+++ staging-x86_64/libpng16.patch	2013-04-27 13:06:33 UTC (rev 183723)
@@ -0,0 +1,40 @@
+From 2dd2c826a5b367d32cf2d48ed69754795990c5db Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris at chris-wilson.co.uk>
+Date: Tue, 16 Apr 2013 09:58:56 +0000
+Subject: png: Avoid marking the surface as in error after a png warning
+
+It turns out that libpng will continue to load an image after throwing a
+warning, and that libpng16 now throws warnings for images that libpng15
+and earlier loaded without error. As we were happily loading those
+images into cairo surfaces before, we are therefore being overzealous
+in throwing an error now - so just squelch the warning.
+
+Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
+---
+diff --git a/src/cairo-png.c b/src/cairo-png.c
+index e74a4a8..068617d 100644
+--- a/src/cairo-png.c
++++ b/src/cairo-png.c
+@@ -149,13 +149,13 @@ static void
+ png_simple_warning_callback (png_structp png,
+ 	                     png_const_charp error_msg)
+ {
+-    cairo_status_t *error = png_get_error_ptr (png);
+-
+-    /* default to the most likely error */
+-    if (*error == CAIRO_STATUS_SUCCESS)
+-	*error = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+-
+-    /* png does not expect to abort and will try to tidy up after a warning */
++    /* png does not expect to abort and will try to tidy up and continue
++     * loading the image after a warning. So we also want to return the
++     * (incorrect?) surface.
++     *
++     * We use our own warning callback to squelch any attempts by libpng
++     * to write to stderr as we may not be in control of that output.
++     */
+ }
+ 
+ 
+--
+cgit v0.9.0.2-2-gbebe




More information about the arch-commits mailing list