summaryrefslogtreecommitdiffstats
path: root/import-layers/yocto-poky/meta/recipes-graphics/fontconfig
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-graphics/fontconfig')
-rw-r--r--import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig/0001-Revert-changes-made-to-FcConfigAppFontAddDir-recentl.patch132
-rw-r--r--import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig/revert-static-pkgconfig.patch20
-rw-r--r--import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig_2.11.94.bb50
3 files changed, 202 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig/0001-Revert-changes-made-to-FcConfigAppFontAddDir-recentl.patch b/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig/0001-Revert-changes-made-to-FcConfigAppFontAddDir-recentl.patch
new file mode 100644
index 000000000..f2fd5d473
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig/0001-Revert-changes-made-to-FcConfigAppFontAddDir-recentl.patch
@@ -0,0 +1,132 @@
+From 46ec6a52d4cc447cc3ff4a13b2067ecb76c9db2e Mon Sep 17 00:00:00 2001
+From: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri, 26 Jun 2015 17:02:13 -0700
+Subject: [PATCH] Revert changes made to FcConfigAppFontAddDir() recently
+
+In 32ac7c75e8db0135ef37cf86f92d8b9be000c8bb the behavior of
+FcConfigAppFontAddFile/Dir() were changed to return false
+if not fonts were found. While this is welldefined and useful
+for AddFile(), it's quite problematic for AddDir(). For example,
+if the directory is empty, is that a failure or success? Worse,
+the false value from AddDir() was being propagated all the way
+to FcInit() returning false now. This only happened upon memory
+allocation failure before, and some clients assert that FcInit()
+is successful.
+
+With this change, AddDir() is reverted back to what it was.
+AddFont() change (which was actually in fcdir.c) from the original
+commit is left in.
+
+Upstream-Status: backport
+
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ doc/fcconfig.fncs | 2 +-
+ src/fccfg.c | 29 +++++++++++------------------
+ src/fcint.h | 3 ---
+ src/fcstr.c | 8 --------
+ 4 files changed, 12 insertions(+), 30 deletions(-)
+
+Index: fontconfig-2.11.94/doc/fcconfig.fncs
+===================================================================
+--- fontconfig-2.11.94.orig/doc/fcconfig.fncs
++++ fontconfig-2.11.94/doc/fcconfig.fncs
+@@ -232,7 +232,7 @@ the current configuration is used.
+ @DESC@
+ Scans the specified directory for fonts, adding each one found to the
+ application-specific set of fonts. Returns FcFalse
+-if the fonts cannot be added (due to allocation failure or no fonts found).
++if the fonts cannot be added (due to allocation failure).
+ Otherwise returns FcTrue. If <parameter>config</parameter> is NULL,
+ the current configuration is used.
+ @@
+Index: fontconfig-2.11.94/src/fccfg.c
+===================================================================
+--- fontconfig-2.11.94.orig/src/fccfg.c
++++ fontconfig-2.11.94/src/fccfg.c
+@@ -368,7 +368,6 @@ FcConfigAddDirList (FcConfig *config, Fc
+ FcStrList *dirlist;
+ FcChar8 *dir;
+ FcCache *cache;
+- FcBool ret = FcFalse;
+
+ dirlist = FcStrListCreate (dirSet);
+ if (!dirlist)
+@@ -383,10 +382,9 @@ FcConfigAddDirList (FcConfig *config, Fc
+ continue;
+ FcConfigAddCache (config, cache, set, dirSet);
+ FcDirCacheUnload (cache);
+- ret = FcTrue;
+ }
+ FcStrListDone (dirlist);
+- return ret;
++ return FcTrue;
+ }
+
+ /*
+@@ -2199,7 +2197,6 @@ FcConfigAppFontAddFile (FcConfig *con
+ FcStrSet *subdirs;
+ FcStrList *sublist;
+ FcChar8 *subdir;
+- FcBool ret = FcFalse;
+
+ if (!config)
+ {
+@@ -2229,19 +2226,16 @@ FcConfigAppFontAddFile (FcConfig *con
+ FcStrSetDestroy (subdirs);
+ return FcFalse;
+ }
+- if (subdirs->num == 0)
+- ret = FcTrue;
+- else if ((sublist = FcStrListCreate (subdirs)))
++ if ((sublist = FcStrListCreate (subdirs)))
+ {
+ while ((subdir = FcStrListNext (sublist)))
+ {
+- if (FcConfigAppFontAddDir (config, subdir))
+- ret = FcTrue;
++ FcConfigAppFontAddDir (config, subdir);
+ }
+ FcStrListDone (sublist);
+ }
+ FcStrSetDestroy (subdirs);
+- return ret;
++ return FcTrue;
+ }
+
+ FcBool
+@@ -2250,7 +2244,6 @@ FcConfigAppFontAddDir (FcConfig *con
+ {
+ FcFontSet *set;
+ FcStrSet *dirs;
+- FcBool ret = FcTrue;
+
+ if (!config)
+ {
+@@ -2269,8 +2262,8 @@ FcConfigAppFontAddDir (FcConfig *con
+ set = FcFontSetCreate ();
+ if (!set)
+ {
+- ret = FcFalse;
+- goto bail;
++ FcStrSetDestroy (dirs);
++ return FcFalse;
+ }
+ FcConfigSetFonts (config, set, FcSetApplication);
+ }
+@@ -2278,10 +2271,12 @@ FcConfigAppFontAddDir (FcConfig *con
+ FcStrSetAddFilename (dirs, dir);
+
+ if (!FcConfigAddDirList (config, FcSetApplication, dirs))
+- ret = FcFalse;
+-bail:
++ {
++ FcStrSetDestroy (dirs);
++ return FcFalse;
++ }
+ FcStrSetDestroy (dirs);
+- return ret;
++ return FcTrue;
+ }
+
+ void
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig/revert-static-pkgconfig.patch b/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig/revert-static-pkgconfig.patch
new file mode 100644
index 000000000..fca1e6594
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig/revert-static-pkgconfig.patch
@@ -0,0 +1,20 @@
+Revert part of http://cgit.freedesktop.org/fontconfig/commit/fontconfig.pc.in?id=338ffe6b886ad4ba86ff471cb59c4a5e5ffbe408
+We really dont do static linking so its not going to cause issues for us but as such this is harming us by adding absolute
+paths into -I options into fontconfig.pc which is them prepended with sysroot when read back by cross pkg-config and
+we end up with -I <sysroot>/<sysroot>/usr/include/fontconfig in CFLAGS of clients which depend on it. one such example
+is matchbox-panel-2 and it was working fine with gcc < 5 because it tolerated non-existing paths in -I flags but gcc-5
+gently refuses and rightly so.
+
+Upstream-Status: Inappropriate [OE-Specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: fontconfig-2.11.93/fontconfig.pc.in
+===================================================================
+--- fontconfig-2.11.93.orig/fontconfig.pc.in
++++ fontconfig-2.11.93/fontconfig.pc.in
+@@ -15,4 +15,4 @@ Requires: @PKGCONFIG_REQUIRES@
+ Requires.private: @PKGCONFIG_REQUIRES_PRIVATELY@
+ Libs: -L${libdir} -lfontconfig
+ Libs.private: @EXPAT_LIBS@ @FREETYPE_LIBS@ @ICONV_LIBS@ @LIBXML2_LIBS@
+-Cflags: -I${includedir} @EXPAT_CFLAGS@ @FREETYPE_CFLAGS@ @ICONV_CFLAGS@ @LIBXML2_CFLAGS@
++Cflags: -I${includedir}
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig_2.11.94.bb b/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig_2.11.94.bb
new file mode 100644
index 000000000..b427947a9
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig_2.11.94.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Generic font configuration library"
+DESCRIPTION = "Fontconfig is a font configuration and customization library, which \
+does not depend on the X Window System. It is designed to locate \
+fonts within the system and select them according to requirements \
+specified by applications. \
+Fontconfig is not a rasterization library, nor does it impose a \
+particular rasterization library on the application. The X-specific \
+library 'Xft' uses fontconfig along with freetype to specify and \
+rasterize fonts."
+
+HOMEPAGE = "http://www.fontconfig.org"
+BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig"
+
+LICENSE = "MIT-style & MIT & PD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7a0449e9bc5370402a94c00204beca3d \
+ file://src/fcfreetype.c;endline=45;md5=5d9513e3196a1fbfdfa94051c09dfc84 \
+ file://src/fccache.c;beginline=1199;endline=1214;md5=0326cfeb4a7333dd4dd25fbbc4b9f27f"
+
+SECTION = "libs"
+
+DEPENDS = "expat freetype zlib"
+
+SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \
+ file://revert-static-pkgconfig.patch \
+ file://0001-Revert-changes-made-to-FcConfigAppFontAddDir-recentl.patch \
+ "
+SRC_URI[md5sum] = "479be870c7f83f15f87bac085b61d641"
+SRC_URI[sha256sum] = "73f6d323c7bcfbde25d78397675191d55b8f4139132c6a9444410f3a2d8a9a95"
+
+PACKAGES =+ "fontconfig-utils"
+FILES_${PN} =+ "${datadir}/xml/*"
+FILES_fontconfig-utils = "${bindir}/*"
+
+# Work around past breakage in debian.bbclass
+RPROVIDES_fontconfig-utils = "libfontconfig-utils"
+RREPLACES_fontconfig-utils = "libfontconfig-utils"
+RCONFLICTS_fontconfig-utils = "libfontconfig-utils"
+DEBIAN_NOAUTONAME_fontconfig-utils = "1"
+
+inherit autotools pkgconfig
+
+FONTCONFIG_CACHE_DIR ?= "${localstatedir}/cache/fontconfig"
+
+# comma separated list of additional directories
+# /usr/share/fonts is already included by default (you can change it with --with-default-fonts)
+FONTCONFIG_FONT_DIRS ?= "no"
+
+EXTRA_OECONF = " --disable-docs --with-default-fonts=${datadir}/fonts --with-cache-dir=${FONTCONFIG_CACHE_DIR} --with-add-fonts=${FONTCONFIG_FONT_DIRS}"
+
+BBCLASSEXTEND = "native"
OpenPOWER on IntegriCloud