blob: 3909b76ddf50478baae202715ee5ba0f2b79691e [file] [log] [blame]
Andrew Geissler82c905d2020-04-13 13:39:40 -05001require glib.inc
2
3PE = "1"
4
5SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
6
7SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
8 file://run-ptest \
9 file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \
10 file://Enable-more-tests-while-cross-compiling.patch \
11 file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
12 file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
13 file://0001-Do-not-ignore-return-value-of-write.patch \
14 file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
15 file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \
16 file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
17 file://0001-meson-Run-atomics-test-on-clang-as-well.patch \
18 file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
Andrew Geisslerd1e89492021-02-12 15:35:20 -060019 file://0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch \
20 file://0001-tests-codegen.py-removing-unecessary-print-statement.patch \
Andrew Geissler82c905d2020-04-13 13:39:40 -050021 "
Andrew Geissler95ac1b82021-03-31 14:34:31 -050022SRC_URI += "\
23 file://0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch \
24 file://0002-tests-Fix-non-atomic-access-to-a-shared-variable.patch \
25 file://0003-tests-Fix-non-atomic-access-to-a-shared-variable.patch \
26 file://0004-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch \
27 file://0005-tests-Fix-non-atomic-access-to-some-shared-variables.patch \
28 file://0006-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch \
29 file://0007-gdbusconnection-Drop-unnecessary-volatile-qualifiers.patch \
30 file://0008-gdbuserror-Drop-unnecessary-volatile-qualifiers-from.patch \
31 file://0009-gio-Drop-unnecessary-volatile-qualifiers-from-intern.patch \
32 file://0010-kqueue-Fix-unlocked-access-to-shared-variable.patch \
33 file://0011-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch \
34 file://0012-tests-Fix-non-atomic-access-to-some-shared-variables.patch \
35 file://0013-gatomic-Drop-unnecessary-volatile-qualifiers-from-in.patch \
36 file://0014-gatomic-Drop-unnecessary-volatile-qualifiers-from-ma.patch \
37 file://0015-glib-Drop-unnecessary-volatile-qualifiers-from-inter.patch \
38 file://0016-gobject-Drop-unnecessary-volatile-qualifiers-from-in.patch \
39 file://0017-gmessages-Drop-unnecessary-volatile-qualifiers-from-.patch \
40 file://0018-gtypes-Drop-volatile-qualifier-from-gatomicrefcount.patch \
41 file://0019-gatomicarray-Drop-volatile-qualifier-from-GAtomicArr.patch \
42 file://0020-gobject-Drop-volatile-qualifier-from-GObject.ref_cou.patch \
43 file://0021-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch \
44 file://0022-build-Drop-unnecessary-volatile-qualifiers-from-conf.patch \
45 file://0023-gdbusprivate-Avoid-a-warning-about-a-statement-with-.patch \
46 file://0024-tests-Add-comment-to-volatile-atomic-tests.patch \
47 file://0025-gthread-Use-g_atomic-primitives-correctly-in-destruc.patch \
48 file://0026-gtype-Fix-some-typos-in-comments.patch \
49 file://0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch \
50 file://0028-gresource-Fix-a-pointer-mismatch-with-an-atomic-load.patch \
51 file://0029-docs-Document-not-to-use-volatile-qualifiers.patch \
52"
Andrew Geissler82c905d2020-04-13 13:39:40 -050053SRC_URI_append_class-native = " file://relocate-modules.patch"
54
Andrew Geissler9b4d8b02021-02-19 12:26:16 -060055SRC_URI[sha256sum] = "09f158769f6f26b31074e15b1ac80ec39b13b53102dfae66cfe826fb2cc65502"
Andrew Geissler82c905d2020-04-13 13:39:40 -050056
57# Find any meson cross files in FILESPATH that are relevant for the current
58# build (using siteinfo) and add them to EXTRA_OEMESON.
59inherit siteinfo
60def find_meson_cross_files(d):
61 if bb.data.inherits_class('native', d):
62 return ""
63
Andrew Geissler95ac1b82021-03-31 14:34:31 -050064 thisdir = os.path.normpath(d.getVar("THISDIR"))
Andrew Geissler82c905d2020-04-13 13:39:40 -050065 import collections
66 sitedata = siteinfo_data(d)
67 # filename -> found
68 files = collections.OrderedDict()
69 for path in d.getVar("FILESPATH").split(":"):
70 for element in sitedata:
71 filename = os.path.normpath(os.path.join(path, "meson.cross.d", element))
Andrew Geissler90fd73c2021-03-05 15:25:55 -060072 sanitized_path = filename.replace(thisdir, "${THISDIR}")
73 if sanitized_path == filename:
Andrew Geissler95ac1b82021-03-31 14:34:31 -050074 if os.path.exists(filename):
75 bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir))
Andrew Geissler90fd73c2021-03-05 15:25:55 -060076 continue
77 files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename)
Andrew Geissler82c905d2020-04-13 13:39:40 -050078
79 items = ["--cross-file=" + k for k,v in files.items() if v]
80 d.appendVar("EXTRA_OEMESON", " " + " ".join(items))
81 items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()]
82 d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items))
83
84python () {
85 find_meson_cross_files(d)
86}