public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: media-libs/fontconfig/, media-libs/fontconfig/files/
@ 2016-04-10 17:27 Lars Wendler
  0 siblings, 0 replies; 13+ messages in thread
From: Lars Wendler @ 2016-04-10 17:27 UTC (permalink / raw
  To: gentoo-commits

commit:     3a9da408519e59323183186634d6a525856f24cb
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 10 17:25:39 2016 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Sun Apr 10 17:27:34 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a9da408

media-libs/fontconfig: Removed old.

Package-Manager: portage-2.2.28
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 media-libs/fontconfig/Manifest                     |   1 -
 .../files/fontconfig-2.10.92-automake-1.13.patch   | 152 ------------------
 .../files/fontconfig-2.10.92-closing-fp.patch      |  21 ---
 .../files/fontconfig-2.10.92-fix-check.patch       | 143 -----------------
 .../files/fontconfig-2.10.92-fix-woff.patch        | 157 ------------------
 .../files/fontconfig-2.10.92-ft-face.patch         | 144 -----------------
 .../files/fontconfig-2.10.92-ft-face2.patch        | 177 ---------------------
 .../files/fontconfig-2.10.92-native-fonts.patch    |  73 ---------
 .../files/fontconfig-2.10.92-use-glob.patch        | 164 -------------------
 .../fontconfig-2.11.0-baseconfigdir_fix.patch      |  21 ---
 .../files/fontconfig-2.11.0-solaris.patch          |  57 -------
 .../files/fontconfig-2.11.0-solaris10.patch        |  63 --------
 .../files/fontconfig-2.11.93-addfile.patch         | 109 -------------
 .../files/fontconfig-2.11.93-fix-sigfpe.patch      |  22 ---
 .../files/fontconfig-2.11.93-rmdead.patch          |  22 ---
 .../files/fontconfig-2.3.2-docbook.patch           |  15 --
 .../files/fontconfig-2.8.0-urw-aliases.patch       |  18 ---
 media-libs/fontconfig/fontconfig-2.11.93.ebuild    | 155 ------------------
 18 files changed, 1514 deletions(-)

diff --git a/media-libs/fontconfig/Manifest b/media-libs/fontconfig/Manifest
index 9b7534a..29261b1 100644
--- a/media-libs/fontconfig/Manifest
+++ b/media-libs/fontconfig/Manifest
@@ -1,4 +1,3 @@
 DIST fontconfig-2.11.1.tar.bz2 1516095 SHA256 dc62447533bca844463a3c3fd4083b57c90f18a70506e7a9f4936b5a1e516a99 SHA512 acf4e6293e0e5521e4b8f29f4b48860ecd1d39744d0eab21c7332e56bfc3ccc63548e459243c5e425b8e5ef265f2cf065eece02460725e794041219d41188149 WHIRLPOOL 45009a1e0fcbbe2f532c6f642a0d57af35af3f6abfb50098c89fe39c71da96597078eb4babdd80a713ef4456e07481d70def7c1c18b7314452136d5b30a4858b
-DIST fontconfig-2.11.93.tar.bz2 1565609 SHA256 381e7c14c7a8bc268a9c07589837f0ea24139abc15f46171b7f94751c969a0af SHA512 68e1728884e4c1bc236cd164fe0b8912c194e8b69bcbffdb3bc8a718737e640061d01a543d90d4198fb2a2d2df0d36b40fac40a27d9845579e1893428d3a22bd WHIRLPOOL b596c1e015e48945158d9d8ffe5e1bf91e6912ac9187fefa829960897fba5c9810ff73ec5ea255b6ca490adb768bd20a50ca0eda41763824cd59b180071600f2
 DIST fontconfig-2.11.94.tar.bz2 1567540 SHA256 d763c024df434146f3352448bc1f4554f390c8a48340cef7aa9cc44716a159df SHA512 ab0639afbe37c46197aa31178f928a000e0662edf794bcd421e396bae2298edc23851ff58deeb448cc14ac1206683494817a64a75ab9f7bb9bce6321ccf5c1f2 WHIRLPOOL cb4df2eafa2748ad51efde09225ccb5ec5e1154c0b2b1074aa6151c289d8f44dd14ed641ef092db5f8f2b986afed8d64167f6d2da9bd7afb3f2dab725a0434d4
 DIST fontconfig-2.11.95.tar.bz2 1591200 SHA256 7b165eee7aa22dcc1557db56f58d905b6a14b32f9701c79427452474375b4c89 SHA512 e3d7696814b585512bbe191ae4e5a4fe5a645895b4b1f5783dc575efe3f0a2b725daa48eb9c43168d2cd2fc752bf114be41c58a4ae81f2db49f431984e134b54 WHIRLPOOL 5c3b084dc2dcd8b0b7c6bf9b71903973a58a31110c5cb7a6ed90822a520dca9e997a2e6a4283ffadbb6fe1d8f1005148f6eeb022b86a22222a47bac807a25677

diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-automake-1.13.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-automake-1.13.patch
deleted file mode 100644
index 02b89fa..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.10.92-automake-1.13.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-From 18bf57c70aafcad031c0b43756b754dcaf6a756a Mon Sep 17 00:00:00 2001
-From: Sebastian Freundt <hroptatyr@fresse.org>
-Date: Sun, 07 Apr 2013 00:02:58 +0000
-Subject: build-chain, replace INCLUDES directive by AM_CPPFLAGS
-
-As of automake-13.1 the INCLUDES directive is no longer supported.
-An automake run will return with an error.
-
-This changeset simply follows automake's advice to replace INCLUDES
-by AM_CPPFLAGS.
----
-diff --git a/Tools.mk b/Tools.mk
-index 56766da..f0fa0ec 100644
---- a/Tools.mk
-+++ b/Tools.mk
-@@ -32,7 +32,7 @@ TOOL=./$(DIR)$(EXEEXT_FOR_BUILD)
- 
- EXTRA_DIST = $(TARG) $(TMPL) $(TSRC) $(DIST)
- 
--INCLUDES = \
-+AM_CPPFLAGS = \
- 	   -I$(builddir) \
- 	   -I$(srcdir) \
- 	   -I$(top_builddir)/src \
-@@ -43,7 +43,7 @@ INCLUDES = \
- 	   $(WARN_CFLAGS)
- 
- $(TOOL): $(TSRC) $(ALIAS_FILES)
--	$(AM_V_GEN) $(CC_FOR_BUILD) -o $(TOOL) $< $(INCLUDES)
-+	$(AM_V_GEN) $(CC_FOR_BUILD) -o $(TOOL) $< $(AM_CPPFLAGS)
- 
- $(TARG): $(TMPL) $(TSRC) $(DEPS)
- 	$(AM_V_GEN) $(MAKE) $(TOOL) && \
-diff --git a/fc-cache/Makefile.am b/fc-cache/Makefile.am
-index 7f7d1b1..0e10786 100644
---- a/fc-cache/Makefile.am
-+++ b/fc-cache/Makefile.am
-@@ -36,7 +36,7 @@ uninstall-local:
- 	-$(RM) -rf "$(DESTDIR)$(fc_cachedir)"
- endif
- 
--INCLUDES=-I${top_srcdir} -I${top_srcdir}/src $(WARN_CFLAGS)
-+AM_CPPFLAGS=-I${top_srcdir} -I${top_srcdir}/src $(WARN_CFLAGS)
- 
- bin_PROGRAMS=fc-cache
- 
-diff --git a/fc-cat/Makefile.am b/fc-cat/Makefile.am
-index b426723..04c1cc4 100644
---- a/fc-cat/Makefile.am
-+++ b/fc-cat/Makefile.am
-@@ -27,7 +27,7 @@ FC_CAT_SRC=${top_srcdir}/fc-cat
- 
- SGML = ${FC_CAT_SRC}/fc-cat.sgml
- 
--INCLUDES=-I${top_srcdir} $(WARN_CFLAGS)
-+AM_CPPFLAGS=-I${top_srcdir} $(WARN_CFLAGS)
- 
- bin_PROGRAMS=fc-cat
- 
-diff --git a/fc-list/Makefile.am b/fc-list/Makefile.am
-index b2c499d..c58540e 100644
---- a/fc-list/Makefile.am
-+++ b/fc-list/Makefile.am
-@@ -29,7 +29,7 @@ SGML = ${FC_LIST_SRC}/fc-list.sgml
- 
- bin_PROGRAMS=fc-list
- 
--INCLUDES=-I${top_srcdir} $(WARN_CFLAGS)
-+AM_CPPFLAGS=-I${top_srcdir} $(WARN_CFLAGS)
- 
- BUILT_MANS=fc-list.1
- 
-diff --git a/fc-match/Makefile.am b/fc-match/Makefile.am
-index 0e9e8fd..84afb8b 100644
---- a/fc-match/Makefile.am
-+++ b/fc-match/Makefile.am
-@@ -29,7 +29,7 @@ FC_MATCH_SRC=${top_srcdir}/fc-match
- 
- SGML = ${FC_MATCH_SRC}/fc-match.sgml
- 
--INCLUDES=-I${top_srcdir} $(WARN_CFLAGS)
-+AM_CPPFLAGS=-I${top_srcdir} $(WARN_CFLAGS)
- 
- BUILT_MANS=fc-match.1
- 
-diff --git a/fc-pattern/Makefile.am b/fc-pattern/Makefile.am
-index 92b0433..c456247 100644
---- a/fc-pattern/Makefile.am
-+++ b/fc-pattern/Makefile.am
-@@ -29,7 +29,7 @@ FC_PATTERN_SRC=${top_srcdir}/fc-pattern
- 
- SGML = ${FC_PATTERN_SRC}/fc-pattern.sgml
- 
--INCLUDES=-I${top_srcdir} $(WARN_CFLAGS)
-+AM_CPPFLAGS=-I${top_srcdir} $(WARN_CFLAGS)
- 
- BUILT_MANS=fc-pattern.1
- 
-diff --git a/fc-query/Makefile.am b/fc-query/Makefile.am
-index b3ea1e6..73b3f11 100644
---- a/fc-query/Makefile.am
-+++ b/fc-query/Makefile.am
-@@ -29,7 +29,7 @@ FC_QUERY_SRC=${top_srcdir}/fc-query
- 
- SGML = ${FC_QUERY_SRC}/fc-query.sgml
- 
--INCLUDES=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
-+AM_CPPFLAGS=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
- 
- BUILT_MANS=fc-query.1
- 
-diff --git a/fc-scan/Makefile.am b/fc-scan/Makefile.am
-index 2063405..471a42f 100644
---- a/fc-scan/Makefile.am
-+++ b/fc-scan/Makefile.am
-@@ -29,7 +29,7 @@ FC_SCAN_SRC=${top_srcdir}/fc-scan
- 
- SGML = ${FC_SCAN_SRC}/fc-scan.sgml
- 
--INCLUDES=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
-+AM_CPPFLAGS=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
- 
- BUILT_MANS=fc-scan.1
- 
-diff --git a/fc-validate/Makefile.am b/fc-validate/Makefile.am
-index 54edec2..782cead 100644
---- a/fc-validate/Makefile.am
-+++ b/fc-validate/Makefile.am
-@@ -29,7 +29,7 @@ FC_VALIDATE_SRC=${top_srcdir}/fc-validate
- 
- SGML = ${FC_VALIDATE_SRC}/fc-validate.sgml
- 
--INCLUDES=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
-+AM_CPPFLAGS=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
- 
- BUILT_MANS=fc-validate.1
- 
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 9fd7dd8..066cc03 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -70,7 +70,7 @@ uninstall-ms-import-lib:
- 
- endif
- 
--INCLUDES = 						\
-+AM_CPPFLAGS = 						\
- 	-I$(top_srcdir)					\
- 	-I$(top_srcdir)/src				\
- 	$(FREETYPE_CFLAGS)				\
---
-cgit v0.9.0.2-2-gbebe

diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-closing-fp.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-closing-fp.patch
deleted file mode 100644
index 2f0083f..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.10.92-closing-fp.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 9299155b5247255d6b6687448173056c3ca8d09b Mon Sep 17 00:00:00 2001
-From: Akira TAGOH <akira@tagoh.org>
-Date: Tue, 09 Apr 2013 02:34:35 +0000
-Subject: Ensure closing fp on error
-
----
-diff --git a/src/fchash.c b/src/fchash.c
-index 827b20f..4ea5f37 100644
---- a/src/fchash.c
-+++ b/src/fchash.c
-@@ -220,7 +220,7 @@ FcHashGetSHA256DigestFromFile (const FcChar8 *filename)
- 
-     ret = FcHashInitSHA256Digest ();
-     if (!ret)
--	return NULL;
-+	goto bail0;
- 
-     while (!feof (fp))
-     {
---
-cgit v0.9.0.2-2-gbebe

diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-fix-check.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-fix-check.patch
deleted file mode 100644
index ea07c0c..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.10.92-fix-check.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From 03216ccf4ca0808f9c7b9513efcaeb7f4058b575 Mon Sep 17 00:00:00 2001
-From: Akira TAGOH <akira@tagoh.org>
-Date: Wed, 10 Apr 2013 09:41:22 +0000
-Subject: Bug 63329 - make check fails: .. contents:: :depth: 2
-
-Add back FcHashGetSHA256DigestFromFile() and fall back to it
-when font isn't SFNT-based font because FT_Load_Sfnt_Table
-fails with FT_Err_Invalid_Face_Handle.
----
-diff --git a/src/fcfreetype.c b/src/fcfreetype.c
-index 22064b3..5e8990d 100644
---- a/src/fcfreetype.c
-+++ b/src/fcfreetype.c
-@@ -1666,17 +1666,29 @@ FcFreeTypeQueryFace (const FT_Face  face,
- 	goto bail1;
- 
-     err = FT_Load_Sfnt_Table (face, 0, 0, NULL, &len);
--    if (err != FT_Err_Ok)
--	goto bail1;
--    alen = (len + 63) & ~63;
--    fontdata = malloc (alen);
--    if (!fontdata)
--	goto bail1;
--    err = FT_Load_Sfnt_Table (face, 0, 0, (FT_Byte *)fontdata, &len);
--    if (err != FT_Err_Ok)
-+    if (err == FT_Err_Ok)
-+    {
-+	alen = (len + 63) & ~63;
-+	fontdata = malloc (alen);
-+	if (!fontdata)
-+	    goto bail1;
-+	err = FT_Load_Sfnt_Table (face, 0, 0, (FT_Byte *)fontdata, &len);
-+	if (err != FT_Err_Ok)
-+	    goto bail1;
-+	memset (&fontdata[len], 0, alen - len);
-+	hashstr = FcHashGetSHA256DigestFromMemory (fontdata, len);
-+    }
-+    else if (err == FT_Err_Invalid_Face_Handle)
-+    {
-+	/* font may not support SFNT. falling back to
-+	 * read the font data from file directly
-+	 */
-+	hashstr = FcHashGetSHA256DigestFromFile (file);
-+    }
-+    else
-+    {
- 	goto bail1;
--    memset (&fontdata[len], 0, alen - len);
--    hashstr = FcHashGetSHA256DigestFromMemory (fontdata, len);
-+    }
-     if (!hashstr)
- 	goto bail1;
-     if (!FcPatternAddString (pat, FC_HASH, hashstr))
-diff --git a/src/fchash.c b/src/fchash.c
-index 1ef1e16..92585a6 100644
---- a/src/fchash.c
-+++ b/src/fchash.c
-@@ -204,6 +204,68 @@ FcHashGetSHA256Digest (const FcChar8 *input_strings,
- }
- 
- FcChar8 *
-+FcHashGetSHA256DigestFromFile (const FcChar8 *filename)
-+{
-+    FILE *fp = fopen ((const char *)filename, "rb");
-+    char ibuf[64];
-+    FcChar32 *ret;
-+    size_t len;
-+    struct stat st;
-+
-+    if (!fp)
-+	return NULL;
-+
-+    if (FcStat (filename, &st))
-+	goto bail0;
-+
-+    ret = FcHashInitSHA256Digest ();
-+    if (!ret)
-+	goto bail0;
-+
-+    while (!feof (fp))
-+    {
-+	if ((len = fread (ibuf, sizeof (char), 64, fp)) < 64)
-+	{
-+	    long v;
-+
-+	    /* add a padding */
-+	    memset (&ibuf[len], 0, 64 - len);
-+	    ibuf[len] = 0x80;
-+	    if ((64 - len) < 9)
-+	    {
-+		/* process a block once */
-+		FcHashComputeSHA256Digest (ret, ibuf);
-+		memset (ibuf, 0, 64);
-+	    }
-+	    /* set input size at the end */
-+	    v = (long)st.st_size * 8;
-+	    ibuf[63 - 0] =  v        & 0xff;
-+	    ibuf[63 - 1] = (v >>  8) & 0xff;
-+	    ibuf[63 - 2] = (v >> 16) & 0xff;
-+	    ibuf[63 - 3] = (v >> 24) & 0xff;
-+	    ibuf[63 - 4] = (v >> 32) & 0xff;
-+	    ibuf[63 - 5] = (v >> 40) & 0xff;
-+	    ibuf[63 - 6] = (v >> 48) & 0xff;
-+	    ibuf[63 - 7] = (v >> 56) & 0xff;
-+	    FcHashComputeSHA256Digest (ret, ibuf);
-+	    break;
-+	}
-+	else
-+	{
-+	    FcHashComputeSHA256Digest (ret, ibuf);
-+	}
-+    }
-+    fclose (fp);
-+
-+    return FcHashSHA256ToString (ret);
-+
-+bail0:
-+    fclose (fp);
-+
-+    return NULL;
-+}
-+
-+FcChar8 *
- FcHashGetSHA256DigestFromMemory (const char *fontdata,
- 				 size_t      length)
- {
-diff --git a/src/fcint.h b/src/fcint.h
-index a662dbf..8919958 100644
---- a/src/fcint.h
-+++ b/src/fcint.h
-@@ -818,6 +818,10 @@ FcFontSetSerialize (FcSerialize *serialize, const FcFontSet * s);
- FcPrivate FcChar8 *
- FcHashGetSHA256Digest (const FcChar8 *input_strings,
- 		       size_t         len);
-+
-+FcPrivate FcChar8 *
-+FcHashGetSHA256DigestFromFile (const FcChar8 *filename);
-+
- FcPrivate FcChar8 *
- FcHashGetSHA256DigestFromMemory (const char *fontdata,
- 				 size_t      length);
---
-cgit v0.9.0.2-2-gbebe

diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-fix-woff.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-fix-woff.patch
deleted file mode 100644
index a3600c0..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.10.92-fix-woff.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-diff --git a/src/fcfreetype.c b/src/fcfreetype.c
-index 8a037c0..5e8990d 100644
---- a/src/fcfreetype.c
-+++ b/src/fcfreetype.c
-@@ -1104,7 +1104,10 @@ FcFreeTypeQueryFace (const FT_Face  face,
-     char	    psname[256];
-     const char	    *tmp;
- 
--    FcChar8	    *hashstr;
-+    FcChar8	    *hashstr = NULL;
-+    char	    *fontdata = NULL;
-+    FT_Error	    err;
-+    FT_ULong	    len = 0, alen;
- 
-     pat = FcPatternCreate ();
-     if (!pat)
-@@ -1662,12 +1665,34 @@ FcFreeTypeQueryFace (const FT_Face  face,
-     if (!FcPatternAddBool (pat, FC_DECORATIVE, decorative))
- 	goto bail1;
- 
--    hashstr = FcHashGetSHA256DigestFromFile (file);
-+    err = FT_Load_Sfnt_Table (face, 0, 0, NULL, &len);
-+    if (err == FT_Err_Ok)
-+    {
-+	alen = (len + 63) & ~63;
-+	fontdata = malloc (alen);
-+	if (!fontdata)
-+	    goto bail1;
-+	err = FT_Load_Sfnt_Table (face, 0, 0, (FT_Byte *)fontdata, &len);
-+	if (err != FT_Err_Ok)
-+	    goto bail1;
-+	memset (&fontdata[len], 0, alen - len);
-+	hashstr = FcHashGetSHA256DigestFromMemory (fontdata, len);
-+    }
-+    else if (err == FT_Err_Invalid_Face_Handle)
-+    {
-+	/* font may not support SFNT. falling back to
-+	 * read the font data from file directly
-+	 */
-+	hashstr = FcHashGetSHA256DigestFromFile (file);
-+    }
-+    else
-+    {
-+	goto bail1;
-+    }
-     if (!hashstr)
- 	goto bail1;
-     if (!FcPatternAddString (pat, FC_HASH, hashstr))
- 	goto bail1;
--    free (hashstr);
- 
-     /*
-      * Compute the unicode coverage for the font
-@@ -1756,6 +1781,10 @@ FcFreeTypeQueryFace (const FT_Face  face,
- bail2:
-     FcCharSetDestroy (cs);
- bail1:
-+    if (hashstr)
-+	free (hashstr);
-+    if (fontdata)
-+	free (fontdata);
-     FcPatternDestroy (pat);
- bail0:
-     return NULL;
-diff --git a/src/fchash.c b/src/fchash.c
-index 827b20f..92585a6 100644
---- a/src/fchash.c
-+++ b/src/fchash.c
-@@ -220,7 +220,7 @@ FcHashGetSHA256DigestFromFile (const FcChar8 *filename)
- 
-     ret = FcHashInitSHA256Digest ();
-     if (!ret)
--	return NULL;
-+	goto bail0;
- 
-     while (!feof (fp))
-     {
-@@ -261,5 +261,60 @@ FcHashGetSHA256DigestFromFile (const FcChar8 *filename)
- 
- bail0:
-     fclose (fp);
-+
-     return NULL;
- }
-+
-+FcChar8 *
-+FcHashGetSHA256DigestFromMemory (const char *fontdata,
-+				 size_t      length)
-+{
-+    char ibuf[64];
-+    FcChar32 *ret;
-+    size_t i = 0;
-+
-+    ret = FcHashInitSHA256Digest ();
-+    if (!ret)
-+	return NULL;
-+
-+    while (i <= length)
-+    {
-+	if ((length - i) < 64)
-+	{
-+	    long v;
-+	    size_t n;
-+
-+	    /* add a padding */
-+	    n = length - i;
-+	    if (n > 0)
-+		memcpy (ibuf, &fontdata[i], n);
-+	    memset (&ibuf[n], 0, 64 - n);
-+	    ibuf[n] = 0x80;
-+	    if ((64 - n) < 9)
-+	    {
-+		/* process a block once */
-+		FcHashComputeSHA256Digest (ret, ibuf);
-+		memset (ibuf, 0, 64);
-+	    }
-+	    /* set input size at the end */
-+	    v = length * 8;
-+	    ibuf[63 - 0] =  v        & 0xff;
-+	    ibuf[63 - 1] = (v >>  8) & 0xff;
-+	    ibuf[63 - 2] = (v >> 16) & 0xff;
-+	    ibuf[63 - 3] = (v >> 24) & 0xff;
-+	    ibuf[63 - 4] = (v >> 32) & 0xff;
-+	    ibuf[63 - 5] = (v >> 40) & 0xff;
-+	    ibuf[63 - 6] = (v >> 48) & 0xff;
-+	    ibuf[63 - 7] = (v >> 56) & 0xff;
-+	    FcHashComputeSHA256Digest (ret, ibuf);
-+	    break;
-+	}
-+	else
-+	{
-+	    FcHashComputeSHA256Digest (ret, &fontdata[i]);
-+	}
-+	i += 64;
-+    }
-+
-+    return FcHashSHA256ToString (ret);
-+}
-diff --git a/src/fcint.h b/src/fcint.h
-index c45075e..8919958 100644
---- a/src/fcint.h
-+++ b/src/fcint.h
-@@ -818,9 +818,14 @@ FcFontSetSerialize (FcSerialize *serialize, const FcFontSet * s);
- FcPrivate FcChar8 *
- FcHashGetSHA256Digest (const FcChar8 *input_strings,
- 		       size_t         len);
-+
- FcPrivate FcChar8 *
- FcHashGetSHA256DigestFromFile (const FcChar8 *filename);
- 
-+FcPrivate FcChar8 *
-+FcHashGetSHA256DigestFromMemory (const char *fontdata,
-+				 size_t      length);
-+
- /* fcinit.c */
- FcPrivate FcConfig *
- FcInitLoadOwnConfig (FcConfig *config);

diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-ft-face.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-ft-face.patch
deleted file mode 100644
index 1df4048..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.10.92-ft-face.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-From c93a8b8b54afe33e5ecf9870723543cb4058fa94 Mon Sep 17 00:00:00 2001
-From: Akira TAGOH <akira@tagoh.org>
-Date: Tue, 09 Apr 2013 03:46:30 +0000
-Subject: Obtain fonts data via FT_Face instead of opening a file directly
-
----
-diff --git a/src/fcfreetype.c b/src/fcfreetype.c
-index 8a037c0..1eecfdb 100644
---- a/src/fcfreetype.c
-+++ b/src/fcfreetype.c
-@@ -1662,7 +1662,7 @@ FcFreeTypeQueryFace (const FT_Face  face,
-     if (!FcPatternAddBool (pat, FC_DECORATIVE, decorative))
- 	goto bail1;
- 
--    hashstr = FcHashGetSHA256DigestFromFile (file);
-+    hashstr = FcHashGetSHA256DigestFromFace (face);
-     if (!hashstr)
- 	goto bail1;
-     if (!FcPatternAddString (pat, FC_HASH, hashstr))
-diff --git a/src/fchash.c b/src/fchash.c
-index 4ea5f37..043d94b 100644
---- a/src/fchash.c
-+++ b/src/fchash.c
-@@ -29,6 +29,9 @@
- #include "fcint.h"
- #include <stdio.h>
- #include <string.h>
-+#include <ft2build.h>
-+#include FT_TRUETYPE_TABLES_H
-+#include FT_TRUETYPE_TAGS_H
- 
- #define ROTRN(w, v, n)	((((FcChar32)v) >> n) | (((FcChar32)v) << (w - n)))
- #define ROTR32(v, n)	ROTRN(32, v, n)
-@@ -204,41 +207,50 @@ FcHashGetSHA256Digest (const FcChar8 *input_strings,
- }
- 
- FcChar8 *
--FcHashGetSHA256DigestFromFile (const FcChar8 *filename)
-+FcHashGetSHA256DigestFromFace (const FT_Face face)
- {
--    FILE *fp = fopen ((const char *)filename, "rb");
--    char ibuf[64];
-+    char ibuf[64], *buf = NULL;
-     FcChar32 *ret;
--    size_t len;
--    struct stat st;
-+    FT_Error err;
-+    FT_ULong len = 0, alen, i = 0;
- 
--    if (!fp)
-+    err = FT_Load_Sfnt_Table (face, 0, 0, NULL, &len);
-+    if (err != FT_Err_Ok)
- 	return NULL;
--
--    if (FcStat (filename, &st))
-+    alen = (len + 63) & ~63;
-+    buf = malloc (alen);
-+    if (!buf)
-+	return NULL;
-+    err = FT_Load_Sfnt_Table (face, 0, 0, (FT_Byte *)buf, &len);
-+    if (err != FT_Err_Ok)
- 	goto bail0;
-+    memset (&buf[len], 0, alen - len);
- 
-     ret = FcHashInitSHA256Digest ();
-     if (!ret)
- 	goto bail0;
- 
--    while (!feof (fp))
-+    while (i <= len)
-     {
--	if ((len = fread (ibuf, sizeof (char), 64, fp)) < 64)
-+	if ((len - i) < 64)
- 	{
- 	    long v;
-+	    int n;
- 
- 	    /* add a padding */
--	    memset (&ibuf[len], 0, 64 - len);
--	    ibuf[len] = 0x80;
--	    if ((64 - len) < 9)
-+	    n = len - i;
-+	    if (n > 0)
-+		memcpy (ibuf, &buf[i], n);
-+	    memset (&ibuf[n], 0, 64 - n);
-+	    ibuf[n] = 0x80;
-+	    if ((64 - n) < 9)
- 	    {
- 		/* process a block once */
- 		FcHashComputeSHA256Digest (ret, ibuf);
- 		memset (ibuf, 0, 64);
- 	    }
- 	    /* set input size at the end */
--	    v = (long)st.st_size * 8;
-+	    v = len * 8;
- 	    ibuf[63 - 0] =  v        & 0xff;
- 	    ibuf[63 - 1] = (v >>  8) & 0xff;
- 	    ibuf[63 - 2] = (v >> 16) & 0xff;
-@@ -252,14 +264,18 @@ FcHashGetSHA256DigestFromFile (const FcChar8 *filename)
- 	}
- 	else
- 	{
--	    FcHashComputeSHA256Digest (ret, ibuf);
-+	    FcHashComputeSHA256Digest (ret, &buf[i]);
- 	}
-+	i += 64;
-     }
--    fclose (fp);
-+    if (buf)
-+	free (buf);
- 
-     return FcHashSHA256ToString (ret);
- 
- bail0:
--    fclose (fp);
-+    if (buf)
-+	free (buf);
-+
-     return NULL;
- }
-diff --git a/src/fcint.h b/src/fcint.h
-index c45075e..703b983 100644
---- a/src/fcint.h
-+++ b/src/fcint.h
-@@ -47,6 +47,8 @@
- #include "fcdeprecate.h"
- #include "fcmutex.h"
- #include "fcatomic.h"
-+#include <ft2build.h>
-+#include FT_FREETYPE_H
- 
- #ifndef FC_CONFIG_PATH
- #define FC_CONFIG_PATH "fonts.conf"
-@@ -819,7 +821,7 @@ FcPrivate FcChar8 *
- FcHashGetSHA256Digest (const FcChar8 *input_strings,
- 		       size_t         len);
- FcPrivate FcChar8 *
--FcHashGetSHA256DigestFromFile (const FcChar8 *filename);
-+FcHashGetSHA256DigestFromFace (const FT_Face face);
- 
- /* fcinit.c */
- FcPrivate FcConfig *
---
-cgit v0.9.0.2-2-gbebe

diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-ft-face2.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-ft-face2.patch
deleted file mode 100644
index 6273567..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.10.92-ft-face2.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From fc5a589abad0e8285f7d95007ebda76536e8fa7d Mon Sep 17 00:00:00 2001
-From: Akira TAGOH <akira@tagoh.org>
-Date: Tue, 09 Apr 2013 08:18:43 +0000
-Subject: Revert the previous change and rework to not export freetype API outside fcfreetype.c
-
----
-diff --git a/src/fcfreetype.c b/src/fcfreetype.c
-index 1eecfdb..22064b3 100644
---- a/src/fcfreetype.c
-+++ b/src/fcfreetype.c
-@@ -1104,7 +1104,10 @@ FcFreeTypeQueryFace (const FT_Face  face,
-     char	    psname[256];
-     const char	    *tmp;
- 
--    FcChar8	    *hashstr;
-+    FcChar8	    *hashstr = NULL;
-+    char	    *fontdata = NULL;
-+    FT_Error	    err;
-+    FT_ULong	    len = 0, alen;
- 
-     pat = FcPatternCreate ();
-     if (!pat)
-@@ -1662,12 +1665,22 @@ FcFreeTypeQueryFace (const FT_Face  face,
-     if (!FcPatternAddBool (pat, FC_DECORATIVE, decorative))
- 	goto bail1;
- 
--    hashstr = FcHashGetSHA256DigestFromFace (face);
-+    err = FT_Load_Sfnt_Table (face, 0, 0, NULL, &len);
-+    if (err != FT_Err_Ok)
-+	goto bail1;
-+    alen = (len + 63) & ~63;
-+    fontdata = malloc (alen);
-+    if (!fontdata)
-+	goto bail1;
-+    err = FT_Load_Sfnt_Table (face, 0, 0, (FT_Byte *)fontdata, &len);
-+    if (err != FT_Err_Ok)
-+	goto bail1;
-+    memset (&fontdata[len], 0, alen - len);
-+    hashstr = FcHashGetSHA256DigestFromMemory (fontdata, len);
-     if (!hashstr)
- 	goto bail1;
-     if (!FcPatternAddString (pat, FC_HASH, hashstr))
- 	goto bail1;
--    free (hashstr);
- 
-     /*
-      * Compute the unicode coverage for the font
-@@ -1756,6 +1769,10 @@ FcFreeTypeQueryFace (const FT_Face  face,
- bail2:
-     FcCharSetDestroy (cs);
- bail1:
-+    if (hashstr)
-+	free (hashstr);
-+    if (fontdata)
-+	free (fontdata);
-     FcPatternDestroy (pat);
- bail0:
-     return NULL;
-diff --git a/src/fchash.c b/src/fchash.c
-index 043d94b..1ef1e16 100644
---- a/src/fchash.c
-+++ b/src/fchash.c
-@@ -29,9 +29,6 @@
- #include "fcint.h"
- #include <stdio.h>
- #include <string.h>
--#include <ft2build.h>
--#include FT_TRUETYPE_TABLES_H
--#include FT_TRUETYPE_TAGS_H
- 
- #define ROTRN(w, v, n)	((((FcChar32)v) >> n) | (((FcChar32)v) << (w - n)))
- #define ROTR32(v, n)	ROTRN(32, v, n)
-@@ -207,40 +204,28 @@ FcHashGetSHA256Digest (const FcChar8 *input_strings,
- }
- 
- FcChar8 *
--FcHashGetSHA256DigestFromFace (const FT_Face face)
-+FcHashGetSHA256DigestFromMemory (const char *fontdata,
-+				 size_t      length)
- {
--    char ibuf[64], *buf = NULL;
-+    char ibuf[64];
-     FcChar32 *ret;
--    FT_Error err;
--    FT_ULong len = 0, alen, i = 0;
--
--    err = FT_Load_Sfnt_Table (face, 0, 0, NULL, &len);
--    if (err != FT_Err_Ok)
--	return NULL;
--    alen = (len + 63) & ~63;
--    buf = malloc (alen);
--    if (!buf)
--	return NULL;
--    err = FT_Load_Sfnt_Table (face, 0, 0, (FT_Byte *)buf, &len);
--    if (err != FT_Err_Ok)
--	goto bail0;
--    memset (&buf[len], 0, alen - len);
-+    size_t i = 0;
- 
-     ret = FcHashInitSHA256Digest ();
-     if (!ret)
--	goto bail0;
-+	return NULL;
- 
--    while (i <= len)
-+    while (i <= length)
-     {
--	if ((len - i) < 64)
-+	if ((length - i) < 64)
- 	{
- 	    long v;
--	    int n;
-+	    size_t n;
- 
- 	    /* add a padding */
--	    n = len - i;
-+	    n = length - i;
- 	    if (n > 0)
--		memcpy (ibuf, &buf[i], n);
-+		memcpy (ibuf, &fontdata[i], n);
- 	    memset (&ibuf[n], 0, 64 - n);
- 	    ibuf[n] = 0x80;
- 	    if ((64 - n) < 9)
-@@ -250,7 +235,7 @@ FcHashGetSHA256DigestFromFace (const FT_Face face)
- 		memset (ibuf, 0, 64);
- 	    }
- 	    /* set input size at the end */
--	    v = len * 8;
-+	    v = length * 8;
- 	    ibuf[63 - 0] =  v        & 0xff;
- 	    ibuf[63 - 1] = (v >>  8) & 0xff;
- 	    ibuf[63 - 2] = (v >> 16) & 0xff;
-@@ -264,18 +249,10 @@ FcHashGetSHA256DigestFromFace (const FT_Face face)
- 	}
- 	else
- 	{
--	    FcHashComputeSHA256Digest (ret, &buf[i]);
-+	    FcHashComputeSHA256Digest (ret, &fontdata[i]);
- 	}
- 	i += 64;
-     }
--    if (buf)
--	free (buf);
- 
-     return FcHashSHA256ToString (ret);
--
--bail0:
--    if (buf)
--	free (buf);
--
--    return NULL;
- }
-diff --git a/src/fcint.h b/src/fcint.h
-index 703b983..a662dbf 100644
---- a/src/fcint.h
-+++ b/src/fcint.h
-@@ -47,8 +47,6 @@
- #include "fcdeprecate.h"
- #include "fcmutex.h"
- #include "fcatomic.h"
--#include <ft2build.h>
--#include FT_FREETYPE_H
- 
- #ifndef FC_CONFIG_PATH
- #define FC_CONFIG_PATH "fonts.conf"
-@@ -821,7 +819,8 @@ FcPrivate FcChar8 *
- FcHashGetSHA256Digest (const FcChar8 *input_strings,
- 		       size_t         len);
- FcPrivate FcChar8 *
--FcHashGetSHA256DigestFromFace (const FT_Face face);
-+FcHashGetSHA256DigestFromMemory (const char *fontdata,
-+				 size_t      length);
- 
- /* fcinit.c */
- FcPrivate FcConfig *
---
-cgit v0.9.0.2-2-gbebe

diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-native-fonts.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-native-fonts.patch
deleted file mode 100644
index 05e9ee9..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.10.92-native-fonts.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 8fd0ed60a62cb7f36b2ade1bd16a66671eaf79da Mon Sep 17 00:00:00 2001
-From: Akira TAGOH <akira@tagoh.org>
-Date: Mon, 01 Apr 2013 09:16:28 +0000
-Subject: Bug 62980 - matching native fonts with even :lang=en
-
-Fix the matcher modified by 4eab908c8679a797ac7016b77a93ee41bb11b0fc
-to deal with both strong and weak of FC_LANG as the same location in the score
----
-diff --git a/src/fcmatch.c b/src/fcmatch.c
-index 68f39ae..2d7b798 100644
---- a/src/fcmatch.c
-+++ b/src/fcmatch.c
-@@ -227,9 +227,10 @@ typedef enum _FcMatcherPriorityDummy {
- #undef FC_OBJECT
- 
- #undef PRI1
--#define PRI1(n)			\
--    PRI_ ## n ## _STRONG,	\
--    PRI_ ## n ## _WEAK
-+#define PRI1(n)					\
-+    PRI_ ## n,					\
-+    PRI_ ## n ## _STRONG = PRI_ ## n,		\
-+    PRI_ ## n ## _WEAK = PRI_ ## n
- 
- typedef enum _FcMatcherPriority {
-     PRI1(HASH),
-@@ -237,9 +238,8 @@ typedef enum _FcMatcherPriority {
-     PRI1(FOUNDRY),
-     PRI1(CHARSET),
-     PRI_FAMILY_STRONG,
--    PRI_LANG_STRONG,
-     PRI_POSTSCRIPT_NAME_STRONG,
--    PRI_LANG_WEAK,
-+    PRI1(LANG),
-     PRI_FAMILY_WEAK,
-     PRI_POSTSCRIPT_NAME_WEAK,
-     PRI1(SPACING),
-@@ -910,8 +910,7 @@ FcFontSetSort (FcConfig	    *config FC_UNUSED,
- 	 * If this node matches any language, go check
- 	 * which ones and satisfy those entries
- 	 */
--	if (nodeps[f]->score[PRI_LANG_STRONG] < 2000 ||
--	    nodeps[f]->score[PRI_LANG_WEAK] < 2000)
-+	if (nodeps[f]->score[PRI_LANG] < 2000)
- 	{
- 	    for (i = 0; i < nPatternLang; i++)
- 	    {
-@@ -935,13 +934,6 @@ FcFontSetSort (FcConfig	    *config FC_UNUSED,
- 			}
- 			patternLangSat[i] = FcTrue;
- 			satisfies = FcTrue;
--			/* adjust score to ensure it's not more than 10000.0
--			 * which would means the lang didn't satisfy the requirements
--			 */
--			if (nodeps[f]->score[PRI_LANG_STRONG] > 10000.0)
--			    nodeps[f]->score[PRI_LANG_STRONG] = 10000.0;
--			if (nodeps[f]->score[PRI_LANG_WEAK] > 10000.0)
--			    nodeps[f]->score[PRI_LANG_WEAK] = 10000.0;
- 			break;
- 		    }
- 		}
-@@ -949,8 +941,7 @@ FcFontSetSort (FcConfig	    *config FC_UNUSED,
- 	}
- 	if (!satisfies)
- 	{
--	    nodeps[f]->score[PRI_LANG_STRONG] = 10000.0;
--	    nodeps[f]->score[PRI_LANG_WEAK] = 10000.0;
-+	    nodeps[f]->score[PRI_LANG] = 10000.0;
- 	}
-     }
- 
---
-cgit v0.9.0.2-2-gbebe

diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-use-glob.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-use-glob.patch
deleted file mode 100644
index e2040fc..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.10.92-use-glob.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-From f6244d2cf231e1dc756f3e941e61b9bf124879bb Mon Sep 17 00:00:00 2001
-From: Akira TAGOH <akira@tagoh.org>
-Date: Wed, 08 May 2013 02:57:49 +0000
-Subject: Use the glob matching for filename
-
-Regex is expensive to compare filenames. we already have the glob matching
-and it works enough in this case.
-
-Prior to this change, renaming FcConfigGlobMatch() to FcStrGlobMatch() and moving to fcstr.c
----
-diff --git a/src/fccfg.c b/src/fccfg.c
-index 7da50b5..fcdf73e 100644
---- a/src/fccfg.c
-+++ b/src/fccfg.c
-@@ -2211,57 +2211,13 @@ FcConfigGlobAdd (FcConfig	*config,
- }
- 
- static FcBool
--FcConfigGlobMatch (const FcChar8    *glob,
--		   const FcChar8    *string)
--{
--    FcChar8	c;
--
--    while ((c = *glob++))
--    {
--	switch (c) {
--	case '*':
--	    /* short circuit common case */
--	    if (!*glob)
--		return FcTrue;
--	    /* short circuit another common case */
--	    if (strchr ((char *) glob, '*') == 0)
--	    {
--		size_t l1, l2;
--
--		l1 = strlen ((char *) string);
--		l2 = strlen ((char *) glob);
--		if (l1 < l2)
--		    return FcFalse;
--		string += (l1 - l2);
--	    }
--	    while (*string)
--	    {
--		if (FcConfigGlobMatch (glob, string))
--		    return FcTrue;
--		string++;
--	    }
--	    return FcFalse;
--	case '?':
--	    if (*string++ == '\0')
--		return FcFalse;
--	    break;
--	default:
--	    if (*string++ != c)
--		return FcFalse;
--	    break;
--	}
--    }
--    return *string == '\0';
--}
--
--static FcBool
- FcConfigGlobsMatch (const FcStrSet	*globs,
- 		    const FcChar8	*string)
- {
-     int	i;
- 
-     for (i = 0; i < globs->num; i++)
--	if (FcConfigGlobMatch (globs->strs[i], string))
-+	if (FcStrGlobMatch (globs->strs[i], string))
- 	    return FcTrue;
-     return FcFalse;
- }
-diff --git a/src/fcint.h b/src/fcint.h
-index 8919958..65bf333 100644
---- a/src/fcint.h
-+++ b/src/fcint.h
-@@ -1090,6 +1090,10 @@ FcPrivate int
- FcStrMatchIgnoreCaseAndDelims (const FcChar8 *s1, const FcChar8 *s2, const FcChar8 *delims);
- 
- FcPrivate FcBool
-+FcStrGlobMatch (const FcChar8 *glob,
-+		const FcChar8 *string);
-+
-+FcPrivate FcBool
- FcStrUsesHome (const FcChar8 *s);
- 
- FcPrivate FcChar8 *
-diff --git a/src/fcmatch.c b/src/fcmatch.c
-index 2d7b798..84c9a9a 100644
---- a/src/fcmatch.c
-+++ b/src/fcmatch.c
-@@ -196,12 +196,10 @@ FcCompareFilename (FcValue *v1, FcValue *v2)
- 	    return 0.0;
- 	else if (FcStrCmpIgnoreCase (s1, s2) == 0)
- 	    return 1.0;
--	else if (FcStrRegexCmp (s2, s1))
-+	else if (FcStrGlobMatch (s1, s2))
- 	    return 2.0;
--	else if (FcStrRegexCmpIgnoreCase (s2, s1))
--	    return 3.0;
- 	else
--	    return 4.0;
-+	    return 3.0;
- }
- 
- #define PRI_NULL(n)				\
-diff --git a/src/fcstr.c b/src/fcstr.c
-index 339a346..3a32031 100644
---- a/src/fcstr.c
-+++ b/src/fcstr.c
-@@ -459,6 +459,50 @@ FcStrMatchIgnoreCaseAndDelims (const FcChar8 *s1, const FcChar8 *s2, const FcCha
-     return w1.src - s1 - 1;
- }
- 
-+FcBool
-+FcStrGlobMatch (const FcChar8 *glob,
-+		const FcChar8 *string)
-+{
-+    FcChar8	c;
-+
-+    while ((c = *glob++))
-+    {
-+	switch (c) {
-+	case '*':
-+	    /* short circuit common case */
-+	    if (!*glob)
-+		return FcTrue;
-+	    /* short circuit another common case */
-+	    if (strchr ((char *) glob, '*') == 0)
-+	    {
-+		size_t l1, l2;
-+
-+		l1 = strlen ((char *) string);
-+		l2 = strlen ((char *) glob);
-+		if (l1 < l2)
-+		    return FcFalse;
-+		string += (l1 - l2);
-+	    }
-+	    while (*string)
-+	    {
-+		if (FcStrGlobMatch (glob, string))
-+		    return FcTrue;
-+		string++;
-+	    }
-+	    return FcFalse;
-+	case '?':
-+	    if (*string++ == '\0')
-+		return FcFalse;
-+	    break;
-+	default:
-+	    if (*string++ != c)
-+		return FcFalse;
-+	    break;
-+	}
-+    }
-+    return *string == '\0';
-+}
-+
- const FcChar8 *
- FcStrStrIgnoreCase (const FcChar8 *s1, const FcChar8 *s2)
- {
---
-cgit v0.9.0.2-2-gbebe

diff --git a/media-libs/fontconfig/files/fontconfig-2.11.0-baseconfigdir_fix.patch b/media-libs/fontconfig/files/fontconfig-2.11.0-baseconfigdir_fix.patch
deleted file mode 100644
index c3f38aa..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.11.0-baseconfigdir_fix.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 320283cd70ae31ce46b03e0c5da55412089ce953 Mon Sep 17 00:00:00 2001
-From: Akira TAGOH <akira@tagoh.org>
-Date: Thu, 16 Jan 2014 10:30:35 +0000
-Subject: Bug 73686 - confdir is not set correctly in fontconfig.pc
-
----
-diff --git a/fontconfig.pc.in b/fontconfig.pc.in
-index 6e112bb..fa00a72 100644
---- a/fontconfig.pc.in
-+++ b/fontconfig.pc.in
-@@ -5,7 +5,7 @@ includedir=@includedir@
- sysconfdir=@sysconfdir@
- localstatedir=@localstatedir@
- PACKAGE=@PACKAGE@
--confdir=@baseconfigdir@
-+confdir=@BASECONFIGDIR@
- cachedir=@fc_cachedir@
- 
- Name: Fontconfig
---
-cgit v0.9.0.2-2-gbebe

diff --git a/media-libs/fontconfig/files/fontconfig-2.11.0-solaris.patch b/media-libs/fontconfig/files/fontconfig-2.11.0-solaris.patch
deleted file mode 100644
index a2c7a76..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.11.0-solaris.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-
- test/test-migration.c |   18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-New commits:
-commit 76ea9af816a50c6bb0b3dc2960460a90fadd9cdb
-Author: Akira TAGOH <akira@tagoh.org>
-Date:   Tue Oct 22 15:00:29 2013 +0900
-
-    Use stat() if there are no d_type in struct dirent
-    
-    Reported by Thomas Klausner
-
-diff --git a/test/test-migration.c b/test/test-migration.c
-index a0ab839..9709651 100644
---- a/test/test-migration.c
-+++ b/test/test-migration.c
-@@ -4,6 +4,11 @@
- #include <unistd.h>
- #include <sys/types.h>
- #include <dirent.h>
-+#ifndef HAVE_STRUCT_DIRENT_D_TYPE
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#endif
- #include <fontconfig/fontconfig.h>
- 
- FcBool
-@@ -36,6 +41,9 @@ unlink_dirs(const char *dir)
-     size_t len = strlen (dir);
-     char *n = NULL;
-     FcBool ret = FcTrue;
-+#ifndef HAVE_STRUCT_DIRENT_D_TYPE
-+    struct stat statb;
-+#endif
- 
-     if (!d)
- 	return FcFalse;
-@@ -53,7 +61,17 @@ unlink_dirs(const char *dir)
- 	strcpy (n, dir);
- 	n[len] = '/';
- 	strcpy (&n[len + 1], e->d_name);
-+#ifdef HAVE_STRUCT_DIRENT_D_TYPE
- 	if (e->d_type == DT_DIR)
-+#else
-+	if (stat (n, &statb) == -1)
-+	{
-+		fprintf (stderr, "E: %s\n", n);
-+		ret = FcFalse;
-+		break;
-+	}
-+	if (S_ISDIR (statb.st_mode))
-+#endif
- 	{
- 	    if (!unlink_dirs (n))
- 	    {

diff --git a/media-libs/fontconfig/files/fontconfig-2.11.0-solaris10.patch b/media-libs/fontconfig/files/fontconfig-2.11.0-solaris10.patch
deleted file mode 100644
index 8ea47d4..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.11.0-solaris10.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-
- configure.ac          |    2 +-
- test/test-migration.c |   15 ++++++++++++++-
- 2 files changed, 15 insertions(+), 2 deletions(-)
-
-New commits:
-commit 65872e9e46d17e4461c3a891ef23abe156005e04
-Author: Akira TAGOH <akira@tagoh.org>
-Date:   Thu Oct 24 19:35:26 2013 +0900
-
-    Fix a build issue on Solaris 10
-    
-    Use own mkdtemp implementation if not available.
-    
-    Reported by Thomas Klausner and Jörn Clausen
-
-diff --git a/configure.ac b/configure.ac
-index c3743f4..4478914 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -148,7 +148,7 @@ AC_TYPE_PID_T
- # Checks for library functions.
- AC_FUNC_VPRINTF
- AC_FUNC_MMAP
--AC_CHECK_FUNCS([link mkstemp mkostemp _mktemp_s getopt getopt_long getprogname getexecname rand random lrand48 random_r rand_r regcomp regerror regexec regfree fstatvfs fstatfs lstat])
-+AC_CHECK_FUNCS([link mkstemp mkostemp _mktemp_s mkdtemp getopt getopt_long getprogname getexecname rand random lrand48 random_r rand_r regcomp regerror regexec regfree fstatvfs fstatfs lstat])
- 
- dnl AC_CHECK_FUNCS doesn't check for header files.
- dnl posix_fadvise() may be not available in older libc.
-diff --git a/test/test-migration.c b/test/test-migration.c
-index 9709651..f127e27 100644
---- a/test/test-migration.c
-+++ b/test/test-migration.c
-@@ -11,6 +11,19 @@
- #endif
- #include <fontconfig/fontconfig.h>
- 
-+#ifdef HAVE_MKDTEMP
-+#define fc_mkdtemp	mkdtemp
-+#else
-+char *
-+fc_mkdtemp (char *template)
-+{
-+    if (!mktemp (template) || mkdir (template, 0700))
-+	return NULL;
-+
-+    return template;
-+}
-+#endif
-+
- FcBool
- mkdir_p(const char *dir)
- {
-@@ -107,7 +120,7 @@ int
- main(void)
- {
-     char template[32] = "fontconfig-XXXXXXXX";
--    char *tmp = mkdtemp (template);
-+    char *tmp = fc_mkdtemp (template);
-     size_t len = strlen (tmp), xlen, dlen;
-     char xdg[256], confd[256], fn[256], nfn[256], ud[256], nud[256];
-     int ret = -1;
-

diff --git a/media-libs/fontconfig/files/fontconfig-2.11.93-addfile.patch b/media-libs/fontconfig/files/fontconfig-2.11.93-addfile.patch
deleted file mode 100644
index 8b96da2..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.11.93-addfile.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From c965c9f67759585909fa03236bad826de85bd39c Mon Sep 17 00:00:00 2001
-From: Akira TAGOH <akira@tagoh.org>
-Date: Mon, 23 Mar 2015 13:30:59 +0900
-Subject: Bug 89617 - FcConfigAppFontAddFile() returns false on any font file
-
-Prior to the change of 32ac7c75e8db0135ef37cf86f92d8b9be000c8bb
-FcConfigAppFontAddFile() always returned FcTrue no matter what
-fonts was added. after that, it always returned FcFalse because
-adding a font doesn't add any subdirs with FcFileScanConfig().
-so changing that to simply ignore it.
-
-Also fixing it to return FcFalse if non-fonts was added, i.e.
-FcFreeTypeQuery() fails.
-
-https://bugs.freedesktop.org/show_bug.cgi?id=89617
-
-diff --git a/src/fccfg.c b/src/fccfg.c
-index b92270b..5467493 100644
---- a/src/fccfg.c
-+++ b/src/fccfg.c
-@@ -2227,7 +2227,9 @@ FcConfigAppFontAddFile (FcConfig    *config,
- 	FcStrSetDestroy (subdirs);
- 	return FcFalse;
-     }
--    if ((sublist = FcStrListCreate (subdirs)))
-+    if (subdirs->num == 0)
-+	ret = FcTrue;
-+    else if ((sublist = FcStrListCreate (subdirs)))
-     {
- 	while ((subdir = FcStrListNext (sublist)))
- 	{
-diff --git a/src/fcdir.c b/src/fcdir.c
-index 00dee72..2e7f0dc 100644
---- a/src/fcdir.c
-+++ b/src/fcdir.c
-@@ -136,6 +136,8 @@ FcFileScanFontConfig (FcFontSet		*set,
- 		ret = FcFalse;
- 	    }
- 	}
-+	else
-+	    ret = FcFalse;
- 	id++;
-     } while (font && ret && id < count);
-     return ret;
-diff --git a/test/Makefile.am b/test/Makefile.am
-index f270b50..bf1ec24 100644
---- a/test/Makefile.am
-+++ b/test/Makefile.am
-@@ -24,6 +24,13 @@ test_pthread_LDADD = $(top_builddir)/src/libfontconfig.la
- # to meaningfully test anything, and we are not installed yet.
- #TESTS += test-pthread
- endif
-+check_PROGRAMS += test-bz89617
-+test_bz89617_CFLAGS = \
-+	-DSRCDIR="\"$(abs_srcdir)\""
-+
-+test_bz89617_LDADD = $(top_builddir)/src/libfontconfig.la
-+TESTS += test-bz89617
-+
- noinst_PROGRAMS = $(check_PROGRAMS)
- 
- if !OS_WIN32
-diff --git a/test/test-bz89617.c b/test/test-bz89617.c
-new file mode 100644
-index 0000000..389f470
---- /dev/null
-+++ b/test/test-bz89617.c
-@@ -0,0 +1,38 @@
-+/*
-+ * fontconfig/test/test-bz89617.c
-+ *
-+ * Copyright © 2000 Keith Packard
-+ * Copyright © 2015 Akira TAGOH
-+ *
-+ * Permission to use, copy, modify, distribute, and sell this software and its
-+ * documentation for any purpose is hereby granted without fee, provided that
-+ * the above copyright notice appear in all copies and that both that
-+ * copyright notice and this permission notice appear in supporting
-+ * documentation, and that the name of the author(s) not be used in
-+ * advertising or publicity pertaining to distribution of the software without
-+ * specific, written prior permission.  The authors make no
-+ * representations about the suitability of this software for any purpose.  It
-+ * is provided "as is" without express or implied warranty.
-+ *
-+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
-+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-+ * PERFORMANCE OF THIS SOFTWARE.
-+ */
-+#include <stdio.h>
-+#include <fontconfig/fontconfig.h>
-+
-+int
-+main (void)
-+{
-+    FcConfig *config = FcConfigGetCurrent ();
-+
-+    if (!FcConfigAppFontAddFile (config, SRCDIR "/4x6.pcf") ||
-+	FcConfigAppFontAddFile (config, "/dev/null"))
-+	return 1;
-+
-+    return 0;
-+}
--- 
-cgit v0.10.2
-

diff --git a/media-libs/fontconfig/files/fontconfig-2.11.93-fix-sigfpe.patch b/media-libs/fontconfig/files/fontconfig-2.11.93-fix-sigfpe.patch
deleted file mode 100644
index e5a5558..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.11.93-fix-sigfpe.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 7bc07cf6c2a5685ab95f146f5af2b3bcd5f5864d Mon Sep 17 00:00:00 2001
-From: Akira TAGOH <akira@tagoh.org>
-Date: Mon, 30 Mar 2015 15:18:44 +0900
-Subject: Fix SIGFPE
-
-
-diff --git a/src/fcrange.c b/src/fcrange.c
-index 37cf067..9b1b67b 100644
---- a/src/fcrange.c
-+++ b/src/fcrange.c
-@@ -204,7 +204,7 @@ FcRangeHash (const FcRange *r)
- {
-     FcRange c = FcRangeCanonicalize (r);
-     int b = (int) (c.u.d.begin * 100);
--    int e = (int) (c.u.d.end * 100);
-+    int e = FcDoubleCmpEQ (c.u.d.end, DBL_MAX) ? INT_MAX : (int) (c.u.d.end * 100);
- 
-     return b ^ (b << 1) ^ (e << 9);
- }
--- 
-cgit v0.10.2
-

diff --git a/media-libs/fontconfig/files/fontconfig-2.11.93-rmdead.patch b/media-libs/fontconfig/files/fontconfig-2.11.93-rmdead.patch
deleted file mode 100644
index 388ecc6..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.11.93-rmdead.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 7301f2f02816c5d44ee75dd0689c806c5aabdbda Mon Sep 17 00:00:00 2001
-From: Akira TAGOH <akira@tagoh.org>
-Date: Mon, 23 Mar 2015 13:18:49 +0900
-Subject: Remove the dead code
-
-
-diff --git a/src/fcdir.c b/src/fcdir.c
-index 593382f..00dee72 100644
---- a/src/fcdir.c
-+++ b/src/fcdir.c
-@@ -136,8 +136,6 @@ FcFileScanFontConfig (FcFontSet		*set,
- 		ret = FcFalse;
- 	    }
- 	}
--	else if (font)
--	    FcPatternDestroy (font);
- 	id++;
-     } while (font && ret && id < count);
-     return ret;
--- 
-cgit v0.10.2
-

diff --git a/media-libs/fontconfig/files/fontconfig-2.3.2-docbook.patch b/media-libs/fontconfig/files/fontconfig-2.3.2-docbook.patch
deleted file mode 100644
index 6a6c01e..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.3.2-docbook.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- configure.in.old	2006-03-31 18:31:26.000000000 +0200
-+++ configure.in	2006-03-31 18:44:47.000000000 +0200
-@@ -407,7 +407,11 @@
- # Let people not build/install docs if they don't have docbook
- #
- 
--AC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no)
-+AC_ARG_ENABLE(docbook,           [  --disable-docbook                Don't build documentation],,)
-+
-+if test x$enable_docbook != xno; then
-+	AC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no)
-+fi
- 
- AM_CONDITIONAL(USEDOCBOOK, test "x$HASDOCBOOK" = xyes)
- 

diff --git a/media-libs/fontconfig/files/fontconfig-2.8.0-urw-aliases.patch b/media-libs/fontconfig/files/fontconfig-2.8.0-urw-aliases.patch
deleted file mode 100644
index 76a4aaa..0000000
--- a/media-libs/fontconfig/files/fontconfig-2.8.0-urw-aliases.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-http://bugs.freedesktop.org/19128
-http://bugs.gentoo.org/303591
-http://bugzilla.redhat.com/468565
-http://bugzilla.gnome.org/502664
-
---- a/conf.d/30-urw-aliases.conf
-+++ b/conf.d/30-urw-aliases.conf
-@@ -29,6 +29,10 @@
- 	  <family>Zapf Dingbats</family>
- 	  <accept><family>Dingbats</family></accept>
- 	</alias>
-+	<alias binding="same">
-+	  <family>ZapfDingbats</family>
-+	  <accept><family>Dingbats</family></accept>
-+	</alias>
- 	<match target="pattern">
- 	  <test name="family">
- 	    <string>Symbol</string>

diff --git a/media-libs/fontconfig/fontconfig-2.11.93.ebuild b/media-libs/fontconfig/fontconfig-2.11.93.ebuild
deleted file mode 100644
index c5a899d..0000000
--- a/media-libs/fontconfig/fontconfig-2.11.93.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-AUTOTOOLS_AUTORECONF=yes
-inherit eutils readme.gentoo autotools-multilib
-
-DESCRIPTION="A library for configuring and customizing font access"
-HOMEPAGE="http://fontconfig.org/"
-SRC_URI="http://fontconfig.org/release/${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="1.0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="doc static-libs"
-
-# Purposefully dropped the xml USE flag and libxml2 support.  Expat is the
-# default and used by every distro.  See bug #283191.
-RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
-	>=media-libs/freetype-2.5.3-r1[${MULTILIB_USEDEP}]
-	abi_x86_32? ( !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)] )"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	doc? ( =app-text/docbook-sgml-dtd-3.1*
-		app-text/docbook-sgml-utils[jadetex] )"
-PDEPEND="!x86-winnt? ( app-eselect/eselect-fontconfig )
-	virtual/ttf-fonts"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-2.10.2-docbook.patch # 310157
-	"${FILESDIR}"/${PN}-2.11.93-latin-update.patch # 130466 + make liberation default
-	"${FILESDIR}"/${PN}-2.11.93-rmdead.patch # these 3 are upstream, in next release
-	"${FILESDIR}"/${PN}-2.11.93-addfile.patch
-	"${FILESDIR}"/${PN}-2.11.93-fix-sigfpe.patch
-)
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache )
-
-pkg_setup() {
-	DOC_CONTENTS="Please make fontconfig configuration changes using
-	\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
-	overwritten. If you need to reset your configuration to upstream defaults,
-	delete the directory ${EROOT}etc/fonts/conf.d/ and re-emerge fontconfig."
-}
-
-src_configure() {
-	local addfonts
-	# harvest some font locations, such that users can benefit from the
-	# host OS's installed fonts
-	case ${CHOST} in
-		*-darwin*)
-			addfonts=",/Library/Fonts,/System/Library/Fonts"
-		;;
-		*-solaris*)
-			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
-				addfonts=",/usr/X/lib/X11/fonts/TrueType"
-			[[ -d /usr/X/lib/X11/fonts/Type1 ]] && \
-				addfonts="${addfonts},/usr/X/lib/X11/fonts/Type1"
-		;;
-		*-linux-gnu)
-			use prefix && [[ -d /usr/share/fonts ]] && \
-				addfonts=",/usr/share/fonts"
-		;;
-	esac
-
-	local myeconfargs=(
-		$(use_enable doc docbook)
-		--enable-docs
-		--localstatedir="${EPREFIX}"/var
-		--with-default-fonts="${EPREFIX}"/usr/share/fonts
-		--with-add-fonts="${EPREFIX}/usr/local/share/fonts${addfonts}" \
-		--with-templatedir="${EPREFIX}"/etc/fonts/conf.avail
-	)
-
-	autotools-multilib_src_configure
-}
-
-multilib_src_install() {
-	default
-
-	# avoid calling this multiple times, bug #459210
-	if multilib_is_native_abi; then
-		# stuff installed from build-dir
-		emake -C doc DESTDIR="${D}" install-man
-
-		insinto /etc/fonts
-		doins fonts.conf
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	prune_libtool_files --all
-
-	# fc-lang directory contains language coverage datafiles
-	# which are needed to test the coverage of fonts.
-	insinto /usr/share/fc-lang
-	doins fc-lang/*.orth
-
-	dodoc doc/fontconfig-user.{txt,pdf}
-
-	if [[ -e ${ED}usr/share/doc/fontconfig/ ]];  then
-		mv "${ED}"usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${P} || die
-		rm -rf "${ED}"usr/share/doc/fontconfig
-	fi
-
-	# Changes should be made to /etc/fonts/local.conf, and as we had
-	# too much problems with broken fonts.conf we force update it ...
-	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig
-	doenvd "${T}"/37fontconfig
-
-	# As of fontconfig 2.7, everything sticks their noses in here.
-	dodir /etc/sandbox.d
-	echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig
-
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	# Bug #193476
-	# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
-	# config files.  If we install as-is, we'll blow away user settings.
-	ebegin "Syncing fontconfig configuration to system"
-	if [[ -e ${EROOT}/etc/fonts/conf.d ]]; then
-		for file in "${EROOT}"/etc/fonts/conf.avail/*; do
-			f=${file##*/}
-			if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]]; then
-				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
-					&& ln -sf ../conf.avail/"${f}" "${ED}"etc/fonts/conf.d/ &>/dev/null
-			else
-				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
-					&& rm "${ED}"etc/fonts/conf.d/"${f}" &>/dev/null
-			fi
-		done
-	fi
-	eend $?
-}
-
-pkg_postinst() {
-	einfo "Cleaning broken symlinks in "${EROOT}"etc/fonts/conf.d/"
-	find -L "${EROOT}"etc/fonts/conf.d/ -type l -delete
-
-	readme.gentoo_print_elog
-
-	if [[ ${ROOT} = / ]]; then
-		multilib_pkg_postinst() {
-			ebegin "Creating global font cache for ${ABI}"
-			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
-			eend $?
-		}
-
-		multilib_parallel_foreach_abi multilib_pkg_postinst
-	fi
-}


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/fontconfig/, media-libs/fontconfig/files/
@ 2017-06-02 20:49 Lars Wendler
  0 siblings, 0 replies; 13+ messages in thread
