summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBritney Fransen <brfransen@gmail.com>2014-11-24 20:39:39 (GMT)
committerBritney Fransen <brfransen@gmail.com>2014-11-24 20:39:39 (GMT)
commit72a7238eaf63b1ec1f96b4db325bcf0cab81bbb3 (patch)
tree36ea6f28785e9032b0da62bb0374d893d9c33bd7
parente3cde1ea45f9b06ca0c0977bcb0cabc8b85f1d5e (diff)
downloadlinhes_pkgbuild-72a7238eaf63b1ec1f96b4db325bcf0cab81bbb3.zip
linhes_pkgbuild-72a7238eaf63b1ec1f96b4db325bcf0cab81bbb3.tar.gz
linhes_pkgbuild-72a7238eaf63b1ec1f96b4db325bcf0cab81bbb3.tar.bz2
freetype2: update 2.5.1
-rw-r--r--abs/core/freetype2/PKGBUILD47
-rw-r--r--abs/core/freetype2/__changelog1
-rw-r--r--abs/core/freetype2/fix_segfault_with_harfbuzz.diff32
-rw-r--r--abs/core/freetype2/freetype-2.5.1-enable-sph.patch13
-rw-r--r--abs/core/freetype2/freetype-2.5.1-enable-spr.patch (renamed from abs/core/freetype2/freetype-2.3.0-enable-spr.patch)8
5 files changed, 82 insertions, 19 deletions
diff --git a/abs/core/freetype2/PKGBUILD b/abs/core/freetype2/PKGBUILD
index 36accb9..a8236f6 100644
--- a/abs/core/freetype2/PKGBUILD
+++ b/abs/core/freetype2/PKGBUILD
@@ -1,29 +1,46 @@
-# $Id: PKGBUILD 161854 2012-06-15 16:53:25Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=freetype2
-pkgver=2.4.10
-pkgrel=1
+pkgver=2.5.3
+pkgrel=2
pkgdesc="TrueType font rendering library"
arch=(i686 x86_64)
license=('GPL')
url="http://freetype.sourceforge.net"
-depends=('zlib' 'bzip2' 'sh')
-options=('!libtool')
-replaces=('freetype2-static')
-source=(http://downloads.sourceforge.net/sourceforge/freetype/freetype-${pkgver}.tar.bz2
- freetype-2.3.0-enable-spr.patch
- freetype-2.2.1-enable-valid.patch)
-md5sums=('13286702e9390a91661f980608adaff1'
- '816dc8619a6904a7385769433c0a8653'
- '214119610444c9b02766ccee5e220680')
+# adding harfbuzz for improved OpenType features auto-hinting
+# introduces a cycle dep to harfbuzz depending on freetype wanted by upstream
+depends=('zlib' 'bzip2' 'sh' 'libpng' 'harfbuzz')
+source=(http://downloads.sourceforge.net/sourceforge/freetype/freetype-${pkgver}.tar.bz2{,.sig}
+ freetype-2.2.1-enable-valid.patch
+ freetype-2.5.1-enable-spr.patch
+ freetype-2.5.1-enable-sph.patch
+ fix_segfault_with_harfbuzz.diff)
+sha1sums=('d3c26cc17ec7fe6c36f4efc02ef92ab6aa3f4b46'
+ 'SKIP'
+ 'f279d922a873d62a8af50bfc873051839d194dca'
+ '13ee8d558593db991ad29fa090b461f914536104'
+ 'c31fa3d342ead56f3acfa1f267b474a7686d0014'
+ 'c99013b4c19494cd26031878368191cd2b4459b0')
-build() {
+prepare() {
cd "${srcdir}/freetype-${pkgver}"
- patch -Np1 -i "${srcdir}/freetype-2.3.0-enable-spr.patch"
patch -Np1 -i "${srcdir}/freetype-2.2.1-enable-valid.patch"
+ patch -Np1 -i "${srcdir}/freetype-2.5.1-enable-spr.patch"
+
+ # fix segfaults # https://bugs.archlinux.org/task/39365
+ # http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=23367ff97f33ef6a2b7e1fced1157c87a46d9596
+ patch -Np1 -i "${srcdir}/fix_segfault_with_harfbuzz.diff"
+
+ # Disabled for now due to resistance
+ # Kept here for easier rebuilds via ABS
+ # https://bugs.archlinux.org/task/35274
+ #patch -Np1 -i "${srcdir}/freetype-2.5.1-enable-sph.patch"
+}
- ./configure --prefix=/usr
+build() {
+ cd "${srcdir}/freetype-${pkgver}"
+ ./configure --prefix=/usr --disable-static
make
}
diff --git a/abs/core/freetype2/__changelog b/abs/core/freetype2/__changelog
deleted file mode 100644
index a1edbbd..0000000
--- a/abs/core/freetype2/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-- added replaces=('freetype2-static') to PKGBUILD
diff --git a/abs/core/freetype2/fix_segfault_with_harfbuzz.diff b/abs/core/freetype2/fix_segfault_with_harfbuzz.diff
new file mode 100644
index 0000000..a1832eb
--- /dev/null
+++ b/abs/core/freetype2/fix_segfault_with_harfbuzz.diff
@@ -0,0 +1,32 @@
+From 23367ff97f33ef6a2b7e1fced1157c87a46d9596 Mon Sep 17 00:00:00 2001
+From: Werner Lemberg <wl@gnu.org>
+Date: Mon, 17 Mar 2014 06:33:14 +0000
+Subject: Fix Savannah bug #41869.
+
+This works around a problem with HarfBuzz (<= 0.9.26), which doesn't
+validate glyph indices returned by
+`hb_ot_layout_lookup_collect_glyphs'.
+
+* src/autofit/hbshim.c (af_get_coverage): Guard `idx'.
+
+* docs/CHANGES: Updated.
+---
+diff --git a/src/autofit/hbshim.c b/src/autofit/hbshim.c
+index 11fb743..2eda8d7 100644
+--- a/src/autofit/hbshim.c
++++ b/src/autofit/hbshim.c
+@@ -347,6 +347,11 @@
+ count++;
+ #endif
+
++ /* HarfBuzz 0.9.26 and older doesn't validate glyph indices */
++ /* returned by `hb_ot_layout_lookup_collect_glyphs'... */
++ if ( idx >= (hb_codepoint_t)globals->glyph_count )
++ continue;
++
+ if ( gstyles[idx] == AF_STYLE_UNASSIGNED )
+ gstyles[idx] = (FT_Byte)style_class->style;
+ #ifdef FT_DEBUG_LEVEL_TRACE
+--
+cgit v0.9.0.2
+
diff --git a/abs/core/freetype2/freetype-2.5.1-enable-sph.patch b/abs/core/freetype2/freetype-2.5.1-enable-sph.patch
new file mode 100644
index 0000000..69f73b7
--- /dev/null
+++ b/abs/core/freetype2/freetype-2.5.1-enable-sph.patch
@@ -0,0 +1,13 @@
+diff --git i/include/config/ftoption.h w/include/config/ftoption.h
+index fe2ba15..1ab4226 100644
+--- i/include/config/ftoption.h
++++ w/include/config/ftoption.h
+@@ -591,7 +591,7 @@ FT_BEGIN_HEADER
+ /* This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be */
+ /* defined. */
+ /* */
+-/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING */
++#define TT_CONFIG_OPTION_SUBPIXEL_HINTING
+
+
+ /*************************************************************************/
diff --git a/abs/core/freetype2/freetype-2.3.0-enable-spr.patch b/abs/core/freetype2/freetype-2.5.1-enable-spr.patch
index 8432e28..0d300a8 100644
--- a/abs/core/freetype2/freetype-2.3.0-enable-spr.patch
+++ b/abs/core/freetype2/freetype-2.5.1-enable-spr.patch
@@ -1,6 +1,8 @@
---- freetype-2.3.0/include/freetype/config/ftoption.h.spf 2007-01-18 14:27:34.000000000 -0500
-+++ freetype-2.3.0/include/freetype/config/ftoption.h 2007-01-18 14:27:48.000000000 -0500
-@@ -92,7 +92,7 @@
+diff --git i/include/config/ftoption.h w/include/config/ftoption.h
+index fe2ba15..22ce1a3 100644
+--- i/include/config/ftoption.h
++++ w/include/config/ftoption.h
+@@ -92,7 +92,7 @@ FT_BEGIN_HEADER
/* This is done to allow FreeType clients to run unmodified, forcing */
/* them to display normal gray-level anti-aliased glyphs. */
/* */