Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Sep 2013 21:56:44 +0000 (UTC)
From:      Koop Mast <kwm@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r327652 - in head/x11-fonts/fontconfig: . files
Message-ID:  <201309192156.r8JLuidT053296@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kwm
Date: Thu Sep 19 21:56:43 2013
New Revision: 327652
URL: http://svnweb.freebsd.org/changeset/ports/327652

Log:
  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]

Added:
  head/x11-fonts/fontconfig/files/patch-src_fcfreetype.c   (contents, props changed)
  head/x11-fonts/fontconfig/files/patch-src_fcxml.c   (contents, props changed)
Modified:
  head/x11-fonts/fontconfig/Makefile
  head/x11-fonts/fontconfig/distinfo

Modified: head/x11-fonts/fontconfig/Makefile
==============================================================================
--- head/x11-fonts/fontconfig/Makefile	Thu Sep 19 21:49:50 2013	(r327651)
+++ head/x11-fonts/fontconfig/Makefile	Thu Sep 19 21:56:43 2013	(r327652)
@@ -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 fontconfi
 
 .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}

Modified: head/x11-fonts/fontconfig/distinfo
==============================================================================
--- head/x11-fonts/fontconfig/distinfo	Thu Sep 19 21:49:50 2013	(r327651)
+++ head/x11-fonts/fontconfig/distinfo	Thu Sep 19 21:56:43 2013	(r327652)
@@ -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

Added: head/x11-fonts/fontconfig/files/patch-src_fcfreetype.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11-fonts/fontconfig/files/patch-src_fcfreetype.c	Thu Sep 19 21:56:43 2013	(r327652)
@@ -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

Added: head/x11-fonts/fontconfig/files/patch-src_fcxml.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11-fonts/fontconfig/files/patch-src_fcxml.c	Thu Sep 19 21:56:43 2013	(r327652)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309192156.r8JLuidT053296>