diff options
Diffstat (limited to 'yocto-poky/meta/recipes-graphics/pango')
4 files changed, 187 insertions, 0 deletions
diff --git a/yocto-poky/meta/recipes-graphics/pango/pango.inc b/yocto-poky/meta/recipes-graphics/pango/pango.inc new file mode 100644 index 000000000..df0fdf679 --- /dev/null +++ b/yocto-poky/meta/recipes-graphics/pango/pango.inc @@ -0,0 +1,99 @@ +SUMMARY = "Framework for layout and rendering of internationalized text" +DESCRIPTION = "Pango is a library for laying out and rendering of text, \ +with an emphasis on internationalization. Pango can be used anywhere \ +that text layout is needed, though most of the work on Pango so far has \ +been done in the context of the GTK+ widget toolkit. Pango forms the \ +core of text and font handling for GTK+-2.x." +HOMEPAGE = "http://www.pango.org/" +BUGTRACKER = "http://bugzilla.gnome.org" +SECTION = "libs" +LICENSE = "LGPLv2.0+" + +X11DEPENDS = "virtual/libx11 libxft" +DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv cairo harfbuzz qemu-native" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'ptest', '', d)}" + +PACKAGECONFIG[x11] = "--with-xft,--without-xft,${X11DEPENDS}" +PACKAGECONFIG[ptest] = "--enable-installed-tests,--disable-installed-tests,glib-2.0-native" + +BBCLASSEXTEND = "native" +DEPENDS_class-native = "glib-2.0-native cairo-native harfbuzz-native" + +PACKAGES_DYNAMIC += "^pango-module-.*" + +RRECOMMENDS_${PN} = "pango-module-basic-fc" + +inherit gnomebase gtk-doc qemu ptest + +# Create a pango-modules package +ALLOW_EMPTY_${BPN}-modules = "1" +PACKAGES += "${BPN}-modules" +RRECOMMENDS_${BPN}-modules = "${@" ".join([p for p in d.getVar('PACKAGES', True).split() if p.find("pango-module") != -1])}" + + +EXTRA_AUTORECONF = "" + +# seems to go wrong with default cflags +FULL_OPTIMIZATION_arm = "-O2" + +EXTRA_OECONF = "--disable-introspection \ + --enable-explicit-deps=no \ + --disable-debug \ + --with-mlprefix=${MLPREFIX}" + +LEAD_SONAME = "libpango-1.0*" +LIBV = "1.8.0" + +pango_postinst() { +if ! [ -e $D${sysconfdir}/pango ] ; then + mkdir -p $D${sysconfdir}/pango +fi + +if [ -n "$D" ]; then + ${@qemu_run_binary(d, '$D','${bindir}/${MLPREFIX}pango-querymodules')} \ + $D${libdir}/pango/${LIBV}/modules/*.so \ + > $D${sysconfdir}/pango/${MLPREFIX}pango.modules 2>/dev/null + + [ $? -ne 0 ] && exit 1 + + sed -i -e "s:$D::" $D${sysconfdir}/pango/${MLPREFIX}pango.modules + + exit 0 +else + ${bindir}/${MLPREFIX}pango-querymodules > /etc/pango/${MLPREFIX}pango.modules +fi +} + +# This binary needs to be compiled for the host architecture. This isn't pretty! +do_compile_prepend () { + if ${@base_contains('DISTRO_FEATURES', 'ptest', 'true', 'false', d)}; then + make CC="${BUILD_CC}" CFLAGS="" AM_CPPFLAGS="$(pkg-config-native --cflags glib-2.0)" gen_all_unicode_LDADD="$(pkg-config-native --libs glib-2.0)" -C ${B}/tests gen-all-unicode + fi +} + +do_install_append () { + if [ "${MLPREFIX}" != "" ]; then + mv ${D}/${bindir}/pango-querymodules ${D}/${bindir}/${MLPREFIX}pango-querymodules + fi +} + + +python populate_packages_prepend () { + pango_postinst = d.getVar("pango_postinst", True) + + modules_root = d.expand('${libdir}/pango/${LIBV}/modules') + + do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', pango_postinst) +} + +FILES_${PN} = "${sysconfdir}/pango/* ${bindir}/* ${libdir}/libpango*${SOLIBS}" +FILES_${PN}-dbg += "${libdir}/pango/${LIBV}/modules/.debug" +FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la" + +FILES_${PN}-ptest += "${libexecdir}/installed-tests/* \ + ${datadir}/installed-tests/pango" +FILES_${PN}-dbg += "${libexecdir}/installed-tests/.debug" + +RDEPENDS_${PN}-ptest += "gnome-desktop-testing liberation-fonts" diff --git a/yocto-poky/meta/recipes-graphics/pango/pango/multilib-fix-clean.patch b/yocto-poky/meta/recipes-graphics/pango/pango/multilib-fix-clean.patch new file mode 100644 index 000000000..ad414ddf3 --- /dev/null +++ b/yocto-poky/meta/recipes-graphics/pango/pango/multilib-fix-clean.patch @@ -0,0 +1,75 @@ +Upstream-Status: Pending + +Updated to apply to pango-1.32.5 + +Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> +diff -Nurd pango-1.32.5/configure.ac pango-1.32.5/configure.ac +--- pango-1.32.5/configure.ac 2012-12-07 04:43:25.000000000 +0200 ++++ pango-1.32.5/configure.ac 2013-01-09 08:27:40.328516792 +0200 +@@ -213,6 +213,11 @@ + + AC_SUBST(PANGO_DEBUG_FLAGS) + ++AC_ARG_WITH(mlprefix, ++ AC_HELP_STRING([--with-mlprefix=<ARG>], [multilib prefix]), ++ mlprefix_str=$withval, mlprefix_str="") ++AC_DEFINE_UNQUOTED([MLPREFIX], ["$mlprefix_str"], [multilib prefix.]) ++ + AC_ARG_ENABLE(rebuilds, + [AC_HELP_STRING([--disable-rebuilds], + [disable all source autogeneration rules])],, +diff -Nurd pango-1.32.5/pango/modules.c pango-1.32.5/pango/modules.c +--- pango-1.32.5/pango/modules.c 2012-12-17 20:27:56.000000000 +0200 ++++ pango-1.32.5/pango/modules.c 2013-01-09 08:31:16.336512052 +0200 +@@ -555,11 +555,11 @@ + files = g_new (char *, 3); + + files[0] = g_build_filename (pango_get_sysconf_subdirectory (), +- "pango.modules", ++ MLPREFIX "pango.modules", + NULL); + files[1] = g_build_filename (pango_get_lib_subdirectory (), + MODULE_VERSION, +- "modules.cache", ++ MLPREFIX "modules.cache", + NULL); + files[2] = NULL; + } +@@ -674,7 +674,8 @@ + if (!no_module_warning) + { + gchar *filename = g_build_filename (pango_get_sysconf_subdirectory (), +- "pango.modules", ++/* For multilib case, keep multiple config file for different libs */ ++ MLPREFIX "pango.modules", + NULL); + g_critical ("No modules found:\n" + "No builtin or dynamically loaded modules were found.\n" +diff -Nurd pango-1.32.5/pango/modules.c.rej pango-1.32.5/pango/modules.c.rej +--- pango-1.32.5/pango/modules.c.rej 1970-01-01 02:00:00.000000000 +0200 ++++ pango-1.32.5/pango/modules.c.rej 2013-01-09 08:27:40.328516792 +0200 +@@ -0,0 +1,12 @@ ++--- pango/modules.c 2010-09-22 03:37:01.000000000 +0800 +++++ pango/modules.c 2012-05-08 21:21:02.000000000 +0800 ++@@ -529,7 +529,8 @@ ++ ++ if (!file_str) ++ file_str = g_build_filename (pango_get_sysconf_subdirectory (), ++- "pango.modules", +++/* For multilib case, keep multiple config file for different libs */ +++ MLPREFIX "pango.modules", ++ NULL); ++ ++ files = pango_split_file_list (file_str); +diff -Nurd pango-1.32.5/pango/querymodules.c pango-1.32.5/pango/querymodules.c +--- pango-1.32.5/pango/querymodules.c 2012-08-28 15:27:18.000000000 +0300 ++++ pango-1.32.5/pango/querymodules.c 2013-01-09 08:31:47.828511359 +0200 +@@ -304,7 +304,7 @@ + + cache_file = g_build_filename (pango_get_lib_subdirectory (), + MODULE_VERSION, +- "modules.cache", ++ MLPREFIX "modules.cache", + NULL); + err = NULL; + if (!g_file_set_contents (cache_file, contents->str, -1, &err)) diff --git a/yocto-poky/meta/recipes-graphics/pango/pango/run-ptest b/yocto-poky/meta/recipes-graphics/pango/pango/run-ptest new file mode 100644 index 000000000..fa87a7577 --- /dev/null +++ b/yocto-poky/meta/recipes-graphics/pango/pango/run-ptest @@ -0,0 +1,3 @@ +#! /bin/sh + +gnome-desktop-testing-runner pango diff --git a/yocto-poky/meta/recipes-graphics/pango/pango_1.36.8.bb b/yocto-poky/meta/recipes-graphics/pango/pango_1.36.8.bb new file mode 100644 index 000000000..f4e425040 --- /dev/null +++ b/yocto-poky/meta/recipes-graphics/pango/pango_1.36.8.bb @@ -0,0 +1,10 @@ +require pango.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" + +SRC_URI += "file://run-ptest \ + file://multilib-fix-clean.patch \ +" + +SRC_URI[archive.md5sum] = "217a9a753006275215fa9fa127760ece" +SRC_URI[archive.sha256sum] = "18dbb51b8ae12bae0ab7a958e7cf3317c9acfc8a1e1103ec2f147164a0fc2d07" |