diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-graphics/fontconfig')
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" |