aboutsummaryrefslogtreecommitdiff
path: root/x11-fonts/fontconfig
diff options
context:
space:
mode:
authorKoop Mast <kwm@FreeBSD.org>2013-09-19 21:56:43 +0000
committerKoop Mast <kwm@FreeBSD.org>2013-09-19 21:56:43 +0000
commitf225fc0e42ddd93130af7a052a7e336e81e19244 (patch)
tree421b16baf7e33281cb9028d17939847c45ed2cdc /x11-fonts/fontconfig
parentdf3b21e7e11f318e4ecedb3547081b5ed468b213 (diff)
downloadports-f225fc0e42ddd93130af7a052a7e336e81e19244.tar.gz
ports-f225fc0e42ddd93130af7a052a7e336e81e19244.zip
Update to 2.10.95.
This contains some fixes for user config files. Depend on GCC for arm, or fc-cache will Segfault. [1] Use new LIB_DEPENDS style, remove leading artikel from COMMENT PR: ports/181372 [1] Submitted by: Chie Taguchi <taguchi.ch@gmail.com> [1]
Notes
Notes: svn path=/head/; revision=327652
Diffstat (limited to 'x11-fonts/fontconfig')
-rw-r--r--x11-fonts/fontconfig/Makefile13
-rw-r--r--x11-fonts/fontconfig/distinfo4
-rw-r--r--x11-fonts/fontconfig/files/patch-src_fcfreetype.c65
-rw-r--r--x11-fonts/fontconfig/files/patch-src_fcxml.c48
4 files changed, 124 insertions, 6 deletions
diff --git a/x11-fonts/fontconfig/Makefile b/x11-fonts/fontconfig/Makefile
index a1d6867edd0e..d962bfc75892 100644
--- a/x11-fonts/fontconfig/Makefile
+++ b/x11-fonts/fontconfig/Makefile
@@ -3,21 +3,21 @@
# $MCom: ports/trunk/x11-fonts/fontconfig/Makefile 18637 2013-07-27 09:15:21Z kwm $
PORTNAME= fontconfig
-PORTVERSION= 2.10.93
+PORTVERSION= 2.10.95
PORTREVISION?= 0
PORTEPOCH?= 1
CATEGORIES= x11-fonts
MASTER_SITES= http://www.freedesktop.org/software/fontconfig/release/
MAINTAINER= gnome@FreeBSD.org
-COMMENT= An XML-based font configuration API for X Windows
+COMMENT= XML-based font configuration API for X Windows
USE_BZIP2= yes
.if !defined(REFERENCE_PORT)
-LIB_DEPENDS= freetype:${PORTSDIR}/print/freetype2 \
- expat:${PORTSDIR}/textproc/expat2
+LIB_DEPENDS= libfreetype.so:${PORTSDIR}/print/freetype2 \
+ libexpat.so:${PORTSDIR}/textproc/expat2
USE_LDCONFIG= yes
USE_AUTOTOOLS= libtool
@@ -42,6 +42,11 @@ PORTDOCS= fontconfig-user.html fontconfig-user.pdf fontconfig-user.txt
.include <bsd.port.options.mk>
+# work around fc-cache crash on arm platform
+.if ${ARCH} == arm || ${ARCH} == armv6
+USE_GCC= any
+.endif
+
post-install:
.if ${PORT_OPTIONS:MDOCS}
${MKDIR} ${DOCSDIR}
diff --git a/x11-fonts/fontconfig/distinfo b/x11-fonts/fontconfig/distinfo
index fd942cc89131..b98b2960a645 100644
--- a/x11-fonts/fontconfig/distinfo
+++ b/x11-fonts/fontconfig/distinfo
@@ -1,2 +1,2 @@
-SHA256 (fontconfig-2.10.93.tar.bz2) = ea901f278848829ed9937d76fb0ce63ad362d7d5b9e75aa6a6b78bfef42e529c
-SIZE (fontconfig-2.10.93.tar.bz2) = 1526089
+SHA256 (fontconfig-2.10.95.tar.bz2) = abc0ecb9fb083d8705c140c8c0d13cc294c56faa1fee0e31e3f3eb98062a5e7b
+SIZE (fontconfig-2.10.95.tar.bz2) = 1529849
diff --git a/x11-fonts/fontconfig/files/patch-src_fcfreetype.c b/x11-fonts/fontconfig/files/patch-src_fcfreetype.c
new file mode 100644
index 000000000000..bf22c090fab7
--- /dev/null
+++ b/x11-fonts/fontconfig/files/patch-src_fcfreetype.c
@@ -0,0 +1,65 @@
+From a61e145304da86c8c35b137493bbd8fd5dd1e7f5 Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Mon, 09 Sep 2013 10:59:31 +0000
+Subject: Fix memory leaks in FcFreeTypeQueryFace
+
+---
+diff --git a/src/fcfreetype.c b/src/fcfreetype.c
+index 02e85cb..e394307 100644
+--- src/fcfreetype.c
++++ src/fcfreetype.c
+@@ -1105,7 +1105,6 @@ FcFreeTypeQueryFace (const FT_Face face,
+ const char *tmp;
+
+ FcChar8 *hashstr = NULL;
+- char *fontdata = NULL;
+ FT_Error err;
+ FT_ULong len = 0, alen;
+
+@@ -1668,15 +1667,21 @@ FcFreeTypeQueryFace (const FT_Face face,
+ err = FT_Load_Sfnt_Table (face, 0, 0, NULL, &len);
+ if (err == FT_Err_Ok)
+ {
++ char *fontdata;
++
+ alen = (len + 63) & ~63;
+ fontdata = malloc (alen);
+ if (!fontdata)
+ goto bail3;
+ err = FT_Load_Sfnt_Table (face, 0, 0, (FT_Byte *)fontdata, &len);
+ if (err != FT_Err_Ok)
++ {
++ free (fontdata);
+ goto bail3;
++ }
+ memset (&fontdata[len], 0, alen - len);
+ hashstr = FcHashGetSHA256DigestFromMemory (fontdata, len);
++ free (fontdata);
+ }
+ else if (err == FT_Err_Invalid_Face_Handle)
+ {
+@@ -1692,7 +1697,11 @@ FcFreeTypeQueryFace (const FT_Face face,
+ if (hashstr)
+ {
+ if (!FcPatternAddString (pat, FC_HASH, hashstr))
++ {
++ free (hashstr);
+ goto bail1;
++ }
++ free (hashstr);
+ }
+ bail3:
+
+@@ -1783,10 +1792,6 @@ bail3:
+ bail2:
+ FcCharSetDestroy (cs);
+ bail1:
+- if (hashstr)
+- free (hashstr);
+- if (fontdata)
+- free (fontdata);
+ FcPatternDestroy (pat);
+ bail0:
+ return NULL;
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/x11-fonts/fontconfig/files/patch-src_fcxml.c b/x11-fonts/fontconfig/files/patch-src_fcxml.c
new file mode 100644
index 000000000000..f67fe3ac32b0
--- /dev/null
+++ b/x11-fonts/fontconfig/files/patch-src_fcxml.c
@@ -0,0 +1,48 @@
+From 3e5f70a16ac6d54f1e01c92ddaa5985deec1b7f9 Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Mon, 02 Sep 2013 11:51:46 +0000
+Subject: Do not create a config dir for migration when no config files nor dirs
+
+---
+diff --git a/src/fcxml.c b/src/fcxml.c
+index b464b4e..8ff10b6 100644
+--- src/fcxml.c
++++ src/fcxml.c
+@@ -2233,11 +2233,6 @@ FcParseInclude (FcConfigParse *parse)
+ /* No config dir nor file on the XDG directory spec compliant place
+ * so need to guess what it is supposed to be.
+ */
+- FcChar8 *parent = FcStrDirname (s);
+-
+- if (!FcFileIsDir (parent))
+- FcMakeDirectory (parent);
+- FcStrFree (parent);
+ if (FcStrStr (s, (const FcChar8 *)"conf.d") != NULL)
+ goto userdir;
+ else
+@@ -2259,6 +2254,11 @@ FcParseInclude (FcConfigParse *parse)
+ {
+ if (FcFileIsDir (filename))
+ {
++ FcChar8 *parent = FcStrDirname (userdir);
++
++ if (!FcFileIsDir (parent))
++ FcMakeDirectory (parent);
++ FcStrFree (parent);
+ if (FcFileIsDir (userdir) ||
+ rename ((const char *)filename, (const char *)userdir) != 0 ||
+ symlink ((const char *)userdir, (const char *)filename) != 0)
+@@ -2272,6 +2272,11 @@ FcParseInclude (FcConfigParse *parse)
+ }
+ else
+ {
++ FcChar8 *parent = FcStrDirname (userconf);
++
++ if (!FcFileIsDir (parent))
++ FcMakeDirectory (parent);
++ FcStrFree (parent);
+ if (FcFileIsFile (userconf) ||
+ rename ((const char *)filename, (const char *)userconf) != 0 ||
+ symlink ((const char *)userconf, (const char *)filename) != 0)
+--
+cgit v0.9.0.2-2-gbebe