From: Lars Wendler @ 2017-06-02 20:49 UTC (permalink / raw
  To: gentoo-commits

commit:     9dba4210d815224e9179b3776061d77be738ad81
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Thu Jun  1 15:04:52 2017 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Jun  2 20:30:38 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9dba4210

media-libs/fontconfig: Bump to version 2.12.3

Package-Manager: Portage-2.3.6, Repoman-2.3.2

 media-libs/fontconfig/Manifest                     |   1 +
 .../files/fontconfig-2.12.2-gperf31.patch          |  61 ++++++++
 .../files/fontconfig-2.12.3-latin-update.patch     |  68 +++++++++
 media-libs/fontconfig/fontconfig-2.12.3.ebuild     | 161 +++++++++++++++++++++
 4 files changed, 291 insertions(+)

diff --git a/media-libs/fontconfig/Manifest b/media-libs/fontconfig/Manifest
index cc0fe6a3d07..fc77b7e3da0 100644
--- a/media-libs/fontconfig/Manifest
+++ b/media-libs/fontconfig/Manifest
@@ -1,3 +1,4 @@
 DIST fontconfig-2.11.1.tar.bz2 1516095 SHA256 dc62447533bca844463a3c3fd4083b57c90f18a70506e7a9f4936b5a1e516a99 SHA512 acf4e6293e0e5521e4b8f29f4b48860ecd1d39744d0eab21c7332e56bfc3ccc63548e459243c5e425b8e5ef265f2cf065eece02460725e794041219d41188149 WHIRLPOOL 45009a1e0fcbbe2f532c6f642a0d57af35af3f6abfb50098c89fe39c71da96597078eb4babdd80a713ef4456e07481d70def7c1c18b7314452136d5b30a4858b
 DIST fontconfig-2.12.0.tar.bz2 1605355 SHA256 b433e4efff1f68fdd8aac221ed1df3ff1e580ffedbada020a703fe64017d8224 SHA512 b8f005d56aa9fe6a756be1cb4d843c69c746915c10fe968393527bd3469e4df0401a10edf5b0a69b0e2732cc07f71ad001c19a07726e5dfa881b9d94bb6935f9 WHIRLPOOL e43670c00b21760fdfdb2e03d7d4a2e49b7300572de81ea8716160a1abf8e63aa7d05d95d53f5e24b8e148eeef88d375bd67edff956224571725b3bd77263ab4
 DIST fontconfig-2.12.1.tar.bz2 1608901 SHA256 b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3 SHA512 a5ba2c1a52272b39aad20394dcc85c202159af0d3d2c1b34b24cbdbc8babb3157005a79d25c21a9bf6ec0459681b1ab05af102b2c0594f485c49e3b3b531067e WHIRLPOOL 1900e3a48fdf65f762a7e9c138a3ffe716f6db96d808f8b10ebf99e7e20d8b32a042406f3ac43ca947b9710f97b31c5caae0609986b1e41ec8604050d2b37955
+DIST fontconfig-2.12.3.tar.bz2 1600509 SHA256 bd24bf6602731a11295c025909d918180e98385625182d3b999fd6f1ab34f8bd SHA512 311a3c98a05afbe35c1215b41edb2bbcfe3069f85814c882ef0e40f0404cca4bb59a544b14eee9430ea902fd8bc3bfeccb37e42b9fe3bb3a6c71bb0c5332f2c7 WHIRLPOOL 7b3ec6f364d1b701ae1eb676b3f4cffef91af2d0b3f78719119449dfc6d679d1da20224e9148aa970d60c0d531ee5dfbb3c256ffc18edb142648fa06c0704c93

diff --git a/media-libs/fontconfig/files/fontconfig-2.12.2-gperf31.patch b/media-libs/fontconfig/files/fontconfig-2.12.2-gperf31.patch
new file mode 100644
index 00000000000..ce90c450b36
--- /dev/null
+++ b/media-libs/fontconfig/files/fontconfig-2.12.2-gperf31.patch
@@ -0,0 +1,61 @@
+From 9878b306f6c673d3d6cd9db487f67eb426cc03df Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Thu, 23 Feb 2017 21:39:10 +0900
+Subject: Fix the build issue with gperf 3.1
+
+To support the one of changes in gperf 3.1:
+* The 'len' parameter of the hash function and of the lookup function is now
+  of type 'size_t' instead of 'unsigned int'. This makes it safe to call these
+  functions with strings of length > 4 GB, on 64-bit machines.
+
+diff --git a/configure.ac b/configure.ac
+index 4948816..8fbf3d3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -193,6 +193,26 @@ fi
+ AC_CHECK_MEMBERS([struct dirent.d_type],,,
+ 	[#include <dirent.h>])
+ 
++# Check the argument type of the gperf hash/lookup function
++AC_MSG_CHECKING([The type of len parameter of gperf hash/lookup function])
++fc_gperf_test="$(echo 'foo' | gperf -L ANSI-C)"
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
++	#include <string.h>
++
++	const char *in_word_set(register const char *, register size_t);
++	$fc_gperf_test
++	]])], [FC_GPERF_SIZE_T=size_t],
++	[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
++		#include <string.h>
++
++		const char *in_word_set(register const char *, register unsigned int);
++		$fc_gperf_test
++	]])], [FC_GPERF_SIZE_T="unsigned int"],
++	[AC_MSG_ERROR([Unable to determine the type of the len parameter of the gperf hash/lookup function])]
++)])
++AC_DEFINE_UNQUOTED(FC_GPERF_SIZE_T, $FC_GPERF_SIZE_T, [The type of len parameter of the gperf hash/lookup function])
++AC_MSG_RESULT($FC_GPERF_SIZE_T)
++
+ #
+ # Checks for iconv
+ #
+diff --git a/src/fcobjs.c b/src/fcobjs.c
+index 16ff31c..33bba8d 100644
+--- a/src/fcobjs.c
++++ b/src/fcobjs.c
+@@ -25,10 +25,10 @@
+ #include "fcint.h"
+ 
+ static unsigned int
+-FcObjectTypeHash (register const char *str, register unsigned int len);
++FcObjectTypeHash (register const char *str, register FC_GPERF_SIZE_T len);
+ 
+ static const struct FcObjectTypeInfo *
+-FcObjectTypeLookup (register const char *str, register unsigned int len);
++FcObjectTypeLookup (register const char *str, register FC_GPERF_SIZE_T len);
+ 
+ #include "fcobjshash.h"
+ 
+-- 
+cgit v0.10.2
+

