summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glib-2.0/glib.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/glib-2.0/glib.inc')
-rw-r--r--meta/recipes-core/glib-2.0/glib.inc115
1 files changed, 61 insertions, 54 deletions
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc
index 71777bc459..fac8875d84 100644
--- a/meta/recipes-core/glib-2.0/glib.inc
+++ b/meta/recipes-core/glib-2.0/glib.inc
@@ -4,12 +4,11 @@ HOMEPAGE = "https://developer.gnome.org/glib/"
4 4
5# pcre is under BSD; 5# pcre is under BSD;
6# docs/reference/COPYING is with a 'public domain'-like license! 6# docs/reference/COPYING is with a 'public domain'-like license!
7LICENSE = "LGPLv2.1+ & BSD & PD" 7LICENSE = "LGPL-2.1-or-later & BSD-3-Clause & PD"
8LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ 8LIC_FILES_CHKSUM = "file://COPYING;md5=41890f71f740302b785c27661123bff5 \
9 file://glib/glib.h;beginline=4;endline=17;md5=b88abb7f3ad09607e71cb9d530155906 \ 9 file://glib/glib.h;beginline=4;endline=17;md5=72f7cc2847407f65d8981ef112e4e630 \
10 file://gmodule/COPYING;md5=4fbd65380cdd255951079008b364516c \ 10 file://LICENSES/LGPL-2.1-or-later.txt;md5=41890f71f740302b785c27661123bff5 \
11 file://gmodule/gmodule.h;beginline=4;endline=17;md5=b88abb7f3ad09607e71cb9d530155906 \ 11 file://gmodule/gmodule.h;beginline=4;endline=17;md5=72f7cc2847407f65d8981ef112e4e630 \
12 file://glib/pcre/pcre.h;beginline=8;endline=36;md5=3e2977dae4ad05217f58c446237298fc \
13 file://docs/reference/COPYING;md5=f51a5100c17af6bae00735cd791e1fcc" 12 file://docs/reference/COPYING;md5=f51a5100c17af6bae00735cd791e1fcc"
14BUGTRACKER = "http://bugzilla.gnome.org" 13BUGTRACKER = "http://bugzilla.gnome.org"
15SECTION = "libs" 14SECTION = "libs"
@@ -22,81 +21,75 @@ DEPENDS = "glib-2.0-native \
22 virtual/libintl \ 21 virtual/libintl \
23 virtual/libiconv \ 22 virtual/libiconv \
24 libffi \ 23 libffi \
24 libpcre2 \
25 zlib" 25 zlib"
26 26
27PACKAGES += "${PN}-codegen ${PN}-utils" 27PACKAGES += "${PN}-codegen ${PN}-utils"
28 28
29LEAD_SONAME = "libglib-2.0.*" 29LEAD_SONAME = "libglib-2.0.*"
30 30
31inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages 31inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages gobject-introspection-data
32
33DEPENDS_append_class-target = "${@' gtk-doc' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
34 32
35GTKDOC_MESON_OPTION = "gtk_doc" 33GTKDOC_MESON_OPTION = "gtk_doc"
36 34
37S = "${WORKDIR}/glib-${PV}" 35S = "${WORKDIR}/glib-${PV}"
38 36
39PACKAGECONFIG ??= "system-pcre libmount \ 37PACKAGECONFIG ??= "libmount \
40 ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" 38 ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
41# To use the system pcre it must be configured with --enable-unicode-properties
42PACKAGECONFIG[system-pcre] = "-Dinternal_pcre=false,-Dinternal_pcre=true,libpcre"
43PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux" 39PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux"
44PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native" 40PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native"
45# libelf is auto-detected without a configuration option 41PACKAGECONFIG[libelf] = "-Dlibelf=enabled,-Dlibelf=disabled,elfutils"
46PACKAGECONFIG[libelf] = ",,elfutils" 42PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,"
47PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,dbus" 43PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux"
48 44
49EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=disabled" 45EXTRA_OEMESON = "-Ddtrace=false -Dsystemtap=false"
50 46
51do_configure_prepend() { 47do_configure:prepend() {
52 sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in 48 sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in
53} 49}
54 50
55FILES_${PN} = "${libdir}/lib*${SOLIBS} \ 51FILES:${PN} = "${libdir}/lib*${SOLIBS} \
56 ${libdir}/gio \ 52 ${libdir}/gio \
57 ${libexecdir}/*gio-querymodules \ 53 ${libexecdir}/*gio-querymodules \
54 ${libexecdir}/*gio-launch-desktop \
55 ${datadir}/glib-2.0/dtds \
58 ${datadir}/glib-2.0/schemas" 56 ${datadir}/glib-2.0/schemas"
59 57
60FILES_${PN}-utils += "${bindir}/glib-genmarshal \ 58FILES:${PN}-dev += "${libdir}/glib-2.0/include \
61 ${bindir}/glib-gettextize \
62 ${bindir}/glib-mkenums \
63 ${bindir}/glib-compile-resources"
64
65FILES_${PN}-dev += "${libdir}/glib-2.0/include \
66 ${libdir}/gio/modules/lib*${SOLIBSDEV} \ 59 ${libdir}/gio/modules/lib*${SOLIBSDEV} \
67 ${libdir}/gio/modules/*.la \ 60 ${libdir}/gio/modules/*.la \
68 ${datadir}/glib-2.0/gettext/po/Makefile.in.in \ 61 ${datadir}/glib-2.0/gettext/po/Makefile.in.in \
69 ${datadir}/glib-2.0/schemas/gschema.dtd \ 62 ${datadir}/glib-2.0/schemas/gschema.dtd \
70 ${datadir}/glib-2.0/valgrind/glib.supp \ 63 ${datadir}/glib-2.0/valgrind/glib.supp \
71 ${datadir}/gettext/its" 64 ${datadir}/gettext/its"
72FILES_${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb" 65FILES:${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb"
73FILES_${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \ 66FILES:${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \
74 ${bindir}/gdbus-codegen" 67 ${bindir}/gdbus-codegen"
75FILES_${PN}-utils = "${bindir}/*" 68FILES:${PN}-utils = "${bindir}/*"
76 69
77SHAREDMIMEDEP = "shared-mime-info" 70SHAREDMIMEDEP = "shared-mime-info"
78SHAREDMIMEDEP_class-native = "" 71SHAREDMIMEDEP:class-native = ""
79# When cross compiling for Windows we don't want to include this 72# When cross compiling for Windows we don't want to include this
80SHAREDMIMEDEP_mingw32 = "" 73SHAREDMIMEDEP:mingw32 = ""
81 74
82RRECOMMENDS_${PN} += "${SHAREDMIMEDEP}" 75RRECOMMENDS:${PN} += "${SHAREDMIMEDEP}"
83 76
84ARM_INSTRUCTION_SET_armv4 = "arm" 77ARM_INSTRUCTION_SET:armv4 = "arm"
85ARM_INSTRUCTION_SET_armv5 = "arm" 78ARM_INSTRUCTION_SET:armv5 = "arm"
86# Valgrind runtime detection works using hand-written assembly, which 79# Valgrind runtime detection works using hand-written assembly, which
87# doesn't support mips16e 80# doesn't support mips16e
88CPPFLAGS_append_class-target_mips16e = " -DNVALGRIND=1" 81CPPFLAGS:append:class-target:mips16e = " -DNVALGRIND=1"
89 82
90# GLib generally requires gettext to be present so for USE_NLS to yes. For 83# GLib generally requires gettext to be present so for USE_NLS to yes. For
91# native builds as i18n is disabled globally we have to add a gettext-native dependency. 84# native builds as i18n is disabled globally we have to add a gettext-native dependency.
92USE_NLS_class-target = "yes" 85USE_NLS:class-target = "yes"
93USE_NLS_class-nativesdk = "yes" 86USE_NLS:class-nativesdk = "yes"
94DEPENDS_append_class-native = " gettext-native" 87DEPENDS:append:class-native = " gettext-native"
95 88
96EXEEXT = "" 89EXEEXT = ""
97EXEEXT_mingw32 = ".exe" 90EXEEXT:mingw32 = ".exe"
98 91
99do_install_append () { 92do_install:append () {
100 if [ -f ${D}${bindir}/gtester-report ]; then 93 if [ -f ${D}${bindir}/gtester-report ]; then
101 sed ${D}${bindir}/gtester-report -i -e '1s|^#!.*|#!/usr/bin/env python3|' 94 sed ${D}${bindir}/gtester-report -i -e '1s|^#!.*|#!/usr/bin/env python3|'
102 fi 95 fi
@@ -118,7 +111,12 @@ do_install_append () {
118 mkdir -p ${D}${libdir}/gio/modules 111 mkdir -p ${D}${libdir}/gio/modules
119} 112}
120 113
121do_install_append_class-target () { 114do_install:append:class-native () {
115 # Link gio-querymodules into ${bindir} as otherwise tools like meson won't find it
116 ln -rs ${D}${libexecdir}/gio-querymodules ${D}${bindir}
117}
118
119do_install:append:class-target () {
122 # Tests are only installed on targets, not native builds. Separating this out 120 # Tests are only installed on targets, not native builds. Separating this out
123 # keeps glib-2.0-native from depending on DISTRO_FEATURES 121 # keeps glib-2.0-native from depending on DISTRO_FEATURES
124 if [ -f ${D}${datadir}/installed-tests/glib/gdbus-serialization.test ]; then 122 if [ -f ${D}${datadir}/installed-tests/glib/gdbus-serialization.test ]; then
@@ -131,24 +129,33 @@ do_install_append_class-target () {
131 mv ${D}${datadir}/installed-tests/glib/static-link.test ${D}${datadir}/installed-tests/glib/${MLPREFIX}static-link.test 129 mv ${D}${datadir}/installed-tests/glib/static-link.test ${D}${datadir}/installed-tests/glib/${MLPREFIX}static-link.test
132 fi 130 fi
133 fi 131 fi
132 # https://gitlab.gnome.org/GNOME/glib/-/issues/2810
133 rm -f ${D}${datadir}/installed-tests/glib/thread-pool-slow.test
134}
135do_install:append:class-target:libc-musl () {
136 # Remove failing tests on musl libc systems, this helps set baseline for musl testing
137 # they remain to be rootcaused and fixed but marked known failures here.
138 for t in convert.test collate.test gdatetime.test date.test converter-stream.test option-context.test; do
139 rm -rf ${D}${datadir}/installed-tests/glib/$t
140 done
134} 141}
135
136# As we do not build python3 for windows, makes no sense to ship the script that's using it 142# As we do not build python3 for windows, makes no sense to ship the script that's using it
137do_install_append_mingw32() { 143do_install:append:mingw32() {
138 rm -f ${D}${bindir}/gtester-report 144 rm -f ${D}${bindir}/gtester-report
139} 145}
140 146
141CODEGEN_PYTHON_RDEPENDS = "python3 python3-distutils python3-xml" 147CODEGEN_PYTHON_RDEPENDS = "python3 python3-packaging python3-xml"
142CODEGEN_PYTHON_RDEPENDS_mingw32 = "" 148CODEGEN_PYTHON_RDEPENDS:mingw32 = ""
143 149
144RDEPENDS_${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}" 150RDEPENDS:${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}"
145 151
146RDEPENDS_${PN}-ptest += "${PN}-utils" 152RDEPENDS:${PN}-ptest += "${PN}-utils"
147 153
148RDEPENDS_${PN}-ptest += "\ 154RDEPENDS:${PN}-ptest += "\
149 coreutils \ 155 coreutils \
150 libgcc \ 156 libgcc \
151 dbus \ 157 dbus \
158 desktop-file-utils \
152 gnome-desktop-testing \ 159 gnome-desktop-testing \
153 tzdata \ 160 tzdata \
154 tzdata-americas \ 161 tzdata-americas \
@@ -168,9 +175,15 @@ RDEPENDS_${PN}-ptest += "\
168 python3-modules \ 175 python3-modules \
169 ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-dbusmock', '', d)} \ 176 ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-dbusmock', '', d)} \
170 ${PN}-codegen \ 177 ${PN}-codegen \
178 locale-base-de-de \
179 locale-base-es-es \
180 locale-base-en-gb \
181 locale-base-en-us \
182 locale-base-fr-fr \
183 locale-base-ru-ru \
171 " 184 "
172 185
173RDEPENDS_${PN}-ptest_append_libc-glibc = "\ 186RDEPENDS:${PN}-ptest:append:libc-glibc = "\
174 glibc-gconv-utf-16 \ 187 glibc-gconv-utf-16 \
175 glibc-charmap-utf-8 \ 188 glibc-charmap-utf-8 \
176 glibc-gconv-cp1255 \ 189 glibc-gconv-cp1255 \
@@ -182,18 +195,12 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = "\
182 glibc-gconv-iso8859-15 \ 195 glibc-gconv-iso8859-15 \
183 glibc-charmap-invariant \ 196 glibc-charmap-invariant \
184 glibc-localedata-translit-cjk-variants \ 197 glibc-localedata-translit-cjk-variants \
185 locale-base-tr-tr \
186 locale-base-lt-lt \ 198 locale-base-lt-lt \
187 locale-base-ja-jp.euc-jp \ 199 locale-base-ja-jp.euc-jp \
188 locale-base-fa-ir \ 200 locale-base-fa-ir \
189 locale-base-ru-ru \
190 locale-base-de-de \
191 locale-base-hr-hr \ 201 locale-base-hr-hr \
192 locale-base-el-gr \ 202 locale-base-el-gr \
193 locale-base-fr-fr \
194 locale-base-es-es \
195 locale-base-en-gb \
196 locale-base-en-us \
197 locale-base-pl-pl \ 203 locale-base-pl-pl \
198 locale-base-pl-pl.iso-8859-2 \ 204 locale-base-pl-pl.iso-8859-2 \
205 locale-base-tr-tr \
199 " 206 "