From 72a7238eaf63b1ec1f96b4db325bcf0cab81bbb3 Mon Sep 17 00:00:00 2001 From: Britney Fransen <brfransen@gmail.com> Date: Mon, 24 Nov 2014 20:39:39 +0000 Subject: freetype2: update 2.5.1 --- abs/core/freetype2/PKGBUILD | 47 +++++++++++++++------- abs/core/freetype2/__changelog | 1 - abs/core/freetype2/fix_segfault_with_harfbuzz.diff | 32 +++++++++++++++ abs/core/freetype2/freetype-2.3.0-enable-spr.patch | 11 ----- abs/core/freetype2/freetype-2.5.1-enable-sph.patch | 13 ++++++ abs/core/freetype2/freetype-2.5.1-enable-spr.patch | 13 ++++++ 6 files changed, 90 insertions(+), 27 deletions(-) delete mode 100644 abs/core/freetype2/__changelog create mode 100644 abs/core/freetype2/fix_segfault_with_harfbuzz.diff delete mode 100644 abs/core/freetype2/freetype-2.3.0-enable-spr.patch create mode 100644 abs/core/freetype2/freetype-2.5.1-enable-sph.patch create mode 100644 abs/core/freetype2/freetype-2.5.1-enable-spr.patch 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.3.0-enable-spr.patch b/abs/core/freetype2/freetype-2.3.0-enable-spr.patch deleted file mode 100644 index 8432e28..0000000 --- a/abs/core/freetype2/freetype-2.3.0-enable-spr.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- 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 @@ - /* This is done to allow FreeType clients to run unmodified, forcing */ - /* them to display normal gray-level anti-aliased glyphs. */ - /* */ --/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ -+#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING - - - /*************************************************************************/ 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.5.1-enable-spr.patch b/abs/core/freetype2/freetype-2.5.1-enable-spr.patch new file mode 100644 index 0000000..0d300a8 --- /dev/null +++ b/abs/core/freetype2/freetype-2.5.1-enable-spr.patch @@ -0,0 +1,13 @@ +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. */ + /* */ +-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ ++#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING + + + /*************************************************************************/ -- cgit v0.12