summaryrefslogtreecommitdiff
path: root/fonts
diff options
context:
space:
mode:
authorjperkin <jperkin@pkgsrc.org>2017-05-30 16:53:14 +0000
committerjperkin <jperkin@pkgsrc.org>2017-05-30 16:53:14 +0000
commit3f2db5b35c0b6f52eb21373d3cefeb7ca2a4d51d (patch)
tree1ce195f881bb981b167cceabffa61e17c78e5812 /fonts
parent0d13c2c47a6ce0918ccc78caf8bb9ae5d40b6244 (diff)
downloadpkgsrc-3f2db5b35c0b6f52eb21373d3cefeb7ca2a4d51d.tar.gz
Apply upstream patch for https://bugs.freedesktop.org/show_bug.cgi?id=97546
which fixes cache generation on OSX. Raised in joyent/pkgsrc#506. Bump PKGREVISION.
Diffstat (limited to 'fonts')
-rw-r--r--fonts/fontconfig/Makefile3
-rw-r--r--fonts/fontconfig/distinfo3
-rw-r--r--fonts/fontconfig/patches/patch-src_fccache.c37
3 files changed, 41 insertions, 2 deletions
diff --git a/fonts/fontconfig/Makefile b/fonts/fontconfig/Makefile
index 45d0d29093c..55e3c3dd4db 100644
--- a/fonts/fontconfig/Makefile
+++ b/fonts/fontconfig/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.97 2016/09/18 13:18:20 wiz Exp $
+# $NetBSD: Makefile,v 1.98 2017/05/30 16:53:14 jperkin Exp $
DISTNAME= fontconfig-2.12.1
+PKGREVISION= 1
CATEGORIES= fonts
MASTER_SITES= http://www.fontconfig.org/release/
EXTRACT_SUFX= .tar.bz2
diff --git a/fonts/fontconfig/distinfo b/fonts/fontconfig/distinfo
index 1bba141873f..8705130738a 100644
--- a/fonts/fontconfig/distinfo
+++ b/fonts/fontconfig/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.55 2016/08/19 12:52:30 wiz Exp $
+$NetBSD: distinfo,v 1.56 2017/05/30 16:53:14 jperkin Exp $
SHA1 (fontconfig-2.12.1.tar.bz2) = 30d832b754fb10a3b70ebac750a38a0275438ad8
RMD160 (fontconfig-2.12.1.tar.bz2) = 66907dbb317309bcb5013ea45c53dbf5050e6376
@@ -9,6 +9,7 @@ SHA1 (patch-ac) = 4a0b7b55aa4b5c106fd256c4ef81df2240224803
SHA1 (patch-af) = d351265c894738284215f0bb38d47cc1c8f28ec7
SHA1 (patch-configure) = 4256c69b24e57d92e7b3bc9b4640d822d782ec3e
SHA1 (patch-scandir.c) = e35f4c005f635dd0d8bb949cd32aa34f5e314200
+SHA1 (patch-src_fccache.c) = 5215a9ae314625f1f088011cb0a5f085d963ee83
SHA1 (patch-src_fccharset.c) = f3855554b3b3cab2530b46bc1ccec6a33303de7a
SHA1 (patch-src_fcftint.h) = d629fd7ef9713ccc56800d033ba2e09c5a9e2bff
SHA1 (patch-src_fcint.h) = 13602cc605d7dadd2f7c30633236454bb134a50a
diff --git a/fonts/fontconfig/patches/patch-src_fccache.c b/fonts/fontconfig/patches/patch-src_fccache.c
new file mode 100644
index 00000000000..f6594cad65f
--- /dev/null
+++ b/fonts/fontconfig/patches/patch-src_fccache.c
@@ -0,0 +1,37 @@
+$NetBSD: patch-src_fccache.c,v 1.1 2017/05/30 16:53:14 jperkin Exp $
+
+Apply upstream patch for https://bugs.freedesktop.org/show_bug.cgi?id=97546
+
+--- src/fccache.c.orig 2016-08-05 05:35:05.000000000 +0000
++++ src/fccache.c
+@@ -640,6 +640,7 @@ FcCacheOffsetsValid (FcCache *cache)
+ FcPattern *font = FcFontSetFont (fs, i);
+ FcPatternElt *e;
+ FcValueListPtr l;
++ char *last_offset;
+
+ if ((char *) font < base ||
+ (char *) font > end - sizeof (FcFontSet) ||
+@@ -653,11 +654,17 @@ FcCacheOffsetsValid (FcCache *cache)
+ if (e->values != 0 && !FcIsEncodedOffset(e->values))
+ return FcFalse;
+
+- for (j = font->num, l = FcPatternEltValues(e); j >= 0 && l; j--, l = FcValueListNext(l))
+- if (l->next != NULL && !FcIsEncodedOffset(l->next))
+- break;
+- if (j < 0)
+- return FcFalse;
++ for (j = 0; j < font->num; j++)
++ {
++ last_offset = (char *) font + font->elts_offset;
++ for (l = FcPatternEltValues(&e[j]); l; l = FcValueListNext(l))
++ {
++ if ((char *) l < last_offset || (char *) l > end - sizeof (*l) ||
++ (l->next != NULL && !FcIsEncodedOffset(l->next)))
++ return FcFalse;
++ last_offset = (char *) l + 1;
++ }
++ }
+ }
+ }
+