1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-26 05:02:18 +00:00

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]
This commit is contained in:
Koop Mast 2013-09-19 21:56:43 +00:00
parent df3b21e7e1
commit f225fc0e42
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=327652
4 changed files with 124 additions and 6 deletions

View File

@ -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}

View File

@ -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

View File

@ -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

View File

@ -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