diff options
Diffstat (limited to 'abs')
-rw-r--r-- | abs/core/libwmf/PKGBUILD | 40 | ||||
-rw-r--r-- | abs/core/libwmf/libpng14.patch | 12 | ||||
-rw-r--r-- | abs/core/libwmf/libwmf-0.2.8.4-useafterfree.patch | 10 | ||||
-rw-r--r-- | abs/core/libwmf/libwmf.install | 9 |
4 files changed, 49 insertions, 22 deletions
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 $* |