citadel/meta-gnome/recipes-devtools/meson/nativesdk-meson_0.55.1.bb
Bruce Leidl 4c3baa433b Big Upgrade: GNOME 3.38, Yocto 3.1.3, meta-rust, meta-intel
Updated Recipes

   * dash-to-panel 40
   * dconf 0.38.0
   * gdm 3.38.0
   * glib 2.66.1
   * gjs 1.66.0
   * gnome-autoar 0.2.4
   * gnome-backgrounds 3.38.0
   * gnome-bluetooth 3.34.3
   * gnome-control-center 3.38.1
   * gnome-screenshot 3.38.0
   * gnome-shell 3.38.1
   * gnome-session 3.38.0
   * gnome-settings-daemon 3.38.0
   * gnome-terminal 3.38.0
   * gnome-usage 3.38.0
   * graphene 1.10.2
   * gsettings-desktop-schema 3.38.0
   * gvfs 1.46.1
   * iwd 1.9
   * libgee 0.20.3
   * libgtop 2.40.0
   * libgweather 3.36.1
   * mkpasswd 5.5.7
   * mozjs 78.0.1
   * mutter 3.38.1
   * nautilus 3.38.1
   * networkmanager 1.26.4
   * polkit 0.118
   * tracker 3.0.1
   * vte 0.62.0

Removed because recipes exist in poky with adequate version

   * atk, at-spi
   * clutter
   * clutter-gtk
   * cogl
   * ell
   * gcr
   * itstool
   * libinput
   * pango

Other removed recipes

   * systemd-initrd          No longer using a separate systemd recipe
                             for initramfs
   * caribou                 What even is this
   * gnome-tweaks            Not used
   * mozjs                   Polkit no longer requires an ancient mozjs
   * mozjs68                 Upgraded to mozjs78
2020-11-01 09:31:47 -05:00

66 lines
1.8 KiB
BlitzBasic

include meson.inc
inherit nativesdk
inherit siteinfo
SRC_URI += "file://meson-setup.py \
file://meson-wrapper"
def meson_endian(prefix, d):
arch, os = d.getVar(prefix + "_ARCH"), d.getVar(prefix + "_OS")
sitedata = siteinfo_data_for_machine(arch, os, d)
if "endian-little" in sitedata:
return "little"
elif "endian-big" in sitedata:
return "big"
else:
bb.fatal("Cannot determine endianism for %s-%s" % (arch, os))
# The cross file logic is similar but not identical to that in meson.bbclass,
# since it's generating for an SDK rather than a cross-compile. Important
# differences are:
# - We can't set vars like CC, CXX, etc. yet because they will be filled in with
# real paths by meson-setup.sh when the SDK is extracted.
# - Some overrides aren't needed, since the SDK injects paths that take care of
# them.
do_install_append() {
install -d ${D}${datadir}/meson
cat >${D}${datadir}/meson/meson.cross.template <<EOF
[binaries]
c = @CC
cpp = @CXX
ar = @AR
nm = @NM
strip = @STRIP
pkgconfig = 'pkg-config'
[properties]
needs_exe_wrapper = true
c_args = @CFLAGS
c_link_args = @LDFLAGS
cpp_args = @CPPFLAGS
cpp_link_args = @LDFLAGS
[host_machine]
system = '${SDK_OS}'
cpu_family = '${SDK_ARCH}'
cpu = '${SDK_ARCH}'
endian = '${@meson_endian("SDK", d)}'
EOF
install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
install -m 0755 ${WORKDIR}/meson-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/
# We need to wrap the real meson with a thin env setup wrapper.
mv ${D}${bindir}/meson ${D}${bindir}/meson.real
install -m 0755 ${WORKDIR}/meson-wrapper ${D}${bindir}/meson
}
RDEPENDS_${PN} += "\
nativesdk-ninja \
nativesdk-python3 \
nativesdk-python3-setuptools \
"
FILES_${PN} += "${datadir}/meson ${SDKPATHNATIVE}"