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