summaryrefslogtreecommitdiffstats
path: root/abs/core
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core')
-rw-r--r--abs/core/freetype2/0001-Enable-table-validation-modules.patch34
-rw-r--r--abs/core/freetype2/0002-Enable-subpixel-rendering.patch25
-rw-r--r--abs/core/freetype2/0003-Enable-infinality-subpixel-hinting.patch27
-rw-r--r--abs/core/freetype2/0005-freetype-2.5.2-more-demos.patch17
-rw-r--r--abs/core/freetype2/PKGBUILD106
-rw-r--r--abs/core/freetype2/fix_segfault_with_harfbuzz.diff32
-rw-r--r--abs/core/freetype2/freetype-2.2.1-enable-valid.patch20
-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.patch13
-rw-r--r--abs/core/freetype2/freetype2.install8
-rw-r--r--abs/core/freetype2/freetype2.sh12
11 files changed, 196 insertions, 111 deletions
diff --git a/abs/core/freetype2/0001-Enable-table-validation-modules.patch b/abs/core/freetype2/0001-Enable-table-validation-modules.patch
new file mode 100644
index 0000000..3e9451f
--- /dev/null
+++ b/abs/core/freetype2/0001-Enable-table-validation-modules.patch
@@ -0,0 +1,34 @@
+From c3680bf8d38cf759c1e33dcc2d2d51e0a4fea2f9 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Tue, 23 Jun 2015 08:40:29 +0200
+Subject: [PATCH 1/3] Enable table validation modules
+
+---
+ modules.cfg | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/modules.cfg b/modules.cfg
+index f30049c38cc45159..7b8e50fe1b34584a 100644
+--- a/modules.cfg
++++ b/modules.cfg
+@@ -120,7 +120,7 @@ AUX_MODULES += cache
+ # TrueType GX/AAT table validation. Needs ftgxval.c below.
+ #
+ # No FT_CONFIG_OPTION_PIC support.
+-# AUX_MODULES += gxvalid
++AUX_MODULES += gxvalid
+
+ # Support for streams compressed with gzip (files with suffix .gz).
+ #
+@@ -143,7 +143,7 @@ AUX_MODULES += bzip2
+ # OpenType table validation. Needs ftotval.c below.
+ #
+ # No FT_CONFIG_OPTION_PIC support.
+-# AUX_MODULES += otvalid
++AUX_MODULES += otvalid
+
+ # Auxiliary PostScript driver component to share common code.
+ #
+--
+2.9.3
+
diff --git a/abs/core/freetype2/0002-Enable-subpixel-rendering.patch b/abs/core/freetype2/0002-Enable-subpixel-rendering.patch
new file mode 100644
index 0000000..dfb5796
--- /dev/null
+++ b/abs/core/freetype2/0002-Enable-subpixel-rendering.patch
@@ -0,0 +1,25 @@
+From 96f09f08417887b2618c177bccfb6da2906568d9 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Tue, 23 Jun 2015 08:43:07 +0200
+Subject: [PATCH 2/3] Enable subpixel rendering
+
+---
+ include/freetype/config/ftoption.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
+index 90c123ef93e9ea04..67a361dd41e0b026 100644
+--- a/include/freetype/config/ftoption.h
++++ b/include/freetype/config/ftoption.h
+@@ -122,7 +122,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
+
+
+ /*************************************************************************/
+--
+2.9.3
+
diff --git a/abs/core/freetype2/0003-Enable-infinality-subpixel-hinting.patch b/abs/core/freetype2/0003-Enable-infinality-subpixel-hinting.patch
new file mode 100644
index 0000000..bbfa2a2
--- /dev/null
+++ b/abs/core/freetype2/0003-Enable-infinality-subpixel-hinting.patch
@@ -0,0 +1,27 @@
+From 220e96a9a8d7aff6ad0f0f1aa12c79cdb563331c Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Mon, 29 Aug 2016 08:43:10 +0200
+Subject: [PATCH 3/3] Enable infinality subpixel hinting
+
+---
+ include/freetype/config/ftoption.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
+index 67a361dd41e0b026..c4812862518b66a6 100644
+--- a/include/freetype/config/ftoption.h
++++ b/include/freetype/config/ftoption.h
+@@ -675,8 +675,8 @@ FT_BEGIN_HEADER
+ /* [1] http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */
+ /* */
+ /* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 1 */
+-#define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2
+-/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 ) */
++/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2 */
++#define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 )
+
+
+ /*************************************************************************/
+--
+2.9.3
+
diff --git a/abs/core/freetype2/0005-freetype-2.5.2-more-demos.patch b/abs/core/freetype2/0005-freetype-2.5.2-more-demos.patch
new file mode 100644
index 0000000..e737cb7
--- /dev/null
+++ b/abs/core/freetype2/0005-freetype-2.5.2-more-demos.patch
@@ -0,0 +1,17 @@
+--- ft2demos-2.5.2/Makefile
++++ ft2demos-2.5.2/Makefile
+@@ -296,10 +296,10 @@ else
+ # The following programs are not compiled automatically; either comment
+ # out the affected line or use the program name as a Makefile target.
+ #
+- # EXES += ftchkwd
+- # EXES += ftmemchk
+- # EXES += ftpatchk
+- # EXES += fttimer
++ EXES += ftchkwd
++ EXES += ftmemchk
++ EXES += ftpatchk
++ EXES += fttimer
+ # EXES += testname
+
+ exes: $(EXES:%=$(BIN_DIR_2)/%$E)
diff --git a/abs/core/freetype2/PKGBUILD b/abs/core/freetype2/PKGBUILD
index a8236f6..80f5160 100644
--- a/abs/core/freetype2/PKGBUILD
+++ b/abs/core/freetype2/PKGBUILD
@@ -1,55 +1,95 @@
# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
-pkgname=freetype2
-pkgver=2.5.3
-pkgrel=2
-pkgdesc="TrueType font rendering library"
+pkgbase=freetype2
+pkgname=('freetype2' 'freetype2-demos')
+pkgver=2.7.1
+pkgrel=1
arch=(i686 x86_64)
license=('GPL')
-url="http://freetype.sourceforge.net"
-# adding harfbuzz for improved OpenType features auto-hinting
+url="http://www.freetype.org/"
+# 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'
+makedepends=('libx11' 'zlib' 'bzip2' 'sh' 'libpng' 'harfbuzz')
+source=(https://download.savannah.gnu.org/releases/freetype/freetype-${pkgver}.tar.bz2{,.sig}
+ https://download.savannah.gnu.org/releases/freetype/freetype-doc-${pkgver}.tar.bz2{,.sig}
+ https://download.savannah.gnu.org/releases/freetype/ft2demos-${pkgver}.tar.bz2{,.sig}
+ 0001-Enable-table-validation-modules.patch
+ 0002-Enable-subpixel-rendering.patch
+ 0003-Enable-infinality-subpixel-hinting.patch
+ 0005-freetype-2.5.2-more-demos.patch
+ freetype2.sh)
+sha1sums=('4d08a9a6567c6332d58e9a5f9a7e9e3fbce66789'
'SKIP'
- 'f279d922a873d62a8af50bfc873051839d194dca'
- '13ee8d558593db991ad29fa090b461f914536104'
- 'c31fa3d342ead56f3acfa1f267b474a7686d0014'
- 'c99013b4c19494cd26031878368191cd2b4459b0')
+ 'd8ce472cd775b8ce50d127689acab59181e72ecf'
+ 'SKIP'
+ '2ebe93df13eb45dac8515c5ed0216ef694c33f18'
+ 'SKIP'
+ 'b31882ef5e8447e761acee1c4a44c0630cd4d465'
+ 'b1494810ed3aca25cdd8e8cedf634e5adfe6c09e'
+ '41d27140fd590945e22e012c9dce62de3d6f11e6'
+ '72cfecbe738085eec475e012617661ad0cc9b76f'
+ 'bc6df1661c4c33e20f5ce30c2da8ad3c2083665f')
+validpgpkeys=('58E0C111E39F5408C5D3EC76C1A60EACE707FDA5')
prepare() {
- cd "${srcdir}/freetype-${pkgver}"
- 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"
+ # Rename source dir to allow building the demos
+ mv freetype-${pkgver} freetype2
+
+ cd freetype2
+ patch -Np1 -i ../0001-Enable-table-validation-modules.patch
+ patch -Np1 -i ../0002-Enable-subpixel-rendering.patch
+ patch -Np1 -i ../0003-Enable-infinality-subpixel-hinting.patch
+
+ cd ../ft2demos-${pkgver}
+ # enable more demos
+ patch -Np1 -i ../0005-freetype-2.5.2-more-demos.patch
+
+ # Suppress RPATH
+ sed -i '/X11_LIB:%=-R%/d' graph/x11/rules.mk
}
build() {
- cd "${srcdir}/freetype-${pkgver}"
+ cd freetype2
./configure --prefix=/usr --disable-static
make
+
+ # Build demos
+ cd ../ft2demos-${pkgver}
+ make
}
check() {
- cd "${srcdir}/freetype-${pkgver}"
+ cd freetype2
make -k check
}
-package() {
- cd "${srcdir}/freetype-${pkgver}"
+package_freetype2() {
+ pkgdesc="TrueType font rendering library"
+ depends=('zlib' 'bzip2' 'sh' 'libpng' 'harfbuzz')
+ provides=('libfreetype.so')
+ install=freetype2.install
+ backup=('etc/profile.d/freetype2.sh')
+
+ cd freetype2
make DESTDIR="${pkgdir}" install
+ install -Dm644 ../freetype2.sh "${pkgdir}/etc/profile.d/freetype2.sh"
+
+ # Package docs
+ install -dm755 "${pkgdir}/usr/share/doc"
+ cp -a docs "${pkgdir}/usr/share/doc/${pkgname}"
+
+ cd ../ft2demos-${pkgver}
+ mkdir -p $srcdir/ft-demos
+ for _i in bin/{f,t}t*; do
+ libtool --mode=install install $_i "$srcdir/ft-demos"
+ done
+}
+
+package_freetype2-demos() {
+ pkgdesc="Freetype tools and demos"
+ depends=('freetype2' 'libx11')
+
+ install -dm755 "${pkgdir}/usr/bin"
+ cp -a $srcdir/ft-demos/* "${pkgdir}/usr/bin"
}
diff --git a/abs/core/freetype2/fix_segfault_with_harfbuzz.diff b/abs/core/freetype2/fix_segfault_with_harfbuzz.diff
deleted file mode 100644
index a1832eb..0000000
--- a/abs/core/freetype2/fix_segfault_with_harfbuzz.diff
+++ /dev/null
@@ -1,32 +0,0 @@
-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.2.1-enable-valid.patch b/abs/core/freetype2/freetype-2.2.1-enable-valid.patch
deleted file mode 100644
index c78b6b7..0000000
--- a/abs/core/freetype2/freetype-2.2.1-enable-valid.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- freetype-2.2.1/modules.cfg.orig 2006-07-07 21:01:09.000000000 -0400
-+++ freetype-2.2.1/modules.cfg 2006-07-07 21:01:54.000000000 -0400
-@@ -110,7 +110,7 @@
- AUX_MODULES += cache
-
- # TrueType GX/AAT table validation. Needs ftgxval.c below.
--# AUX_MODULES += gxvalid
-+AUX_MODULES += gxvalid
-
- # Support for streams compressed with gzip (files with suffix .gz).
- #
-@@ -124,7 +124,7 @@
-
- # OpenType table validation. Needs ftotval.c below.
- #
--# AUX_MODULES += otvalid
-+AUX_MODULES += otvalid
-
- # Auxiliary PostScript driver component to share common code.
- #
diff --git a/abs/core/freetype2/freetype-2.5.1-enable-sph.patch b/abs/core/freetype2/freetype-2.5.1-enable-sph.patch
deleted file mode 100644
index 69f73b7..0000000
--- a/abs/core/freetype2/freetype-2.5.1-enable-sph.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-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
deleted file mode 100644
index 0d300a8..0000000
--- a/abs/core/freetype2/freetype-2.5.1-enable-spr.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-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
-
-
- /*************************************************************************/
diff --git a/abs/core/freetype2/freetype2.install b/abs/core/freetype2/freetype2.install
new file mode 100644
index 0000000..5d4d1e7
--- /dev/null
+++ b/abs/core/freetype2/freetype2.install
@@ -0,0 +1,8 @@
+post_upgrade() {
+ if (( $(vercmp $2 2.7-1) < 0 )); then
+ cat <<MSG
+ The Arch-specific FT2_SUBPIXEL_HINTING has been removed.
+ Subpixel hinting is now configured in /etc/profile.d/freetype2.sh .
+MSG
+ fi
+}
diff --git a/abs/core/freetype2/freetype2.sh b/abs/core/freetype2/freetype2.sh
new file mode 100644
index 0000000..93165d3
--- /dev/null
+++ b/abs/core/freetype2/freetype2.sh
@@ -0,0 +1,12 @@
+# Subpixel hinting mode can be chosen by setting the right TrueType interpreter
+# version. The available settings are:
+#
+# truetype:interpreter-version=35 # Classic mode (default in 2.6)
+# truetype:interpreter-version=38 # Infinality mode
+# truetype:interpreter-version=40 # Minimal mode (default in 2.7)
+#
+# There are more properties that can be set, separated by whitespace. Please
+# refer to the FreeType documentation for details.
+
+# Uncomment and configure below
+#export FREETYPE_PROPERTIES="truetype:interpreter-version=40"