diff --git a/media-libs/fontconfig/files/fontconfig-2.12.3-latin-update.patch b/media-libs/fontconfig/files/fontconfig-2.12.3-latin-update.patch
new file mode 100644
index 00000000000..397781e87ac
--- /dev/null
+++ b/media-libs/fontconfig/files/fontconfig-2.12.3-latin-update.patch
@@ -0,0 +1,68 @@
+--- fontconfig-2.12.3/conf.d/60-latin.conf
++++ fontconfig-2.12.3/conf.d/60-latin.conf
+@@ -4,47 +4,50 @@
+ 	<alias>
+ 		<family>serif</family>
+ 		<prefer>
+-			<family>Bitstream Vera Serif</family>
++			<family>Liberation Serif</family>
+ 			<family>DejaVu Serif</family>
+ 			<family>Times New Roman</family>
+-			<family>Thorndale AMT</family>
+ 			<family>Luxi Serif</family>
+ 			<family>Nimbus Roman No9 L</family>
+ 			<family>Nimbus Roman</family>
+ 			<family>Times</family>
++			<family>Thorndale AMT</family>
++			<family>Bitstream Vera Serif</family>
+ 		</prefer>
+ 	</alias>
+ 	<alias>
+ 		<family>sans-serif</family>
+ 		<prefer>
+-			<family>Bitstream Vera Sans</family>
++			<family>Liberation Sans</family>
+ 			<family>DejaVu Sans</family>
+-			<family>Verdana</family>
+ 			<family>Arial</family>
+-			<family>Albany AMT</family>
+ 			<family>Luxi Sans</family>
+ 			<family>Nimbus Sans L</family>
+ 			<family>Nimbus Sans</family>
+ 			<family>Helvetica</family>
+ 			<family>Lucida Sans Unicode</family>
+ 			<family>BPG Glaho International</family> <!-- lat,cyr,arab,geor -->
++			<family>Verdana</family>
+ 			<family>Tahoma</family> <!-- lat,cyr,greek,heb,arab,thai -->
++			<family>Albany AMT</family>
++			<family>Bitstream Vera Sans</family>
+ 		</prefer>
+ 	</alias>
+ 	<alias>
+ 		<family>monospace</family>
+ 		<prefer>
+-			<family>Bitstream Vera Sans Mono</family>
++			<family>Liberation Mono</family>
+ 			<family>DejaVu Sans Mono</family>
+ 			<family>Inconsolata</family>
+ 			<family>Andale Mono</family>
+ 			<family>Courier New</family>
+-			<family>Cumberland AMT</family>
+ 			<family>Luxi Mono</family>
+ 			<family>Nimbus Mono L</family>
+ 			<family>Nimbus Mono</family>
+ 			<family>Nimbus Mono PS</family>
+ 			<family>Courier</family>
++			<family>Cumberland AMT</family>
++			<family>Bitstream Vera Sans Mono</family>
+ 		</prefer>
+ 	</alias>
+ <!--
+@@ -65,6 +68,7 @@
+ 	<alias>
+ 		<family>cursive</family>
+ 		<prefer>
++			<family>Comic Neue</family>
+ 			<family>ITC Zapf Chancery Std</family>
+ 			<family>Zapfino</family>
+ 			<family>Comic Sans MS</family>

diff --git a/media-libs/fontconfig/fontconfig-2.12.3.ebuild b/media-libs/fontconfig/fontconfig-2.12.3.ebuild
new file mode 100644
index 00000000000..e0156b44467
--- /dev/null
+++ b/media-libs/fontconfig/fontconfig-2.12.3.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools multilib-minimal readme.gentoo-r1
+
+DESCRIPTION="A library for configuring and customizing font access"
+HOMEPAGE="http://fontconfig.org/"
+SRC_URI="http://fontconfig.org/release/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="1.0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="doc static-libs"
+
+# Purposefully dropped the xml USE flag and libxml2 support.  Expat is the
+# default and used by every distro.  See bug #283191.
+RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+	>=media-libs/freetype-2.5.3-r1[${MULTILIB_USEDEP}]
+	abi_x86_32? ( !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)] )"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	doc? ( =app-text/docbook-sgml-dtd-3.1*
+		app-text/docbook-sgml-utils[jadetex] )"
+PDEPEND="!x86-winnt? ( app-eselect/eselect-fontconfig )
+	virtual/ttf-fonts"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-2.10.2-docbook.patch # 310157
+	"${FILESDIR}"/${PN}-2.12.3-latin-update.patch # 130466 + make liberation default
+)
+
+MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
+
+pkg_setup() {
+	DOC_CONTENTS="Please make fontconfig configuration changes using
+	\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
+	overwritten. If you need to reset your configuration to upstream defaults,
+	delete the directory ${EROOT}etc/fonts/conf.d/ and re-emerge fontconfig."
+}
+
+src_prepare() {
+	default
+
+	# Revert gperf-3.1 fix as it breaks compilation
+	eapply -R "${FILESDIR}"/${PN}-2.12.2-gperf31.patch
+
+	eautoreconf
+}
+
+multilib_src_configure() {
+	local addfonts
+	# harvest some font locations, such that users can benefit from the
+	# host OS's installed fonts
+	case ${CHOST} in
+		*-darwin*)
+			addfonts=",/Library/Fonts,/System/Library/Fonts"
+		;;
+		*-solaris*)
+			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
+				addfonts=",/usr/X/lib/X11/fonts/TrueType"
+			[[ -d /usr/X/lib/X11/fonts/Type1 ]] && \
+				addfonts="${addfonts},/usr/X/lib/X11/fonts/Type1"
+		;;
+		*-linux-gnu)
+			use prefix && [[ -d /usr/share/fonts ]] && \
+				addfonts=",/usr/share/fonts"
+		;;
+	esac
+
+	local myeconfargs=(
+		$(use_enable doc docbook)
+		--enable-docs
+		--localstatedir="${EPREFIX}"/var
+		--with-default-fonts="${EPREFIX}"/usr/share/fonts
+		--with-add-fonts="${EPREFIX}/usr/local/share/fonts${addfonts}"
+		--with-templatedir="${EPREFIX}"/etc/fonts/conf.avail
+	)
+
+	ECONF_SOURCE="${S}" \
+	econf "${myeconfargs[@]}"
+}
+
+multilib_src_install() {
+	default
+
+	# avoid calling this multiple times, bug #459210
+	if multilib_is_native_abi; then
+		# stuff installed from build-dir
+		emake -C doc DESTDIR="${D}" install-man
+
+		insinto /etc/fonts
+		doins fonts.conf
+	fi
+}
+
+multilib_src_install_all() {
+	einstalldocs
+	find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
+
+	# fc-lang directory contains language coverage datafiles
+	# which are needed to test the coverage of fonts.
+	insinto /usr/share/fc-lang
+	doins fc-lang/*.orth
+
+	dodoc doc/fontconfig-user.{txt,pdf}
+
+	if [[ -e ${ED}usr/share/doc/fontconfig/ ]];  then
+		mv "${ED}"usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${P} || die
+		rm -rf "${ED}"usr/share/doc/fontconfig
+	fi
+
+	# Changes should be made to /etc/fonts/local.conf, and as we had
+	# too much problems with broken fonts.conf we force update it ...
+	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig
+	doenvd "${T}"/37fontconfig
+
+	# As of fontconfig 2.7, everything sticks their noses in here.
+	dodir /etc/sandbox.d
+	echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig
+
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	# Bug #193476
+	# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
+	# config files.  If we install as-is, we'll blow away user settings.
+	ebegin "Syncing fontconfig configuration to system"
+	if [[ -e ${EROOT}/etc/fonts/conf.d ]]; then
+		for file in "${EROOT}"/etc/fonts/conf.avail/*; do
+			f=${file##*/}
+			if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]]; then
+				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
+					&& ln -sf ../conf.avail/"${f}" "${ED}"etc/fonts/conf.d/ &>/dev/null
+			else
+				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
+					&& rm "${ED}"etc/fonts/conf.d/"${f}" &>/dev/null
+			fi
+		done
+	fi
+	eend $?
+}
+
+pkg_postinst() {
+	einfo "Cleaning broken symlinks in "${EROOT}"etc/fonts/conf.d/"
+	find -L "${EROOT}"etc/fonts/conf.d/ -type l -delete
+
+	readme.gentoo_print_elog
+
+	if [[ ${ROOT} = / ]]; then
+		multilib_pkg_postinst() {
+			ebegin "Creating global font cache for ${ABI}"
+			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
+			eend $?
+		}
+
+		multilib_parallel_foreach_abi multilib_pkg_postinst
+	fi
+}


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/fontconfig/, media-libs/fontconfig/files/
@ 2017-09-23 22:51 Lars Wendler
  0 siblings, 0 replies; 13+ messages in thread
From: Lars Wendler @ 2017-09-23 22:51 UTC (permalink / raw
  To: gentoo-commits

commit:     80ccaad7222c654940b7d8777cc9f78ea1aaac50
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 23 22:50:59 2017 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Sat Sep 23 22:51:15 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80ccaad7

media-libs/fontconfig: Removed old.

Package-Manager: Portage-2.3.10, Repoman-2.3.3

 media-libs/fontconfig/Manifest                     |   1 -
 .../files/fontconfig-2.11.93-latin-update.patch    |  67 ---------
 ...fix-ts18661-1-namespace-conflicts-w-glibc.patch |  59 --------
 media-libs/fontconfig/fontconfig-2.12.3-r1.ebuild  | 162 ---------------------
 4 files changed, 289 deletions(-)

diff --git a/media-libs/fontconfig/Manifest b/media-libs/fontconfig/Manifest
index 0eae100e8ca..8c6e3fe103a 100644
--- a/media-libs/fontconfig/Manifest
+++ b/media-libs/fontconfig/Manifest
@@ -1,4 +1,3 @@
 DIST fontconfig-2.11.1.tar.bz2 1516095 SHA256 dc62447533bca844463a3c3fd4083b57c90f18a70506e7a9f4936b5a1e516a99 SHA512 acf4e6293e0e5521e4b8f29f4b48860ecd1d39744d0eab21c7332e56bfc3ccc63548e459243c5e425b8e5ef265f2cf065eece02460725e794041219d41188149 WHIRLPOOL 45009a1e0fcbbe2f532c6f642a0d57af35af3f6abfb50098c89fe39c71da96597078eb4babdd80a713ef4456e07481d70def7c1c18b7314452136d5b30a4858b
-DIST fontconfig-2.12.3.tar.bz2 1600509 SHA256 bd24bf6602731a11295c025909d918180e98385625182d3b999fd6f1ab34f8bd SHA512 311a3c98a05afbe35c1215b41edb2bbcfe3069f85814c882ef0e40f0404cca4bb59a544b14eee9430ea902fd8bc3bfeccb37e42b9fe3bb3a6c71bb0c5332f2c7 WHIRLPOOL 7b3ec6f364d1b701ae1eb676b3f4cffef91af2d0b3f78719119449dfc6d679d1da20224e9148aa970d60c0d531ee5dfbb3c256ffc18edb142648fa06c0704c93
 DIST fontconfig-2.12.4.tar.bz2 1613580 SHA256 668293fcc4b3c59765cdee5cee05941091c0879edcc24dfec5455ef83912e45c SHA512 f336e9220afe738e0bf7186d87a5eb09842342ad99ca2102c69820a1f0b232e15c61ef72ae3f5d56503f5be32557d09180a80e05690e85b4eb13ed88f5cece81 WHIRLPOOL 6f0b98e80bdbe5077047b42c7b998a7879e8cd1a7d53598ed6d1cc7110e7ba99b4d3cac6c14875744f7d43e05f338eec1588934e5511e3b1cd8d28d7292fcd72
 DIST fontconfig-2.12.6.tar.bz2 1624683 SHA256 cf0c30807d08f6a28ab46c61b8dbd55c97d2f292cf88f3a07d3384687f31f017 SHA512 2a1d3e62cae2bfcae2e67e9cb75ab6534a35bda4215f1ad4b8bf757e77e7d9d609c016562f5288fd10046a0e94655a807f6dd044d7868ed81a146c4275c4dd06 WHIRLPOOL 45741ad1389604325bdd517098edf8075a4302d35c680eb5b2280732c112c4c65521fa6b84c58647b4629a57b244f5e717d8a70afc14f3b72a8652c0670a63de

diff --git a/media-libs/fontconfig/files/fontconfig-2.11.93-latin-update.patch b/media-libs/fontconfig/files/fontconfig-2.11.93-latin-update.patch
deleted file mode 100644
index 033fe895bc1..00000000000
--- a/media-libs/fontconfig/files/fontconfig-2.11.93-latin-update.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- fontconfig-2.11.93.orig/conf.d/60-latin.conf	2015-04-18 20:06:06.070687989 +0800
-+++ fontconfig-2.11.93/conf.d/60-latin.conf	2015-04-18 20:14:15.245732796 +0800
-@@ -4,46 +4,49 @@
- 	<alias>
- 		<family>serif</family>
- 		<prefer>
--			<family>Bitstream Vera Serif</family>
-+			<family>Liberation Serif</family>
- 			<family>DejaVu Serif</family>
- 			<family>Times New Roman</family>
--			<family>Thorndale AMT</family>
- 			<family>Luxi Serif</family>
- 			<family>Nimbus Roman No9 L</family>
- 			<family>Nimbus Roman</family>
- 			<family>Times</family>
-+			<family>Thorndale AMT</family>
-+			<family>Bitstream Vera Serif</family>
- 		</prefer>
- 	</alias>
- 	<alias>
- 		<family>sans-serif</family>
- 		<prefer>
--			<family>Bitstream Vera Sans</family>
-+			<family>Liberation Sans</family>
- 			<family>DejaVu Sans</family>
--			<family>Verdana</family>
- 			<family>Arial</family>
--			<family>Albany AMT</family>
- 			<family>Luxi Sans</family>
- 			<family>Nimbus Sans L</family>
- 			<family>Nimbus Sans</family>
- 			<family>Helvetica</family>
- 			<family>Lucida Sans Unicode</family>
- 			<family>BPG Glaho International</family> <!-- lat,cyr,arab,geor -->
-+			<family>Verdana</family>
- 			<family>Tahoma</family> <!-- lat,cyr,greek,heb,arab,thai -->
-+			<family>Albany AMT</family>
-+			<family>Bitstream Vera Sans</family>
- 		</prefer>
- 	</alias>
- 	<alias>
- 		<family>monospace</family>
- 		<prefer>
--			<family>Bitstream Vera Sans Mono</family>
-+			<family>Liberation Mono</family>
- 			<family>DejaVu Sans Mono</family>
- 			<family>Inconsolata</family>
- 			<family>Andale Mono</family>
- 			<family>Courier New</family>
--			<family>Cumberland AMT</family>
- 			<family>Luxi Mono</family>
- 			<family>Nimbus Mono L</family>
- 			<family>Nimbus Mono</family>
- 			<family>Courier</family>
-+			<family>Cumberland AMT</family>
-+			<family>Bitstream Vera Sans Mono</family>
- 		</prefer>
- 	</alias>
- <!--
-@@ -64,6 +67,7 @@
- 	<alias>
- 		<family>cursive</family>
- 		<prefer>
-+			<family>Comic Neue</family>
- 			<family>ITC Zapf Chancery Std</family>
- 			<family>Zapfino</family>
- 			<family>Comic Sans MS</family>

diff --git a/media-libs/fontconfig/files/fontconfig-2.12.1-fix-ts18661-1-namespace-conflicts-w-glibc.patch b/media-libs/fontconfig/files/fontconfig-2.12.1-fix-ts18661-1-namespace-conflicts-w-glibc.patch
deleted file mode 100644
index c0306280ef8..00000000000
--- a/media-libs/fontconfig/files/fontconfig-2.12.1-fix-ts18661-1-namespace-conflicts-w-glibc.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-http://lists.openembedded.org/pipermail/openembedded-core/2016-December/130213.html
-
-Gentoo-Bug: https://bugs.gentoo.org/608924
-
-diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h
-index 5c72b22..070a557 100644
---- a/fontconfig/fontconfig.h
-+++ b/fontconfig/fontconfig.h
-@@ -128,7 +128,8 @@ typedef int		FcBool;
- #define FC_USER_CACHE_FILE	    ".fonts.cache-" FC_CACHE_VERSION
- 
- /* Adjust outline rasterizer */
--#define FC_CHAR_WIDTH	    "charwidth"	/* Int */
-+#define FC_CHARWIDTH	    "charwidth"	/* Int */
-+#define FC_CHAR_WIDTH	    FC_CHARWIDTH
- #define FC_CHAR_HEIGHT	    "charheight"/* Int */
- #define FC_MATRIX	    "matrix"    /* FcMatrix */
- 
-diff --git a/src/fcobjs.h b/src/fcobjs.h
-index 1fc4f65..d27864b 100644
---- a/src/fcobjs.h
-+++ b/src/fcobjs.h
-@@ -51,7 +51,7 @@ FC_OBJECT (DPI,			FcTypeDouble,	NULL)
- FC_OBJECT (RGBA,		FcTypeInteger,	NULL)
- FC_OBJECT (SCALE,		FcTypeDouble,	NULL)
- FC_OBJECT (MINSPACE,		FcTypeBool,	NULL)
--FC_OBJECT (CHAR_WIDTH,		FcTypeInteger,	NULL)
-+FC_OBJECT (CHARWIDTH,		FcTypeInteger,	NULL)
- FC_OBJECT (CHAR_HEIGHT,		FcTypeInteger,	NULL)
- FC_OBJECT (MATRIX,		FcTypeMatrix,	NULL)
- FC_OBJECT (CHARSET,		FcTypeCharSet,	FcCompareCharSet)
-
-diff --git a/src/fcobjshash.gperf b/src/fcobjshash.gperf
-index 80a0237..eb4ad84 100644
---- a/src/fcobjshash.gperf
-+++ b/src/fcobjshash.gperf
-@@ -44,7 +44,7 @@ int id;
- "rgba",FC_RGBA_OBJECT
- "scale",FC_SCALE_OBJECT
- "minspace",FC_MINSPACE_OBJECT
--"charwidth",FC_CHAR_WIDTH_OBJECT
-+"charwidth",FC_CHARWIDTH_OBJECT
- "charheight",FC_CHAR_HEIGHT_OBJECT
- "matrix",FC_MATRIX_OBJECT
- "charset",FC_CHARSET_OBJECT
-
-diff --git a/src/fcobjshash.h b/src/fcobjshash.h
-index 5a4d1ea..4e66bb0 100644
---- a/src/fcobjshash.h
-+++ b/src/fcobjshash.h
-@@ -284,7 +284,7 @@ FcObjectTypeLookup (register const char *str, register unsigned int len)
-       {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_CHARSET_OBJECT},
-       {-1},
- #line 47 "fcobjshash.gperf"
--      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHAR_WIDTH_OBJECT},
-+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHARWIDTH_OBJECT},
- #line 48 "fcobjshash.gperf"
-       {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_CHAR_HEIGHT_OBJECT},
- #line 55 "fcobjshash.gperf"

diff --git a/media-libs/fontconfig/fontconfig-2.12.3-r1.ebuild b/media-libs/fontconfig/fontconfig-2.12.3-r1.ebuild
deleted file mode 100644
index 4cc3c4cad21..00000000000
--- a/media-libs/fontconfig/fontconfig-2.12.3-r1.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools multilib-minimal readme.gentoo-r1
-
-DESCRIPTION="A library for configuring and customizing font access"
-HOMEPAGE="http://fontconfig.org/"
-SRC_URI="http://fontconfig.org/release/${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="1.0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="doc static-libs"
-
-# Purposefully dropped the xml USE flag and libxml2 support.  Expat is the
-# default and used by every distro.  See bug #283191.
-RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
-	>=media-libs/freetype-2.5.3-r1[${MULTILIB_USEDEP}]
-	abi_x86_32? ( !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)] )"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	doc? ( =app-text/docbook-sgml-dtd-3.1*
-		app-text/docbook-sgml-utils[jadetex] )"
-PDEPEND="!x86-winnt? ( app-eselect/eselect-fontconfig )
-	virtual/ttf-fonts"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-2.10.2-docbook.patch # 310157
-	"${FILESDIR}"/${PN}-2.12.3-latin-update.patch # 130466 + make liberation default
-)
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
-
-pkg_setup() {
-	DOC_CONTENTS="Please make fontconfig configuration changes using
-	\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
-	overwritten. If you need to reset your configuration to upstream defaults,
-	delete the directory ${EROOT}etc/fonts/conf.d/ and re-emerge fontconfig."
-}
-
-src_prepare() {
-	default
-
-	# Revert gperf-3.1 fix as it breaks compilation
-	eapply -R "${FILESDIR}"/${PN}-2.12.2-gperf31.patch
-
-	eautoreconf
-}
-
-multilib_src_configure() {
-	local addfonts
-	# harvest some font locations, such that users can benefit from the
-	# host OS's installed fonts
-	case ${CHOST} in
-		*-darwin*)
-			addfonts=",/Library/Fonts,/System/Library/Fonts"
-		;;
-		*-solaris*)
-			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
-				addfonts=",/usr/X/lib/X11/fonts/TrueType"
-			[[ -d /usr/X/lib/X11/fonts/Type1 ]] && \
-				addfonts="${addfonts},/usr/X/lib/X11/fonts/Type1"
-		;;
-		*-linux-gnu)
-			use prefix && [[ -d /usr/share/fonts ]] && \
-				addfonts=",/usr/share/fonts"
-		;;
-	esac
-
-	local myeconfargs=(
-		$(use_enable doc docbook)
-		$(use_enable static-libs static)
-		--enable-docs
-		--localstatedir="${EPREFIX}"/var
-		--with-default-fonts="${EPREFIX}"/usr/share/fonts
-		--with-add-fonts="${EPREFIX}/usr/local/share/fonts${addfonts}"
-		--with-templatedir="${EPREFIX}"/etc/fonts/conf.avail
-	)
-
-	ECONF_SOURCE="${S}" \
-	econf "${myeconfargs[@]}"
-}
-
-multilib_src_install() {
-	default
-
-	# avoid calling this multiple times, bug #459210
-	if multilib_is_native_abi; then
-		# stuff installed from build-dir
-		emake -C doc DESTDIR="${D}" install-man
-
-		insinto /etc/fonts
-		doins fonts.conf
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	find "${ED}" -name "*.la" -delete || die
-
-	# fc-lang directory contains language coverage datafiles
-	# which are needed to test the coverage of fonts.
-	insinto /usr/share/fc-lang
-	doins fc-lang/*.orth
-
-	dodoc doc/fontconfig-user.{txt,pdf}
-
-	if [[ -e ${ED}usr/share/doc/fontconfig/ ]];  then
-		mv "${ED}"usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${P} || die
-		rm -rf "${ED}"usr/share/doc/fontconfig
-	fi
-
-	# Changes should be made to /etc/fonts/local.conf, and as we had
-	# too much problems with broken fonts.conf we force update it ...
-	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig
-	doenvd "${T}"/37fontconfig
-
-	# As of fontconfig 2.7, everything sticks their noses in here.
-	dodir /etc/sandbox.d
-	echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig
-
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	# Bug #193476
-	# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
-	# config files.  If we install as-is, we'll blow away user settings.
-	ebegin "Syncing fontconfig configuration to system"
-	if [[ -e ${EROOT}/etc/fonts/conf.d ]]; then
-		for file in "${EROOT}"/etc/fonts/conf.avail/*; do
-			f=${file##*/}
-			if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]]; then
-				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
-					&& ln -sf ../conf.avail/"${f}" "${ED}"etc/fonts/conf.d/ &>/dev/null
-			else
-				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
-					&& rm "${ED}"etc/fonts/conf.d/"${f}" &>/dev/null
-			fi
-		done
-	fi
-	eend $?
-}
-
-pkg_postinst() {
-	einfo "Cleaning broken symlinks in "${EROOT}"etc/fonts/conf.d/"
-	find -L "${EROOT}"etc/fonts/conf.d/ -type l -delete
-
-	readme.gentoo_print_elog
-
-	if [[ ${ROOT} = / ]]; then
-		multilib_pkg_postinst() {
-			ebegin "Creating global font cache for ${ABI}"
-			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
-			eend $?
-		}
-
-		multilib_parallel_foreach_abi multilib_pkg_postinst
-	fi
-}


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/fontconfig/, media-libs/fontconfig/files/
@ 2018-03-14 12:33 Ulrich Müller
  0 siblings, 0 replies; 13+ messages in thread
