Date: Wednesday, February 3, 2016 @ 14:31:06 Author: jgc Revision: 258836
archrelease: copy trunk to extra-i686, extra-x86_64 Added: librsvg/repos/extra-i686/PKGBUILD (from rev 258835, librsvg/trunk/PKGBUILD) librsvg/repos/extra-i686/bgo759084.patch (from rev 258835, librsvg/trunk/bgo759084.patch) librsvg/repos/extra-i686/librsvg.install (from rev 258835, librsvg/trunk/librsvg.install) librsvg/repos/extra-x86_64/PKGBUILD (from rev 258835, librsvg/trunk/PKGBUILD) librsvg/repos/extra-x86_64/bgo759084.patch (from rev 258835, librsvg/trunk/bgo759084.patch) librsvg/repos/extra-x86_64/librsvg.install (from rev 258835, librsvg/trunk/librsvg.install) Deleted: librsvg/repos/extra-i686/PKGBUILD librsvg/repos/extra-i686/librsvg.install librsvg/repos/extra-x86_64/PKGBUILD librsvg/repos/extra-x86_64/librsvg.install ------------------------------+ /PKGBUILD | 86 +++++++++++++++++++++++++++++++++++++++++ /librsvg.install | 22 ++++++++++ extra-i686/PKGBUILD | 28 ------------- extra-i686/bgo759084.patch | 53 +++++++++++++++++++++++++ extra-i686/librsvg.install | 11 ----- extra-x86_64/PKGBUILD | 28 ------------- extra-x86_64/bgo759084.patch | 53 +++++++++++++++++++++++++ extra-x86_64/librsvg.install | 11 ----- 8 files changed, 214 insertions(+), 78 deletions(-) Deleted: extra-i686/PKGBUILD =================================================================== --- extra-i686/PKGBUILD 2016-02-03 13:30:55 UTC (rev 258835) +++ extra-i686/PKGBUILD 2016-02-03 13:31:06 UTC (rev 258836) @@ -1,28 +0,0 @@ -# $Id$ -# Maintainer: Jan de Groot <j...@archlinux.org> - -pkgname=librsvg -pkgver=2.40.11 -pkgrel=1 -epoch=2 -pkgdesc="A SVG viewing library" -arch=(i686 x86_64) -license=('LGPL') -depends=('gdk-pixbuf2' 'pango' 'libcroco') -makedepends=('intltool' 'gobject-introspection' 'vala' 'python2') -options=('!emptydirs') -url="https://live.gnome.org/LibRsvg" -install=librsvg.install -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz) -sha256sums=('611ac0f544debd0c9bf1ef5509c990d218e83dd1d8c83297075c4b29796a2e02') - -build() { - cd $pkgname-$pkgver - ./configure --prefix=/usr --disable-static --enable-vala - make -} - -package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install -} Copied: librsvg/repos/extra-i686/PKGBUILD (from rev 258835, librsvg/trunk/PKGBUILD) =================================================================== --- extra-i686/PKGBUILD (rev 0) +++ extra-i686/PKGBUILD 2016-02-03 13:31:06 UTC (rev 258836) @@ -0,0 +1,43 @@ +# $Id$ +# Maintainer: Jan de Groot <j...@archlinux.org> + +pkgname=librsvg +pkgver=2.40.13 +pkgrel=1 +epoch=2 +pkgdesc="A SVG viewing library" +arch=(i686 x86_64) +license=('LGPL') +depends=('gdk-pixbuf2' 'pango' 'libcroco') +makedepends=('intltool' 'gobject-introspection' 'vala' 'python2') +options=('!emptydirs') +url="https://live.gnome.org/LibRsvg" +install=librsvg.install +source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz + bgo759084.patch) +sha256sums=('4d6ea93ec05f5dabe7262d711d246a0a99b2311e215360dd3dcabd6afe3b9804' + 'd6cf5b318a89fb002a520c830c0666f0cb905d4d38322b2c41296fdd36d60b93') + +prepare() { + cd $pkgname-$pkgver + patch -Np1 -i ../bgo759084.patch +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-static --enable-vala + + 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 $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} Copied: librsvg/repos/extra-i686/bgo759084.patch (from rev 258835, librsvg/trunk/bgo759084.patch) =================================================================== --- extra-i686/bgo759084.patch (rev 0) +++ extra-i686/bgo759084.patch 2016-02-03 13:31:06 UTC (rev 258836) @@ -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: extra-i686/librsvg.install =================================================================== --- extra-i686/librsvg.install 2016-02-03 13:30:55 UTC (rev 258835) +++ extra-i686/librsvg.install 2016-02-03 13:31:06 UTC (rev 258836) @@ -1,11 +0,0 @@ -post_install() { - gdk-pixbuf-query-loaders --update-cache -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} Copied: librsvg/repos/extra-i686/librsvg.install (from rev 258835, librsvg/trunk/librsvg.install) =================================================================== --- extra-i686/librsvg.install (rev 0) +++ extra-i686/librsvg.install 2016-02-03 13:31:06 UTC (rev 258836) @@ -0,0 +1,11 @@ +post_install() { + gdk-pixbuf-query-loaders --update-cache +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} Deleted: extra-x86_64/PKGBUILD =================================================================== --- extra-x86_64/PKGBUILD 2016-02-03 13:30:55 UTC (rev 258835) +++ extra-x86_64/PKGBUILD 2016-02-03 13:31:06 UTC (rev 258836) @@ -1,28 +0,0 @@ -# $Id$ -# Maintainer: Jan de Groot <j...@archlinux.org> - -pkgname=librsvg -pkgver=2.40.11 -pkgrel=1 -epoch=2 -pkgdesc="A SVG viewing library" -arch=(i686 x86_64) -license=('LGPL') -depends=('gdk-pixbuf2' 'pango' 'libcroco') -makedepends=('intltool' 'gobject-introspection' 'vala' 'python2') -options=('!emptydirs') -url="https://live.gnome.org/LibRsvg" -install=librsvg.install -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz) -sha256sums=('611ac0f544debd0c9bf1ef5509c990d218e83dd1d8c83297075c4b29796a2e02') - -build() { - cd $pkgname-$pkgver - ./configure --prefix=/usr --disable-static --enable-vala - make -} - -package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install -} Copied: librsvg/repos/extra-x86_64/PKGBUILD (from rev 258835, librsvg/trunk/PKGBUILD) =================================================================== --- extra-x86_64/PKGBUILD (rev 0) +++ extra-x86_64/PKGBUILD 2016-02-03 13:31:06 UTC (rev 258836) @@ -0,0 +1,43 @@ +# $Id$ +# Maintainer: Jan de Groot <j...@archlinux.org> + +pkgname=librsvg +pkgver=2.40.13 +pkgrel=1 +epoch=2 +pkgdesc="A SVG viewing library" +arch=(i686 x86_64) +license=('LGPL') +depends=('gdk-pixbuf2' 'pango' 'libcroco') +makedepends=('intltool' 'gobject-introspection' 'vala' 'python2') +options=('!emptydirs') +url="https://live.gnome.org/LibRsvg" +install=librsvg.install +source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz + bgo759084.patch) +sha256sums=('4d6ea93ec05f5dabe7262d711d246a0a99b2311e215360dd3dcabd6afe3b9804' + 'd6cf5b318a89fb002a520c830c0666f0cb905d4d38322b2c41296fdd36d60b93') + +prepare() { + cd $pkgname-$pkgver + patch -Np1 -i ../bgo759084.patch +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-static --enable-vala + + 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 $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} Copied: librsvg/repos/extra-x86_64/bgo759084.patch (from rev 258835, librsvg/trunk/bgo759084.patch) =================================================================== --- extra-x86_64/bgo759084.patch (rev 0) +++ extra-x86_64/bgo759084.patch 2016-02-03 13:31:06 UTC (rev 258836) @@ -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: extra-x86_64/librsvg.install =================================================================== --- extra-x86_64/librsvg.install 2016-02-03 13:30:55 UTC (rev 258835) +++ extra-x86_64/librsvg.install 2016-02-03 13:31:06 UTC (rev 258836) @@ -1,11 +0,0 @@ -post_install() { - gdk-pixbuf-query-loaders --update-cache -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} Copied: librsvg/repos/extra-x86_64/librsvg.install (from rev 258835, librsvg/trunk/librsvg.install) =================================================================== --- extra-x86_64/librsvg.install (rev 0) +++ extra-x86_64/librsvg.install 2016-02-03 13:31:06 UTC (rev 258836) @@ -0,0 +1,11 @@ +post_install() { + gdk-pixbuf-query-loaders --update-cache +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +}