From 817505c32e62cbc75c3b66b1a2d70bfab850e50f Mon Sep 17 00:00:00 2001
From: Michael Hanson <hansonorders@verizon.net>
Date: Mon, 15 Nov 2010 22:20:17 +0000
Subject: libwmf: upgrade for libx11

---
 abs/core/libwmf/PKGBUILD                          | 40 ++++++++++++++---------
 abs/core/libwmf/libpng14.patch                    | 12 +++++++
 abs/core/libwmf/libwmf-0.2.8.4-useafterfree.patch | 10 ++++++
 abs/core/libwmf/libwmf.install                    |  9 ++---
 4 files changed, 49 insertions(+), 22 deletions(-)
 create mode 100644 abs/core/libwmf/libpng14.patch
 create mode 100644 abs/core/libwmf/libwmf-0.2.8.4-useafterfree.patch

diff --git a/abs/core/libwmf/PKGBUILD b/abs/core/libwmf/PKGBUILD
index 4ec415d..1206151 100644
--- a/abs/core/libwmf/PKGBUILD
+++ b/abs/core/libwmf/PKGBUILD
@@ -1,31 +1,41 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 87507 2010-08-15 06:45:18Z eric $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 # Contributor: FJ <joostef@gmail.com>
+
 pkgname=libwmf
 pkgver=0.2.8.4
-pkgrel=5
-pkgdesc="A library for reading vector images in Microsoft's native Windows Metafile Format (WMF)."
-arch=(i686 x86_64)
+pkgrel=8
+pkgdesc="A library for reading vector images in Microsoft's native Windows Metafile Format (WMF)"
+arch=('i686' 'x86_64')
 url="http://wvware.sourceforge.net/libwmf.html"
 license=("LGPL")
-depends=('libpng' 'libx11' 'freetype2' 'libjpeg' 'gsfonts' 'expat>=2.0')
-makedepends=('gtk2>=2.10.0' 'pkgconfig')
-options=(!libtool)
+depends=('libpng' 'libx11' 'freetype2' 'libjpeg' 'gsfonts' 'expat')
+makedepends=('gtk2' 'libxt' 'pkg-config')
+options=('!libtool' '!docs' '!emptydirs')
 install=libwmf.install
-source=(http://heanet.dl.sf.net/sourceforge/wvware/${pkgname}-${pkgver}.tar.gz)
-md5sums=(d1177739bf1ceb07f57421f0cee191e0)
+source=(http://downloads.sourceforge.net/sourceforge/wvware/${pkgname}-${pkgver}.tar.gz
+	libpng14.patch libwmf-0.2.8.4-useafterfree.patch)
+md5sums=('d1177739bf1ceb07f57421f0cee191e0' '33d3c07a1be9f99fd88de220930c5550'\
+         '0f02c1cb8a87bf7158634503bf0537e2')
+sha1sums=('822ab3bd0f5e8f39ad732f2774a8e9f18fc91e89' '15edb94eec7c9cea988e83660b334e56bf1fe897'\
+         'ea6d28880840e86c96f9079bfd591da54dcffa5c')
 
 build() {
-  cd ${startdir}/src/${pkgname}-${pkgver}
-  sed -i -e 's/src include fonts doc/src include fonts/g' Makefile.in
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  patch -Np1 -i "${srcdir}/libpng14.patch"
+  patch -Np1 -i "${srcdir}/libwmf-0.2.8.4-useafterfree.patch"
   ./configure --prefix=/usr \
               --with-gsfontdir=/usr/share/fonts/Type1 \
 	      --with-fontdir=/usr/share/fonts/Type1 \
 	      --with-gsfontmap=/usr/share/ghostscript/8.15/lib/Fontmap.GS
-  make || return 1
-  make DESTDIR=${startdir}/pkg install
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
   #Remove fonts, these are in gsfonts
-  rm -rf ${startdir}/pkg/usr/share/fonts
+  rm -rf "${pkgdir}/usr/share/fonts"
   #Remove static GTK loader, can't use it anyways
-  rm -f ${startdir}/pkg/usr/lib/gtk-2.0/*/loaders/*.a
+  rm -f "${pkgdir}"/usr/lib/gtk-2.0/*/loaders/io-wmf.a
 }
diff --git a/abs/core/libwmf/libpng14.patch b/abs/core/libwmf/libpng14.patch
new file mode 100644
index 0000000..3d38c71
--- /dev/null
+++ b/abs/core/libwmf/libpng14.patch
@@ -0,0 +1,12 @@
+diff -Nur libwmf-0.2.8.4.orig/src/extra/gd/gd_png.c libwmf-0.2.8.4/src/extra/gd/gd_png.c
+--- libwmf-0.2.8.4.orig/src/extra/gd/gd_png.c	2005-07-27 23:35:06.000000000 +0300
++++ libwmf-0.2.8.4/src/extra/gd/gd_png.c	2010-01-17 01:33:58.000000000 +0200
+@@ -136,7 +136,7 @@
+   /* first do a quick check that the file really is a PNG image; could
+    * have used slightly more general png_sig_cmp() function instead */
+   gdGetBuf (sig, 8, infile);
+-  if (!png_check_sig (sig, 8))
++  if (png_sig_cmp (sig, 0, 8))
+     return NULL;		/* bad signature */
+ 
+ #ifndef PNG_SETJMP_NOT_SUPPORTED
diff --git a/abs/core/libwmf/libwmf-0.2.8.4-useafterfree.patch b/abs/core/libwmf/libwmf-0.2.8.4-useafterfree.patch
new file mode 100644
index 0000000..328c541
--- /dev/null
+++ b/abs/core/libwmf/libwmf-0.2.8.4-useafterfree.patch
@@ -0,0 +1,10 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_clip.c.CVE-2009-1364-im-clip-list	2009-04-24 04:06:44.000000000 -0400
++++ libwmf-0.2.8.4/src/extra/gd/gd_clip.c	2009-04-24 04:08:30.000000000 -0400
+@@ -70,6 +70,7 @@ void gdClipSetAdd(gdImagePtr im,gdClipRe
+ 	{	more = gdRealloc (im->clip->list,(im->clip->max + 8) * sizeof (gdClipRectangle));
+ 		if (more == 0) return;
+ 		im->clip->max += 8;
++                im->clip->list = more;
+ 	}
+ 	im->clip->list[im->clip->count] = (*rect);
+ 	im->clip->count++;
diff --git a/abs/core/libwmf/libwmf.install b/abs/core/libwmf/libwmf.install
index 17fa278..9c99a90 100644
--- a/abs/core/libwmf/libwmf.install
+++ b/abs/core/libwmf/libwmf.install
@@ -1,6 +1,6 @@
 post_install() {
-  if [ -x /usr/bin/gdk-pixbuf-query-loaders ]; then
-    /usr/bin/gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders
+  if [ -x usr/bin/gdk-pixbuf-query-loaders ]; then
+    gdk-pixbuf-query-loaders > etc/gtk-2.0/gdk-pixbuf.loaders
   fi
 }
 
@@ -11,8 +11,3 @@ post_upgrade() {
 post_remove() {
   post_install $1
 }
-
-op=$1
-shift
-
-$op $*
-- 
cgit v0.12