From: Ulrich Müller @ 2018-03-14 12:33 UTC (permalink / raw
  To: gentoo-commits

commit:     34fb871502ff7941c54b6058727caf3ef563dc39
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 14 12:31:50 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Mar 14 12:31:50 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34fb8715

media-libs/fontconfig: Fix handling of locale and of font weights.

Non-maintainer commit. Patches from upstream.

Closes: https://bugs.gentoo.org/650332
Closes: https://bugs.gentoo.org/650370
Package-Manager: Portage-2.3.24, Repoman-2.3.6

 .../files/fontconfig-2.13.0-locale.patch           |  37 +++++
 .../fontconfig/files/fontconfig-2.13.0-names.patch |  93 ++++++++++++
 media-libs/fontconfig/fontconfig-2.13.0-r1.ebuild  | 164 +++++++++++++++++++++
 3 files changed, 294 insertions(+)

diff --git a/media-libs/fontconfig/files/fontconfig-2.13.0-locale.patch b/media-libs/fontconfig/files/fontconfig-2.13.0-locale.patch
new file mode 100644
index 00000000000..70868b1abc1
--- /dev/null
+++ b/media-libs/fontconfig/files/fontconfig-2.13.0-locale.patch
@@ -0,0 +1,37 @@
+https://bugs.gentoo.org/650332
+
+From 923b5be626a6e03fbaeee0b5cd6d0246c2f8f36f Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Wed, 14 Mar 2018 12:35:05 +0900
+Subject: [PATCH] Do not override locale if already set by app
+
+https://bugs.freedesktop.org/show_bug.cgi?id=105492
+---
+ src/fccfg.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/fccfg.c b/src/fccfg.c
+index eb0b76d..e311f17 100644
+--- a/src/fccfg.c
++++ b/src/fccfg.c
+@@ -45,11 +45,16 @@ retry_locale:
+     is_locale_initialized = (intptr_t) fc_atomic_ptr_get (&static_is_locale_initialized);
+     if (!is_locale_initialized)
+     {
++	char *loc;
++
+ 	is_locale_initialized = FcTrue;
+ 	if (!fc_atomic_ptr_cmpexch (&static_is_locale_initialized, NULL,
+ 				    (void *)(intptr_t) is_locale_initialized))
+ 	    goto retry_locale;
+-	setlocale (LC_ALL, "");
++
++	loc = setlocale (LC_ALL, NULL);
++	if (!loc || strcmp (loc, "C") == 0)
++	    setlocale (LC_ALL, "");
+     }
+ retry_config:
+     config = fc_atomic_ptr_get (&_fcConfig);
+-- 
+2.16.2
+

diff --git a/media-libs/fontconfig/files/fontconfig-2.13.0-names.patch b/media-libs/fontconfig/files/fontconfig-2.13.0-names.patch
new file mode 100644
index 00000000000..dddc8bb9572
--- /dev/null
+++ b/media-libs/fontconfig/files/fontconfig-2.13.0-names.patch
@@ -0,0 +1,93 @@
+https://bugs.gentoo.org/650370
+
+From 198358dd8ff858c9e36531a7406ccb2246ae77b7 Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Mon, 12 Mar 2018 11:49:58 +0900
+Subject: [PATCH 1/2] Allow the constant names in the range
+
+https://bugs.freedesktop.org/show_bug.cgi?id=105415
+---
+ src/fcname.c | 34 +++++++++++++++++++++++++++++-----
+ 1 file changed, 29 insertions(+), 5 deletions(-)
+
+diff --git a/src/fcname.c b/src/fcname.c
+index 79e413e..15fb659 100644
+--- a/src/fcname.c
++++ b/src/fcname.c
+@@ -330,13 +330,37 @@ FcNameConvert (FcType type, FcChar8 *string)
+     case FcTypeRange:
+ 	if (sscanf ((char *) string, "[%lg %lg]", &b, &e) != 2)
+ 	{
+-	    v.u.d = strtod ((char *) string, &p);
+-	    if (p != NULL && p[0] != 0)
++	    char *sc, *ec;
++	    size_t len = strlen ((const char *) string);
++	    int si, ei;
++
++	    sc = malloc (len);
++	    ec = malloc (len);
++	    if (sc && ec && sscanf ((char *) string, "[%s %[^]]]", sc, ec) == 2)
+ 	    {
+-		v.type = FcTypeVoid;
+-		break;
++		if (FcNameConstant ((const FcChar8 *) sc, &si) &&
++		    FcNameConstant ((const FcChar8 *) ec, &ei))
++		    v.u.r =  FcRangeCreateDouble (si, ei);
++		else
++		    goto bail1;
++	    }
++	    else
++	    {
++	    bail1:
++		v.type = FcTypeDouble;
++		if (FcNameConstant (string, &si))
++		{
++		    v.u.d = (double) si;
++		} else {
++		    v.u.d = strtod ((char *) string, &p);
++		    if (p != NULL && p[0] != 0)
++			v.type = FcTypeVoid;
++		}
+ 	    }
+-	    v.type = FcTypeDouble;
++	    if (sc)
++		free (sc);
++	    if (ec)
++		free (ec);
+ 	}
+ 	else
+ 	    v.u.r = FcRangeCreateDouble (b, e);
+-- 
+2.16.2
+
+From 4699406a68321179b14fae7412f828e2f37a7033 Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Wed, 14 Mar 2018 18:31:30 +0900
+Subject: [PATCH 2/2] Add the value of the constant name to the implicit object
+ in the pattern
+
+For objects which has been changed the object type to FcTypeRange.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=105415
+---
+ src/fcname.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/fcname.c b/src/fcname.c
+index 15fb659..c9320ae 100644
+--- a/src/fcname.c
++++ b/src/fcname.c
+@@ -490,6 +490,10 @@ FcNameParse (const FcChar8 *name)
+ 			if (!FcPatternAddBool (pat, c->object, c->value))
+ 			    goto bail2;
+ 			break;
++		    case FcTypeRange:
++			if (!FcPatternAddInteger (pat, c->object, c->value))
++			    goto bail2;
++			break;
+ 		    default:
+ 			break;
+ 		    }
+-- 
+2.16.2
+

diff --git a/media-libs/fontconfig/fontconfig-2.13.0-r1.ebuild b/media-libs/fontconfig/fontconfig-2.13.0-r1.ebuild
new file mode 100644
index 00000000000..12d1cab673b
--- /dev/null
+++ b/media-libs/fontconfig/fontconfig-2.13.0-r1.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools multilib-minimal readme.gentoo-r1 eapi7-ver
+
+DESCRIPTION="A library for configuring and customizing font access"
+HOMEPAGE="http://fontconfig.org/"
+SRC_URI="http://fontconfig.org/release/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="1.0"
+[[ $(ver_cut 3) -ge 90 ]] || \
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="doc static-libs"
+
+# Purposefully dropped the xml USE flag and libxml2 support.  Expat is the
+# default and used by every distro.  See bug #283191.
+RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+	>=media-libs/freetype-2.8.1[${MULTILIB_USEDEP}]
+	sys-apps/util-linux[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	doc? ( =app-text/docbook-sgml-dtd-3.1*
+		app-text/docbook-sgml-utils[jadetex] )"
+PDEPEND="!x86-winnt? ( app-eselect/eselect-fontconfig )
+	virtual/ttf-fonts"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-2.10.2-docbook.patch # 310157
+	"${FILESDIR}"/${PN}-2.12.3-latin-update.patch # 130466 + make liberation default
+	"${FILESDIR}"/${P}-locale.patch #650332
+	"${FILESDIR}"/${P}-names.patch #650370
+)
+
+MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
+
+pkg_setup() {
+	DOC_CONTENTS="Please make fontconfig configuration changes using
+	\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
+	overwritten. If you need to reset your configuration to upstream defaults,
+	delete the directory ${EROOT%/}/etc/fonts/conf.d/ and re-emerge fontconfig."
+}
+
+src_prepare() {
+	default
+	export GPERF=$(type -P true)  # avoid dependency on gperf, #631980
+	sed -i -e 's/FC_GPERF_SIZE_T="unsigned int"/FC_GPERF_SIZE_T=size_t/' \
+		configure.ac || die # rest of gperf dependency fix, #631920
+	eautoreconf
+}
+
+multilib_src_configure() {
+	local addfonts
+	# harvest some font locations, such that users can benefit from the
+	# host OS's installed fonts
+	case ${CHOST} in
+		*-darwin*)
+			addfonts=",/Library/Fonts,/System/Library/Fonts"
+		;;
+		*-solaris*)
+			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
+				addfonts=",/usr/X/lib/X11/fonts/TrueType"
+			[[ -d /usr/X/lib/X11/fonts/Type1 ]] && \
+				addfonts="${addfonts},/usr/X/lib/X11/fonts/Type1"
+		;;
+		*-linux-gnu)
+			use prefix && [[ -d /usr/share/fonts ]] && \
+				addfonts=",/usr/share/fonts"
+		;;
+	esac
+
+	local myeconfargs=(
+		$(use_enable doc docbook)
+		$(use_enable static-libs static)
+		--enable-docs
+		--localstatedir="${EPREFIX}"/var
+		--with-default-fonts="${EPREFIX}"/usr/share/fonts
+		--with-add-fonts="${EPREFIX}/usr/local/share/fonts${addfonts}"
+		--with-templatedir="${EPREFIX}"/etc/fonts/conf.avail
+	)
+
+	ECONF_SOURCE="${S}" \
+	econf "${myeconfargs[@]}"
+}
+
+multilib_src_install() {
+	default
+
+	# avoid calling this multiple times, bug #459210
+	if multilib_is_native_abi; then
+		# stuff installed from build-dir
+		emake -C doc DESTDIR="${D}" install-man
+
+		insinto /etc/fonts
+		doins fonts.conf
+	fi
+}
+
+multilib_src_install_all() {
+	einstalldocs
+	find "${ED}" -name "*.la" -delete || die
+
+	# fc-lang directory contains language coverage datafiles
+	# which are needed to test the coverage of fonts.
+	insinto /usr/share/fc-lang
+	doins fc-lang/*.orth
+
+	dodoc doc/fontconfig-user.{txt,pdf}
+
+	if [[ -e ${ED}usr/share/doc/fontconfig/ ]];  then
+		mv "${ED}"usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${P} || die
+		rm -rf "${ED}"usr/share/doc/fontconfig
+	fi
+
+	# Changes should be made to /etc/fonts/local.conf, and as we had
+	# too much problems with broken fonts.conf we force update it ...
+	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig
+	doenvd "${T}"/37fontconfig
+
+	# As of fontconfig 2.7, everything sticks their noses in here.
+	dodir /etc/sandbox.d
+	echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig
+
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	# Bug #193476
+	# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
+	# config files.  If we install as-is, we'll blow away user settings.
+	ebegin "Syncing fontconfig configuration to system"
+	if [[ -e ${EROOT}/etc/fonts/conf.d ]]; then
+		for file in "${EROOT}"/etc/fonts/conf.avail/*; do
+			f=${file##*/}
+			if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]]; then
+				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
+					&& ln -sf ../conf.avail/"${f}" "${ED}"etc/fonts/conf.d/ &>/dev/null
+			else
+				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
+					&& rm "${ED}"etc/fonts/conf.d/"${f}" &>/dev/null
+			fi
+		done
+	fi
+	eend $?
+}
+
+pkg_postinst() {
+	einfo "Cleaning broken symlinks in ${EROOT%/}/etc/fonts/conf.d/"
+	find -L "${EROOT}"etc/fonts/conf.d/ -type l -delete
+
+	readme.gentoo_print_elog
+
+	if [[ ${ROOT} = / ]]; then
+		multilib_pkg_postinst() {
+			ebegin "Creating global font cache for ${ABI}"
+			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
+			eend $?
+		}
+
+		multilib_parallel_foreach_abi multilib_pkg_postinst
+	fi
+}


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/fontconfig/, media-libs/fontconfig/files/
@ 2018-04-20 11:13 Lars Wendler
  0 siblings, 0 replies; 13+ messages in thread
From: Lars Wendler @ 2018-04-20 11:13 UTC (permalink / raw
  To: gentoo-commits

commit:     4631d0e111044db76bac330da6206e84bf17e8e3
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 20 11:11:49 2018 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Apr 20 11:11:49 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4631d0e1

media-libs/fontconfig: Removed old.

Package-Manager: Portage-2.3.31, Repoman-2.3.9

 media-libs/fontconfig/Manifest                     |   1 -
 .../files/fontconfig-2.12.2-gperf31.patch          |  61 --------
 media-libs/fontconfig/fontconfig-2.12.4.ebuild     | 162 ---------------------
 media-libs/fontconfig/fontconfig-2.13.0.ebuild     | 162 ---------------------
 4 files changed, 386 deletions(-)

diff --git a/media-libs/fontconfig/Manifest b/media-libs/fontconfig/Manifest
index 0ab2d6c2885..de6fde79604 100644
--- a/media-libs/fontconfig/Manifest
+++ b/media-libs/fontconfig/Manifest
@@ -1,3 +1,2 @@
-DIST fontconfig-2.12.4.tar.bz2 1613580 BLAKE2B 9d6b0d5d7bc61cd3dbab2ad769df3aa33c1b38d6c55e02e18aee875a1bef4162a5bba0b9bf8f09c0f94d63c64c3f6bf6f3c5d993f210f74076f861c696f5262c SHA512 f336e9220afe738e0bf7186d87a5eb09842342ad99ca2102c69820a1f0b232e15c61ef72ae3f5d56503f5be32557d09180a80e05690e85b4eb13ed88f5cece81
 DIST fontconfig-2.12.6.tar.bz2 1624683 BLAKE2B 48432f3d3cc90240ec19dffb6714e7f780eb6b401693b40e2efa2bb593bc89c42b03c99fce8f2ceb7c108da254dc248d91a790849d22feaa50a725338b80fd1f SHA512 2a1d3e62cae2bfcae2e67e9cb75ab6534a35bda4215f1ad4b8bf757e77e7d9d609c016562f5288fd10046a0e94655a807f6dd044d7868ed81a146c4275c4dd06
 DIST fontconfig-2.13.0.tar.bz2 1700500 BLAKE2B bf137b27c9f73c5e2763b7a4a443a4aa5016bd3c0e35138249c2cf8841eb364c8e7bbea6495b53b88de26e3d5a429ebfb598a9f4fe7d875028a621df592ff35a SHA512 f0ad8f2542c8b1e900f5c3d213466a31dd3785da726d6eb455b6734c71c6e5751b28172203e2f9668e9c8e1512072235ea46a1a5e6a85ec54ccc332adb4e5fbc

diff --git a/media-libs/fontconfig/files/fontconfig-2.12.2-gperf31.patch b/media-libs/fontconfig/files/fontconfig-2.12.2-gperf31.patch
deleted file mode 100644
index ce90c450b36..00000000000
--- a/media-libs/fontconfig/files/fontconfig-2.12.2-gperf31.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 9878b306f6c673d3d6cd9db487f67eb426cc03df Mon Sep 17 00:00:00 2001
-From: Akira TAGOH <akira@tagoh.org>
-Date: Thu, 23 Feb 2017 21:39:10 +0900
-Subject: Fix the build issue with gperf 3.1
-
-To support the one of changes in gperf 3.1:
-* The 'len' parameter of the hash function and of the lookup function is now
-  of type 'size_t' instead of 'unsigned int'. This makes it safe to call these
-  functions with strings of length > 4 GB, on 64-bit machines.
-
-diff --git a/configure.ac b/configure.ac
-index 4948816..8fbf3d3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -193,6 +193,26 @@ fi
- AC_CHECK_MEMBERS([struct dirent.d_type],,,
- 	[#include <dirent.h>])
- 
-+# Check the argument type of the gperf hash/lookup function
-+AC_MSG_CHECKING([The type of len parameter of gperf hash/lookup function])
-+fc_gperf_test="$(echo 'foo' | gperf -L ANSI-C)"
-+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-+	#include <string.h>
-+
-+	const char *in_word_set(register const char *, register size_t);
-+	$fc_gperf_test
-+	]])], [FC_GPERF_SIZE_T=size_t],
-+	[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-+		#include <string.h>
-+
-+		const char *in_word_set(register const char *, register unsigned int);
-+		$fc_gperf_test
-+	]])], [FC_GPERF_SIZE_T="unsigned int"],
-+	[AC_MSG_ERROR([Unable to determine the type of the len parameter of the gperf hash/lookup function])]
-+)])
-+AC_DEFINE_UNQUOTED(FC_GPERF_SIZE_T, $FC_GPERF_SIZE_T, [The type of len parameter of the gperf hash/lookup function])
-+AC_MSG_RESULT($FC_GPERF_SIZE_T)
-+
- #
- # Checks for iconv
- #
-diff --git a/src/fcobjs.c b/src/fcobjs.c
-index 16ff31c..33bba8d 100644
---- a/src/fcobjs.c
-+++ b/src/fcobjs.c
-@@ -25,10 +25,10 @@
- #include "fcint.h"
- 
- static unsigned int
--FcObjectTypeHash (register const char *str, register unsigned int len);
-+FcObjectTypeHash (register const char *str, register FC_GPERF_SIZE_T len);
- 
- static const struct FcObjectTypeInfo *
--FcObjectTypeLookup (register const char *str, register unsigned int len);
-+FcObjectTypeLookup (register const char *str, register FC_GPERF_SIZE_T len);
- 
- #include "fcobjshash.h"
- 
--- 
-cgit v0.10.2
-

diff --git a/media-libs/fontconfig/fontconfig-2.12.4.ebuild b/media-libs/fontconfig/fontconfig-2.12.4.ebuild
deleted file mode 100644
index 154f2350796..00000000000
--- a/media-libs/fontconfig/fontconfig-2.12.4.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools multilib-minimal readme.gentoo-r1
-
-DESCRIPTION="A library for configuring and customizing font access"
-HOMEPAGE="http://fontconfig.org/"
-SRC_URI="http://fontconfig.org/release/${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="1.0"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="doc static-libs"
-
-# Purposefully dropped the xml USE flag and libxml2 support.  Expat is the
-# default and used by every distro.  See bug #283191.
-RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
-	>=media-libs/freetype-2.5.3-r1[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	doc? ( =app-text/docbook-sgml-dtd-3.1*
-		app-text/docbook-sgml-utils[jadetex] )"
-PDEPEND="!x86-winnt? ( app-eselect/eselect-fontconfig )
-	virtual/ttf-fonts"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-2.10.2-docbook.patch # 310157
-	"${FILESDIR}"/${PN}-2.12.3-latin-update.patch # 130466 + make liberation default
-)
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
-
-pkg_setup() {
-	DOC_CONTENTS="Please make fontconfig configuration changes using
-	\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
-	overwritten. If you need to reset your configuration to upstream defaults,
-	delete the directory ${EROOT}etc/fonts/conf.d/ and re-emerge fontconfig."
-}
-
-src_prepare() {
-	default
-
-	# Revert gperf-3.1 fix as it breaks compilation
-	eapply -R "${FILESDIR}"/${PN}-2.12.2-gperf31.patch
-	export GPERF=$(type -P true)
-
-	eautoreconf
-}
-
-multilib_src_configure() {
-	local addfonts
-	# harvest some font locations, such that users can benefit from the
-	# host OS's installed fonts
-	case ${CHOST} in
-		*-darwin*)
-			addfonts=",/Library/Fonts,/System/Library/Fonts"
-		;;
-		*-solaris*)
-			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
-				addfonts=",/usr/X/lib/X11/fonts/TrueType"
-			[[ -d /usr/X/lib/X11/fonts/Type1 ]] && \
-				addfonts="${addfonts},/usr/X/lib/X11/fonts/Type1"
-		;;
-		*-linux-gnu)
-			use prefix && [[ -d /usr/share/fonts ]] && \
-				addfonts=",/usr/share/fonts"
-		;;
-	esac
-
-	local myeconfargs=(
-		$(use_enable doc docbook)
-		$(use_enable static-libs static)
-		--enable-docs
-		--localstatedir="${EPREFIX}"/var
-		--with-default-fonts="${EPREFIX}"/usr/share/fonts
-		--with-add-fonts="${EPREFIX}/usr/local/share/fonts${addfonts}"
-		--with-templatedir="${EPREFIX}"/etc/fonts/conf.avail
-	)
-
-	ECONF_SOURCE="${S}" \
-	econf "${myeconfargs[@]}"
-}
-
-multilib_src_install() {
-	default
-
-	# avoid calling this multiple times, bug #459210
-	if multilib_is_native_abi; then
-		# stuff installed from build-dir
-		emake -C doc DESTDIR="${D}" install-man
-
-		insinto /etc/fonts
-		doins fonts.conf
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	find "${ED}" -name "*.la" -delete || die
-
-	# fc-lang directory contains language coverage datafiles
-	# which are needed to test the coverage of fonts.
-	insinto /usr/share/fc-lang
-	doins fc-lang/*.orth
-
-	dodoc doc/fontconfig-user.{txt,pdf}
-
-	if [[ -e ${ED}usr/share/doc/fontconfig/ ]];  then
-		mv "${ED}"usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${P} || die
-		rm -rf "${ED}"usr/share/doc/fontconfig
-	fi
-
-	# Changes should be made to /etc/fonts/local.conf, and as we had
-	# too much problems with broken fonts.conf we force update it ...
-	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig
-	doenvd "${T}"/37fontconfig
-
-	# As of fontconfig 2.7, everything sticks their noses in here.
-	dodir /etc/sandbox.d
-	echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig
-
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	# Bug #193476
-	# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
-	# config files.  If we install as-is, we'll blow away user settings.
-	ebegin "Syncing fontconfig configuration to system"
-	if [[ -e ${EROOT}/etc/fonts/conf.d ]]; then
-		for file in "${EROOT}"/etc/fonts/conf.avail/*; do
-			f=${file##*/}
-			if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]]; then
-				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
-					&& ln -sf ../conf.avail/"${f}" "${ED}"etc/fonts/conf.d/ &>/dev/null
-			else
-				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
-					&& rm "${ED}"etc/fonts/conf.d/"${f}" &>/dev/null
-			fi
-		done
-	fi
-	eend $?
-}
-
-pkg_postinst() {
-	einfo "Cleaning broken symlinks in "${EROOT}"etc/fonts/conf.d/"
-	find -L "${EROOT}"etc/fonts/conf.d/ -type l -delete
-
-	readme.gentoo_print_elog
-
-	if [[ ${ROOT} = / ]]; then
-		multilib_pkg_postinst() {
-			ebegin "Creating global font cache for ${ABI}"
-			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
-			eend $?
-		}
-
-		multilib_parallel_foreach_abi multilib_pkg_postinst
-	fi
-}

diff --git a/media-libs/fontconfig/fontconfig-2.13.0.ebuild b/media-libs/fontconfig/fontconfig-2.13.0.ebuild
deleted file mode 100644
index 731522903e3..00000000000
--- a/media-libs/fontconfig/fontconfig-2.13.0.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools multilib-minimal readme.gentoo-r1 versionator
-
-DESCRIPTION="A library for configuring and customizing font access"
-HOMEPAGE="http://fontconfig.org/"
-SRC_URI="http://fontconfig.org/release/${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="1.0"
-[[ "$(get_version_component_range 3)" -ge 90 ]] || \
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
-IUSE="doc static-libs"
-
-# Purposefully dropped the xml USE flag and libxml2 support.  Expat is the
-# default and used by every distro.  See bug #283191.
-RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
-	>=media-libs/freetype-2.8.1[${MULTILIB_USEDEP}]
-	sys-apps/util-linux[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	doc? ( =app-text/docbook-sgml-dtd-3.1*
-		app-text/docbook-sgml-utils[jadetex] )"
-PDEPEND="!x86-winnt? ( app-eselect/eselect-fontconfig )
-	virtual/ttf-fonts"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-2.10.2-docbook.patch # 310157
-	"${FILESDIR}"/${PN}-2.12.3-latin-update.patch # 130466 + make liberation default
-)
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
-
-pkg_setup() {
-	DOC_CONTENTS="Please make fontconfig configuration changes using
-	\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
-	overwritten. If you need to reset your configuration to upstream defaults,
-	delete the directory ${EROOT}etc/fonts/conf.d/ and re-emerge fontconfig."
-}
-
-src_prepare() {
-	default
-	export GPERF=$(type -P true)  # avoid dependency on gperf, #631980
-	sed -i -e 's/FC_GPERF_SIZE_T="unsigned int"/FC_GPERF_SIZE_T=size_t/' \
-		configure.ac || die # rest of gperf dependency fix, #631920
-	eautoreconf
-}
-
-multilib_src_configure() {
-	local addfonts
-	# harvest some font locations, such that users can benefit from the
-	# host OS's installed fonts
-	case ${CHOST} in
-		*-darwin*)
-			addfonts=",/Library/Fonts,/System/Library/Fonts"
-		;;
-		*-solaris*)
-			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
-				addfonts=",/usr/X/lib/X11/fonts/TrueType"
-			[[ -d /usr/X/lib/X11/fonts/Type1 ]] && \
-				addfonts="${addfonts},/usr/X/lib/X11/fonts/Type1"
-		;;
-		*-linux-gnu)
-			use prefix && [[ -d /usr/share/fonts ]] && \
-				addfonts=",/usr/share/fonts"
-		;;
-	esac
-
-	local myeconfargs=(
-		$(use_enable doc docbook)
-		$(use_enable static-libs static)
-		--enable-docs
-		--localstatedir="${EPREFIX}"/var
-		--with-default-fonts="${EPREFIX}"/usr/share/fonts
-		--with-add-fonts="${EPREFIX}/usr/local/share/fonts${addfonts}"
-		--with-templatedir="${EPREFIX}"/etc/fonts/conf.avail
-	)
-
-	ECONF_SOURCE="${S}" \
-	econf "${myeconfargs[@]}"
-}
-
-multilib_src_install() {
-	default
-
-	# avoid calling this multiple times, bug #459210
-	if multilib_is_native_abi; then
-		# stuff installed from build-dir
-		emake -C doc DESTDIR="${D}" install-man
-
-		insinto /etc/fonts
-		doins fonts.conf
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	find "${ED}" -name "*.la" -delete || die
-
-	# fc-lang directory contains language coverage datafiles
-	# which are needed to test the coverage of fonts.
-	insinto /usr/share/fc-lang
-	doins fc-lang/*.orth
-
-	dodoc doc/fontconfig-user.{txt,pdf}
-
-	if [[ -e ${ED}usr/share/doc/fontconfig/ ]];  then
-		mv "${ED}"usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${P} || die
-		rm -rf "${ED}"usr/share/doc/fontconfig
-	fi
-
-	# Changes should be made to /etc/fonts/local.conf, and as we had
-	# too much problems with broken fonts.conf we force update it ...
-	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig
-	doenvd "${T}"/37fontconfig
-
-	# As of fontconfig 2.7, everything sticks their noses in here.
-	dodir /etc/sandbox.d
-	echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig
-
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	# Bug #193476
-	# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
-	# config files.  If we install as-is, we'll blow away user settings.
-	ebegin "Syncing fontconfig configuration to system"
-	if [[ -e ${EROOT}/etc/fonts/conf.d ]]; then
-		for file in "${EROOT}"/etc/fonts/conf.avail/*; do
-			f=${file##*/}
-			if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]]; then
-				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
-					&& ln -sf ../conf.avail/"${f}" "${ED}"etc/fonts/conf.d/ &>/dev/null
-			else
-				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
-					&& rm "${ED}"etc/fonts/conf.d/"${f}" &>/dev/null
-			fi
-		done
-	fi
-	eend $?
-}
-
-pkg_postinst() {
-	einfo "Cleaning broken symlinks in "${EROOT}"etc/fonts/conf.d/"
-	find -L "${EROOT}"etc/fonts/conf.d/ -type l -delete
-
-	readme.gentoo_print_elog
-
-	if [[ ${ROOT} = / ]]; then
-		multilib_pkg_postinst() {
-			ebegin "Creating global font cache for ${ABI}"
-			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
-			eend $?
-		}
-
-		multilib_parallel_foreach_abi multilib_pkg_postinst
-	fi
-}


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/fontconfig/, media-libs/fontconfig/files/
@ 2018-09-19  8:06 Lars Wendler
  0 siblings, 0 replies; 13+ messages in thread
From: Lars Wendler @ 2018-09-19  8:06 UTC (permalink / raw
  To: gentoo-commits

commit:     2e23da62f35f8c716af5e6342ac9cdbb96898c14
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
AuthorDate: Tue Sep 18 23:41:07 2018 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Sep 19 08:06:12 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e23da62

media-libs/fontconfig: Revert part of upstream commit which causes sandbox violations for fonts cache.

Closes: https://bugs.gentoo.org/666418

 ...1-revert_delete_.uuid_for_empty_directory.patch | 43 ++++++++++++++++++++++
 ....13.1-r1.ebuild => fontconfig-2.13.1-r2.ebuild} |  1 +
 2 files changed, 44 insertions(+)

