diff --git a/lib32-freetype2/0001-Enable-table-validation-modules.patch b/lib32-freetype2/0001-Enable-table-validation-modules.patch index 4ed7dd8..5508d42 100644 --- a/lib32-freetype2/0001-Enable-table-validation-modules.patch +++ b/lib32-freetype2/0001-Enable-table-validation-modules.patch @@ -1,4 +1,4 @@ -From 27f765b5f41638de36de728e9018a1400b0be615 Mon Sep 17 00:00:00 2001 +From 17dd2751813c3c8b37dac474cc5024473eb9bece Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" Date: Tue, 23 Jun 2015 08:40:29 +0200 Subject: [PATCH 1/4] Enable table validation modules @@ -8,27 +8,42 @@ Subject: [PATCH 1/4] Enable table validation modules 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules.cfg b/modules.cfg -index 2984e51..a5db21d 100644 +index 517111efeb642459..64b2a34d510ce8f7 100644 --- a/modules.cfg +++ b/modules.cfg -@@ -110,7 +110,7 @@ RASTER_MODULES += smooth - AUX_MODULES += cache - +@@ -120,30 +120,30 @@ 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). # -@@ -129,7 +129,7 @@ AUX_MODULES += bzip2 + # See include/freetype/ftgzip.h for the API. + # No FT_CONFIG_OPTION_PIC support. + AUX_MODULES += gzip + + # Support for streams compressed with LZW (files with suffix .Z). + # + # See include/freetype/ftlzw.h for the API. + # No FT_CONFIG_OPTION_PIC support. + AUX_MODULES += lzw + + # Support for streams compressed with bzip2 (files with suffix .bz2). + # + # See include/freetype/ftbzip2.h for the API. + # No FT_CONFIG_OPTION_PIC support. + 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.6.0 +2.13.0 diff --git a/lib32-freetype2/0002-Enable-subpixel-rendering.patch b/lib32-freetype2/0002-Enable-subpixel-rendering.patch index acc0475..66b4102 100644 --- a/lib32-freetype2/0002-Enable-subpixel-rendering.patch +++ b/lib32-freetype2/0002-Enable-subpixel-rendering.patch @@ -1,4 +1,4 @@ -From 27d96091b2bb0a825cbd62a332ef918f39c6126f Mon Sep 17 00:00:00 2001 +From a8f7f3068a8a5f94adfc77f4ddf03bf08da38f9b Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" Date: Tue, 23 Jun 2015 08:43:07 +0200 Subject: [PATCH 2/4] Enable subpixel rendering @@ -8,10 +8,10 @@ Subject: [PATCH 2/4] Enable subpixel rendering 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h -index 4970945..ab407e3 100644 +index 1bf6e8f534ff0734..1126716626b570df 100644 --- a/include/freetype/config/ftoption.h +++ b/include/freetype/config/ftoption.h -@@ -92,7 +92,7 @@ FT_BEGIN_HEADER +@@ -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. */ /* */ @@ -21,5 +21,5 @@ index 4970945..ab407e3 100644 /*************************************************************************/ -- -2.6.0 +2.13.0 diff --git a/lib32-freetype2/PKGBUILD b/lib32-freetype2/PKGBUILD index ebadd5e..7362a7b 100644 --- a/lib32-freetype2/PKGBUILD +++ b/lib32-freetype2/PKGBUILD @@ -5,40 +5,39 @@ _pkgbasename=freetype2 pkgname=lib32-$_pkgbasename -pkgver=2.6.3 +pkgver=2.8 pkgrel=1 pkgdesc="TrueType font rendering library (32-bit)" arch=(x86_64) license=('GPL') -url="http://www.freetype.org/" +url="https://www.freetype.org/" # adding harfbuzz for improved OpenType features auto-hinting # introduces a cycle dep to harfbuzz depending on freetype wanted by upstream -depends=('lib32-zlib' 'lib32-bzip2' 'lib32-libpng' 'lib32-harfbuzz' "$_pkgbasename=$pkgver") -makedepends=(gcc-multilib) -source=(http://download.savannah.gnu.org/releases/freetype/freetype-${pkgver}.tar.bz2{,.sig} +depends=('lib32-zlib' 'lib32-bzip2' 'lib32-libpng' 'lib32-harfbuzz' $_pkgbasename) +makedepends=('gcc-multilib') +provides=('libfreetype.so') +source=(https://download.savannah.gnu.org/releases/freetype/freetype-${pkgver}.tar.bz2{,.sig} 0001-Enable-table-validation-modules.patch 0002-Enable-subpixel-rendering.patch - 0003-Enable-subpixel-hinting.patch - 0004-Mask-subpixel-hinting-with-an-env-var.patch) -sha1sums=('6c98bd5d0be313207c37ca23d25faf983486aee5' + 0003-Enable-infinality-subpixel-hinting.patch + 0004-Enable-long-PCF-family-names.patch) +sha1sums=('42c6b1f733fe13a3eba135f5025b22cb68450f91' 'SKIP' - '1c7bc438df0428a63f881e7e4343b22c5b09ecb1' - 'e2d2b8c4847ab9cfd497179c7140835e99ece711' - 'ebe3d7a6fc41304a77c23cb56e94dc718146d963' - 'f50c70080f3fbee45b9c4264d8ae37eb4f1ac335') + 'c3e91e668936206d3c158bffde0f69788a086a5b' + '4ff958229a7f87e04a9894d5a6ed2df227071931' + '81586014ea44375ddc85dd9dbcabae6e91c34d62' + '334f229875039794adeb574e27d365bb445fb314') validpgpkeys=('58E0C111E39F5408C5D3EC76C1A60EACE707FDA5') prepare() { - cd "${srcdir}/freetype-${pkgver}" - patch -Np1 -i "${srcdir}/0001-Enable-table-validation-modules.patch" - patch -Np1 -i "${srcdir}/0002-Enable-subpixel-rendering.patch" + # Rename source dir to allow building the demos + mv freetype-${pkgver} freetype2 - # https://bugs.archlinux.org/task/35274 - patch -Np1 -i "${srcdir}/0003-Enable-subpixel-hinting.patch" - # Provide a way to enable the above patch at runtime. - # Hopefully just a temporary measure until fontconfig picks up - # the necessary configurables. - patch -Np1 -i "${srcdir}/0004-Mask-subpixel-hinting-with-an-env-var.patch" + 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 + patch -Np1 -i ../0004-Enable-long-PCF-family-names.patch } build() { @@ -46,18 +45,19 @@ build() { export CXX="g++ -m32" export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" - cd "${srcdir}/freetype-${pkgver}" - ./configure --prefix=/usr --libdir=/usr/lib32 + cd freetype2 + ./configure --prefix=/usr --disable-static --libdir=/usr/lib32 make } check() { - cd "${srcdir}/freetype-${pkgver}" + cd freetype2 make -k check } package() { - cd "${srcdir}/freetype-${pkgver}" + cd freetype2 make DESTDIR="${pkgdir}" install + rm -r "${pkgdir}"/usr/{include,share,bin} } diff --git a/lib32-harfbuzz/PKGBUILD b/lib32-harfbuzz/PKGBUILD index 8d6c19e..88c9c6c 100644 --- a/lib32-harfbuzz/PKGBUILD +++ b/lib32-harfbuzz/PKGBUILD @@ -2,36 +2,70 @@ _pkgbasename=harfbuzz pkgname=lib32-$_pkgbasename -pkgver=1.2.3 +pkgver=1.4.7 pkgrel=1 -pkgdesc="OpenType text shaping engine. (32-bit)" -arch=('x86_64') +pkgdesc="OpenType text shaping engine (32-bit)" url="http://www.freedesktop.org/wiki/Software/HarfBuzz" -license=('MIT') -depends=('lib32-icu' 'lib32-glib2' 'lib32-freetype2' $_pkgbasename=$pkgver) -makedepends=('gcc-multilib') -source=(http://www.freedesktop.org/software/harfbuzz/release/${_pkgbasename}-${pkgver}.tar.bz2) -sha256sums=('8216d2404aaab7fde87be0365a90d64aa6c55928e104557cfcb37b54a096cb8c') +arch=(x86_64) +license=(MIT) +makedepends=(lib32-glib2 lib32-freetype2 lib32-icu $_pkgbasename gcc-multilib ragel git) +_commit=fc15e60eadfc89aca5b8815262b8ee888f285169 # tags/1.4.7^0 +source=("git+https://anongit.freedesktop.org/git/harfbuzz#commit=$_commit") +sha256sums=('SKIP') + +pkgver() { + cd $_pkgbasename + git describe --tags | sed 's/-/+/g' +} + +prepare() { + cd $_pkgbasename + NOCONFIGURE=1 ./autogen.sh +} build() { export CC="gcc -m32" export CXX="g++ -m32" export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" - cd "${srcdir}/${_pkgbasename}-${pkgver}" - - # work around autogen.sh requiring ragel - autoreconf --force --install --verbose - ./configure --prefix=/usr --libdir=/usr/lib32 --disable-silent-rules --with-graphite2=no --without-cairo + cd $_pkgbasename + + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib32 \ + --without-cairo \ + --with-freetype \ + --with-glib \ + --with-gobject \ + --without-graphite2 \ + --with-icu \ + --disable-gtk-doc + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool make } -package() { - cd "${srcdir}/${_pkgbasename}-${pkgver}" +package_lib32-harfbuzz() { + depends=(lib32-glib2 lib32-freetype2 harfbuzz=$pkgver) - make DESTDIR="${pkgdir}" install + cd $_pkgbasename + make DESTDIR="$pkgdir" install rm -rf "${pkgdir}"/usr/{include,share,bin} mkdir -p "$pkgdir/usr/share/licenses" - ln -s $_pkgbasename "$pkgdir/usr/share/licenses/$pkgname" + ln -s harfbuzz "$pkgdir/usr/share/licenses/lib32-harfbuzz" + +# Split harfbuzz-icu + mkdir -p ../hb-icu/usr/lib32/pkgconfig; cd ../hb-icu + mv "$pkgdir"/usr/lib32/libharfbuzz-icu* ./usr/lib32 + mv "$pkgdir"/usr/lib32/pkgconfig/harfbuzz-icu.pc ./usr/lib32/pkgconfig +} + +package_lib32-harfbuzz-icu() { + pkgdesc="OpenType text shaping engine (32-bit, ICU integration)" + depends=(lib32-harfbuzz lib32-icu harfbuzz-icu=$pkgver) + + mv hb-icu/* "$pkgdir" + + mkdir -p "$pkgdir/usr/share/licenses" + ln -s harfbuzz-icu "$pkgdir/usr/share/licenses/lib32-harfbuzz-icu" }