summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaymond W. Ko2023-02-20 15:23:27 -0500
committerRaymond W. Ko2023-02-20 15:40:05 -0500
commit3014bf31ca8b117084304ee7008bc31ca04e029b (patch)
treeb18dbd53b7b5098ddf218ed0ab1dbefb54599f2a
parenta683a0dc1a8abba0a36d7842051d7ab7d3cf2000 (diff)
downloadaur-3014bf31ca8b117084304ee7008bc31ca04e029b.tar.gz
update to version 2.13.0
dummy
-rw-r--r--.SRCINFO43
-rw-r--r--0001-Enable-table-validation-modules.patch42
-rw-r--r--0002-Enable-subpixel-rendering.patch22
-rw-r--r--0003-Enable-infinality-subpixel-hinting.patch24
-rw-r--r--0004-Enable-long-PCF-family-names.patch22
-rw-r--r--0005-builds-meson-parse_modules_cfg.py-Handle-gxvalid-and.patch30
-rw-r--r--PKGBUILD100
-rw-r--r--freetype2.sh12
8 files changed, 239 insertions, 56 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3b98816b8e87..fef46d558ddd 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,30 +1,43 @@
pkgbase = freetype2-ultimate5
pkgdesc = FreeType patched for effect similar to Infinality's ultimate5 preset.
- pkgver = 2.12.1
+ pkgver = 2.13.0
pkgrel = 1
url = https://www.freetype.org/
install = freetype2-ultimate5.install
arch = x86_64
license = GPL
+ makedepends = librsvg
makedepends = libx11
- makedepends = qt5-base
makedepends = meson
- makedepends = librsvg
- provides = freetype2=2.12.1
+ makedepends = qt5-base
+ depends = brotli
+ depends = bzip2
+ depends = harfbuzz
+ depends = libpng
+ depends = sh
+ depends = zlib
+ provides = freetype2=2.13.0
provides = libfreetype.so
conflicts = freetype2
- options = debug
+ backup = etc/profile.d/freetype2.sh
+ source = https://download-mirror.savannah.gnu.org/releases/freetype/freetype-2.13.0.tar.xz
+ source = https://download-mirror.savannah.gnu.org/releases/freetype/freetype-2.13.0.tar.xz.sig
+ source = 0001-Enable-table-validation-modules.patch
+ source = 0002-Enable-subpixel-rendering.patch
+ source = 0003-Enable-infinality-subpixel-hinting.patch
+ source = 0004-Enable-long-PCF-family-names.patch
+ source = 0005-builds-meson-parse_modules_cfg.py-Handle-gxvalid-and.patch
+ source = freetype2.sh
source = like-ultimate5.patch
- source = upstream_01.patch::https://raw.githubusercontent.com/archlinux/svntogit-packages/943d7dcb1d33b6d05dfa4d10c1b7286c0d1753e0/trunk/0001-Enable-table-validation-modules.patch
- source = upstream_02.patch::https://raw.githubusercontent.com/archlinux/svntogit-packages/943d7dcb1d33b6d05dfa4d10c1b7286c0d1753e0/trunk/0002-Enable-subpixel-rendering.patch
- source = upstream_03.patch::https://raw.githubusercontent.com/archlinux/svntogit-packages/943d7dcb1d33b6d05dfa4d10c1b7286c0d1753e0/trunk/0003-Enable-infinality-subpixel-hinting.patch
- source = upstream_04.patch::https://raw.githubusercontent.com/archlinux/svntogit-packages/943d7dcb1d33b6d05dfa4d10c1b7286c0d1753e0/trunk/0004-Enable-long-PCF-family-names.patch
- source = https://download-mirror.savannah.gnu.org/releases/freetype/freetype-2.12.1.tar.xz
+ validpgpkeys = E30674707856409FF1948010BE6C3AAC63AD8E3F
+ sha256sums = 5ee23abd047636c24b2d43c6625dcafc66661d1aca64dec9e0d05df29592624c
+ sha256sums = SKIP
+ sha256sums = d279a9d4b2c146722dbc03f9a33009846efe8bbbe3ada52beb4a1aa4d4dfaa38
+ sha256sums = f2e8a16126723458b413e58da267fb30332d0b42fef972f951e3e9fc081fa492
+ sha256sums = 8e61d12ebdbbcb764a38d4798ee728074bac0aa20978d538b6e7045a63949ab8
+ sha256sums = cc364cc0ca21b8b30f29d90ab394d82f3303ca7d9813d866e6bf14f9bccd9564
+ sha256sums = 08cf087d7d612b4228e24d74df95cf1f397f7c41054c42837c63c1f33ffaee09
+ sha256sums = f7f8e09c44f7552c883846e9a6a1efc50377c4932234e74adc4a8ff750606467
sha256sums = 9554d3a23619a46cf48e512e5b6336afd0802f42fdaf9b2e47ba0c718143f1dd
- sha256sums = 12c869eeba212c74d07d3d7815848b047ecb5282d5463dffb3bb6d219315d4da
- sha256sums = 2497dcb3650271db9bb7ad4f3379b5b3c6a19f5ca5388dd9ba7d42b5c15c8c4f
- sha256sums = caa0bc7d3dfa3b4c6b9beecda6141405dafe540f99a655dc83d1704fa232ac20
- sha256sums = 8bf978cd1abd73f54c53f7d214c368b1fd8921cd9800d2cc84427c662ffbbdcb
- sha256sums = 4766f20157cc4cf0cd292f80bf917f92d1c439b243ac3018debf6b9140c41a7f
pkgname = freetype2-ultimate5
diff --git a/0001-Enable-table-validation-modules.patch b/0001-Enable-table-validation-modules.patch
new file mode 100644
index 000000000000..f360a143132c
--- /dev/null
+++ b/0001-Enable-table-validation-modules.patch
@@ -0,0 +1,42 @@
+From 0000000000000000000000000000000000000000 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] Enable table validation modules
+
+---
+ modules.cfg | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/modules.cfg b/modules.cfg
+index 5b6c9b5a5c1d..b4933bea7654 100644
+--- a/modules.cfg
++++ b/modules.cfg
+@@ -117,26 +117,26 @@ 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).
+ #
+ # See include/freetype/ftgzip.h for the API.
+ AUX_MODULES += gzip
+
+ # Support for streams compressed with LZW (files with suffix .Z).
+ #
+ # See include/freetype/ftlzw.h for the API.
+ AUX_MODULES += lzw
+
+ # Support for streams compressed with bzip2 (files with suffix .bz2).
+ #
+ # See include/freetype/ftbzip2.h for the API.
+ AUX_MODULES += bzip2
+
+ # OpenType table validation. Needs `ftotval.c' below.
+ #
+-# AUX_MODULES += otvalid
++AUX_MODULES += otvalid
+
+ # Auxiliary PostScript driver component to share common code.
+ #
diff --git a/0002-Enable-subpixel-rendering.patch b/0002-Enable-subpixel-rendering.patch
new file mode 100644
index 000000000000..7f43859c3884
--- /dev/null
+++ b/0002-Enable-subpixel-rendering.patch
@@ -0,0 +1,22 @@
+From 0000000000000000000000000000000000000000 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] 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 9e03e1783be9..6f853d403862 100644
+--- a/include/freetype/config/ftoption.h
++++ b/include/freetype/config/ftoption.h
+@@ -123,7 +123,7 @@ FT_BEGIN_HEADER
+ * When this macro is not defined, FreeType offers alternative LCD
+ * rendering technology that produces excellent output.
+ */
+-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
++#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
+
+
+ /**************************************************************************
diff --git a/0003-Enable-infinality-subpixel-hinting.patch b/0003-Enable-infinality-subpixel-hinting.patch
new file mode 100644
index 000000000000..fc381b4ebcaf
--- /dev/null
+++ b/0003-Enable-infinality-subpixel-hinting.patch
@@ -0,0 +1,24 @@
+From 0000000000000000000000000000000000000000 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] 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 6f853d403862..fc36a6db1e63 100644
+--- a/include/freetype/config/ftoption.h
++++ b/include/freetype/config/ftoption.h
+@@ -706,8 +706,8 @@ FT_BEGIN_HEADER
+ * https://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 )
+
+
+ /**************************************************************************
diff --git a/0004-Enable-long-PCF-family-names.patch b/0004-Enable-long-PCF-family-names.patch
new file mode 100644
index 000000000000..eefcea89104c
--- /dev/null
+++ b/0004-Enable-long-PCF-family-names.patch
@@ -0,0 +1,22 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Sun, 14 May 2017 18:09:31 +0200
+Subject: [PATCH] Enable long PCF family names
+
+---
+ 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 fc36a6db1e63..04e8ed0a85ac 100644
+--- a/include/freetype/config/ftoption.h
++++ b/include/freetype/config/ftoption.h
+@@ -913,7 +913,7 @@ FT_BEGIN_HEADER
+ * If this option is activated, it can be controlled with the
+ * `no-long-family-names` property of the 'pcf' driver module.
+ */
+-/* #define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
++#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
+
+
+ /*************************************************************************/
diff --git a/0005-builds-meson-parse_modules_cfg.py-Handle-gxvalid-and.patch b/0005-builds-meson-parse_modules_cfg.py-Handle-gxvalid-and.patch
new file mode 100644
index 000000000000..1e7eb4e135e2
--- /dev/null
+++ b/0005-builds-meson-parse_modules_cfg.py-Handle-gxvalid-and.patch
@@ -0,0 +1,30 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
+Date: Thu, 9 Feb 2023 19:22:47 +0000
+Subject: [PATCH] * builds/meson/parse_modules_cfg.py: Handle gxvalid and
+ otvalid
+
+These need a name mapping similar to what was done for other modules,
+or linking will fail.
+---
+ builds/meson/parse_modules_cfg.py | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/builds/meson/parse_modules_cfg.py b/builds/meson/parse_modules_cfg.py
+index 6030bb2098df..d48129fe72e1 100644
+--- a/builds/meson/parse_modules_cfg.py
++++ b/builds/meson/parse_modules_cfg.py
+@@ -97,8 +97,12 @@ def generate_ftmodule(lists):
+
+ for module in lists["AUX_MODULES"]:
+ if module in ("psaux", "psnames", "otvalid", "gxvalid"):
++ name = {
++ "gxvalid": "gxv",
++ "otvalid": "otv",
++ }.get(module, module)
+ result += (
+- "FT_USE_MODULE( FT_Module_Class, %s_module_class )\n" % module
++ "FT_USE_MODULE( FT_Module_Class, %s_module_class )\n" % name
+ )
+
+ result += "/* EOF */\n"
diff --git a/PKGBUILD b/PKGBUILD
index 3970a0e6f8ec..b6a74bbc33c0 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,4 +1,3 @@
-# current freetype package header:
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
@@ -14,64 +13,83 @@
# * https://github.com/bohoomil/fontconfig-ultimate/blob/master/freetype/03-infinality-2.6.3-2016.04.16.patch#L2092
# * https://www.reddit.com/r/archlinux/comments/5qkvqb/best_way_to_approximate_infinalitys_ultimate5
-__arch_pkg_commit="943d7dcb1d33b6d05dfa4d10c1b7286c0d1753e0"
+__arch_pkg_commit="74eded8ecf7ea281ebb75573989dfc67261ee700"
pkgname=freetype2-ultimate5
-pkgver=2.12.1
+pkgver=2.13.0
pkgrel=1
pkgdesc="FreeType patched for effect similar to Infinality's ultimate5 preset."
url="https://www.freetype.org/"
conflicts=(freetype2)
provides=(freetype2=$pkgver libfreetype.so)
install=freetype2-ultimate5.install
+backup=(etc/profile.d/freetype2.sh)
arch=(x86_64)
-license=('GPL')
-makedepends=(libx11 qt5-base meson librsvg)
-options=(debug)
+license=(GPL)
+# adding harfbuzz for improved OpenType features auto-hinting
+# introduces a cycle dep to harfbuzz depending on freetype wanted by upstream
+depends=(
+ brotli
+ bzip2
+ harfbuzz
+ libpng
+ sh
+ zlib
+)
+makedepends=(
+ librsvg
+ libx11
+ meson
+ qt5-base
+)
source=(
- # Patch file.
+ https://download-mirror.savannah.gnu.org/releases/freetype/freetype-$pkgver.tar.xz{,.sig}
+ 0001-Enable-table-validation-modules.patch
+ 0002-Enable-subpixel-rendering.patch
+ 0003-Enable-infinality-subpixel-hinting.patch
+ 0004-Enable-long-PCF-family-names.patch
+ 0005-builds-meson-parse_modules_cfg.py-Handle-gxvalid-and.patch
+ freetype2.sh
"like-ultimate5.patch"
- "upstream_01.patch::https://raw.githubusercontent.com/archlinux/svntogit-packages/$__arch_pkg_commit/trunk/0001-Enable-table-validation-modules.patch"
- "upstream_02.patch::https://raw.githubusercontent.com/archlinux/svntogit-packages/$__arch_pkg_commit/trunk/0002-Enable-subpixel-rendering.patch"
- "upstream_03.patch::https://raw.githubusercontent.com/archlinux/svntogit-packages/$__arch_pkg_commit/trunk/0003-Enable-infinality-subpixel-hinting.patch"
- "upstream_04.patch::https://raw.githubusercontent.com/archlinux/svntogit-packages/$__arch_pkg_commit/trunk/0004-Enable-long-PCF-family-names.patch"
-
- # Arch Linux package files.
-
- # FreeType source code.
- https://download-mirror.savannah.gnu.org/releases/freetype/freetype-${pkgver}.tar.xz
)
-sha256sums=('9554d3a23619a46cf48e512e5b6336afd0802f42fdaf9b2e47ba0c718143f1dd'
- '12c869eeba212c74d07d3d7815848b047ecb5282d5463dffb3bb6d219315d4da'
- '2497dcb3650271db9bb7ad4f3379b5b3c6a19f5ca5388dd9ba7d42b5c15c8c4f'
- 'caa0bc7d3dfa3b4c6b9beecda6141405dafe540f99a655dc83d1704fa232ac20'
- '8bf978cd1abd73f54c53f7d214c368b1fd8921cd9800d2cc84427c662ffbbdcb'
- '4766f20157cc4cf0cd292f80bf917f92d1c439b243ac3018debf6b9140c41a7f')
+sha256sums=('5ee23abd047636c24b2d43c6625dcafc66661d1aca64dec9e0d05df29592624c'
+ 'SKIP'
+ 'd279a9d4b2c146722dbc03f9a33009846efe8bbbe3ada52beb4a1aa4d4dfaa38'
+ 'f2e8a16126723458b413e58da267fb30332d0b42fef972f951e3e9fc081fa492'
+ '8e61d12ebdbbcb764a38d4798ee728074bac0aa20978d538b6e7045a63949ab8'
+ 'cc364cc0ca21b8b30f29d90ab394d82f3303ca7d9813d866e6bf14f9bccd9564'
+ '08cf087d7d612b4228e24d74df95cf1f397f7c41054c42837c63c1f33ffaee09'
+ 'f7f8e09c44f7552c883846e9a6a1efc50377c4932234e74adc4a8ff750606467'
+ '9554d3a23619a46cf48e512e5b6336afd0802f42fdaf9b2e47ba0c718143f1dd')
+validpgpkeys=(E30674707856409FF1948010BE6C3AAC63AD8E3F) # Werner Lemberg <wl@gnu.org>
-prepare()
-{
- cd freetype-$pkgver
-
- # Apply Arch Linux patches.
- for upstream_patch in $srcdir/upstream_*.patch; do
- patch -Np1 -i "$upstream_patch"
- done
-
- # Apply this patch.
- patch -p 1 -i "$srcdir/like-ultimate5.patch"
+prepare() {
+ cd freetype-$pkgver
+ 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
+ patch -Np1 -i ../0005-builds-meson-parse_modules_cfg.py-Handle-gxvalid-and.patch
+ # apply ultimate5 patch
+ patch -Np1 -i ../like-ultimate5.patch
}
-build()
-{
- cd freetype-$pkgver
+build() {
+ local meson_options=(
+ -D default_library=both
+ )
- ./configure --prefix=/usr --disable-static
- make
+ cd freetype-$pkgver
+ arch-meson build "${meson_options[@]}"
+ meson compile -C build
}
package()
{
- cd freetype-$pkgver
-
- make DESTDIR="${pkgdir}" install
+ cd freetype-$pkgver
+ meson install -C build --destdir="$pkgdir"
+ install -Dt "$pkgdir/etc/profile.d" -m644 ../freetype2.sh
+ install -Dt "$pkgdir/usr/share/aclocal" -m644 \
+ ./builds/unix/freetype2.m4
}
+# vim:set sw=2 sts=-1 et:
diff --git a/freetype2.sh b/freetype2.sh
new file mode 100644
index 000000000000..93165d30fe7f
--- /dev/null
+++ b/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"