diff --git a/media-libs/fontconfig/files/fontconfig-2.13.1-revert_delete_.uuid_for_empty_directory.patch b/media-libs/fontconfig/files/fontconfig-2.13.1-revert_delete_.uuid_for_empty_directory.patch
new file mode 100644
index 00000000000..cd66082eedd
--- /dev/null
+++ b/media-libs/fontconfig/files/fontconfig-2.13.1-revert_delete_.uuid_for_empty_directory.patch
@@ -0,0 +1,43 @@
+https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/107
+
+Reversion of part of:
+https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/f5dd8512bdf9fd8e01c30ae36f593758b29385cf
+
+--- /src/fcdir.c
++++ /src/fcdir.c
+@@ -421,13 +421,6 @@
+     /* Not using existing cache file, construct new cache */
+     if (!cache)
+ 	cache = FcDirCacheScan (dir, config);
+-    if (cache)
+-    {
+-	FcFontSet *fs = FcCacheSet (cache);
+-
+-	if (cache->dirs_count == 0 && (!fs || fs->nfont == 0))
+-	    FcDirCacheDeleteUUID (dir, config);
+-    }
+ 
+     return cache;
+ }
+--- /test/run-test.sh
++++ /test/run-test.sh
+@@ -239,19 +239,4 @@
+ 
+ rm -rf $MyPWD/sysroot
+ 
+-dotest "deleting .uuid file on empty dir"
+-prep
+-cp $FONT1 $FONT2 $FONTDIR
+-$FCCACHE $FONTDIR
+-sleep 1
+-rm -f $FONTDIR/*pcf
+-$FCCACHE $FONTDIR
+-rmdir $FONTDIR > /dev/null 2>&1
+-if [ $? != 0 ]; then
+-  echo "*** Test failed: $TEST"
+-  echo "$FONTDIR isn't empty"
+-  ls -al $FONTDIR
+-  exit 1
+-fi
+-
+ rm -rf $FONTDIR $CACHEFILE $CACHEDIR $FONTCONFIG_FILE out

diff --git a/media-libs/fontconfig/fontconfig-2.13.1-r1.ebuild b/media-libs/fontconfig/fontconfig-2.13.1-r2.ebuild
similarity index 98%
rename from media-libs/fontconfig/fontconfig-2.13.1-r1.ebuild
rename to media-libs/fontconfig/fontconfig-2.13.1-r2.ebuild
index fdc25117f94..0ba7f651fab 100644
--- a/media-libs/fontconfig/fontconfig-2.13.1-r1.ebuild
+++ b/media-libs/fontconfig/fontconfig-2.13.1-r2.ebuild
@@ -36,6 +36,7 @@ PDEPEND="!x86-winnt? ( app-eselect/eselect-fontconfig )
 PATCHES=(
 	"${FILESDIR}"/${PN}-2.10.2-docbook.patch # 310157
 	"${FILESDIR}"/${PN}-2.12.3-latin-update.patch # 130466 + make liberation default
+	"${FILESDIR}"/${P}-revert_delete_.uuid_for_empty_directory.patch # 666418
 
 	# Patches from upstream (can usually be removed with next version bump)
 	"${FILESDIR}"/${P}-static_build.patch


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/fontconfig/, media-libs/fontconfig/files/
@ 2021-01-13 13:18 Lars Wendler
  0 siblings, 0 replies; 13+ messages in thread
From: Lars Wendler @ 2021-01-13 13:18 UTC (permalink / raw
  To: gentoo-commits

commit:     b0f701a775a9f787c59018f388772b3fc31b3da6
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 13 11:43:15 2021 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Jan 13 13:18:56 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0f701a7

media-libs/fontconfig: Removed old

Package-Manager: Portage-3.0.13, Repoman-3.0.2
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 media-libs/fontconfig/Manifest                     |   2 -
 .../fontconfig-2.13.0-add-missing-lintl.patch      |  34 ----
 .../files/fontconfig-2.13.0-locale.patch           | 177 ---------------------
 .../fontconfig/files/fontconfig-2.13.0-names.patch |  93 -----------
 media-libs/fontconfig/fontconfig-2.12.6.ebuild     | 160 -------------------
 media-libs/fontconfig/fontconfig-2.13.0-r4.ebuild  | 169 --------------------
 6 files changed, 635 deletions(-)

diff --git a/media-libs/fontconfig/Manifest b/media-libs/fontconfig/Manifest
index 684dfc449fd..86eb4310757 100644
--- a/media-libs/fontconfig/Manifest
+++ b/media-libs/fontconfig/Manifest
@@ -1,3 +1 @@
-DIST fontconfig-2.12.6.tar.bz2 1624683 BLAKE2B 48432f3d3cc90240ec19dffb6714e7f780eb6b401693b40e2efa2bb593bc89c42b03c99fce8f2ceb7c108da254dc248d91a790849d22feaa50a725338b80fd1f SHA512 2a1d3e62cae2bfcae2e67e9cb75ab6534a35bda4215f1ad4b8bf757e77e7d9d609c016562f5288fd10046a0e94655a807f6dd044d7868ed81a146c4275c4dd06
-DIST fontconfig-2.13.0.tar.bz2 1700500 BLAKE2B bf137b27c9f73c5e2763b7a4a443a4aa5016bd3c0e35138249c2cf8841eb364c8e7bbea6495b53b88de26e3d5a429ebfb598a9f4fe7d875028a621df592ff35a SHA512 f0ad8f2542c8b1e900f5c3d213466a31dd3785da726d6eb455b6734c71c6e5751b28172203e2f9668e9c8e1512072235ea46a1a5e6a85ec54ccc332adb4e5fbc
 DIST fontconfig-2.13.1.tar.bz2 1723639 BLAKE2B 08b9a522a9d89bc5e5ed0f0898182359efb110f22b6b7010f6bdda0d6d516957ea74ebe0703d684d4724fd9f44a2eaf50d8329d4e0f4e45e79f50466d808b9e1 SHA512 f97f2a9db294fd72d416a7d76dd7db5934ade2cf76903764b09e7decc33e0e2eed1a1d35c5f1c7fd9ea39e2c7653b9e65365f0c6205e047e95e38ba5000dd100

diff --git a/media-libs/fontconfig/files/fontconfig-2.13.0-add-missing-lintl.patch b/media-libs/fontconfig/files/fontconfig-2.13.0-add-missing-lintl.patch
deleted file mode 100644
index 6bea02b1fca..00000000000
--- a/media-libs/fontconfig/files/fontconfig-2.13.0-add-missing-lintl.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 07bd14c5c7fed103020dc9b630d6a254861ada07 Mon Sep 17 00:00:00 2001
-From: Akira TAGOH <akira@tagoh.org>
-Date: Fri, 9 Mar 2018 11:55:43 +0900
-Subject: Fix the build issue again on MinGW with enabling nls
-
----
- src/Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 1ff065b..2111ce0 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -82,7 +82,7 @@ AM_CPPFLAGS = 						\
- 	-DFC_CACHEDIR='"$(FC_CACHEDIR)"'                \
- 	-DFONTCONFIG_PATH='"$(BASECONFIGDIR)"'		\
- 	-DFC_TEMPLATEDIR='"$(TEMPLATEDIR)"'
--LDADD  = $(INTLLIBS)
-+LDADD  = $(LIBINTL)
- 
- EXTRA_DIST += makealias
- 
-@@ -168,7 +168,7 @@ lib_LTLIBRARIES = libfontconfig.la
- libfontconfig_la_LDFLAGS =			\
- 	-version-info @LIBT_VERSION_INFO@ -no-undefined $(export_symbols)
- 
--libfontconfig_la_LIBADD = $(ICONV_LIBS) $(FREETYPE_LIBS) $(LIBXML2_LIBS) $(EXPAT_LIBS) $(UUID_LIBS) $(INTLLIBS)
-+libfontconfig_la_LIBADD = $(ICONV_LIBS) $(FREETYPE_LIBS) $(LIBXML2_LIBS) $(EXPAT_LIBS) $(UUID_LIBS) $(LTLIBINTL)
- 
- libfontconfig_la_DEPENDENCIES = $(fontconfig_def_dependency)
- 
--- 
-cgit v1.1
-

diff --git a/media-libs/fontconfig/files/fontconfig-2.13.0-locale.patch b/media-libs/fontconfig/files/fontconfig-2.13.0-locale.patch
deleted file mode 100644
index 002e493a409..00000000000
--- a/media-libs/fontconfig/files/fontconfig-2.13.0-locale.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-https://bugs.gentoo.org/650332
-Do not set locale in the library.
-Patch from upstream.
-
---- a/fc-cache/fc-cache.c
-+++ b/fc-cache/fc-cache.c
-@@ -41,6 +41,7 @@
- #include <fcntl.h>
- #include <dirent.h>
- #include <string.h>
-+#include <locale.h>
- 
- #if defined (_WIN32)
- #define STRICT
-@@ -302,6 +303,7 @@
- #if HAVE_GETOPT_LONG || HAVE_GETOPT
-     int		c;
- 
-+    setlocale (LC_ALL, "");
- #if HAVE_GETOPT_LONG
-     while ((c = getopt_long (argc, argv, "Efrsy:Vvh", longopts, NULL)) != -1)
- #else
---- a/fc-cat/fc-cat.c
-+++ b/fc-cat/fc-cat.c
-@@ -40,6 +40,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <errno.h>
-+#include <locale.h>
- 
- #ifdef ENABLE_NLS
- #include <libintl.h>
-@@ -271,6 +272,7 @@
- #if HAVE_GETOPT_LONG || HAVE_GETOPT
-     int		c;
- 
-+    setlocale (LC_ALL, "");
- #if HAVE_GETOPT_LONG
-     while ((c = getopt_long (argc, argv, "Vvrh", longopts, NULL)) != -1)
- #else
---- a/fc-conflist/fc-conflist.c
-+++ b/fc-conflist/fc-conflist.c
-@@ -38,6 +38,7 @@
- #include <unistd.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <locale.h>
- 
- #ifdef ENABLE_NLS
- #include <libintl.h>
-@@ -102,6 +103,7 @@
- #if HAVE_GETOPT_LONG || HAVE_GETOPT
-     int		c;
- 
-+    setlocale (LC_ALL, "");
- #if HAVE_GETOPT_LONG
-     while ((c = getopt_long (argc, argv, "Vh", longopts, NULL)) != -1)
- #else
---- a/fc-list/fc-list.c
-+++ b/fc-list/fc-list.c
-@@ -27,6 +27,7 @@
- #include <unistd.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <locale.h>
- #ifdef HAVE_CONFIG_H
- #include <config.h>
- #else
-@@ -117,6 +118,7 @@
- #if HAVE_GETOPT_LONG || HAVE_GETOPT
-     int			c;
- 
-+    setlocale (LC_ALL, "");
- #if HAVE_GETOPT_LONG
-     while ((c = getopt_long (argc, argv, "vbf:qVh", longopts, NULL)) != -1)
- #else
---- a/fc-match/fc-match.c
-+++ b/fc-match/fc-match.c
-@@ -36,6 +36,7 @@
- #include <unistd.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <locale.h>
- 
- #ifdef ENABLE_NLS
- #include <libintl.h>
-@@ -121,6 +122,7 @@
- #if HAVE_GETOPT_LONG || HAVE_GETOPT
-     int			c;
- 
-+    setlocale (LC_ALL, "");
- #if HAVE_GETOPT_LONG
-     while ((c = getopt_long (argc, argv, "asvbf:Vh", longopts, NULL)) != -1)
- #else
---- a/fc-pattern/fc-pattern.c
-+++ b/fc-pattern/fc-pattern.c
-@@ -36,6 +36,7 @@
- #include <unistd.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <locale.h>
- 
- #ifdef ENABLE_NLS
- #include <libintl.h>
-@@ -111,6 +112,7 @@
- #if HAVE_GETOPT_LONG || HAVE_GETOPT
-     int		c;
- 
-+    setlocale (LC_ALL, "");
- #if HAVE_GETOPT_LONG
-     while ((c = getopt_long (argc, argv, "cdf:Vh", longopts, NULL)) != -1)
- #else
---- a/fc-query/fc-query.c
-+++ b/fc-query/fc-query.c
-@@ -39,6 +39,7 @@
- #include <unistd.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <locale.h>
- 
- #ifdef ENABLE_NLS
- #include <libintl.h>
-@@ -115,6 +116,7 @@
- #if HAVE_GETOPT_LONG || HAVE_GETOPT
-     int		c;
- 
-+    setlocale (LC_ALL, "");
- #if HAVE_GETOPT_LONG
-     while ((c = getopt_long (argc, argv, "i:bf:Vh", longopts, NULL)) != -1)
- #else
---- a/fc-scan/fc-scan.c
-+++ b/fc-scan/fc-scan.c
-@@ -39,6 +39,7 @@
- #include <unistd.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <locale.h>
- 
- #ifdef ENABLE_NLS
- #include <libintl.h>
-@@ -110,6 +111,7 @@
- #if HAVE_GETOPT_LONG || HAVE_GETOPT
-     int		c;
- 
-+    setlocale (LC_ALL, "");
- #if HAVE_GETOPT_LONG
-     while ((c = getopt_long (argc, argv, "bf:Vh", longopts, NULL)) != -1)
- #else
---- a/src/fccfg.c
-+++ b/src/fccfg.c
-@@ -26,7 +26,6 @@
- 
- #include "fcint.h"
- #include <dirent.h>
--#include <locale.h>
- #include <sys/types.h>
- 
- #if defined (_WIN32) && !defined (R_OK)
-@@ -39,18 +38,6 @@
- FcConfigEnsure (void)
- {
-     FcConfig	*config;
--    FcBool	is_locale_initialized;
--    static void *static_is_locale_initialized;
--retry_locale:
--    is_locale_initialized = (intptr_t) fc_atomic_ptr_get (&static_is_locale_initialized);
--    if (!is_locale_initialized)
--    {
--	is_locale_initialized = FcTrue;
--	if (!fc_atomic_ptr_cmpexch (&static_is_locale_initialized, NULL,
--				    (void *)(intptr_t) is_locale_initialized))
--	    goto retry_locale;
--	setlocale (LC_ALL, "");
--    }
- retry_config:
-     config = fc_atomic_ptr_get (&_fcConfig);
-     if (!config)

diff --git a/media-libs/fontconfig/files/fontconfig-2.13.0-names.patch b/media-libs/fontconfig/files/fontconfig-2.13.0-names.patch
deleted file mode 100644
index dddc8bb9572..00000000000
--- a/media-libs/fontconfig/files/fontconfig-2.13.0-names.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-https://bugs.gentoo.org/650370
-
-From 198358dd8ff858c9e36531a7406ccb2246ae77b7 Mon Sep 17 00:00:00 2001
-From: Akira TAGOH <akira@tagoh.org>
-Date: Mon, 12 Mar 2018 11:49:58 +0900
-Subject: [PATCH 1/2] Allow the constant names in the range
-
-https://bugs.freedesktop.org/show_bug.cgi?id=105415
----
- src/fcname.c | 34 +++++++++++++++++++++++++++++-----
- 1 file changed, 29 insertions(+), 5 deletions(-)
-
-diff --git a/src/fcname.c b/src/fcname.c
-index 79e413e..15fb659 100644
---- a/src/fcname.c
-+++ b/src/fcname.c
-@@ -330,13 +330,37 @@ FcNameConvert (FcType type, FcChar8 *string)
-     case FcTypeRange:
- 	if (sscanf ((char *) string, "[%lg %lg]", &b, &e) != 2)
- 	{
--	    v.u.d = strtod ((char *) string, &p);
--	    if (p != NULL && p[0] != 0)
-+	    char *sc, *ec;
-+	    size_t len = strlen ((const char *) string);
-+	    int si, ei;
-+
-+	    sc = malloc (len);
-+	    ec = malloc (len);
-+	    if (sc && ec && sscanf ((char *) string, "[%s %[^]]]", sc, ec) == 2)
- 	    {
--		v.type = FcTypeVoid;
--		break;
-+		if (FcNameConstant ((const FcChar8 *) sc, &si) &&
-+		    FcNameConstant ((const FcChar8 *) ec, &ei))
-+		    v.u.r =  FcRangeCreateDouble (si, ei);
-+		else
-+		    goto bail1;
-+	    }
-+	    else
-+	    {
-+	    bail1:
-+		v.type = FcTypeDouble;
-+		if (FcNameConstant (string, &si))
-+		{
-+		    v.u.d = (double) si;
-+		} else {
-+		    v.u.d = strtod ((char *) string, &p);
-+		    if (p != NULL && p[0] != 0)
-+			v.type = FcTypeVoid;
-+		}
- 	    }
--	    v.type = FcTypeDouble;
-+	    if (sc)
-+		free (sc);
-+	    if (ec)
-+		free (ec);
- 	}
- 	else
- 	    v.u.r = FcRangeCreateDouble (b, e);
--- 
-2.16.2
-
-From 4699406a68321179b14fae7412f828e2f37a7033 Mon Sep 17 00:00:00 2001
-From: Akira TAGOH <akira@tagoh.org>
-Date: Wed, 14 Mar 2018 18:31:30 +0900
-Subject: [PATCH 2/2] Add the value of the constant name to the implicit object
- in the pattern
-
-For objects which has been changed the object type to FcTypeRange.
-
-https://bugs.freedesktop.org/show_bug.cgi?id=105415
----
- src/fcname.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/fcname.c b/src/fcname.c
-index 15fb659..c9320ae 100644
---- a/src/fcname.c
-+++ b/src/fcname.c
-@@ -490,6 +490,10 @@ FcNameParse (const FcChar8 *name)
- 			if (!FcPatternAddBool (pat, c->object, c->value))
- 			    goto bail2;
- 			break;
-+		    case FcTypeRange:
-+			if (!FcPatternAddInteger (pat, c->object, c->value))
-+			    goto bail2;
-+			break;
- 		    default:
- 			break;
- 		    }
--- 
-2.16.2
-

diff --git a/media-libs/fontconfig/fontconfig-2.12.6.ebuild b/media-libs/fontconfig/fontconfig-2.12.6.ebuild
deleted file mode 100644
index afb9dc10bb9..00000000000
--- a/media-libs/fontconfig/fontconfig-2.12.6.ebuild
+++ /dev/null
@@ -1,160 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools multilib-minimal readme.gentoo-r1
-
-DESCRIPTION="A library for configuring and customizing font access"
-HOMEPAGE="http://fontconfig.org/"
-SRC_URI="http://fontconfig.org/release/${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="1.0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="doc static-libs"
-
-# Purposefully dropped the xml USE flag and libxml2 support.  Expat is the
-# default and used by every distro.  See bug #283191.
-RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
-	>=media-libs/freetype-2.7.1[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	doc? ( =app-text/docbook-sgml-dtd-3.1*
-		app-text/docbook-sgml-utils[jadetex] )"
-PDEPEND="!x86-winnt? ( app-eselect/eselect-fontconfig )
-	virtual/ttf-fonts"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-2.10.2-docbook.patch # 310157
-	"${FILESDIR}"/${PN}-2.12.3-latin-update.patch # 130466 + make liberation default
-)
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
-
-pkg_setup() {
-	DOC_CONTENTS="Please make fontconfig configuration changes using
-	\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
-	overwritten. If you need to reset your configuration to upstream defaults,
-	delete the directory ${EROOT}etc/fonts/conf.d/ and re-emerge fontconfig."
-}
-
-src_prepare() {
-	default
-	export GPERF=$(type -P true)  # avoid dependency on gperf, #631980
-	sed -i -e 's/FC_GPERF_SIZE_T="unsigned int"/FC_GPERF_SIZE_T=size_t/' \
-		configure.ac || die # rest of gperf dependency fix, #631920
-	eautoreconf
-}
-
-multilib_src_configure() {
-	local addfonts
-	# harvest some font locations, such that users can benefit from the
-	# host OS's installed fonts
-	case ${CHOST} in
-		*-darwin*)
-			addfonts=",/Library/Fonts,/System/Library/Fonts"
-		;;
-		*-solaris*)
-			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
-				addfonts=",/usr/X/lib/X11/fonts/TrueType"
-			[[ -d /usr/X/lib/X11/fonts/Type1 ]] && \
-				addfonts="${addfonts},/usr/X/lib/X11/fonts/Type1"
-		;;
-		*-linux-gnu)
-			use prefix && [[ -d /usr/share/fonts ]] && \
-				addfonts=",/usr/share/fonts"
-		;;
-	esac
-
-	local myeconfargs=(
-		$(use_enable doc docbook)
-		$(use_enable static-libs static)
-		--enable-docs
-		--localstatedir="${EPREFIX}"/var
-		--with-default-fonts="${EPREFIX}"/usr/share/fonts
-		--with-add-fonts="${EPREFIX}/usr/local/share/fonts${addfonts}"
-		--with-templatedir="${EPREFIX}"/etc/fonts/conf.avail
-	)
-
-	ECONF_SOURCE="${S}" \
-	econf "${myeconfargs[@]}"
-}
-
-multilib_src_install() {
-	default
-
-	# avoid calling this multiple times, bug #459210
-	if multilib_is_native_abi; then
-		# stuff installed from build-dir
-		emake -C doc DESTDIR="${D}" install-man
-
-		insinto /etc/fonts
-		doins fonts.conf
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	find "${ED}" -name "*.la" -delete || die
-
-	# fc-lang directory contains language coverage datafiles
-	# which are needed to test the coverage of fonts.
-	insinto /usr/share/fc-lang
-	doins fc-lang/*.orth
-
-	dodoc doc/fontconfig-user.{txt,pdf}
-
-	if [[ -e ${ED}usr/share/doc/fontconfig/ ]];  then
-		mv "${ED}"usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${P} || die
-		rm -rf "${ED}"usr/share/doc/fontconfig
-	fi
-
-	# Changes should be made to /etc/fonts/local.conf, and as we had
-	# too much problems with broken fonts.conf we force update it ...
-	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig
-	doenvd "${T}"/37fontconfig
-
-	# As of fontconfig 2.7, everything sticks their noses in here.
-	dodir /etc/sandbox.d
-	echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig
-
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	# Bug #193476
-	# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
-	# config files.  If we install as-is, we'll blow away user settings.
-	ebegin "Syncing fontconfig configuration to system"
-	if [[ -e ${EROOT}/etc/fonts/conf.d ]]; then
-		for file in "${EROOT}"/etc/fonts/conf.avail/*; do
-			f=${file##*/}
-			if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]]; then
-				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
-					&& ln -sf ../conf.avail/"${f}" "${ED}"etc/fonts/conf.d/ &>/dev/null
-			else
-				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
-					&& rm "${ED}"etc/fonts/conf.d/"${f}" &>/dev/null
-			fi
-		done
-	fi
-	eend $?
-}
-
-pkg_postinst() {
-	einfo "Cleaning broken symlinks in "${EROOT}"etc/fonts/conf.d/"
-	find -L "${EROOT}"etc/fonts/conf.d/ -type l -delete
-
-	readme.gentoo_print_elog
-
-	if [[ ${ROOT} = / ]]; then
-		multilib_pkg_postinst() {
-			ebegin "Creating global font cache for ${ABI}"
-			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
-			eend $?
-		}
-
-		multilib_parallel_foreach_abi multilib_pkg_postinst
-	fi
-}

diff --git a/media-libs/fontconfig/fontconfig-2.13.0-r4.ebuild b/media-libs/fontconfig/fontconfig-2.13.0-r4.ebuild
deleted file mode 100644
index 338f391d2ae..00000000000
--- a/media-libs/fontconfig/fontconfig-2.13.0-r4.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools multilib-minimal readme.gentoo-r1 eapi7-ver
-
-DESCRIPTION="A library for configuring and customizing font access"
-HOMEPAGE="https://fontconfig.org/"
-SRC_URI="https://fontconfig.org/release/${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="1.0"
-[[ $(ver_cut 3) -ge 90 ]] || \
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="doc static-libs"
-
-# Purposefully dropped the xml USE flag and libxml2 support.  Expat is the
-# default and used by every distro.  See bug #283191.
-RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
-	>=media-libs/freetype-2.9[${MULTILIB_USEDEP}]
-	!elibc_Darwin? ( sys-apps/util-linux[${MULTILIB_USEDEP}] )
-	elibc_Darwin? ( sys-libs/native-uuid )
-	virtual/libintl[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	>=sys-devel/gettext-0.19.8
-	doc? ( =app-text/docbook-sgml-dtd-3.1*
-		app-text/docbook-sgml-utils[jadetex] )"
-PDEPEND="!x86-winnt? ( app-eselect/eselect-fontconfig )
-	virtual/ttf-fonts"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-2.10.2-docbook.patch # 310157
-	"${FILESDIR}"/${PN}-2.12.3-latin-update.patch # 130466 + make liberation default
-	"${FILESDIR}"/${P}-locale.patch #650332
-	"${FILESDIR}"/${P}-names.patch #650370
-	"${FILESDIR}"/${P}-add-missing-lintl.patch #652674
-)
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
-
-pkg_setup() {
-	DOC_CONTENTS="Please make fontconfig configuration changes using
-	\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
-	overwritten. If you need to reset your configuration to upstream defaults,
-	delete the directory ${EROOT%/}/etc/fonts/conf.d/ and re-emerge fontconfig."
-}
-
-src_prepare() {
-	default
-	export GPERF=$(type -P true)  # avoid dependency on gperf, #631980
-	sed -i -e 's/FC_GPERF_SIZE_T="unsigned int"/FC_GPERF_SIZE_T=size_t/' \
-		configure.ac || die # rest of gperf dependency fix, #631920
-	eautoreconf
-	rm test/out.expected || die #662048
-}
-
-multilib_src_configure() {
-	local addfonts
-	# harvest some font locations, such that users can benefit from the
-	# host OS's installed fonts
-	case ${CHOST} in
-		*-darwin*)
-			addfonts=",/Library/Fonts,/System/Library/Fonts"
-		;;
-		*-solaris*)
-			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
-				addfonts=",/usr/X/lib/X11/fonts/TrueType"
-			[[ -d /usr/X/lib/X11/fonts/Type1 ]] && \
-				addfonts="${addfonts},/usr/X/lib/X11/fonts/Type1"
-		;;
-		*-linux-gnu)
-			use prefix && [[ -d /usr/share/fonts ]] && \
-				addfonts=",/usr/share/fonts"
-		;;
-	esac
-
-	local myeconfargs=(
-		$(use_enable doc docbook)
-		$(use_enable static-libs static)
-		--enable-docs
-		--localstatedir="${EPREFIX}"/var
-		--with-default-fonts="${EPREFIX}"/usr/share/fonts
-		--with-add-fonts="${EPREFIX}/usr/local/share/fonts${addfonts}"
-		--with-templatedir="${EPREFIX}"/etc/fonts/conf.avail
-	)
-
-	ECONF_SOURCE="${S}" \
-	econf "${myeconfargs[@]}"
-}
-
-multilib_src_install() {
-	default
-
-	# avoid calling this multiple times, bug #459210
-	if multilib_is_native_abi; then
-		# stuff installed from build-dir
-		emake -C doc DESTDIR="${D}" install-man
-
-		insinto /etc/fonts
-		doins fonts.conf
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	find "${ED}" -name "*.la" -delete || die
-
-	# fc-lang directory contains language coverage datafiles
-	# which are needed to test the coverage of fonts.
-	insinto /usr/share/fc-lang
-	doins fc-lang/*.orth
-
-	dodoc doc/fontconfig-user.{txt,pdf}
-
-	if [[ -e ${ED}usr/share/doc/fontconfig/ ]];  then
-		mv "${ED}"usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${P} || die
-		rm -rf "${ED}"usr/share/doc/fontconfig
-	fi
-
-	# Changes should be made to /etc/fonts/local.conf, and as we had
-	# too much problems with broken fonts.conf we force update it ...
-	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig
-	doenvd "${T}"/37fontconfig
-
-	# As of fontconfig 2.7, everything sticks their noses in here.
-	dodir /etc/sandbox.d
-	echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig
-
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	# Bug #193476
-	# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
-	# config files.  If we install as-is, we'll blow away user settings.
-	ebegin "Syncing fontconfig configuration to system"
-	if [[ -e ${EROOT}/etc/fonts/conf.d ]]; then
-		for file in "${EROOT}"/etc/fonts/conf.avail/*; do
-			f=${file##*/}
-			if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]]; then
-				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
-					&& ln -sf ../conf.avail/"${f}" "${ED}"etc/fonts/conf.d/ &>/dev/null
-			else
-				[[ -f ${ED}etc/fonts/conf.avail/${f} ]] \
-					&& rm "${ED}"etc/fonts/conf.d/"${f}" &>/dev/null
-			fi
-		done
-	fi
-	eend $?
-}
-
-pkg_postinst() {
-	einfo "Cleaning broken symlinks in ${EROOT%/}/etc/fonts/conf.d/"
-	find -L "${EROOT}"etc/fonts/conf.d/ -type l -delete
-
-	readme.gentoo_print_elog
-
-	if [[ ${ROOT} = / ]]; then
-		multilib_pkg_postinst() {
-			ebegin "Creating global font cache for ${ABI}"
-			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
-			eend $?
-		}
-
-		multilib_parallel_foreach_abi multilib_pkg_postinst
-	fi
-}


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/fontconfig/, media-libs/fontconfig/files/
@ 2021-01-13 13:18 Lars Wendler
  0 siblings, 0 replies; 13+ messages in thread
