generic-poky/meta/recipes-core/glib-2.0/glib.inc

146 lines
5.9 KiB
PHP
Raw Normal View History

SUMMARY = "A general-purpose utility library"
DESCRIPTION = "GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on."
HOMEPAGE = "https://developer.gnome.org/glib/"
glib-2.0: upgrade to 2.24.1 (borrow from OE 2.24.0, with study about reason for detail changes) [Patches-Poky] KEEP _configure-libtool.patch_: fix cross-build env REMOVE _glibconfig-sysdefs.h_: introduced in glib-1.2.10, which is actually not valid today KEEP _glib-gettexize-dir.patch_: another quite old patch added before 2.10.3 add history info, and mark for upstream [Patches-OE] NOTAKE _gio.patch_: a private extension for a window matching library (wncksync) NOTAKE _gvavriant.patch_: in 2.24.1 now NOTAKE _gasync.patch_: in 2.24.1 now TAKE _60_wait-longer-for-threads-to-die.patch: said to fix anonying warning TAKE _gatomic-proper-get-cast.patch_: fix error about type casting. Instead of using OE's patch, I found a better one from latest repo NOTAKE _g_once_init_enter.patch_: in OE since 2.22.1, not quite sure of its purpose, also it's not in upstream yet [Recipe] - fix metadata - keep glib-2.inc which is for python optimization - remove PRIORITY since 'optional' is the default - no need to specially install glibconfig.h in ad hoc path, which is only relied by 'obexpush' which poky doesn't have and can be fixed in 'obexpush' itself as what OE does - no need to manually create glib2.0/glib, which is handled by current code - remove 'acpaths' which only applies to versions before 2.12.4 - below lines are not taken from OE * glib-mkenums tweaks, which exists in OE for a long time but never in poky. since there's no way to find out original commit, keep poky's style instead. * host libtool check. not sure about its purpose, and it's also in OE for quite long time Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-25 07:07:01 +00:00
# pcre is under BSD;
# docs/reference/COPYING is with a 'public domai'-like license!
LICENSE = "LGPLv2+ & BSD & PD"
glib-2.0: upgrade to 2.24.1 (borrow from OE 2.24.0, with study about reason for detail changes) [Patches-Poky] KEEP _configure-libtool.patch_: fix cross-build env REMOVE _glibconfig-sysdefs.h_: introduced in glib-1.2.10, which is actually not valid today KEEP _glib-gettexize-dir.patch_: another quite old patch added before 2.10.3 add history info, and mark for upstream [Patches-OE] NOTAKE _gio.patch_: a private extension for a window matching library (wncksync) NOTAKE _gvavriant.patch_: in 2.24.1 now NOTAKE _gasync.patch_: in 2.24.1 now TAKE _60_wait-longer-for-threads-to-die.patch: said to fix anonying warning TAKE _gatomic-proper-get-cast.patch_: fix error about type casting. Instead of using OE's patch, I found a better one from latest repo NOTAKE _g_once_init_enter.patch_: in OE since 2.22.1, not quite sure of its purpose, also it's not in upstream yet [Recipe] - fix metadata - keep glib-2.inc which is for python optimization - remove PRIORITY since 'optional' is the default - no need to specially install glibconfig.h in ad hoc path, which is only relied by 'obexpush' which poky doesn't have and can be fixed in 'obexpush' itself as what OE does - no need to manually create glib2.0/glib, which is handled by current code - remove 'acpaths' which only applies to versions before 2.12.4 - below lines are not taken from OE * glib-mkenums tweaks, which exists in OE for a long time but never in poky. since there's no way to find out original commit, keep poky's style instead. * host libtool check. not sure about its purpose, and it's also in OE for quite long time Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-25 07:07:01 +00:00
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
file://glib/glib.h;beginline=4;endline=17;md5=b4f0f4a399c19e5ebb20c31b79d6bc32 \
glib-2.0: upgrade to 2.24.1 (borrow from OE 2.24.0, with study about reason for detail changes) [Patches-Poky] KEEP _configure-libtool.patch_: fix cross-build env REMOVE _glibconfig-sysdefs.h_: introduced in glib-1.2.10, which is actually not valid today KEEP _glib-gettexize-dir.patch_: another quite old patch added before 2.10.3 add history info, and mark for upstream [Patches-OE] NOTAKE _gio.patch_: a private extension for a window matching library (wncksync) NOTAKE _gvavriant.patch_: in 2.24.1 now NOTAKE _gasync.patch_: in 2.24.1 now TAKE _60_wait-longer-for-threads-to-die.patch: said to fix anonying warning TAKE _gatomic-proper-get-cast.patch_: fix error about type casting. Instead of using OE's patch, I found a better one from latest repo NOTAKE _g_once_init_enter.patch_: in OE since 2.22.1, not quite sure of its purpose, also it's not in upstream yet [Recipe] - fix metadata - keep glib-2.inc which is for python optimization - remove PRIORITY since 'optional' is the default - no need to specially install glibconfig.h in ad hoc path, which is only relied by 'obexpush' which poky doesn't have and can be fixed in 'obexpush' itself as what OE does - no need to manually create glib2.0/glib, which is handled by current code - remove 'acpaths' which only applies to versions before 2.12.4 - below lines are not taken from OE * glib-mkenums tweaks, which exists in OE for a long time but never in poky. since there's no way to find out original commit, keep poky's style instead. * host libtool check. not sure about its purpose, and it's also in OE for quite long time Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-25 07:07:01 +00:00
file://gmodule/COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
file://gmodule/gmodule.h;beginline=4;endline=17;md5=b4f0f4a399c19e5ebb20c31b79d6bc32 \
glib-2.0: upgrade to 2.24.1 (borrow from OE 2.24.0, with study about reason for detail changes) [Patches-Poky] KEEP _configure-libtool.patch_: fix cross-build env REMOVE _glibconfig-sysdefs.h_: introduced in glib-1.2.10, which is actually not valid today KEEP _glib-gettexize-dir.patch_: another quite old patch added before 2.10.3 add history info, and mark for upstream [Patches-OE] NOTAKE _gio.patch_: a private extension for a window matching library (wncksync) NOTAKE _gvavriant.patch_: in 2.24.1 now NOTAKE _gasync.patch_: in 2.24.1 now TAKE _60_wait-longer-for-threads-to-die.patch: said to fix anonying warning TAKE _gatomic-proper-get-cast.patch_: fix error about type casting. Instead of using OE's patch, I found a better one from latest repo NOTAKE _g_once_init_enter.patch_: in OE since 2.22.1, not quite sure of its purpose, also it's not in upstream yet [Recipe] - fix metadata - keep glib-2.inc which is for python optimization - remove PRIORITY since 'optional' is the default - no need to specially install glibconfig.h in ad hoc path, which is only relied by 'obexpush' which poky doesn't have and can be fixed in 'obexpush' itself as what OE does - no need to manually create glib2.0/glib, which is handled by current code - remove 'acpaths' which only applies to versions before 2.12.4 - below lines are not taken from OE * glib-mkenums tweaks, which exists in OE for a long time but never in poky. since there's no way to find out original commit, keep poky's style instead. * host libtool check. not sure about its purpose, and it's also in OE for quite long time Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-25 07:07:01 +00:00
file://glib/pcre/COPYING;md5=266ebc3ff74ee9ce6fad65577667c0f4 \
file://glib/pcre/pcre.h;beginline=11;endline=35;md5=de27f2bf633d20a2b7af0b1983423283 \
glib-2.0: upgrade to 2.24.1 (borrow from OE 2.24.0, with study about reason for detail changes) [Patches-Poky] KEEP _configure-libtool.patch_: fix cross-build env REMOVE _glibconfig-sysdefs.h_: introduced in glib-1.2.10, which is actually not valid today KEEP _glib-gettexize-dir.patch_: another quite old patch added before 2.10.3 add history info, and mark for upstream [Patches-OE] NOTAKE _gio.patch_: a private extension for a window matching library (wncksync) NOTAKE _gvavriant.patch_: in 2.24.1 now NOTAKE _gasync.patch_: in 2.24.1 now TAKE _60_wait-longer-for-threads-to-die.patch: said to fix anonying warning TAKE _gatomic-proper-get-cast.patch_: fix error about type casting. Instead of using OE's patch, I found a better one from latest repo NOTAKE _g_once_init_enter.patch_: in OE since 2.22.1, not quite sure of its purpose, also it's not in upstream yet [Recipe] - fix metadata - keep glib-2.inc which is for python optimization - remove PRIORITY since 'optional' is the default - no need to specially install glibconfig.h in ad hoc path, which is only relied by 'obexpush' which poky doesn't have and can be fixed in 'obexpush' itself as what OE does - no need to manually create glib2.0/glib, which is handled by current code - remove 'acpaths' which only applies to versions before 2.12.4 - below lines are not taken from OE * glib-mkenums tweaks, which exists in OE for a long time but never in poky. since there's no way to find out original commit, keep poky's style instead. * host libtool check. not sure about its purpose, and it's also in OE for quite long time Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-25 07:07:01 +00:00
file://docs/reference/COPYING;md5=f51a5100c17af6bae00735cd791e1fcc"
BUGTRACKER = "http://bugzilla.gnome.org"
SECTION = "libs"
glib-2.0: upgrade to 2.24.1 (borrow from OE 2.24.0, with study about reason for detail changes) [Patches-Poky] KEEP _configure-libtool.patch_: fix cross-build env REMOVE _glibconfig-sysdefs.h_: introduced in glib-1.2.10, which is actually not valid today KEEP _glib-gettexize-dir.patch_: another quite old patch added before 2.10.3 add history info, and mark for upstream [Patches-OE] NOTAKE _gio.patch_: a private extension for a window matching library (wncksync) NOTAKE _gvavriant.patch_: in 2.24.1 now NOTAKE _gasync.patch_: in 2.24.1 now TAKE _60_wait-longer-for-threads-to-die.patch: said to fix anonying warning TAKE _gatomic-proper-get-cast.patch_: fix error about type casting. Instead of using OE's patch, I found a better one from latest repo NOTAKE _g_once_init_enter.patch_: in OE since 2.22.1, not quite sure of its purpose, also it's not in upstream yet [Recipe] - fix metadata - keep glib-2.inc which is for python optimization - remove PRIORITY since 'optional' is the default - no need to specially install glibconfig.h in ad hoc path, which is only relied by 'obexpush' which poky doesn't have and can be fixed in 'obexpush' itself as what OE does - no need to manually create glib2.0/glib, which is handled by current code - remove 'acpaths' which only applies to versions before 2.12.4 - below lines are not taken from OE * glib-mkenums tweaks, which exists in OE for a long time but never in poky. since there's no way to find out original commit, keep poky's style instead. * host libtool check. not sure about its purpose, and it's also in OE for quite long time Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-25 07:07:01 +00:00
CVE_PRODUCT = "glib"
BBCLASSEXTEND = "native nativesdk"
DEPENDS = "virtual/libiconv libffi zlib glib-2.0-native"
DEPENDS_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', ' dbus', '', d)}"
DEPENDS_class-native = "pkgconfig-native gettext-native libffi-native zlib-native"
DEPENDS_class-nativesdk = "nativesdk-libtool nativesdk-gettext nativesdk-libffi nativesdk-zlib glib-2.0-native"
PACKAGES += "${PN}-codegen ${PN}-utils"
LEAD_SONAME = "libglib-2.0.*"
inherit autotools gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache python3native manpages
glib-2.0: upgrade to 2.24.1 (borrow from OE 2.24.0, with study about reason for detail changes) [Patches-Poky] KEEP _configure-libtool.patch_: fix cross-build env REMOVE _glibconfig-sysdefs.h_: introduced in glib-1.2.10, which is actually not valid today KEEP _glib-gettexize-dir.patch_: another quite old patch added before 2.10.3 add history info, and mark for upstream [Patches-OE] NOTAKE _gio.patch_: a private extension for a window matching library (wncksync) NOTAKE _gvavriant.patch_: in 2.24.1 now NOTAKE _gasync.patch_: in 2.24.1 now TAKE _60_wait-longer-for-threads-to-die.patch: said to fix anonying warning TAKE _gatomic-proper-get-cast.patch_: fix error about type casting. Instead of using OE's patch, I found a better one from latest repo NOTAKE _g_once_init_enter.patch_: in OE since 2.22.1, not quite sure of its purpose, also it's not in upstream yet [Recipe] - fix metadata - keep glib-2.inc which is for python optimization - remove PRIORITY since 'optional' is the default - no need to specially install glibconfig.h in ad hoc path, which is only relied by 'obexpush' which poky doesn't have and can be fixed in 'obexpush' itself as what OE does - no need to manually create glib2.0/glib, which is handled by current code - remove 'acpaths' which only applies to versions before 2.12.4 - below lines are not taken from OE * glib-mkenums tweaks, which exists in OE for a long time but never in poky. since there's no way to find out original commit, keep poky's style instead. * host libtool check. not sure about its purpose, and it's also in OE for quite long time Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-25 07:07:01 +00:00
S = "${WORKDIR}/glib-${PV}"
PACKAGECONFIG ??= "system-pcre libmount"
# To use the system pcre it must be configured with --enable-unicode-properties
PACKAGECONFIG[system-pcre] = "--with-pcre=system,--with-pcre=internal,libpcre"
PACKAGECONFIG[libmount] = "--enable-libmount,--disable-libmount,util-linux"
PACKAGECONFIG[manpages] = "--enable-man --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog.xml, --disable-man, libxslt-native xmlto-native"
CORECONF = "--disable-dtrace --disable-fam --disable-libelf --disable-systemtap"
PRINTF = "--enable-included-printf=no"
PRINTF_darwin = "--enable-included-printf=yes"
PRINTF_mingw32 = "--enable-included-printf=yes"
EXTRA_OECONF = "${PRINTF} ${CORECONF}"
EXTRA_OECONF_class-native = "${CORECONF} --disable-selinux"
EXTRA_OECONF_append_libc-uclibc = " --with-libiconv=gnu"
# Tell configure that we'll have dbus-daemon on the target for the tests
EXTRA_OECONF_class-target_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', ' ac_cv_prog_DBUS_DAEMON=dbus-daemon', '', d)}"
do_configure_prepend() {
sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in
}
FILES_${PN} = "${libdir}/lib*${SOLIBS} \
${libdir}/gio \
${libexecdir}/*gio-querymodules \
${datadir}/glib-2.0/schemas"
FILES_${PN}-dev += "${libdir}/glib-2.0/include \
${libdir}/gio/modules/lib*${SOLIBSDEV} \
${libdir}/gio/modules/*.la \
${bindir}/glib-genmarshal \
${bindir}/glib-gettextize \
${bindir}/glib-mkenums \
${bindir}/glib-compile-resources \
${datadir}/glib-2.0/gettext/po/Makefile.in.in \
${datadir}/glib-2.0/schemas/gschema.dtd \
${datadir}/gettext/its"
FILES_${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb"
FILES_${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \
${bindir}/gdbus-codegen"
FILES_${PN}-utils = "${bindir}/*"
ARM_INSTRUCTION_SET_armv4 = "arm"
ARM_INSTRUCTION_SET_armv5 = "arm"
glib: disable valgrind support when compiling in mips16e mode | mipsel-poky-linux-uclibc-gcc -mel -mabi=32 -msoft-float \ | -march=mips32r2 -mips16 -minterlink-compressed -mtune=24kec \ | -mdsp --sysroot=<sysroot> -DHAVE_CONFIG_H -I. \ | -I<glib>/glib -I.. -I.. -I../glib -I<glib>/glib -I<glib> \ | -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DGLIB_COMPILATION \ | -DPCRE_STATIC -pthread -Wall -Wstrict-prototypes \ | -Werror=declaration-after-statement -Werror=missing-prototypes \ | -Werror=implicit-function-declaration -Werror=pointer-arith \ | -Werror=init-self -Werror=format=2 -Werror=missing-include-dirs \ | -fvisibility=hidden -O2 -pipe -g -feliminate-unused-debug-types \ | -c <glib>/glib/gslice.c -fPIC -DPIC -o .libs/libglib_2_0_la-gslice.o | {standard input}: Assembler messages: | {standard input}:2485: Error: invalid operands `move $11,$8' | {standard input}:2487: Error: invalid operands `srl $0,$0,13' | {standard input}:2488: Error: invalid operands `srl $0,$0,29' | {standard input}:2489: Error: invalid operands `srl $0,$0,3' | {standard input}:2490: Error: invalid operands `srl $0,$0,19' | {standard input}:2491: Error: invalid operands `or $13,$13,$13' | Makefile:2076: recipe for target 'libglib_2_0_la-gslice.lo' failed The alternative would probably be to force compilation in normal mips mode for all of glib (as is done for armv4 and armv5). While that would retain the valgrind support, valgrind support itself shouldn't be needed on the target device, and we rather keep the mips16e mode. (From OE-Core rev: 50be6f861a6c1076ace0fdd3f4381706351987ba) Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-24 10:58:30 +00:00
# Valgrind runtime detection works using hand-written assembly, which
# doesn't support mips16e
CPPFLAGS_append_class-target_mips16e = " -DNVALGRIND=1"
USE_NLS = "yes"
do_install_append () {
if [ -f ${D}${bindir}/gtester-report ]; then
sed ${D}${bindir}/gtester-report -i -e '1s|^#!.*|#!/usr/bin/env python3|'
fi
# Remove some unpackaged files
rm -rf ${D}${datadir}/glib-2.0/codegen/__pycache__
rm -f ${D}${datadir}/glib-2.0/codegen/*.pyc
rm -f ${D}${datadir}/glib-2.0/codegen/*.pyo
# Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
# for target as /usr/bin/perl, so fix it to /usr/bin/perl.
if [ -f ${D}${bindir}/glib-mkenums ]; then
sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/glib-mkenums
fi
if [ -e ${D}${libdir}/charset.alias ]; then
rm -f ${D}${libdir}/charset.alias
fi
}
do_install_append_class-target () {
# Tests are only installed on targets, not native builds. Separating this out
# keeps glib-2.0-native from depending on ${DISTRO_FEATURES}
if [ -f ${D}${datadir}/installed-tests/glib/gdbus-serialization.test ]; then
if ${@bb.utils.contains("DISTRO_FEATURES", "x11", "false", "true", d)}; then
rm ${D}${datadir}/installed-tests/glib/gdbus-serialization.test
fi
fi
# Make sure gio-querymodules is unique among multilibs
if test "x${MLPREFIX}" != "x"; then
mv ${D}${libexecdir}/gio-querymodules ${D}${libexecdir}/${MLPREFIX}gio-querymodules
fi
}
RDEPENDS_${PN}-ptest += "\
dbus \
gnome-desktop-testing \
tzdata \
tzdata-americas \
tzdata-asia \
tzdata-europe \
tzdata-posix \
shared-mime-info \
"
RDEPENDS_${PN}-ptest_append_libc-glibc = "\
glibc-gconv-utf-16 \
glibc-charmap-utf-8 \
glibc-gconv-cp1255 \
glibc-charmap-cp1255 \
glibc-gconv-utf-32 \
glibc-gconv-utf-7 \
glibc-gconv-euc-jp \
glibc-gconv-iso8859-1 \
glibc-gconv-iso8859-15 \
glibc-charmap-invariant \
glibc-localedata-translit-cjk-variants \
"
INSANE_SKIP_${PN}-ptest += "libdir"