1SUMMARY = "Window and compositing manager based on Clutter" 2LICENSE = "GPL-2.0-only" 3LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" 4 5DEPENDS = " \ 6 xserver-xorg-cvt-native \ 7 wayland-native \ 8 virtual/libx11 \ 9 colord \ 10 graphene \ 11 gtk4 \ 12 gdk-pixbuf \ 13 cairo \ 14 pango \ 15 gsettings-desktop-schemas \ 16 json-glib \ 17 libei \ 18 libxtst \ 19 libxkbfile \ 20 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xinerama', '', d)} \ 21 xwayland \ 22" 23 24 25inherit gnomebase gsettings gobject-introspection gettext features_check 26 27SRC_URI[archive.sha256sum] = "bb3f7d77aebdea9d317d3f5ef03868e4e7969da423ac495e33a16d61db2c9373" 28 29# x11 is still manadatory - see meson.build 30REQUIRED_DISTRO_FEATURES = "wayland x11 polkit" 31 32# systemd can be replaced by libelogind (not available atow - make systemd 33# mandatory distro feature) 34LOGIND ?= "systemd" 35REQUIRED_DISTRO_FEATURES += "systemd" 36 37# profiler requires sysprof 3.34 which is not willing to build atow 38PACKAGECONFIG ??= " \ 39 native-backend \ 40 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl glx', '', d)} \ 41 sm \ 42 startup-notification \ 43 gnome-desktop \ 44" 45 46EXTRA_OEMESON += " \ 47 -Dtests=false \ 48 -Dnative_tests=false \ 49 -Dxwayland_path=${bindir}/Xwayland \ 50" 51 52# combi-config - see meson_options.txt for more details 53PACKAGECONFIG[native-backend] = "-Dnative_backend=true -Dudev=true, -Dnative_backend=false -Dudev=false, libdrm virtual/libgbm libinput ${LOGIND} virtual/egl virtual/libgles2 udev" 54PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=true, virtual/libgl" 55PACKAGECONFIG[glx] = "-Dglx=true, -Dglx=false" 56PACKAGECONFIG[libdisplay-info] = "-Dlibdisplay_info=true, -Dlibdisplay_info=false, libdisplay-info" 57PACKAGECONFIG[libwacom] = "-Dlibwacom=true, -Dlibwacom=false, libwacom" 58# Remove depending on pipewire-0.2 when mutter is upgraded to 3.36+ 59PACKAGECONFIG[remote-desktop] = "-Dremote_desktop=true, -Dremote_desktop=false, pipewire" 60PACKAGECONFIG[gnome-desktop] = "-Dlibgnome_desktop=true, -Dlibgnome_desktop=false, gnome-desktop gnome-settings-daemon" 61PACKAGECONFIG[sm] = "-Dsm=true, -Dsm=false, libsm" 62PACKAGECONFIG[sound-player] = "-Dsound_player=true, -Dsound_player=false, libcanberra" 63PACKAGECONFIG[profiler] = "-Dprofiler=true,-Dprofiler=false,sysprof" 64PACKAGECONFIG[startup-notification] = "-Dstartup_notification=true, -Dstartup_notification=false, startup-notification, startup-notification" 65 66MUTTER_API_NAME = "mutter-14" 67 68do_install:prepend() { 69 sed -i -e 's|${B}/||g' ${B}/cogl/cogl/cogl-enum-types.c 70 sed -i -e 's|${B}/||g' ${B}/clutter/clutter/clutter-enum-types.c 71 sed -i -e 's|${B}/||g' ${B}/src/meta-private-enum-types.c 72 sed -i -e 's|${B}/||g' ${B}/src/meta/meta-enum-types.c 73} 74 75do_install:append() { 76 # Add gir links in standard paths. That makes dependents life much easier 77 # to find them 78 install -d ${D}${datadir}/gir-1.0 79 for gir_full in `find ${D}${libdir}/${MUTTER_API_NAME} -name '*.gir'`; do 80 gir=`basename "$gir_full"` 81 ln -sr "${D}${libdir}/${MUTTER_API_NAME}/$gir" "${D}${datadir}/gir-1.0/$gir" 82 done 83} 84 85GSETTINGS_PACKAGE = "${PN}-gsettings" 86 87PACKAGES =+ "${PN}-tests ${PN}-gsettings" 88 89FILES:${PN} += " \ 90 ${datadir}/gnome-control-center \ 91 ${datadir}/gir-1.0 \ 92 ${libdir}/${MUTTER_API_NAME}/lib*${SOLIBS} \ 93 ${libdir}/${MUTTER_API_NAME}/*.typelib \ 94 ${libdir}/${MUTTER_API_NAME}/plugins \ 95" 96 97FILES:${PN}-tests += " \ 98 ${datadir}/installed-tests \ 99 ${datadir}/${MUTTER_API_NAME}/tests \ 100 ${libexecdir}/installed-tests/${MUTTER_API_NAME} \ 101" 102 103FILES:${PN}-dev += " \ 104 ${libdir}/${MUTTER_API_NAME}/*.gir \ 105 ${libdir}/${MUTTER_API_NAME}/lib*.so \ 106" 107 108RDEPENDS:${PN} += "${PN}-gsettings gsettings-desktop-schemas" 109 110