From: Lars Wendler @ 2021-01-13 13:18 UTC (permalink / raw
  To: gentoo-commits

commit:     11a04d7749c8f49b6bbc6683b00ec3be08e48dd9
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 13 12:43:28 2021 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Jan 13 13:18:56 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=11a04d77

media-libs/fontconfig: Bump to version 2.13.93

Package-Manager: Portage-3.0.13, Repoman-3.0.2
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 media-libs/fontconfig/Manifest                     |   1 +
 .../files/fontconfig-2.13.93-latin-update.patch    |  62 +++++++
 media-libs/fontconfig/fontconfig-2.13.93.ebuild    | 195 +++++++++++++++++++++
 3 files changed, 258 insertions(+)

diff --git a/media-libs/fontconfig/Manifest b/media-libs/fontconfig/Manifest
index 86eb4310757..21aef1e5b15 100644
--- a/media-libs/fontconfig/Manifest
+++ b/media-libs/fontconfig/Manifest
@@ -1 +1,2 @@
 DIST fontconfig-2.13.1.tar.bz2 1723639 BLAKE2B 08b9a522a9d89bc5e5ed0f0898182359efb110f22b6b7010f6bdda0d6d516957ea74ebe0703d684d4724fd9f44a2eaf50d8329d4e0f4e45e79f50466d808b9e1 SHA512 f97f2a9db294fd72d416a7d76dd7db5934ade2cf76903764b09e7decc33e0e2eed1a1d35c5f1c7fd9ea39e2c7653b9e65365f0c6205e047e95e38ba5000dd100
+DIST fontconfig-2.13.93.tar.xz 1418288 BLAKE2B 2be273c21c16f9bb2dfe618177eaf2de48610a145d402ba53becc1c4c2d0417a9cd0ce969d4521ff00c8c71e4b1d65e4bf945da56e140434244b81e7e24ecb7a SHA512 1ba119ea3faba662e108df6fce22f242eb2b7c5ec087159ca0cb76944991b19563f744c181263343941c50547bc0c73c6437d5380df09b5029facaab80465b58

diff --git a/media-libs/fontconfig/files/fontconfig-2.13.93-latin-update.patch b/media-libs/fontconfig/files/fontconfig-2.13.93-latin-update.patch
new file mode 100644
index 00000000000..910f0c7ef56
--- /dev/null
+++ b/media-libs/fontconfig/files/fontconfig-2.13.93-latin-update.patch
@@ -0,0 +1,62 @@
+--- fontconfig-2.13.93/conf.d/60-latin.conf
++++ fontconfig-2.13.93/conf.d/60-latin.conf
+@@ -5,44 +5,47 @@
+ 	<alias>
+ 		<family>serif</family>
+ 		<prefer>
++			<family>Liberation Serif</family>
+ 			<family>DejaVu Serif</family>
+ 			<family>Times New Roman</family>
+-			<family>Thorndale AMT</family>
+ 			<family>Luxi Serif</family>
+ 			<family>Nimbus Roman No9 L</family>
+ 			<family>Nimbus Roman</family>
+ 			<family>Times</family>
++			<family>Thorndale AMT</family>
+ 		</prefer>
+ 	</alias>
+ 	<alias>
+ 		<family>sans-serif</family>
+ 		<prefer>
++			<family>Liberation Sans</family>
+ 			<family>DejaVu Sans</family>
+-			<family>Verdana</family>
+ 			<family>Arial</family>
+-			<family>Albany AMT</family>
+ 			<family>Luxi Sans</family>
+ 			<family>Nimbus Sans L</family>
+ 			<family>Nimbus Sans</family>
+ 			<family>Helvetica</family>
+ 			<family>Lucida Sans Unicode</family>
+ 			<family>BPG Glaho International</family> <!-- lat,cyr,arab,geor -->
++			<family>Verdana</family>
+ 			<family>Tahoma</family> <!-- lat,cyr,greek,heb,arab,thai -->
++			<family>Albany AMT</family>
+ 		</prefer>
+ 	</alias>
+ 	<alias>
+ 		<family>monospace</family>
+ 		<prefer>
++			<family>Liberation Mono</family>
+ 			<family>DejaVu Sans Mono</family>
+ 			<family>Inconsolata</family>
+ 			<family>Andale Mono</family>
+ 			<family>Courier New</family>
+-			<family>Cumberland AMT</family>
+ 			<family>Luxi Mono</family>
+ 			<family>Nimbus Mono L</family>
+ 			<family>Nimbus Mono</family>
+ 			<family>Nimbus Mono PS</family>
+ 			<family>Courier</family>
++			<family>Cumberland AMT</family>
+ 		</prefer>
+ 	</alias>
+ <!--
+@@ -63,6 +66,7 @@
+ 	<alias>
+ 		<family>cursive</family>
+ 		<prefer>
++			<family>Comic Neue</family>
+ 			<family>ITC Zapf Chancery Std</family>
+ 			<family>Zapfino</family>
+ 			<family>Comic Sans MS</family>

diff --git a/media-libs/fontconfig/fontconfig-2.13.93.ebuild b/media-libs/fontconfig/fontconfig-2.13.93.ebuild
new file mode 100644
index 00000000000..329ec7d1678
--- /dev/null
+++ b/media-libs/fontconfig/fontconfig-2.13.93.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools multilib-minimal readme.gentoo-r1
+
+DESCRIPTION="A library for configuring and customizing font access"
+HOMEPAGE="https://fontconfig.org/"
+SRC_URI="https://fontconfig.org/release/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="1.0"
+[[ $(ver_cut 3) -ge 90 ]] || \
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="doc static-libs"
+
+# Test test-bz106632 is known to be broken, see bug #751232
+# and would require several backports. It will be fixed in
+# next version.
+# check-missing-doc is known to be broken, see bug #733608
+# because fontconfig-2.13.1-static_build.patch introduces a
+# function FcStrBuildFilename which is lacking documentation.
+# However, backporting isn't worth it. Will be fixed in
+# next version.
+RESTRICT="test"
+
+BDEPEND="dev-util/gperf
+	>=sys-devel/gettext-0.19.8
+	virtual/pkgconfig
+	doc? (
+		=app-text/docbook-sgml-dtd-3.1*
+		app-text/docbook-sgml-utils[jadetex]
+	)"
+# Purposefully dropped the xml USE flag and libxml2 support.  Expat is the
+# default and used by every distro.  See bug #283191.
+RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+	>=media-libs/freetype-2.9[${MULTILIB_USEDEP}]
+	!elibc_Darwin? ( !elibc_SunOS? ( sys-apps/util-linux[${MULTILIB_USEDEP}] ) )
+	elibc_Darwin? ( sys-libs/native-uuid )
+	elibc_SunOS? ( sys-libs/libuuid )
+	virtual/libintl[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
+PDEPEND="!x86-winnt? ( app-eselect/eselect-fontconfig )
+	virtual/ttf-fonts"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-2.10.2-docbook.patch # 310157
+	"${FILESDIR}"/${PN}-2.13.93-latin-update.patch # 130466 + make liberation default
+
+	# Patches from upstream (can usually be removed with next version bump)
+)
+
+MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
+
+pkg_setup() {
+	DOC_CONTENTS="Please make fontconfig configuration changes using
+	\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
+	overwritten. If you need to reset your configuration to upstream defaults,
+	delete the directory ${EROOT}/etc/fonts/conf.d/ and re-emerge fontconfig."
+}
+
+src_prepare() {
+	default
+	eautoreconf
+
+	# https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/272
+	# Please remove on next version bump!
+	if [[ "${PV}" == 2.13.93 ]] ; then
+		local sgmlfile
+		for sgmlfile in doc/*.fncs ; do
+			touch -r ${sgmlfile} ${sgmlfile//.fncs/.sgml} || die
+		done
+	else
+		die "Forgot to clean up src_prepare()"
+	fi
+}
+
+multilib_src_configure() {
+	local addfonts
+	# harvest some font locations, such that users can benefit from the
+	# host OS's installed fonts
+	case ${CHOST} in
+		*-darwin*)
+			addfonts=",/Library/Fonts,/System/Library/Fonts"
+		;;
+		*-solaris*)
+			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
+				addfonts=",/usr/X/lib/X11/fonts/TrueType"
+			[[ -d /usr/X/lib/X11/fonts/Type1 ]] && \
+				addfonts="${addfonts},/usr/X/lib/X11/fonts/Type1"
+		;;
+		*-linux-gnu)
+			use prefix && [[ -d /usr/share/fonts ]] && \
+				addfonts=",/usr/share/fonts"
+		;;
+	esac
+
+	local myeconfargs=(
+		$(use_enable doc docbook)
+		$(use_enable static-libs static)
+		--enable-docs
+		--localstatedir="${EPREFIX}"/var
+		--with-default-fonts="${EPREFIX}"/usr/share/fonts
+		--with-add-fonts="${EPREFIX}/usr/local/share/fonts${addfonts}"
+		--with-templatedir="${EPREFIX}"/etc/fonts/conf.avail
+	)
+
+	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install() {
+	default
+
+	# avoid calling this multiple times, bug #459210
+	if multilib_is_native_abi; then
+		# stuff installed from build-dir
+		emake -C doc DESTDIR="${D}" install-man
+
+		insinto /etc/fonts
+		doins fonts.conf
+	fi
+}
+
+multilib_src_install_all() {
+	einstalldocs
+	find "${ED}" -name "*.la" -delete || die
+
+	# fc-lang directory contains language coverage datafiles
+	# which are needed to test the coverage of fonts.
+	insinto /usr/share/fc-lang
+	doins fc-lang/*.orth
+
+	dodoc doc/fontconfig-user.{txt,pdf}
+
+	if [[ -e ${ED}/usr/share/doc/fontconfig/ ]] ;  then
+		mv "${ED}"/usr/share/doc/fontconfig/* \
+			"${ED}"/usr/share/doc/${P} || die
+		rm -rf "${ED}"/usr/share/doc/fontconfig || die
+	fi
+
+	# Changes should be made to /etc/fonts/local.conf, and as we had
+	# too much problems with broken fonts.conf we force update it ...
+	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' \
+		> "${T}"/37fontconfig || die
+	doenvd "${T}"/37fontconfig
+
+	# As of fontconfig 2.7, everything sticks their noses in here.
+	dodir /etc/sandbox.d
+	echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' \
+		> "${ED}"/etc/sandbox.d/37fontconfig || die
+
+	readme.gentoo_create_doc
+
+	keepdir /var/cache/${PN}
+}
+
+pkg_preinst() {
+	# Bug #193476
+	# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
+	# config files.  If we install as-is, we'll blow away user settings.
+	ebegin "Syncing fontconfig configuration to system"
+	if [[ -e ${EROOT}/etc/fonts/conf.d ]] ; then
+		local file f
+		for file in "${EROOT}"/etc/fonts/conf.avail/* ; do
+			f=${file##*/}
+			if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]] ; then
+				[[ -f ${ED}/etc/fonts/conf.avail/${f} ]] \
+					&& ln -sf ../conf.avail/"${f}" \
+						"${ED}"/etc/fonts/conf.d/ &>/dev/null
+			else
+				[[ -f ${ED}/etc/fonts/conf.avail/${f} ]] \
+					&& rm "${ED}"/etc/fonts/conf.d/"${f}" &>/dev/null
+			fi
+		done
+	fi
+	eend $?
+}
+
+pkg_postinst() {
+	einfo "Cleaning broken symlinks in ${EROOT}/etc/fonts/conf.d/"
+	find -L "${EROOT}"/etc/fonts/conf.d/ -type l -delete
+
+	readme.gentoo_print_elog
+
+	if [[ ${ROOT} == "" ]] ; then
+		multilib_pkg_postinst() {
+			ebegin "Creating global font cache for ${ABI}"
+			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
+			eend $?
+		}
+
+		multilib_parallel_foreach_abi multilib_pkg_postinst
+	fi
+}


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/fontconfig/, media-libs/fontconfig/files/
@ 2022-04-02  3:07 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2022-04-02  3:07 UTC (permalink / raw
  To: gentoo-commits

commit:     7ad7b980f0cc6497bed201469ce0d5949260d558
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Apr  1 23:20:01 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Apr  2 03:07:31 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7ad7b980

media-libs/fontconfig: add 2.14.0

- Clean up ebuild
- Rebased patches (and submitted our docbook one upstream)
- Add json-c test-only dependency
- Scrub patches
- Drop global scope usage from 2.13.93 while at it (fixes previous cleanup)
- Rely on cache generation to create /var/cache/fontconfig

Closes: https://bugs.gentoo.org/587492
Closes: https://bugs.gentoo.org/710184
Closes: https://bugs.gentoo.org/785100
Fixes: 35ac56d0683de8ad8ab4316b109ef77a88a77300
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/fontconfig/Manifest                     |   1 +
 .../files/fontconfig-2.10.2-docbook.patch          |   6 +-
 .../files/fontconfig-2.13.1-proper_homedir.patch   |  10 --
 .../files/fontconfig-2.13.1-static_build.patch     |  10 --
 .../files/fontconfig-2.14.0-docbook.patch          |  29 +++++
 .../files/fontconfig-2.14.0-latin-update.patch     |  66 ++++++++++
 .../fontconfig-2.14.0-skip-bubblewrap-tests.patch  |  14 ++
 media-libs/fontconfig/fontconfig-2.13.93.ebuild    |   2 -
 ...fig-2.13.93.ebuild => fontconfig-2.14.0.ebuild} | 141 ++++++++++++---------
 9 files changed, 196 insertions(+), 83 deletions(-)

diff --git a/media-libs/fontconfig/Manifest b/media-libs/fontconfig/Manifest
index 21aef1e5b150..a42cf3ac9874 100644
--- a/media-libs/fontconfig/Manifest
+++ b/media-libs/fontconfig/Manifest
@@ -1,2 +1,3 @@
 DIST fontconfig-2.13.1.tar.bz2 1723639 BLAKE2B 08b9a522a9d89bc5e5ed0f0898182359efb110f22b6b7010f6bdda0d6d516957ea74ebe0703d684d4724fd9f44a2eaf50d8329d4e0f4e45e79f50466d808b9e1 SHA512 f97f2a9db294fd72d416a7d76dd7db5934ade2cf76903764b09e7decc33e0e2eed1a1d35c5f1c7fd9ea39e2c7653b9e65365f0c6205e047e95e38ba5000dd100
 DIST fontconfig-2.13.93.tar.xz 1418288 BLAKE2B 2be273c21c16f9bb2dfe618177eaf2de48610a145d402ba53becc1c4c2d0417a9cd0ce969d4521ff00c8c71e4b1d65e4bf945da56e140434244b81e7e24ecb7a SHA512 1ba119ea3faba662e108df6fce22f242eb2b7c5ec087159ca0cb76944991b19563f744c181263343941c50547bc0c73c6437d5380df09b5029facaab80465b58
+DIST fontconfig-2.14.0.tar.xz 1431056 BLAKE2B 880f34d33ac30158ea61e922f6635900c5b244c2eb5d259f7947a364df86ee13f6190f651471b0a28bcd3c13f19c970783517903df374839e474921611dff1ff SHA512 a5257249d031b3cd1a7b1521cd58f48d235a970020da4136a727db5407ec98e74a3776bc467d7e39f30ec664f56ff9fe39068317744a5e737a65109f7a005bfc

diff --git a/media-libs/fontconfig/files/fontconfig-2.10.2-docbook.patch b/media-libs/fontconfig/files/fontconfig-2.10.2-docbook.patch
index 33d6549c8147..94bea6327148 100644
--- a/media-libs/fontconfig/files/fontconfig-2.10.2-docbook.patch
+++ b/media-libs/fontconfig/files/fontconfig-2.10.2-docbook.patch
@@ -1,6 +1,6 @@
-diff --unified -uNrp fontconfig-2.10.2-orig/configure.ac fontconfig-2.10.2/configure.ac
---- fontconfig-2.10.2-orig/configure.ac	2012-11-26 09:21:13.000000000 +0100
-+++ fontconfig-2.10.2/configure.ac	2013-01-05 15:40:54.541682239 +0100
+https://bugs.gentoo.org/310157
+--- fontconfig-2.10.2-orig/configure.ac
++++ fontconfig-2.10.2/configure.ac
 @@ -570,7 +570,11 @@ AC_SUBST(XMLDIR)
  # Let people not build/install docs if they don't have docbook
  #

diff --git a/media-libs/fontconfig/files/fontconfig-2.13.1-proper_homedir.patch b/media-libs/fontconfig/files/fontconfig-2.13.1-proper_homedir.patch
index 19aee94ba988..71c27f56f644 100644
--- a/media-libs/fontconfig/files/fontconfig-2.13.1-proper_homedir.patch
+++ b/media-libs/fontconfig/files/fontconfig-2.13.1-proper_homedir.patch
@@ -7,8 +7,6 @@ Subject: [PATCH] Fix the issue that '~' wasn't extracted to the proper homedir
 this behavior was broken by d1f48f11. this change fixes it back to the correct behavior.
 
 https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/110
-diff --git a/src/fccfg.c b/src/fccfg.c
-index d7c48e8..4a53581 100644
 --- a/src/fccfg.c
 +++ b/src/fccfg.c
 @@ -2207,17 +2207,19 @@ FcConfigFilename (const FcChar8 *url)
@@ -40,8 +38,6 @@ index d7c48e8..4a53581 100644
      return file;
  }
  
-diff --git a/test/Makefile.am b/test/Makefile.am
-index 79bcede..9f4d48a 100644
 --- a/test/Makefile.am
 +++ b/test/Makefile.am
 @@ -91,6 +91,22 @@ test_bz106632_CFLAGS =					\
@@ -67,9 +63,6 @@ index 79bcede..9f4d48a 100644
  EXTRA_DIST=run-test.sh run-test-conf.sh $(TESTDATA) out.expected-long-family-names out.expected-no-long-family-names
  
  CLEANFILES=out out1 out2 fonts.conf out.expected
-diff --git a/test/test-issue110.c b/test/test-issue110.c
-new file mode 100644
-index 0000000..28a3bd2
 --- /dev/null
 +++ b/test/test-issue110.c
 @@ -0,0 +1,245 @@
@@ -318,6 +311,3 @@ index 0000000..28a3bd2
 +    return retval;
 +}
 +
--- 
-2.18.0
-

diff --git a/media-libs/fontconfig/files/fontconfig-2.13.1-static_build.patch b/media-libs/fontconfig/files/fontconfig-2.13.1-static_build.patch
index 7a0edfd849ab..d78317da0b3c 100644
--- a/media-libs/fontconfig/files/fontconfig-2.13.1-static_build.patch
+++ b/media-libs/fontconfig/files/fontconfig-2.13.1-static_build.patch
@@ -4,9 +4,6 @@ Date: Mon, 3 Sep 2018 04:56:16 +0000
 Subject: [PATCH] Fix the build issue with --enable-static
 
 Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/109
----
-diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h
-index bac1dda..af870d0 100644
 --- a/fontconfig/fontconfig.h
 +++ b/fontconfig/fontconfig.h
 @@ -1076,6 +1076,10 @@ FcUtf16Len (const FcChar8   *string,
@@ -20,8 +17,6 @@ index bac1dda..af870d0 100644
  FcPublic FcChar8 *
  FcStrDirname (const FcChar8 *file);
  
-diff --git a/src/fcint.h b/src/fcint.h
-index de78cd8..a9d075a 100644
 --- a/src/fcint.h
 +++ b/src/fcint.h
 @@ -1282,10 +1282,6 @@ FcStrUsesHome (const FcChar8 *s);
@@ -35,8 +30,6 @@ index de78cd8..a9d075a 100644
  FcPrivate FcChar8 *
  FcStrLastSlash (const FcChar8  *path);
  
-diff --git a/test/test-bz106632.c b/test/test-bz106632.c
-index daa0c1e..2d67c2e 100644
 --- a/test/test-bz106632.c
 +++ b/test/test-bz106632.c
 @@ -25,25 +25,26 @@
@@ -96,6 +89,3 @@ index daa0c1e..2d67c2e 100644
  int
  main (void)
  {
--- 
-2.18.0
-

diff --git a/media-libs/fontconfig/files/fontconfig-2.14.0-docbook.patch b/media-libs/fontconfig/files/fontconfig-2.14.0-docbook.patch
new file mode 100644
index 000000000000..b9d5e8e5b5e2
--- /dev/null
+++ b/media-libs/fontconfig/files/fontconfig-2.14.0-docbook.patch
@@ -0,0 +1,29 @@
+https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/223
+
+From d4a8381169984246dbb14b7a810abd170d7d0afd Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sat, 2 Apr 2022 02:36:24 +0100
+Subject: [PATCH] configure.ac: allow disabling docbook
+
+Sometimes we might want to build docs (install man pages, etc)
+but allow disabling use of docbook.
+
+Bug: https://bugs.gentoo.org/310157
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/configure.ac
++++ b/configure.ac
+@@ -736,7 +736,13 @@ dnl ===========================================================================
+ # Let people not build/install docs if they don't have docbook
+ #
+ 
+-AC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no)
++AC_ARG_ENABLE(docbook,
++	[AS_HELP_STRING([--disable-docbook],
++		[Disable building docs with docbook2html (default: no)])],,)
++
++if test x$enable_docbook != xno; then
++	AC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no)
++fi
+ 
+ AM_CONDITIONAL(USEDOCBOOK, test "x$HASDOCBOOK" = xyes)
+ 

diff --git a/media-libs/fontconfig/files/fontconfig-2.14.0-latin-update.patch b/media-libs/fontconfig/files/fontconfig-2.14.0-latin-update.patch
new file mode 100644
index 000000000000..2ae36f4ae4d6
--- /dev/null
+++ b/media-libs/fontconfig/files/fontconfig-2.14.0-latin-update.patch
@@ -0,0 +1,66 @@
+https://bugs.gentoo.org/130466
+--- a/conf.d/60-latin.conf
++++ b/conf.d/60-latin.conf
+@@ -5,47 +5,50 @@
+ 	<alias>
+ 		<family>serif</family>
+ 		<prefer>
++			<family>Liberation Serif</family>
+ 			<family>Noto Serif</family>
+ 			<family>DejaVu Serif</family>
+ 			<family>Times New Roman</family>
+-			<family>Thorndale AMT</family>
+ 			<family>Luxi Serif</family>
+ 			<family>Nimbus Roman No9 L</family>
+ 			<family>Nimbus Roman</family>
+ 			<family>Times</family>
++			<family>Thorndale AMT</family>
+ 		</prefer>
+ 	</alias>
+ 	<alias>
+ 		<family>sans-serif</family>
+ 		<prefer>
++			<family>Liberation Sans</family>
+ 			<family>Noto Sans</family>
+ 			<family>DejaVu Sans</family>
+-			<family>Verdana</family>
+ 			<family>Arial</family>
+-			<family>Albany AMT</family>
+ 			<family>Luxi Sans</family>
+ 			<family>Nimbus Sans L</family>
+ 			<family>Nimbus Sans</family>
+ 			<family>Helvetica</family>
+ 			<family>Lucida Sans Unicode</family>
+ 			<family>BPG Glaho International</family> <!-- lat,cyr,arab,geor -->
++			<family>Verdana</family>
+ 			<family>Tahoma</family> <!-- lat,cyr,greek,heb,arab,thai -->
++			<family>Albany AMT</family>
+ 		</prefer>
+ 	</alias>
+ 	<alias>
+ 		<family>monospace</family>
+ 		<prefer>
++			<family>Liberation Mono</family>
+ 			<family>Noto Sans Mono</family>
+ 			<family>DejaVu Sans Mono</family>
+ 			<family>Inconsolata</family>
+ 			<family>Andale Mono</family>
+ 			<family>Courier New</family>
+-			<family>Cumberland AMT</family>
+ 			<family>Luxi Mono</family>
+ 			<family>Nimbus Mono L</family>
+ 			<family>Nimbus Mono</family>
+ 			<family>Nimbus Mono PS</family>
+ 			<family>Courier</family>
++			<family>Cumberland AMT</family>
+ 		</prefer>
+ 	</alias>
+ <!--
+@@ -66,6 +69,7 @@
+ 	<alias>
+ 		<family>cursive</family>
+ 		<prefer>
++			<family>Comic Neue</family>
+ 			<family>ITC Zapf Chancery Std</family>
+ 			<family>Zapfino</family>
+ 			<family>Comic Sans MS</family>

diff --git a/media-libs/fontconfig/files/fontconfig-2.14.0-skip-bubblewrap-tests.patch b/media-libs/fontconfig/files/fontconfig-2.14.0-skip-bubblewrap-tests.patch
new file mode 100644
index 000000000000..7d0041ad9765
--- /dev/null
+++ b/media-libs/fontconfig/files/fontconfig-2.14.0-skip-bubblewrap-tests.patch
@@ -0,0 +1,14 @@
+https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/320
+--- a/test/run-test.sh
++++ b/test/run-test.sh
+@@ -40,9 +40,7 @@ EXPECTED=${EXPECTED-"out.expected"}
+ FCLIST="$LOG_COMPILER ../fc-list/fc-list$EXEEXT"
+ FCCACHE="$LOG_COMPILER ../fc-cache/fc-cache$EXEEXT"
+ 
+-if [ -x "$(command -v bwrap)" ]; then
+-    BWRAP="$(command -v bwrap)"
+-fi
++BWRAP=""
+ 
+ FONT1=$TESTDIR/4x6.pcf
+ FONT2=$TESTDIR/8x16.pcf

diff --git a/media-libs/fontconfig/fontconfig-2.13.93.ebuild b/media-libs/fontconfig/fontconfig-2.13.93.ebuild
index a88e04398db3..72b70d969b41 100644
--- a/media-libs/fontconfig/fontconfig-2.13.93.ebuild
+++ b/media-libs/fontconfig/fontconfig-2.13.93.ebuild
@@ -51,8 +51,6 @@ PATCHES=(
 	# Patches from upstream (can usually be removed with next version bump)
 )
 
-MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
-
 pkg_setup() {
 	DOC_CONTENTS="Please make fontconfig configuration changes using
 	\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be

diff --git a/media-libs/fontconfig/fontconfig-2.13.93.ebuild b/media-libs/fontconfig/fontconfig-2.14.0.ebuild
similarity index 56%
copy from media-libs/fontconfig/fontconfig-2.13.93.ebuild
copy to media-libs/fontconfig/fontconfig-2.14.0.ebuild
index a88e04398db3..64af2b159179 100644
--- a/media-libs/fontconfig/fontconfig-2.13.93.ebuild
+++ b/media-libs/fontconfig/fontconfig-2.14.0.ebuild
@@ -1,8 +1,10 @@
 # Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 
+# Cannot yet migrate to Meson as of 2.14.0:
+# https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/244
 inherit autotools multilib-minimal readme.gentoo-r1
 
 DESCRIPTION="A library for configuring and customizing font access"
@@ -11,20 +13,33 @@ SRC_URI="https://fontconfig.org/release/${P}.tar.xz"
 
 LICENSE="MIT"
 SLOT="1.0"
-[[ $(ver_cut 3) -ge 90 ]] || \
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="doc static-libs"
-
-# Test test-bz106632 is known to be broken, see bug #751232
-# and would require several backports. It will be fixed in
-# next version.
-# check-missing-doc is known to be broken, see bug #733608
-# because fontconfig-2.13.1-static_build.patch introduces a
-# function FcStrBuildFilename which is lacking documentation.
-# However, backporting isn't worth it. Will be fixed in
-# next version.
-RESTRICT="test"
-
+if ! [[ $(ver_cut 3) -ge 90 ]] ; then
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+fi
+IUSE="doc static-libs test"
+RESTRICT="!test? ( test )"
+
+# - Check minimum freetype & other deps on bumps. See
+#   https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/main/configure.ac#L314.
+#   Note that FT versioning is confusing, need to map it using
+#   https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/VERSIONS.TXT
+#   But sometimes it's actually greater than that, e.g. see Fedora's spec file
+#   https://src.fedoraproject.org/rpms/fontconfig/blob/rawhide/f/fontconfig.spec#_1
+#
+# - Purposefully dropped the xml USE flag and libxml2 support. Expat is the
+#   default and used by every distro. See bug #283191.
+#
+# - There's a test-only dep on json-c.
+#   It might become an optional(?) runtime dep in future though. Who knows.
+#   Keep an eye on it.
+RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+	>=media-libs/freetype-2.9.1[${MULTILIB_USEDEP}]
+	!elibc_Darwin? ( !elibc_SunOS? ( sys-apps/util-linux[${MULTILIB_USEDEP}] ) )
+	elibc_Darwin? ( sys-libs/native-uuid )
+	elibc_SunOS? ( sys-libs/libuuid )
+	virtual/libintl[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+	test? ( dev-libs/json-c )"
 BDEPEND="dev-util/gperf
 	>=sys-devel/gettext-0.19.8
 	virtual/pkgconfig
@@ -32,91 +47,98 @@ BDEPEND="dev-util/gperf
 		=app-text/docbook-sgml-dtd-3.1*
 		app-text/docbook-sgml-utils[jadetex]
 	)"
-# Purposefully dropped the xml USE flag and libxml2 support.  Expat is the
-# default and used by every distro.  See bug #283191.
-RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
-	>=media-libs/freetype-2.9[${MULTILIB_USEDEP}]
-	!elibc_Darwin? ( !elibc_SunOS? ( sys-apps/util-linux[${MULTILIB_USEDEP}] ) )
-	elibc_Darwin? ( sys-libs/native-uuid )
-	elibc_SunOS? ( sys-libs/libuuid )
-	virtual/libintl[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
 PDEPEND="!x86-winnt? ( app-eselect/eselect-fontconfig )
 	virtual/ttf-fonts"
 
 PATCHES=(
-	"${FILESDIR}"/${PN}-2.10.2-docbook.patch # 310157
-	"${FILESDIR}"/${PN}-2.13.93-latin-update.patch # 130466 + make liberation default
+	# bug #310157
+	"${FILESDIR}"/${PN}-2.14.0-docbook.patch
+	# bug #130466 + make liberation default
+	"${FILESDIR}"/${PN}-2.14.0-latin-update.patch
+	# Avoid test failure (bubblewrap doesn't work within sandbox)
+	"${FILESDIR}"/${PN}-2.14.0-skip-bubblewrap-tests.patch
 
 	# Patches from upstream (can usually be removed with next version bump)
 )
 
-MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
-
-pkg_setup() {
-	DOC_CONTENTS="Please make fontconfig configuration changes using
-	\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
-	overwritten. If you need to reset your configuration to upstream defaults,
-	delete the directory ${EROOT}/etc/fonts/conf.d/ and re-emerge fontconfig."
-}
+DOC_CONTENTS="Please make fontconfig configuration changes using
+\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
+overwritten. If you need to reset your configuration to upstream defaults,
+delete the directory ${EROOT}/etc/fonts/conf.d/ and re-emerge fontconfig."
 
 src_prepare() {
 	default
-	eautoreconf
 
-	# https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/272
-	# Please remove on next version bump!
-	if [[ "${PV}" == 2.13.93 ]] ; then
-		local sgmlfile
-		for sgmlfile in doc/*.fncs ; do
-			touch -r ${sgmlfile} ${sgmlfile//.fncs/.sgml} || die
-		done
-	else
-		die "Forgot to clean up src_prepare()"
-	fi
+	# Needed for docbook patch
+	eautoreconf
 }
 
 multilib_src_configure() {
-	local addfonts
-	# harvest some font locations, such that users can benefit from the
+	local addfonts=(
+		"${EPREFIX}"/usr/local/share/fonts
+	)
+
+	# Harvest some font locations, such that users can benefit from the
 	# host OS's installed fonts
 	case ${CHOST} in
 		*-darwin*)
-			addfonts=",/Library/Fonts,/System/Library/Fonts"
+			addfonts+=(
+				/Library/Fonts
+				/System/Library/Fonts
+			)
 		;;
+
 		*-solaris*)
 			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
-				addfonts=",/usr/X/lib/X11/fonts/TrueType"
-			[[ -d /usr/X/lib/X11/fonts/Type1 ]] && \
-				addfonts="${addfonts},/usr/X/lib/X11/fonts/Type1"
+				addfonts+=( /usr/X/lib/X11/fonts/TrueType )
+			[[ -d /usr/X/lib/X11/fonts/Type1 ]] &&
+				addfonts+=( /usr/X/lib/X11/fonts/Type1 )
 		;;
+
 		*-linux-gnu)
 			use prefix && [[ -d /usr/share/fonts ]] && \
-				addfonts=",/usr/share/fonts"
+				addfonts+=( /usr/share/fonts )
 		;;
 	esac
 
 	local myeconfargs=(
 		$(use_enable doc docbook)
 		$(use_enable static-libs static)
+
+		# man pages. We split out the docbook parts into its own flag.
 		--enable-docs
+		# We handle this ourselves.
+		--disable-cache-build
+		# See comment above *DEPEND. We use Expat instead.
+		--disable-libxml2
+
 		--localstatedir="${EPREFIX}"/var
 		--with-default-fonts="${EPREFIX}"/usr/share/fonts
-		--with-add-fonts="${EPREFIX}/usr/local/share/fonts${addfonts}"
+		--with-add-fonts=$(IFS=, ; echo "${addfonts[*]}" )
 		--with-templatedir="${EPREFIX}"/etc/fonts/conf.avail
 	)
 
 	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
 }
 
+multilib_src_test() {
+	# Test needs network access
+	# https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/319
+	# On bumps after 2.14.0, please check to see if this has been fixed
+	# to allow local access!
+	chmod -x test/test-crbug1004254 || die
+
+	default
+}
+
 multilib_src_install() {
 	MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
 
 	default
 
-	# avoid calling this multiple times, bug #459210
+	# Avoid calling this multiple times, bug #459210
 	if multilib_is_native_abi; then
-		# stuff installed from build-dir
+		# Stuff installed from build-dir
 		emake -C doc DESTDIR="${D}" install-man
 
 		insinto /etc/fonts
@@ -126,6 +148,7 @@ multilib_src_install() {
 
 multilib_src_install_all() {
 	einstalldocs
+
 	find "${ED}" -name "*.la" -delete || die
 
 	# fc-lang directory contains language coverage datafiles
@@ -154,11 +177,13 @@ multilib_src_install_all() {
 
 	readme.gentoo_create_doc
 
-	keepdir /var/cache/${PN}
+	# We allow the cache generation to make this later
+	# bug #587492
+	rm -r "${ED}"/var/cache/fontconfig || die
 }
 
 pkg_preinst() {
-	# Bug #193476
+	# bug #193476
 	# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
 	# config files.  If we install as-is, we'll blow away user settings.
 	ebegin "Syncing fontconfig configuration to system"
@@ -185,7 +210,7 @@ pkg_postinst() {
 
 	readme.gentoo_print_elog
 
-	if [[ ${ROOT} == "" ]] ; then
+	if [[ -z ${ROOT} ]] ; then
 		multilib_pkg_postinst() {
 			ebegin "Creating global font cache for ${ABI}"
 			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/fontconfig/, media-libs/fontconfig/files/
@ 2022-10-27  4:48 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2022-10-27  4:48 UTC (permalink / raw
  To: gentoo-commits

commit:     bc7faf4170568a07dcb742e474f7c8a0a89eedf2
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 27 04:02:14 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct 27 04:46:05 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc7faf41

media-libs/fontconfig: add 2.14.1

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/fontconfig/Manifest                     |   1 +
 .../fontconfig-2.14.1-gperf-meson-debugging.patch  |  23 +++
 .../files/fontconfig-2.14.1-gperf-meson.patch      |  79 ++++++++
 media-libs/fontconfig/fontconfig-2.14.1.ebuild     | 215 +++++++++++++++++++++
 4 files changed, 318 insertions(+)

diff --git a/media-libs/fontconfig/Manifest b/media-libs/fontconfig/Manifest
index 24cff4b4b53f..0ea3b7ff5d5e 100644
--- a/media-libs/fontconfig/Manifest
+++ b/media-libs/fontconfig/Manifest
@@ -1,2 +1,3 @@
 DIST fontconfig-2.13.93.tar.xz 1418288 BLAKE2B 2be273c21c16f9bb2dfe618177eaf2de48610a145d402ba53becc1c4c2d0417a9cd0ce969d4521ff00c8c71e4b1d65e4bf945da56e140434244b81e7e24ecb7a SHA512 1ba119ea3faba662e108df6fce22f242eb2b7c5ec087159ca0cb76944991b19563f744c181263343941c50547bc0c73c6437d5380df09b5029facaab80465b58
 DIST fontconfig-2.14.0.tar.xz 1431056 BLAKE2B 880f34d33ac30158ea61e922f6635900c5b244c2eb5d259f7947a364df86ee13f6190f651471b0a28bcd3c13f19c970783517903df374839e474921611dff1ff SHA512 a5257249d031b3cd1a7b1521cd58f48d235a970020da4136a727db5407ec98e74a3776bc467d7e39f30ec664f56ff9fe39068317744a5e737a65109f7a005bfc
+DIST fontconfig-2.14.1.tar.xz 1447044 BLAKE2B 4bee654f4196922fb07673f588b4bf8a651bbcc8b882b20712814ff253adf6457c3c4b4c2f5549bac37ed3f152e9993988f00d04e2516c911eb13747fc4a1c73 SHA512 ba42e6f90ec92914895d2157c872c373adfc17be791b92253bcc40e85674a84e43c08ab2b37c3ae85b53b2e7bd2a7847abb479043f303b732c08eeac3ee733db

diff --git a/media-libs/fontconfig/files/fontconfig-2.14.1-gperf-meson-debugging.patch b/media-libs/fontconfig/files/fontconfig-2.14.1-gperf-meson-debugging.patch
new file mode 100644
index 000000000000..fb5e8a14f8b8
--- /dev/null
+++ b/media-libs/fontconfig/files/fontconfig-2.14.1-gperf-meson-debugging.patch
@@ -0,0 +1,23 @@
+https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/240
+https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/335
+
+From c42eb5b503a44b0b062b041d2e8a0138ce21a0c7 Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Thu, 27 Oct 2022 12:32:07 +0900
+Subject: [PATCH] Fix the build issue on meson when -g option is added to
+ c_args
+
+Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/335
+--- a/src/cutout.py
++++ b/src/cutout.py
+@@ -24,7 +24,8 @@ if __name__== '__main__':
+                 break
+ 
+     cpp = args[1]
+-    ret = subprocess.run(cpp + host_cargs + [args[0].input], stdout=subprocess.PIPE, check=True)
++    cpp_args = [i for i in host_cargs + [args[0].input] if not i.startswith('-g')]
++    ret = subprocess.run(cpp + cpp_args, stdout=subprocess.PIPE, check=True)
+ 
+     stdout = ret.stdout.decode('utf8')
+ 
+GitLab

diff --git a/media-libs/fontconfig/files/fontconfig-2.14.1-gperf-meson.patch b/media-libs/fontconfig/files/fontconfig-2.14.1-gperf-meson.patch
new file mode 100644
index 000000000000..5565012cad65
--- /dev/null
+++ b/media-libs/fontconfig/files/fontconfig-2.14.1-gperf-meson.patch
@@ -0,0 +1,79 @@
+https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/a07e2f1e8ad049772cd24b7daa0a4a168f33bfba.patch
+
+From a07e2f1e8ad049772cd24b7daa0a4a168f33bfba Mon Sep 17 00:00:00 2001
+From: Christopher Degawa <ccom@randomderp.com>
+Date: Tue, 25 Oct 2022 14:41:05 -0500
+Subject: [PATCH] meson: modify gperf test to remove sh dependency
+
+modifies the gperf test to instead rely on a file input
+rather than piping in using sh, as sh is often not reliable
+on Windows due to paths.
+
+Also changes the if else ladder into a foreach loop.
+
+Signed-off-by: Christopher Degawa <ccom@randomderp.com>
+--- /dev/null
++++ b/meson-cc-tests/gperf.txt
+@@ -0,0 +1 @@
++foo,bar
+--- a/meson.build
++++ b/meson.build
+@@ -315,39 +315,33 @@ if fc_configdir.startswith(fc_baseconfigdir + '/')
+   fonts_conf.set('CONFIGDIR', fc_configdir.split(fc_baseconfigdir + '/')[1])
+ endif
+ 
+-# It will automatically fallback to subproject if not found on system
+-gperf = find_program('gperf')
++gperf = find_program('gperf', required: false)
++gperf_len_type = ''
+ 
+-sh = find_program('sh', required : false)
+-
+-if not sh.found() # host_machine.system() == 'windows' or not sh.found()
+-  # TODO: This is not always correct
+-  if cc.get_id() == 'msvc'
+-    gperf_len_type = 'size_t'
+-  else
+-    gperf_len_type = 'unsigned'
+-  endif
+-else
++if gperf.found()
+   gperf_test_format = '''
+   #include <string.h>
+   const char * in_word_set(const char *, @0@);
+   @1@
+   '''
+-  gperf_snippet_format = 'echo foo,bar | @0@ -L ANSI-C'
+-  gperf_snippet = run_command(sh, '-c', gperf_snippet_format.format(gperf.full_path()),
+-    check: true)
+-  gperf_test = gperf_test_format.format('size_t', gperf_snippet.stdout())
++  gperf_snippet = run_command(gperf, '-L', 'ANSI-C', files('meson-cc-tests/gperf.txt'),
++    check: true).stdout()
+ 
+-  if cc.compiles(gperf_test)
+-    gperf_len_type = 'size_t'
+-  else
+-    gperf_test = gperf_test_format.format('unsigned', gperf_snippet.stdout())
+-    if cc.compiles(gperf_test)
+-      gperf_len_type = 'unsigned'
+-    else
+-      error('unable to determine gperf len type')
++  foreach type : ['size_t', 'unsigned']
++    if cc.compiles(gperf_test_format.format(type, gperf_snippet))
++      gperf_len_type = type
++      break
+     endif
++  endforeach
++
++  if gperf_len_type == ''
++    error('unable to determine gperf len type')
+   endif
++else
++  # Fallback to subproject
++  gperf = find_program('gperf')
++  # assume if we are compiling from the wrap, the size is just size_t
++  gperf_len_type = 'size_t'
+ endif
+ 
+ message('gperf len type is @0@'.format(gperf_len_type))
+GitLab

diff --git a/media-libs/fontconfig/fontconfig-2.14.1.ebuild b/media-libs/fontconfig/fontconfig-2.14.1.ebuild
new file mode 100644
index 000000000000..0cc0f9683203
--- /dev/null
+++ b/media-libs/fontconfig/fontconfig-2.14.1.ebuild
@@ -0,0 +1,215 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib meson-multilib readme.gentoo-r1
+
+DESCRIPTION="A library for configuring and customizing font access"
+HOMEPAGE="https://fontconfig.org/"
+SRC_URI="https://fontconfig.org/release/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="1.0"
+if ! [[ $(ver_cut 3) -ge 90 ]] ; then
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+fi
+IUSE="doc nls test"
+RESTRICT="!test? ( test )"
+
+# - Check minimum freetype & other deps on bumps. See
+#   https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/main/configure.ac#L314.
+#   Note that FT versioning is confusing, need to map it using
+#   https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/VERSIONS.TXT
+#   But sometimes it's actually greater than that, e.g. see Fedora's spec file
+#   https://src.fedoraproject.org/rpms/fontconfig/blob/rawhide/f/fontconfig.spec#_1
+#
+# - Purposefully dropped the xml USE flag and libxml2 support. Expat is the
+#   default and used by every distro. See bug #283191.
+#
+# - There's a test-only dep on json-c.
+#   It might become an optional(?) runtime dep in future though. Who knows.
+#   Keep an eye on it.
+RDEPEND="
+	>=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+	>=media-libs/freetype-2.9.1[${MULTILIB_USEDEP}]
+	virtual/libintl[${MULTILIB_USEDEP}]
+	!elibc_Darwin? ( !elibc_SunOS? ( sys-apps/util-linux[${MULTILIB_USEDEP}] ) )
+	elibc_Darwin? ( sys-libs/native-uuid )
+	elibc_SunOS? ( sys-libs/libuuid )
+"
+DEPEND="
+	${RDEPEND}
+	test? ( dev-libs/json-c )
+"
+BDEPEND="
+	dev-util/gperf
+	virtual/pkgconfig
+	doc? (
+		=app-text/docbook-sgml-dtd-3.1*
+		app-text/docbook-sgml-utils[jadetex]
+	)
+	nls? ( >=sys-devel/gettext-0.19.8 )
+"
+PDEPEND="virtual/ttf-fonts"
+# We need app-eselect/eselect-fontconfig in IDEPEND to update ROOT
+# when cross-compiling.
+IDEPEND="!x86-winnt? ( app-eselect/eselect-fontconfig )"
+
+PATCHES=(
+	# bug #130466 + make liberation default
+	"${FILESDIR}"/${PN}-2.14.0-latin-update.patch
+	# Avoid test failure (bubblewrap doesn't work within sandbox)
+	"${FILESDIR}"/${PN}-2.14.0-skip-bubblewrap-tests.patch
+
+	# Patches from upstream (can usually be removed with next version bump)
+	"${FILESDIR}"/${P}-gperf-meson.patch
+	"${FILESDIR}"/${P}-gperf-meson-debugging.patch
+)
+
+DOC_CONTENTS="Please make fontconfig configuration changes using
+\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
+overwritten. If you need to reset your configuration to upstream defaults,
+delete the directory ${EROOT}/etc/fonts/conf.d/ and re-emerge fontconfig."
+
+src_prepare() {
+	default
+
+	# Test needs network access
+	# https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/319
+	# On bumps, please check to see if this has been fixed
+	# to allow local access!
+	sed -i -e '/test-crbug1004254/d' test/meson.build || die
+}
+
+multilib_src_configure() {
+	local addfonts=(
+		"${EPREFIX}"/usr/local/share/fonts
+	)
+
+	# Harvest some font locations, such that users can benefit from the
+	# host OS's installed fonts
+	case ${CHOST} in
+		*-darwin*)
+			addfonts+=(
+				/Library/Fonts
+				/System/Library/Fonts
+			)
+		;;
+
+		*-solaris*)
+			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
+				addfonts+=( /usr/X/lib/X11/fonts/TrueType )
+			[[ -d /usr/X/lib/X11/fonts/Type1 ]] &&
+				addfonts+=( /usr/X/lib/X11/fonts/Type1 )
+		;;
+
+		*-linux-gnu)
+			use prefix && [[ -d /usr/share/fonts ]] && \
+				addfonts+=( /usr/share/fonts )
+		;;
+	esac
+
+	local emesonargs=(
+		# USE=doc only controls the additional bits like html/pdf
+		# and regeneration of man pages from source. We always install
+		# the prebuilt man pages.
+		$(meson_native_use_feature doc)
+		$(meson_native_use_feature doc doc-txt)
+		$(meson_native_use_feature doc doc-html)
+		$(meson_native_use_feature doc doc-man)
+		$(meson_native_use_feature doc doc-pdf)
+
+		$(meson_native_use_feature nls)
+		$(meson_feature test tests)
+
+		-Dcache-build=disabled
+		-Ddefault-fonts-dirs="${EPREFIX}"/usr/share/fonts
+		-Dadditional-fonts-dirs=$(IFS=, ; echo "${addfonts[*]}" )
+		-Dtemplate-dir="${EPREFIX}"/etc/fonts/conf.avail
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install() {
+	MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
+
+	meson_src_install
+
+	# Avoid calling this multiple times, bug #459210
+	if multilib_is_native_abi; then
+		insinto /etc/fonts
+		doins fonts.conf
+	fi
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	# fc-lang directory contains language coverage datafiles
+	# which are needed to test the coverage of fonts.
+	insinto /usr/share/fc-lang
+	doins fc-lang/*.orth
+
+	dodoc doc/fontconfig-user.{txt,pdf}
+
+	if ! use doc ; then
+		find "${S}" -name "*.[[:digit:]]" -type f -exec doman '{}' + || die
+	fi
+
+	if [[ -e ${ED}/usr/share/doc/fontconfig/ ]] ;  then
+		mv "${ED}"/usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${P} || die
+		rm -rf "${ED}"/usr/share/doc/fontconfig || die
+	fi
+
+	# Changes should be made to /etc/fonts/local.conf, and as we had
+	# too much problems with broken fonts.conf we force update it ...
+	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig || die
+	doenvd "${T}"/37fontconfig
+
+	# As of fontconfig 2.7, everything sticks their noses in here.
+	dodir /etc/sandbox.d
+	echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig || die
+
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	# bug #193476
+	# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
+	# config files.  If we install as-is, we'll blow away user settings.
+	ebegin "Syncing fontconfig configuration to system"
+	if [[ -e ${EROOT}/etc/fonts/conf.d ]] ; then
+		local file f
+		for file in "${EROOT}"/etc/fonts/conf.avail/* ; do
+			f=${file##*/}
+			if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]] ; then
+				[[ -f ${ED}/etc/fonts/conf.avail/${f} ]] \
+					&& ln -sf ../conf.avail/"${f}" \
+						"${ED}"/etc/fonts/conf.d/ &>/dev/null
+			else
+				[[ -f ${ED}/etc/fonts/conf.avail/${f} ]] \
+					&& rm "${ED}"/etc/fonts/conf.d/"${f}" &>/dev/null
+			fi
+		done
+	fi
+	eend $?
+}
+
+pkg_postinst() {
+	einfo "Cleaning broken symlinks in ${EROOT}/etc/fonts/conf.d/"
+	find -L "${EROOT}"/etc/fonts/conf.d/ -type l -delete
+
+	readme.gentoo_print_elog
+
+	if [[ -z ${ROOT} ]] ; then
+		multilib_pkg_postinst() {
+			ebegin "Creating global font cache for ${ABI}"
+			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
+			eend $?
+		}
+
+		multilib_parallel_foreach_abi multilib_pkg_postinst
+	fi
+}


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/fontconfig/, media-libs/fontconfig/files/
@ 2023-12-01  0:11 Matt Turner
  0 siblings, 0 replies; 13+ messages in thread
From: Matt Turner @ 2023-12-01  0:11 UTC (permalink / raw
  To: gentoo-commits

commit:     f225d76a1bd43a38280f7c524bfffd413f7c5a68
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  1 00:02:32 2023 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Fri Dec  1 00:11:19 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f225d76a

media-libs/fontconfig: Drop old versions

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 media-libs/fontconfig/Manifest                     |   2 -
 .../files/fontconfig-2.14.0-docbook.patch          |  29 ---
 .../fontconfig-2.14.1-gperf-meson-debugging.patch  |  23 ---
 .../files/fontconfig-2.14.1-gperf-meson.patch      |  79 --------
 media-libs/fontconfig/fontconfig-2.14.0-r1.ebuild  | 224 ---------------------
 media-libs/fontconfig/fontconfig-2.14.1-r1.ebuild  | 218 --------------------
 media-libs/fontconfig/fontconfig-2.14.2.ebuild     | 216 --------------------
 7 files changed, 791 deletions(-)

diff --git a/media-libs/fontconfig/Manifest b/media-libs/fontconfig/Manifest
index 1577f159cec8..330e1e1816f4 100644
--- a/media-libs/fontconfig/Manifest
+++ b/media-libs/fontconfig/Manifest
@@ -1,3 +1 @@
-DIST fontconfig-2.14.0.tar.xz 1431056 BLAKE2B 880f34d33ac30158ea61e922f6635900c5b244c2eb5d259f7947a364df86ee13f6190f651471b0a28bcd3c13f19c970783517903df374839e474921611dff1ff SHA512 a5257249d031b3cd1a7b1521cd58f48d235a970020da4136a727db5407ec98e74a3776bc467d7e39f30ec664f56ff9fe39068317744a5e737a65109f7a005bfc
-DIST fontconfig-2.14.1.tar.xz 1447044 BLAKE2B 4bee654f4196922fb07673f588b4bf8a651bbcc8b882b20712814ff253adf6457c3c4b4c2f5549bac37ed3f152e9993988f00d04e2516c911eb13747fc4a1c73 SHA512 ba42e6f90ec92914895d2157c872c373adfc17be791b92253bcc40e85674a84e43c08ab2b37c3ae85b53b2e7bd2a7847abb479043f303b732c08eeac3ee733db
 DIST fontconfig-2.14.2.tar.xz 1440844 BLAKE2B 4efeeb7f9a6705d493128d00b60e681a20a47556f4c0d7787a5c7a6d2cbbc22f150cad7988a9836a9e72aeb61e2b6a196c00a071c7042c62283c7720cdbb743d SHA512 23483e0ae6aa7589fd37f9949a4cf951c5bff981739dbb446881e4cea86a208c0ab31e2358666eac724af1dc6a689a42733a7ce91cd3e76d8d91eacedb318085

diff --git a/media-libs/fontconfig/files/fontconfig-2.14.0-docbook.patch b/media-libs/fontconfig/files/fontconfig-2.14.0-docbook.patch
deleted file mode 100644
index b9d5e8e5b5e2..000000000000
--- a/media-libs/fontconfig/files/fontconfig-2.14.0-docbook.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/223
-
-From d4a8381169984246dbb14b7a810abd170d7d0afd Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Sat, 2 Apr 2022 02:36:24 +0100
-Subject: [PATCH] configure.ac: allow disabling docbook
-
-Sometimes we might want to build docs (install man pages, etc)
-but allow disabling use of docbook.
-
-Bug: https://bugs.gentoo.org/310157
-Signed-off-by: Sam James <sam@gentoo.org>
---- a/configure.ac
-+++ b/configure.ac
-@@ -736,7 +736,13 @@ dnl ===========================================================================
- # Let people not build/install docs if they don't have docbook
- #
- 
--AC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no)
-+AC_ARG_ENABLE(docbook,
-+	[AS_HELP_STRING([--disable-docbook],
-+		[Disable building docs with docbook2html (default: no)])],,)
-+
-+if test x$enable_docbook != xno; then
-+	AC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no)
-+fi
- 
- AM_CONDITIONAL(USEDOCBOOK, test "x$HASDOCBOOK" = xyes)
- 

diff --git a/media-libs/fontconfig/files/fontconfig-2.14.1-gperf-meson-debugging.patch b/media-libs/fontconfig/files/fontconfig-2.14.1-gperf-meson-debugging.patch
deleted file mode 100644
index fb5e8a14f8b8..000000000000
--- a/media-libs/fontconfig/files/fontconfig-2.14.1-gperf-meson-debugging.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/240
-https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/335
-
-From c42eb5b503a44b0b062b041d2e8a0138ce21a0c7 Mon Sep 17 00:00:00 2001
-From: Akira TAGOH <akira@tagoh.org>
-Date: Thu, 27 Oct 2022 12:32:07 +0900
-Subject: [PATCH] Fix the build issue on meson when -g option is added to
- c_args
-
-Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/335
---- a/src/cutout.py
-+++ b/src/cutout.py
-@@ -24,7 +24,8 @@ if __name__== '__main__':
-                 break
- 
-     cpp = args[1]
--    ret = subprocess.run(cpp + host_cargs + [args[0].input], stdout=subprocess.PIPE, check=True)
-+    cpp_args = [i for i in host_cargs + [args[0].input] if not i.startswith('-g')]
-+    ret = subprocess.run(cpp + cpp_args, stdout=subprocess.PIPE, check=True)
- 
-     stdout = ret.stdout.decode('utf8')
- 
-GitLab

diff --git a/media-libs/fontconfig/files/fontconfig-2.14.1-gperf-meson.patch b/media-libs/fontconfig/files/fontconfig-2.14.1-gperf-meson.patch
deleted file mode 100644
index 5565012cad65..000000000000
--- a/media-libs/fontconfig/files/fontconfig-2.14.1-gperf-meson.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/a07e2f1e8ad049772cd24b7daa0a4a168f33bfba.patch
-
-From a07e2f1e8ad049772cd24b7daa0a4a168f33bfba Mon Sep 17 00:00:00 2001
-From: Christopher Degawa <ccom@randomderp.com>
-Date: Tue, 25 Oct 2022 14:41:05 -0500
-Subject: [PATCH] meson: modify gperf test to remove sh dependency
-
-modifies the gperf test to instead rely on a file input
-rather than piping in using sh, as sh is often not reliable
-on Windows due to paths.
-
-Also changes the if else ladder into a foreach loop.
-
-Signed-off-by: Christopher Degawa <ccom@randomderp.com>
---- /dev/null
-+++ b/meson-cc-tests/gperf.txt
-@@ -0,0 +1 @@
-+foo,bar
---- a/meson.build
-+++ b/meson.build
-@@ -315,39 +315,33 @@ if fc_configdir.startswith(fc_baseconfigdir + '/')
-   fonts_conf.set('CONFIGDIR', fc_configdir.split(fc_baseconfigdir + '/')[1])
- endif
- 
--# It will automatically fallback to subproject if not found on system
--gperf = find_program('gperf')
-+gperf = find_program('gperf', required: false)
-+gperf_len_type = ''
- 
--sh = find_program('sh', required : false)
--
--if not sh.found() # host_machine.system() == 'windows' or not sh.found()
--  # TODO: This is not always correct
--  if cc.get_id() == 'msvc'
--    gperf_len_type = 'size_t'
--  else
--    gperf_len_type = 'unsigned'
--  endif
--else
-+if gperf.found()
-   gperf_test_format = '''
-   #include <string.h>
-   const char * in_word_set(const char *, @0@);
-   @1@
-   '''
--  gperf_snippet_format = 'echo foo,bar | @0@ -L ANSI-C'
--  gperf_snippet = run_command(sh, '-c', gperf_snippet_format.format(gperf.full_path()),
--    check: true)
--  gperf_test = gperf_test_format.format('size_t', gperf_snippet.stdout())
-+  gperf_snippet = run_command(gperf, '-L', 'ANSI-C', files('meson-cc-tests/gperf.txt'),
-+    check: true).stdout()
- 
--  if cc.compiles(gperf_test)
--    gperf_len_type = 'size_t'
--  else
--    gperf_test = gperf_test_format.format('unsigned', gperf_snippet.stdout())
--    if cc.compiles(gperf_test)
--      gperf_len_type = 'unsigned'
--    else
--      error('unable to determine gperf len type')
-+  foreach type : ['size_t', 'unsigned']
-+    if cc.compiles(gperf_test_format.format(type, gperf_snippet))
-+      gperf_len_type = type
-+      break
-     endif
-+  endforeach
-+
-+  if gperf_len_type == ''
-+    error('unable to determine gperf len type')
-   endif
-+else
-+  # Fallback to subproject
-+  gperf = find_program('gperf')
-+  # assume if we are compiling from the wrap, the size is just size_t
-+  gperf_len_type = 'size_t'
- endif
- 
- message('gperf len type is @0@'.format(gperf_len_type))
-GitLab

diff --git a/media-libs/fontconfig/fontconfig-2.14.0-r1.ebuild b/media-libs/fontconfig/fontconfig-2.14.0-r1.ebuild
deleted file mode 100644
index 8ac9605455ca..000000000000
--- a/media-libs/fontconfig/fontconfig-2.14.0-r1.ebuild
+++ /dev/null
@@ -1,224 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Cannot yet migrate to Meson as of 2.14.0:
-# https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/244
-inherit autotools multilib-minimal readme.gentoo-r1
-
-DESCRIPTION="A library for configuring and customizing font access"
-HOMEPAGE="https://fontconfig.org/"
-SRC_URI="https://fontconfig.org/release/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="1.0"
-if ! [[ $(ver_cut 3) -ge 90 ]] ; then
-	KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-IUSE="doc static-libs test"
-RESTRICT="!test? ( test )"
-
-# - Check minimum freetype & other deps on bumps. See
-#   https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/main/configure.ac#L314.
-#   Note that FT versioning is confusing, need to map it using
-#   https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/VERSIONS.TXT
-#   But sometimes it's actually greater than that, e.g. see Fedora's spec file
-#   https://src.fedoraproject.org/rpms/fontconfig/blob/rawhide/f/fontconfig.spec#_1
-#
-# - Purposefully dropped the xml USE flag and libxml2 support. Expat is the
-#   default and used by every distro. See bug #283191.
-#
-# - There's a test-only dep on json-c.
-#   It might become an optional(?) runtime dep in future though. Who knows.
-#   Keep an eye on it.
-RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
-	>=media-libs/freetype-2.9.1[${MULTILIB_USEDEP}]
-	!elibc_Darwin? ( !elibc_SunOS? ( sys-apps/util-linux[${MULTILIB_USEDEP}] ) )
-	elibc_Darwin? ( sys-libs/native-uuid )
-	elibc_SunOS? ( sys-libs/libuuid )
-	virtual/libintl[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
-	test? ( dev-libs/json-c )"
-BDEPEND="dev-util/gperf
-	>=sys-devel/gettext-0.19.8
-	virtual/pkgconfig
-	doc? (
-		=app-text/docbook-sgml-dtd-3.1*
-		app-text/docbook-sgml-utils[jadetex]
-	)"
-PDEPEND="virtual/ttf-fonts"
-# We need app-eselect/eselect-fontconfig in IDEPEND to update ROOT
-# when cross-compiling.
-IDEPEND="app-eselect/eselect-fontconfig"
-
-PATCHES=(
-	# bug #310157
-	"${FILESDIR}"/${PN}-2.14.0-docbook.patch
-	# bug #130466 + make liberation default
-	"${FILESDIR}"/${PN}-2.14.0-latin-update.patch
-	# Avoid test failure (bubblewrap doesn't work within sandbox)
-	"${FILESDIR}"/${PN}-2.14.0-skip-bubblewrap-tests.patch
-
-	# Patches from upstream (can usually be removed with next version bump)
-)
-
-DOC_CONTENTS="Please make fontconfig configuration changes using
-\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
-overwritten. If you need to reset your configuration to upstream defaults,
-delete the directory ${EROOT}/etc/fonts/conf.d/ and re-emerge fontconfig."
-
-src_prepare() {
-	default
-
-	# Needed for docbook patch
-	eautoreconf
-}
-
-multilib_src_configure() {
-	local addfonts=(
-		"${EPREFIX}"/usr/local/share/fonts
-	)
-
-	# Harvest some font locations, such that users can benefit from the
-	# host OS's installed fonts
-	case ${CHOST} in
-		*-darwin*)
-			addfonts+=(
-				/Library/Fonts
-				/System/Library/Fonts
-			)
-		;;
-
-		*-solaris*)
-			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
-				addfonts+=( /usr/X/lib/X11/fonts/TrueType )
-			[[ -d /usr/X/lib/X11/fonts/Type1 ]] &&
-				addfonts+=( /usr/X/lib/X11/fonts/Type1 )
-		;;
-
-		*-linux-gnu)
-			use prefix && [[ -d /usr/share/fonts ]] && \
-				addfonts+=( /usr/share/fonts )
-		;;
-	esac
-
-	local myeconfargs=(
-		$(multilib_native_use_enable doc docbook)
-		$(use_enable static-libs static)
-
-		# man pages. We split out the docbook parts into its own flag.
-		$(multilib_native_enable docs)
-		# We handle this ourselves.
-		--disable-cache-build
-		# See comment above *DEPEND. We use Expat instead.
-		--disable-libxml2
-
-		--localstatedir="${EPREFIX}"/var
-		--with-default-fonts="${EPREFIX}"/usr/share/fonts
-		--with-add-fonts=$(IFS=, ; echo "${addfonts[*]}" )
-		--with-templatedir="${EPREFIX}"/etc/fonts/conf.avail
-	)
-
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_test() {
-	# Test needs network access
-	# https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/319
-	# On bumps after 2.14.0, please check to see if this has been fixed
-	# to allow local access!
-	chmod -x test/test-crbug1004254 || die
-
-	default
-}
-
-multilib_src_install() {
-	MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
-
-	default
-
-	# Avoid calling this multiple times, bug #459210
-	if multilib_is_native_abi; then
-		# Stuff installed from build-dir
-		emake -C doc DESTDIR="${D}" install-man
-
-		insinto /etc/fonts
-		doins fonts.conf
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	find "${ED}" -name "*.la" -delete || die
-
-	# fc-lang directory contains language coverage datafiles
-	# which are needed to test the coverage of fonts.
-	insinto /usr/share/fc-lang
-	doins fc-lang/*.orth
-
-	dodoc doc/fontconfig-user.{txt,pdf}
-
-	if [[ -e ${ED}/usr/share/doc/fontconfig/ ]] ;  then
-		mv "${ED}"/usr/share/doc/fontconfig/* \
-			"${ED}"/usr/share/doc/${P} || die
-		rm -rf "${ED}"/usr/share/doc/fontconfig || die
-	fi
-
-	# Changes should be made to /etc/fonts/local.conf, and as we had
-	# too much problems with broken fonts.conf we force update it ...
-	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' \
-		> "${T}"/37fontconfig || die
-	doenvd "${T}"/37fontconfig
-
-	# As of fontconfig 2.7, everything sticks their noses in here.
-	dodir /etc/sandbox.d
-	echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' \
-		> "${ED}"/etc/sandbox.d/37fontconfig || die
-
-	readme.gentoo_create_doc
-
-	# We allow the cache generation to make this later
-	# bug #587492
-	rm -r "${ED}"/var/cache/ || die
-}
-
-pkg_preinst() {
-	# bug #193476
-	# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
-	# config files.  If we install as-is, we'll blow away user settings.
-	ebegin "Syncing fontconfig configuration to system"
-	if [[ -e ${EROOT}/etc/fonts/conf.d ]] ; then
-		local file f
-		for file in "${EROOT}"/etc/fonts/conf.avail/* ; do
-			f=${file##*/}
-			if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]] ; then
-				[[ -f ${ED}/etc/fonts/conf.avail/${f} ]] \
-					&& ln -sf ../conf.avail/"${f}" \
-						"${ED}"/etc/fonts/conf.d/ &>/dev/null
-			else
-				[[ -f ${ED}/etc/fonts/conf.avail/${f} ]] \
-					&& rm "${ED}"/etc/fonts/conf.d/"${f}" &>/dev/null
-			fi
-		done
-	fi
-	eend $?
-}
-
-pkg_postinst() {
-	einfo "Cleaning broken symlinks in ${EROOT}/etc/fonts/conf.d/"
-	find -L "${EROOT}"/etc/fonts/conf.d/ -type l -delete
-
-	readme.gentoo_print_elog
-
-	if [[ -z ${ROOT} ]] ; then
-		multilib_pkg_postinst() {
-			ebegin "Creating global font cache for ${ABI}"
-			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
-			eend $?
-		}
-
-		multilib_parallel_foreach_abi multilib_pkg_postinst
-	fi
-}

