Date: Wednesday, February 3, 2016 @ 17:17:11 Author: fyan Revision: 160091
archrelease: copy trunk to multilib-x86_64 Added: lib32-librsvg/repos/multilib-x86_64/PKGBUILD (from rev 160090, lib32-librsvg/trunk/PKGBUILD) lib32-librsvg/repos/multilib-x86_64/bgo759084.patch (from rev 160090, lib32-librsvg/trunk/bgo759084.patch) lib32-librsvg/repos/multilib-x86_64/librsvg.install (from rev 160090, lib32-librsvg/trunk/librsvg.install) Deleted: lib32-librsvg/repos/multilib-x86_64/PKGBUILD lib32-librsvg/repos/multilib-x86_64/librsvg.install -----------------+ PKGBUILD | 97 +++++++++++++++++++++++++++++++----------------------- bgo759084.patch | 53 +++++++++++++++++++++++++++++ librsvg.install | 26 +++++++------- 3 files changed, 122 insertions(+), 54 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2016-02-03 16:16:48 UTC (rev 160090) +++ PKGBUILD 2016-02-03 16:17:11 UTC (rev 160091) @@ -1,41 +0,0 @@ -# $Id$ -# Maintainer: Maxime Gauduin <aluc...@archlinux.org> -# Contributor: jtts <juss...@mbnet.fi> -# Contributor: Jan de Groot <j...@archlinux.org> - -pkgname=lib32-librsvg -pkgver=2.40.12 -pkgrel=1 -pkgdesc='A SVG viewing library (32-bit)' -arch=('x86_64') -url='https://live.gnome.org/LibRsvg' -license=('LGPL') -depends=('lib32-gdk-pixbuf2' 'lib32-libcroco' 'lib32-pango' 'librsvg') -makedepends=('gcc-multilib' 'gobject-introspection' 'intltool' 'python2' 'vala') -install='librsvg.install' -source=("http://ftp.gnome.org/pub/gnome/sources/librsvg/${pkgver:0:4}/librsvg-${pkgver}.tar.xz") -sha256sums=('ffe40c4378bf3899f4d679a475726bab03a127a5bdccddec86404cc329ffb550') - -build() { - cd librsvg-${pkgver} - - export CC='gcc -m32' - export CXX='g++ -m32' - export PKG_CONFIG_PATH='/usr/lib32/pkgconfig' - - ./configure \ - --prefix='/usr' \ - --libdir='/usr/lib32' \ - --enable-vala \ - --disable-static - make -} - -package() { - cd librsvg-${pkgver} - - make DESTDIR="${pkgdir}" install - rm -rf "${pkgdir}"/{etc,usr/{bin,include,share}} -} - -# vim: ts=2 sw=2 et: Copied: lib32-librsvg/repos/multilib-x86_64/PKGBUILD (from rev 160090, lib32-librsvg/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2016-02-03 16:17:11 UTC (rev 160091) @@ -0,0 +1,56 @@ +# $Id$ +# Maintainer: Maxime Gauduin <aluc...@archlinux.org> +# Contributor: jtts <juss...@mbnet.fi> +# Contributor: Jan de Groot <j...@archlinux.org> + +pkgname=lib32-librsvg +pkgver=2.40.13 +pkgrel=1 +pkgdesc='A SVG viewing library (32-bit)' +arch=('x86_64') +url='https://live.gnome.org/LibRsvg' +license=('LGPL') +depends=('lib32-gdk-pixbuf2' 'lib32-libcroco' 'lib32-pango' 'librsvg') +makedepends=('gcc-multilib' 'gobject-introspection' 'intltool' 'python2' 'vala') +install='librsvg.install' +source=("https://download.gnome.org/sources/librsvg/${pkgver:0:4}/librsvg-${pkgver}.tar.xz" + bgo759084.patch) +sha256sums=('4d6ea93ec05f5dabe7262d711d246a0a99b2311e215360dd3dcabd6afe3b9804' + 'd6cf5b318a89fb002a520c830c0666f0cb905d4d38322b2c41296fdd36d60b93') + +prepare() { + cd librsvg-$pkgver + patch -Np1 -i ../bgo759084.patch +} + +build() { + cd librsvg-${pkgver} + + export CC='gcc -m32' + export CXX='g++ -m32' + export PKG_CONFIG_PATH='/usr/lib32/pkgconfig' + + ./configure \ + --prefix='/usr' \ + --libdir='/usr/lib32' \ + --enable-vala \ + --disable-static + + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool + + make +} + +check() { + cd librsvg-$pkgver + make check +} + +package() { + cd librsvg-${pkgver} + + make DESTDIR="${pkgdir}" install + rm -rf "${pkgdir}"/{etc,usr/{bin,include,share}} +} + +# vim: ts=2 sw=2 et: Copied: lib32-librsvg/repos/multilib-x86_64/bgo759084.patch (from rev 160090, lib32-librsvg/trunk/bgo759084.patch) =================================================================== --- bgo759084.patch (rev 0) +++ bgo759084.patch 2016-02-03 16:17:11 UTC (rev 160091) @@ -0,0 +1,53 @@ +From d937c691678803ceda6be701587d997ccd03a1da Mon Sep 17 00:00:00 2001 +From: Benjamin Otte <o...@redhat.com> +Date: Fri, 29 Jan 2016 12:49:55 +0100 +Subject: Don't crash when filters don't exist + +We put a new surface on the stack if a filter existed by name but we +didn't pop it if the name didn't resolve to a real filter. + +New test: crash/bug759084.svg + +https://bugzilla.gnome.org/show_bug.cgi?id=759084 +--- + rsvg-cairo-draw.c | 6 +++--- + tests/fixtures/crash/bug759084.svg | 9 +++++++++ + 2 files changed, 12 insertions(+), 3 deletions(-) + create mode 100644 tests/fixtures/crash/bug759084.svg + +diff --git a/rsvg-cairo-draw.c b/rsvg-cairo-draw.c +index 4d8fbc2..4152cb7 100644 +--- a/rsvg-cairo-draw.c ++++ b/rsvg-cairo-draw.c +@@ -819,10 +819,10 @@ rsvg_cairo_pop_render_stack (RsvgDrawingCtx * ctx) + cairo_surface_t *output; + + filter = rsvg_acquire_node (ctx, state->filter); +- if (filter && RSVG_NODE_TYPE (filter) == RSVG_NODE_TYPE_FILTER) { +- output = render->surfaces_stack->data; +- render->surfaces_stack = g_list_delete_link (render->surfaces_stack, render->surfaces_stack); ++ output = render->surfaces_stack->data; ++ render->surfaces_stack = g_list_delete_link (render->surfaces_stack, render->surfaces_stack); + ++ if (filter && RSVG_NODE_TYPE (filter) == RSVG_NODE_TYPE_FILTER) { + needs_destroy = TRUE; + surface = rsvg_filter_render ((RsvgFilter *) filter, output, ctx, &render->bbox, "2103"); + /* Don't destroy the output surface, it's owned by child_cr */ +diff --git a/tests/fixtures/crash/bug759084.svg b/tests/fixtures/crash/bug759084.svg +new file mode 100644 +index 0000000..9e8f8f1 +--- /dev/null ++++ b/tests/fixtures/crash/bug759084.svg +@@ -0,0 +1,9 @@ ++<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"> ++ <defs> ++ <filter id="filter"> ++ </filter> ++ </defs> ++ <g filter="url(#filter)"> ++ <rect fill="red" width="10" height="10" filter="url(#doesnotexist)" /> ++ </g> ++</svg> +-- +cgit v0.12 + Deleted: librsvg.install =================================================================== --- librsvg.install 2016-02-03 16:16:48 UTC (rev 160090) +++ librsvg.install 2016-02-03 16:17:11 UTC (rev 160091) @@ -1,13 +0,0 @@ -post_install() { - gdk-pixbuf-query-loaders-32 --update-cache -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} - -# vim: ts=2 sw=2 et: Copied: lib32-librsvg/repos/multilib-x86_64/librsvg.install (from rev 160090, lib32-librsvg/trunk/librsvg.install) =================================================================== --- librsvg.install (rev 0) +++ librsvg.install 2016-02-03 16:17:11 UTC (rev 160091) @@ -0,0 +1,13 @@ +post_install() { + gdk-pixbuf-query-loaders-32 --update-cache +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} + +# vim: ts=2 sw=2 et: