diff options
author | Koop Mast <kwm@FreeBSD.org> | 2013-09-19 21:56:43 +0000 |
---|---|---|
committer | Koop Mast <kwm@FreeBSD.org> | 2013-09-19 21:56:43 +0000 |
commit | f225fc0e42ddd93130af7a052a7e336e81e19244 (patch) | |
tree | 421b16baf7e33281cb9028d17939847c45ed2cdc /x11-fonts/fontconfig | |
parent | df3b21e7e11f318e4ecedb3547081b5ed468b213 (diff) | |
download | ports-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/Makefile | 13 | ||||
-rw-r--r-- | x11-fonts/fontconfig/distinfo | 4 | ||||
-rw-r--r-- | x11-fonts/fontconfig/files/patch-src_fcfreetype.c | 65 | ||||
-rw-r--r-- | x11-fonts/fontconfig/files/patch-src_fcxml.c | 48 |
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 |