diff --git a/media-libs/fontconfig/fontconfig-2.14.1-r1.ebuild b/media-libs/fontconfig/fontconfig-2.14.1-r1.ebuild
deleted file mode 100644
index e34e0d4855d1..000000000000
--- a/media-libs/fontconfig/fontconfig-2.14.1-r1.ebuild
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit multilib meson-multilib python-any-r1 readme.gentoo-r1
-
-DESCRIPTION="A library for configuring and customizing font access"
-HOMEPAGE="https://fontconfig.org/"
-SRC_URI="https://fontconfig.org/release/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="1.0"
-if ! [[ $(ver_cut 3) -ge 90 ]] ; then
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-IUSE="doc nls test"
-RESTRICT="!test? ( test )"
-
-# - Check minimum freetype & other deps on bumps. See
-#   https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/main/configure.ac#L314.
-#   Note that FT versioning is confusing, need to map it using
-#   https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/VERSIONS.TXT
-#   But sometimes it's actually greater than that, e.g. see Fedora's spec file
-#   https://src.fedoraproject.org/rpms/fontconfig/blob/rawhide/f/fontconfig.spec#_1
-#
-# - Purposefully dropped the xml USE flag and libxml2 support. Expat is the
-#   default and used by every distro. See bug #283191.
-#
-# - There's a test-only dep on json-c.
-#   It might become an optional(?) runtime dep in future though. Who knows.
-#   Keep an eye on it.
-RDEPEND="
-	>=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
-	>=media-libs/freetype-2.9.1[${MULTILIB_USEDEP}]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	!elibc_Darwin? ( !elibc_SunOS? ( sys-apps/util-linux[${MULTILIB_USEDEP}] ) )
-	elibc_Darwin? ( sys-libs/native-uuid )
-	elibc_SunOS? ( sys-libs/libuuid )
-"
-DEPEND="
-	${RDEPEND}
-	test? ( dev-libs/json-c )
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-util/gperf
-	virtual/pkgconfig
-	doc? (
-		=app-text/docbook-sgml-dtd-3.1*
-		app-text/docbook-sgml-utils[jadetex]
-	)
-	nls? ( >=sys-devel/gettext-0.19.8 )
-"
-PDEPEND="virtual/ttf-fonts"
-# We need app-eselect/eselect-fontconfig in IDEPEND to update ROOT
-# when cross-compiling.
-IDEPEND="app-eselect/eselect-fontconfig"
-
-PATCHES=(
-	# bug #130466 + make liberation default
-	"${FILESDIR}"/${PN}-2.14.0-latin-update.patch
-	# Avoid test failure (bubblewrap doesn't work within sandbox)
-	"${FILESDIR}"/${PN}-2.14.0-skip-bubblewrap-tests.patch
-
-	# Patches from upstream (can usually be removed with next version bump)
-	"${FILESDIR}"/${P}-gperf-meson.patch
-	"${FILESDIR}"/${P}-gperf-meson-debugging.patch
-)
-
-DOC_CONTENTS="Please make fontconfig configuration changes using
-\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
-overwritten. If you need to reset your configuration to upstream defaults,
-delete the directory ${EROOT}/etc/fonts/conf.d/ and re-emerge fontconfig."
-
-src_prepare() {
-	default
-
-	# Test needs network access
-	# https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/319
-	# On bumps, please check to see if this has been fixed
-	# to allow local access!
-	sed -i -e '/test-crbug1004254/d' test/meson.build || die
-}
-
-multilib_src_configure() {
-	local addfonts=(
-		"${EPREFIX}"/usr/local/share/fonts
-	)
-
-	# Harvest some font locations, such that users can benefit from the
-	# host OS's installed fonts
-	case ${CHOST} in
-		*-darwin*)
-			addfonts+=(
-				/Library/Fonts
-				/System/Library/Fonts
-			)
-		;;
-
-		*-solaris*)
-			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
-				addfonts+=( /usr/X/lib/X11/fonts/TrueType )
-			[[ -d /usr/X/lib/X11/fonts/Type1 ]] &&
-				addfonts+=( /usr/X/lib/X11/fonts/Type1 )
-		;;
-
-		*-linux-gnu)
-			use prefix && [[ -d /usr/share/fonts ]] && \
-				addfonts+=( /usr/share/fonts )
-		;;
-	esac
-
-	local emesonargs=(
-		# USE=doc only controls the additional bits like html/pdf
-		# and regeneration of man pages from source. We always install
-		# the prebuilt man pages.
-		$(meson_native_use_feature doc)
-		$(meson_native_use_feature doc doc-txt)
-		$(meson_native_use_feature doc doc-html)
-		$(meson_native_use_feature doc doc-man)
-		$(meson_native_use_feature doc doc-pdf)
-
-		$(meson_native_use_feature nls)
-		$(meson_feature test tests)
-
-		-Dcache-build=disabled
-		-Dcache-dir="${EPREFIX}"/var/cache/fontconfig
-		-Ddefault-fonts-dirs="${EPREFIX}"/usr/share/fonts
-		-Dadditional-fonts-dirs=$(IFS=, ; echo "${addfonts[*]}" )
-		-Dtemplate-dir="${EPREFIX}"/etc/fonts/conf.avail
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
-
-	meson_src_install
-
-	# Avoid calling this multiple times, bug #459210
-	if multilib_is_native_abi; then
-		insinto /etc/fonts
-		doins fonts.conf
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	# fc-lang directory contains language coverage datafiles
-	# which are needed to test the coverage of fonts.
-	insinto /usr/share/fc-lang
-	doins fc-lang/*.orth
-
-	dodoc doc/fontconfig-user.{txt,pdf}
-
-	if ! use doc ; then
-		find "${S}" -name "*.[[:digit:]]" -type f -exec doman '{}' + || die
-	fi
-
-	if [[ -e ${ED}/usr/share/doc/fontconfig/ ]] ;  then
-		mv "${ED}"/usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${PF} || die
-		rm -rf "${ED}"/usr/share/doc/fontconfig || die
-	fi
-
-	# Changes should be made to /etc/fonts/local.conf, and as we had
-	# too much problems with broken fonts.conf we force update it ...
-	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig || die
-	doenvd "${T}"/37fontconfig
-
-	# As of fontconfig 2.7, everything sticks their noses in here.
-	dodir /etc/sandbox.d
-	echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig || die
-
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	# bug #193476
-	# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
-	# config files.  If we install as-is, we'll blow away user settings.
-	ebegin "Syncing fontconfig configuration to system"
-	if [[ -e ${EROOT}/etc/fonts/conf.d ]] ; then
-		local file f
-		for file in "${EROOT}"/etc/fonts/conf.avail/* ; do
-			f=${file##*/}
-			if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]] ; then
-				[[ -f ${ED}/etc/fonts/conf.avail/${f} ]] \
-					&& ln -sf ../conf.avail/"${f}" \
-						"${ED}"/etc/fonts/conf.d/ &>/dev/null
-			else
-				[[ -f ${ED}/etc/fonts/conf.avail/${f} ]] \
-					&& rm "${ED}"/etc/fonts/conf.d/"${f}" &>/dev/null
-			fi
-		done
-	fi
-	eend $?
-}
-
-pkg_postinst() {
-	einfo "Cleaning broken symlinks in ${EROOT}/etc/fonts/conf.d/"
-	find -L "${EROOT}"/etc/fonts/conf.d/ -type l -delete
-
-	readme.gentoo_print_elog
-
-	if [[ -z ${ROOT} ]] ; then
-		multilib_pkg_postinst() {
-			ebegin "Creating global font cache for ${ABI}"
-			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
-			eend $?
-		}
-
-		multilib_parallel_foreach_abi multilib_pkg_postinst
-	fi
-}

diff --git a/media-libs/fontconfig/fontconfig-2.14.2.ebuild b/media-libs/fontconfig/fontconfig-2.14.2.ebuild
deleted file mode 100644
index ea3e4de0a751..000000000000
--- a/media-libs/fontconfig/fontconfig-2.14.2.ebuild
+++ /dev/null
@@ -1,216 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit multilib meson-multilib python-any-r1 readme.gentoo-r1
-
-DESCRIPTION="A library for configuring and customizing font access"
-HOMEPAGE="https://fontconfig.org/"
-SRC_URI="https://fontconfig.org/release/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="1.0"
-if ! [[ $(ver_cut 3) -ge 90 ]] ; then
-	KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-IUSE="doc nls test"
-RESTRICT="!test? ( test )"
-
-# - Check minimum freetype & other deps on bumps. See
-#   https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/main/configure.ac#L314.
-#   Note that FT versioning is confusing, need to map it using
-#   https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/VERSIONS.TXT
-#   But sometimes it's actually greater than that, e.g. see Fedora's spec file
-#   https://src.fedoraproject.org/rpms/fontconfig/blob/rawhide/f/fontconfig.spec#_1
-#
-# - Purposefully dropped the xml USE flag and libxml2 support. Expat is the
-#   default and used by every distro. See bug #283191.
-#
-# - There's a test-only dep on json-c.
-#   It might become an optional(?) runtime dep in future though. Who knows.
-#   Keep an eye on it.
-RDEPEND="
-	>=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
-	>=media-libs/freetype-2.9.1[${MULTILIB_USEDEP}]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	!elibc_Darwin? ( !elibc_SunOS? ( sys-apps/util-linux[${MULTILIB_USEDEP}] ) )
-	elibc_Darwin? ( sys-libs/native-uuid )
-	elibc_SunOS? ( sys-libs/libuuid )
-"
-DEPEND="
-	${RDEPEND}
-	test? ( dev-libs/json-c )
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-util/gperf
-	virtual/pkgconfig
-	doc? (
-		=app-text/docbook-sgml-dtd-3.1*
-		app-text/docbook-sgml-utils[jadetex]
-	)
-	nls? ( >=sys-devel/gettext-0.19.8 )
-"
-PDEPEND="virtual/ttf-fonts"
-# We need app-eselect/eselect-fontconfig in IDEPEND to update ROOT
-# when cross-compiling.
-IDEPEND="app-eselect/eselect-fontconfig"
-
-PATCHES=(
-	# bug #130466 + make liberation default
-	"${FILESDIR}"/${PN}-2.14.0-latin-update.patch
-	# Avoid test failure (bubblewrap doesn't work within sandbox)
-	"${FILESDIR}"/${PN}-2.14.0-skip-bubblewrap-tests.patch
-
-	# Patches from upstream (can usually be removed with next version bump)
-)
-
-DOC_CONTENTS="Please make fontconfig configuration changes using
-\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
-overwritten. If you need to reset your configuration to upstream defaults,
-delete the directory ${EROOT}/etc/fonts/conf.d/ and re-emerge fontconfig."
-
-src_prepare() {
-	default
-
-	# Test needs network access
-	# https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/319
-	# On bumps, please check to see if this has been fixed
-	# to allow local access!
-	sed -i -e '/test-crbug1004254/d' test/meson.build || die
-}
-
-multilib_src_configure() {
-	local addfonts=(
-		"${EPREFIX}"/usr/local/share/fonts
-	)
-
-	# Harvest some font locations, such that users can benefit from the
-	# host OS's installed fonts
-	case ${CHOST} in
-		*-darwin*)
-			addfonts+=(
-				/Library/Fonts
-				/System/Library/Fonts
-			)
-		;;
-
-		*-solaris*)
-			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
-				addfonts+=( /usr/X/lib/X11/fonts/TrueType )
-			[[ -d /usr/X/lib/X11/fonts/Type1 ]] &&
-				addfonts+=( /usr/X/lib/X11/fonts/Type1 )
-		;;
-
-		*-linux-gnu)
-			use prefix && [[ -d /usr/share/fonts ]] && \
-				addfonts+=( /usr/share/fonts )
-		;;
-	esac
-
-	local emesonargs=(
-		# USE=doc only controls the additional bits like html/pdf
-		# and regeneration of man pages from source. We always install
-		# the prebuilt man pages.
-		$(meson_native_use_feature doc)
-		$(meson_native_use_feature doc doc-txt)
-		$(meson_native_use_feature doc doc-html)
-		$(meson_native_use_feature doc doc-man)
-		$(meson_native_use_feature doc doc-pdf)
-
-		$(meson_native_use_feature nls)
-		$(meson_feature test tests)
-
-		-Dcache-build=disabled
-		-Dcache-dir="${EPREFIX}"/var/cache/fontconfig
-		-Ddefault-fonts-dirs="${EPREFIX}"/usr/share/fonts
-		-Dadditional-fonts-dirs=$(IFS=, ; echo "${addfonts[*]}" )
-		-Dtemplate-dir="${EPREFIX}"/etc/fonts/conf.avail
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
-
-	meson_src_install
-
-	# Avoid calling this multiple times, bug #459210
-	if multilib_is_native_abi; then
-		insinto /etc/fonts
-		doins fonts.conf
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	# fc-lang directory contains language coverage datafiles
-	# which are needed to test the coverage of fonts.
-	insinto /usr/share/fc-lang
-	doins fc-lang/*.orth
-
-	dodoc doc/fontconfig-user.{txt,pdf}
-
-	if ! use doc ; then
-		find "${S}" -name "*.[[:digit:]]" -type f -exec doman '{}' + || die
-	fi
-
-	if [[ -e ${ED}/usr/share/doc/fontconfig/ ]] ;  then
-		mv "${ED}"/usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${PF} || die
-		rm -rf "${ED}"/usr/share/doc/fontconfig || die
-	fi
-
-	# Changes should be made to /etc/fonts/local.conf, and as we had
-	# too much problems with broken fonts.conf we force update it ...
-	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig || die
-	doenvd "${T}"/37fontconfig
-
-	# As of fontconfig 2.7, everything sticks their noses in here.
-	dodir /etc/sandbox.d
-	echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig || die
-
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	# bug #193476
-	# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
-	# config files.  If we install as-is, we'll blow away user settings.
-	ebegin "Syncing fontconfig configuration to system"
-	if [[ -e ${EROOT}/etc/fonts/conf.d ]] ; then
-		local file f
-		for file in "${EROOT}"/etc/fonts/conf.avail/* ; do
-			f=${file##*/}
-			if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]] ; then
-				[[ -f ${ED}/etc/fonts/conf.avail/${f} ]] \
-					&& ln -sf ../conf.avail/"${f}" \
-						"${ED}"/etc/fonts/conf.d/ &>/dev/null
-			else
-				[[ -f ${ED}/etc/fonts/conf.avail/${f} ]] \
-					&& rm "${ED}"/etc/fonts/conf.d/"${f}" &>/dev/null
-			fi
-		done
-	fi
-	eend $?
-}
-
-pkg_postinst() {
-	einfo "Cleaning broken symlinks in ${EROOT}/etc/fonts/conf.d/"
-	find -L "${EROOT}"/etc/fonts/conf.d/ -type l -delete
-
-	readme.gentoo_print_elog
-
-	if [[ -z ${ROOT} ]] ; then
-		multilib_pkg_postinst() {
-			ebegin "Creating global font cache for ${ABI}"
-			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
-			eend $?
-		}
-
-		multilib_parallel_foreach_abi multilib_pkg_postinst
-	fi
-}


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/fontconfig/, media-libs/fontconfig/files/
@ 2024-02-14 18:22 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2024-02-14 18:22 UTC (permalink / raw
  To: gentoo-commits

commit:     ade3abb3586f5cd46401afa207c323a5e7e38169
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 14 18:21:06 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Feb 14 18:22:03 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ade3abb3

media-libs/fontconfig: fix -lm linkage for `fabs`

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/fontconfig-2.14.2-math-fabs.patch        | 42 ++++++++++++++++++++++
 media-libs/fontconfig/fontconfig-2.14.2-r3.ebuild  |  3 +-
 media-libs/fontconfig/fontconfig-2.15.0.ebuild     |  3 +-
 3 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/media-libs/fontconfig/files/fontconfig-2.14.2-math-fabs.patch b/media-libs/fontconfig/files/fontconfig-2.14.2-math-fabs.patch
new file mode 100644
index 000000000000..669e4ebbd65f
--- /dev/null
+++ b/media-libs/fontconfig/files/fontconfig-2.14.2-math-fabs.patch
@@ -0,0 +1,42 @@
+https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/309
+
+From 81d410310ffee8761819e72151ec25efde2f5b24 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 14 Feb 2024 18:12:46 +0000
+Subject: [PATCH] meson: detect-and-use `-lm` for `fabs` in fcmatch
+
+We had a bug report in Gentoo of a sparc64 build failure with -O0:
+```
+FAILED: src/libfontconfig.so.1.13.0
+sparc64-unknown-linux-gnu-gcc  -o src/libfontconfig.so.1.13.0 src/libfontconfig.so.1.13.0.p/fcatomic.c.o src/libfontconfig.so.1.13.0.p/fccache.c.o src/libfontconfig.so.1.13.0.p/fccfg.c.o src/libfontconfig.so.1.13.0.p/fccharset.c.o src/libfontconfig.so.1.13.0.p/fccompat.c.o src/libfontconfig.so.1.13.0.p/fcdbg.c.o src/libfontconfig.so.1.13.0.p/fcdefault.c.o src/libfontconfig.so.1.13.0.p/fcdir.c.o src/libfontconfig.so.1.13.0.p/fcformat.c.o src/libfontconfig.so.1.13.0.p/fcfreetype.c.o src/libfontconfig.so.1.13.0.p/fcfs.c.o src/libfontconfig.so.1.13.0.p/fcptrlist.c.o src/libfontconfig.so.1.13.0.p/fchash.c.o src/libfontconfig.so.1.13.0.p/fcinit.c.o src/libfontconfig.so.1.13.0.p/fclang.c.o src/libfontconfig.so.1.13.0.p/fclist.c.o src/libfontconfig.so.1.13.0.p/fcmatch.c.o src/libfontconfig.so.1.13.0.p/fcmatrix.c.o src/libfontconfig.so.1.13.0.p/fcname.c.o src/libfontconfig.so.1.13.0.p/fcobjs.c.o src/libfontconfig.so.1.13.0.p/fcpat.c.o src/libfontconfig.so.1.13.0.p/fcrange.c.o src/libfontconf
 ig.so.1.13.0.p/fcserialize.c.o src/libfontconfig.so.1.13.0.p/fcstat.c.o src/libfontconfig.so.1.13.0.p/fcstr.c.o src/libfontconfig.so.1.13.0.p/fcweight.c.o src/libfontconfig.so.1.13.0.p/fcxml.c.o src/libfontconfig.so.1.13.0.p/ftglue.c.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libfontconfig.so.1 -m64 -g -O0 -mno-app-regs -mcpu=ultrasparc -mtune=ultrasparc -mno-vis -mno-vis2 -mno-vis3 -mno-vis4 -mno-vis4b -mno-cbcond -mno-fmaf -mno-fsmuld -mno-popc -mno-subxc -fno-builtin -fno-fast-math -Wl,-O1 -Wl,--as-needed -Wl,--no-keep-memory /usr/lib64/libfreetype.so /usr/lib64/libexpat.so -Wl,--end-group -pthread
+/usr/lib/gcc/sparc64-unknown-linux-gnu/12/../../../../sparc64-unknown-linux-gnu/bin/ld: src/libfontconfig.so.1.13.0.p/fcmatch.c.o: in function `FcCompareRange':
+/var/tmp/portage/media-libs/fontconfig-2.14.2-r3/work/fontconfig-2.14.2-.sparc64/../fontconfig-2.14.2/src/fcmatch.c:220: undefined reference to `fabs'
+```
+
+Ask Meson to detect `-lm` and add the missing `-lm` for `fabs` usage.
+
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/meson.build
++++ b/meson.build
+@@ -23,7 +23,7 @@ freetype_req = '>= 21.0.15'
+ freetype_req_cmake = '>= 2.8.1'
+ 
+ cc = meson.get_compiler('c')
+-
++math_dep = cc.find_library('m', required: false)
+ 
+ freetype_dep = dependency('freetype2', method: 'pkg-config', version: freetype_req, required: false)
+ 
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -65,7 +65,7 @@ libfontconfig = library('fontconfig',
+   fc_sources, alias_headers, ft_alias_headers, fclang_h, fccase_h, fcobjshash_h,
+   c_args: c_args + fc_extra_c_args,
+   include_directories: incbase,
+-  dependencies: deps,
++  dependencies: [deps, math_dep],
+   install: true,
+   soversion: soversion,
+   version: libversion,
+-- 
+GitLab

diff --git a/media-libs/fontconfig/fontconfig-2.14.2-r3.ebuild b/media-libs/fontconfig/fontconfig-2.14.2-r3.ebuild
index 2d4a41d85739..1f3f04e3cc61 100644
--- a/media-libs/fontconfig/fontconfig-2.14.2-r3.ebuild
+++ b/media-libs/fontconfig/fontconfig-2.14.2-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -66,6 +66,7 @@ PATCHES=(
 
 	# Patches from upstream (can usually be removed with next version bump)
 	"${FILESDIR}"/${P}-fix-sysroot-fc-cache.patch
+	"${FILESDIR}"/${PN}-2.14.2-math-fabs.patch
 )
 
 DOC_CONTENTS="Please make fontconfig configuration changes using

diff --git a/media-libs/fontconfig/fontconfig-2.15.0.ebuild b/media-libs/fontconfig/fontconfig-2.15.0.ebuild
index 01f18ac3a8ab..87e30591256d 100644
--- a/media-libs/fontconfig/fontconfig-2.15.0.ebuild
+++ b/media-libs/fontconfig/fontconfig-2.15.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -65,6 +65,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-2.14.0-skip-bubblewrap-tests.patch
 
 	# Patches from upstream (can usually be removed with next version bump)
+	"${FILESDIR}"/${PN}-2.14.2-math-fabs.patch
 )
 
 DOC_CONTENTS="Please make fontconfig configuration changes using


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/fontconfig/, media-libs/fontconfig/files/
@ 2024-10-08 16:06 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2024-10-08 16:06 UTC (permalink / raw
  To: gentoo-commits

commit:     c9130151b56e3be1adc76e84df0e9dcd1a4bd3e3
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  8 16:05:00 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct  8 16:05:47 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9130151

media-libs/fontconfig: fix aliasing violation

We had a report of GCC 14 with -O3 -flto causing wrong font
sizes with fontconfig (showing up in qalculate-gtk).

It turns out to be because _FcPatternIter and _FcPatternPrivateIter
are punned between which violates strict-aliasing rules, which
manifested in FcDefaultSubstitute getting a bogus value from
FcValueCanonicalize for size.

Mark the bad struct as may_alias to fix that.

Closes: https://bugs.gentoo.org/940923
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/fontconfig-2.15.0-aliasing.patch         |  53 +++++
 media-libs/fontconfig/fontconfig-2.15.0-r1.ebuild  | 234 +++++++++++++++++++++
 2 files changed, 287 insertions(+)

diff --git a/media-libs/fontconfig/files/fontconfig-2.15.0-aliasing.patch b/media-libs/fontconfig/files/fontconfig-2.15.0-aliasing.patch
new file mode 100644
index 000000000000..03709ac2c3a7
--- /dev/null
+++ b/media-libs/fontconfig/files/fontconfig-2.15.0-aliasing.patch
@@ -0,0 +1,53 @@
+https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/333
+
+From 8db62f5a77fd53543dd58e12da7bd96082228893 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Tue, 8 Oct 2024 16:48:19 +0100
+Subject: [PATCH] fontconfig: mark _FcPatternIter as may_alias
+
+We had a report of GCC 14 with -O3 -flto causing wrong font
+sizes with fontconfig (showing up in qalculate-gtk).
+
+It turns out to be because _FcPatternIter and _FcPatternPrivateIter
+are punned between which violates strict-aliasing rules, which
+manifested in FcDefaultSubstitute getting a bogus value from
+FcValueCanonicalize for size.
+
+void* isn't allowed to alias anything -- you can pass addresses
+around provided you cast back to the original type, but if you
+access through the wrong type, you've violated aliasing rules.
+
+Bug: https://bugs.gentoo.org/940923
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/fontconfig/fontconfig.h
++++ b/fontconfig/fontconfig.h
+@@ -32,8 +32,10 @@
+ 
+ #if defined(__GNUC__) && (__GNUC__ >= 4)
+ #define FC_ATTRIBUTE_SENTINEL(x) __attribute__((__sentinel__(0)))
++#define FC_ATTRIBUTE_MAY_ALIAS __attribute__((may_alias))
+ #else
+ #define FC_ATTRIBUTE_SENTINEL(x)
++#define FC_ATTRIBUTE_MAY_ALIAS
+ #endif
+ 
+ #ifndef FcPublic
+@@ -253,7 +255,7 @@ typedef enum _FcValueBinding {
+ 
+ typedef struct _FcPattern   FcPattern;
+ 
+-typedef struct _FcPatternIter {
++typedef struct FC_ATTRIBUTE_MAY_ALIAS _FcPatternIter {
+     void *dummy1;
+     void *dummy2;
+ } FcPatternIter;
+@@ -1160,6 +1162,7 @@ FcConfigParseAndLoadFromMemory (FcConfig       *config,
+ _FCFUNCPROTOEND
+ 
+ #undef FC_ATTRIBUTE_SENTINEL
++#undef FC_ATTRIBUTE_MAY_ALIAS
+ 
+ 
+ #ifndef _FCINT_H_
+-- 
+GitLab

diff --git a/media-libs/fontconfig/fontconfig-2.15.0-r1.ebuild b/media-libs/fontconfig/fontconfig-2.15.0-r1.ebuild
new file mode 100644
index 000000000000..f1472130c4cc
--- /dev/null
+++ b/media-libs/fontconfig/fontconfig-2.15.0-r1.ebuild
@@ -0,0 +1,234 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit multilib meson-multilib python-any-r1 readme.gentoo-r1
+
+DESCRIPTION="A library for configuring and customizing font access"
+HOMEPAGE="https://fontconfig.org/"
+SRC_URI="https://fontconfig.org/release/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="1.0"
+if ! [[ $(ver_cut 3) -ge 90 ]] ; then
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="doc nls test"
+RESTRICT="!test? ( test )"
+
+# - Check minimum freetype & other deps on bumps. See
+#   https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/main/configure.ac#L314.
+#   Note that FT versioning is confusing, need to map it using
+#   https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/VERSIONS.TXT
+#   But sometimes it's actually greater than that, e.g. see Fedora's spec file
+#   https://src.fedoraproject.org/rpms/fontconfig/blob/rawhide/f/fontconfig.spec#_1
+#
+# - Purposefully dropped the xml USE flag and libxml2 support. Expat is the
+#   default and used by every distro. See bug #283191.
+#
+# - There's a test-only dep on json-c.
+#   It might become an optional(?) runtime dep in future though. Who knows.
+#   Keep an eye on it.
+RDEPEND="
+	>=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+	>=media-libs/freetype-2.9.1[${MULTILIB_USEDEP}]
+	virtual/libintl[${MULTILIB_USEDEP}]
+	!elibc_Darwin? ( !elibc_SunOS? ( sys-apps/util-linux[${MULTILIB_USEDEP}] ) )
+	elibc_Darwin? ( sys-libs/native-uuid )
+	elibc_SunOS? ( sys-libs/libuuid )
+"
+DEPEND="
+	${RDEPEND}
+	test? ( dev-libs/json-c )
+"
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-util/gperf
+	virtual/pkgconfig
+	doc? (
+		=app-text/docbook-sgml-dtd-3.1*
+		app-text/docbook-sgml-utils[jadetex]
+	)
+	nls? ( >=sys-devel/gettext-0.19.8 )
+"
+PDEPEND="virtual/ttf-fonts"
+# We need app-eselect/eselect-fontconfig in IDEPEND to update ROOT
+# when cross-compiling.
+IDEPEND="app-eselect/eselect-fontconfig"
+
+PATCHES=(
+	# bug #130466 + make liberation default
+	"${FILESDIR}"/${PN}-2.14.0-latin-update.patch
+	# Avoid test failure (bubblewrap doesn't work within sandbox)
+	"${FILESDIR}"/${PN}-2.14.0-skip-bubblewrap-tests.patch
+	# Fix aliasing (bug #940923)
+	"${FILESDIR}"/${PN}-2.15.0-aliasing.patch
+
+	# Patches from upstream (can usually be removed with next version bump)
+	"${FILESDIR}"/${PN}-2.14.2-math-fabs.patch
+)
+
+DOC_CONTENTS="Please make fontconfig configuration changes using
+\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
+overwritten. If you need to reset your configuration to upstream defaults,
+delete the directory ${EROOT}/etc/fonts/conf.d/ and re-emerge fontconfig."
+
+src_prepare() {
+	default
+
+	# Test needs network access
+	# https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/319
+	# On bumps, please check to see if this has been fixed
+	# to allow local access!
+	sed -i -e '/test-crbug1004254/d' test/meson.build || die
+}
+
+multilib_src_configure() {
+	local addfonts=(
+		"${EPREFIX}"/usr/local/share/fonts
+	)
+
+	# Harvest some font locations, such that users can benefit from the
+	# host OS's installed fonts
+	case ${CHOST} in
+		*-darwin*)
+			addfonts+=(
+				/Library/Fonts
+				/System/Library/Fonts
+			)
+		;;
+
+		*-solaris*)
+			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
+				addfonts+=( /usr/X/lib/X11/fonts/TrueType )
+			[[ -d /usr/X/lib/X11/fonts/Type1 ]] &&
+				addfonts+=( /usr/X/lib/X11/fonts/Type1 )
+		;;
+
+		*-linux-gnu)
+			use prefix && [[ -d /usr/share/fonts ]] && \
+				addfonts+=( /usr/share/fonts )
+		;;
+	esac
+
+	local emesonargs=(
+		# USE=doc only controls the additional bits like html/pdf
+		# and regeneration of man pages from source. We always install
+		# the prebuilt man pages.
+		$(meson_native_use_feature doc)
+		$(meson_native_use_feature doc doc-txt)
+		$(meson_native_use_feature doc doc-html)
+		$(meson_native_use_feature doc doc-man)
+		$(meson_native_use_feature doc doc-pdf)
+
+		$(meson_native_use_feature nls)
+		$(meson_feature test tests)
+
+		-Dcache-build=disabled
+		-Dcache-dir="${EPREFIX}"/var/cache/fontconfig
+		-Ddefault-fonts-dirs="${EPREFIX}"/usr/share/fonts
+		-Dadditional-fonts-dirs=$(IFS=, ; echo "${addfonts[*]}" )
+		-Dtemplate-dir="${EPREFIX}"/etc/fonts/conf.avail
+
+		# Let users choose via eselect-fontconfig. See bug #900681
+		# and https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/356.
+		-Ddefault-sub-pixel-rendering=none
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install() {
+	MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
+
+	meson_src_install
+
+	# Avoid calling this multiple times, bug #459210
+	if multilib_is_native_abi; then
+		insinto /etc/fonts
+		doins fonts.conf
+	fi
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	# fc-lang directory contains language coverage datafiles
+	# which are needed to test the coverage of fonts.
+	insinto /usr/share/fc-lang
+	doins fc-lang/*.orth
+
+	dodoc doc/fontconfig-user.{txt,pdf}
+
+	if ! use doc ; then
+		find "${S}" -name "*.[[:digit:]]" -type f -exec doman '{}' + || die
+	fi
+
+	if [[ -e ${ED}/usr/share/doc/fontconfig/ ]] ;  then
+		mv "${ED}"/usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${PF} || die
+		rm -rf "${ED}"/usr/share/doc/fontconfig || die
+	fi
+
+	# Changes should be made to /etc/fonts/local.conf, and as we had
+	# too much problems with broken fonts.conf we force update it ...
+	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig || die
+	doenvd "${T}"/37fontconfig
+
+	# As of fontconfig 2.7, everything sticks their noses in here.
+	dodir /etc/sandbox.d
+	echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig || die
+
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	# bug #193476
+	# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
+	# config files.  If we install as-is, we'll blow away user settings.
+	ebegin "Syncing fontconfig configuration to system"
+	if [[ -e ${EROOT}/etc/fonts/conf.d ]] ; then
+		local file f
+		for file in "${EROOT}"/etc/fonts/conf.avail/* ; do
+			f=${file##*/}
+			if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]] ; then
+				[[ -f ${ED}/etc/fonts/conf.avail/${f} ]] \
+					&& ln -sf ../conf.avail/"${f}" \
+						"${ED}"/etc/fonts/conf.d/ &>/dev/null
+			else
+				[[ -f ${ED}/etc/fonts/conf.avail/${f} ]] \
+					&& rm "${ED}"/etc/fonts/conf.d/"${f}" &>/dev/null
+			fi
+		done
+	fi
+	eend $?
+}
+
+pkg_postinst() {
+	einfo "Cleaning broken symlinks in ${EROOT}/etc/fonts/conf.d/"
+	find -L "${EROOT}"/etc/fonts/conf.d/ -type l -delete
+
+	readme.gentoo_print_elog
+
+	local ver
+	for ver in ${REPLACING_VERSIONS} ; do
+		# 2.14.2 and 2.14.2-r1 included the bad 10-sub-pixel-none.conf
+		if ver_test ${ver} -lt 2.14.2-r2 && ver_test ${ver} -ge 2.14.2 ; then
+			if [[ -e "${EROOT}"/etc/fonts/conf.d/10-sub-pixel-none.conf ]] ; then
+				einfo "Deleting 10-sub-pixel-none.conf from bad fontconfig-2.14.2 (bug #900681)"
+				rm "${EROOT}"/etc/fonts/conf.d/10-sub-pixel-none.conf || die
+			fi
+		fi
+	done
+
+	if [[ -z ${ROOT} ]] ; then
+		multilib_pkg_postinst() {
+			ebegin "Creating global font cache for ${ABI}"
+			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
+			eend $?
+		}
+
+		multilib_parallel_foreach_abi multilib_pkg_postinst
+	fi
+}


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-10-08 16:06 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-10 17:27 [gentoo-commits] repo/gentoo:master commit in: media-libs/fontconfig/, media-libs/fontconfig/files/ Lars Wendler
  -- strict thread matches above, loose matches on Subject: below --
2017-06-02 20:49 Lars Wendler
2017-09-23 22:51 Lars Wendler
2018-03-14 12:33 Ulrich Müller
2018-04-20 11:13 Lars Wendler
2018-09-19  8:06 Lars Wendler
2021-01-13 13:18 Lars Wendler
2021-01-13 13:18 Lars Wendler
2022-04-02  3:07 Sam James
2022-10-27  4:48 Sam James
2023-12-01  0:11 Matt Turner
2024-02-14 18:22 Sam James
2024-10-08 16:06 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox