blob: 87d61c26694d7008ed0bd9015669f71186a36080 [file] [log] [blame]
Andrew Geissler517393d2023-01-13 08:55:19 -06001SUMMARY = "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 graphene \
10 gtk4 \
11 gdk-pixbuf \
12 cairo \
13 pango \
14 gsettings-desktop-schemas \
15 json-glib \
16 gnome-desktop \
17 gnome-settings-daemon \
Andrew Geissler220dafd2023-10-04 10:18:08 -050018 libei \
Andrew Geissler517393d2023-01-13 08:55:19 -060019 libxtst \
20 libxkbfile \
21 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xinerama', '', d)} \
22 xwayland \
23"
24
25GNOMEBASEBUILDCLASS = "meson"
26
27inherit gnomebase gsettings gobject-introspection gettext features_check
28
Andrew Geissler220dafd2023-10-04 10:18:08 -050029SRC_URI[archive.sha256sum] = "8fbc963019eda9ba52fca2f6c4c477efbc6e36eb4fa93f23174f02ff6b907715"
Andrew Geissler517393d2023-01-13 08:55:19 -060030
31# x11 is still manadatory - see meson.build
32REQUIRED_DISTRO_FEATURES = "wayland x11 polkit"
33
34# systemd can be replaced by libelogind (not available atow - make systemd
35# mandatory distro feature)
36LOGIND ?= "systemd"
37REQUIRED_DISTRO_FEATURES += "systemd"
38
39# profiler requires sysprof 3.34 which is not willing to build atow
40PACKAGECONFIG ??= " \
41 native-backend \
42 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl glx', '', d)} \
43 sm \
44 startup-notification \
45"
46
47EXTRA_OEMESON += " \
48 -Dtests=false \
49 -Dnative_tests=false \
50 -Dxwayland_path=${bindir}/Xwayland \
51"
52
53# combi-config - see meson_options.txt for more details
54PACKAGECONFIG[native-backend] = "-Dnative_backend=true -Dudev=true, -Dnative_backend=false -Dudev=false, libdrm virtual/libgbm libinput ${LOGIND} virtual/egl virtual/libgles2 udev"
55PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=true, virtual/libgl"
56PACKAGECONFIG[glx] = "-Dglx=true, -Dglx=false"
Andrew Geissler220dafd2023-10-04 10:18:08 -050057PACKAGECONFIG[libdisplay-info] = "-Dlibdisplay_info=true, -Dlibdisplay_info=false, libdisplay-info"
Andrew Geissler517393d2023-01-13 08:55:19 -060058PACKAGECONFIG[libwacom] = "-Dlibwacom=true, -Dlibwacom=false, libwacom"
59# Remove depending on pipewire-0.2 when mutter is upgraded to 3.36+
60PACKAGECONFIG[remote-desktop] = "-Dremote_desktop=true, -Dremote_desktop=false, pipewire"
61PACKAGECONFIG[sm] = "-Dsm=true, -Dsm=false, libsm"
62PACKAGECONFIG[profiler] = "-Dprofiler=true,-Dprofiler=false,sysprof"
63PACKAGECONFIG[startup-notification] = "-Dstartup_notification=true, -Dstartup_notification=false, startup-notification, startup-notification"
64
Andrew Geissler220dafd2023-10-04 10:18:08 -050065MUTTER_API_NAME = "mutter-13"
Patrick Williamse760df82023-05-26 11:10:49 -050066
67do_install:prepend() {
68 sed -i -e 's|${B}/||g' ${B}/clutter/clutter/clutter-enum-types.c
69 sed -i -e 's|${B}/||g' ${B}/src/meta-private-enum-types.c
70 sed -i -e 's|${B}/||g' ${B}/src/meta/meta-enum-types.c
71}
Andrew Geissler517393d2023-01-13 08:55:19 -060072
73do_install:append() {
74 # Add gir links in standard paths. That makes dependents life much easier
75 # to find them
76 install -d ${D}${datadir}/gir-1.0
77 for gir_full in `find ${D}${libdir}/${MUTTER_API_NAME} -name '*.gir'`; do
78 gir=`basename "$gir_full"`
79 ln -sr "${D}${libdir}/${MUTTER_API_NAME}/$gir" "${D}${datadir}/gir-1.0/$gir"
80 done
81}
82
83GSETTINGS_PACKAGE = "${PN}-gsettings"
84
85PACKAGES =+ "${PN}-tests ${PN}-gsettings"
86
87FILES:${PN} += " \
88 ${datadir}/gnome-control-center \
89 ${datadir}/gir-1.0 \
90 ${libdir}/${MUTTER_API_NAME}/lib*${SOLIBS} \
91 ${libdir}/${MUTTER_API_NAME}/*.typelib \
92 ${libdir}/${MUTTER_API_NAME}/plugins \
93"
94
95FILES:${PN}-tests += " \
96 ${datadir}/installed-tests \
97 ${datadir}/${MUTTER_API_NAME}/tests \
98 ${libexecdir}/installed-tests/${MUTTER_API_NAME} \
99"
100
101FILES:${PN}-dev += " \
102 ${libdir}/${MUTTER_API_NAME}/*.gir \
103 ${libdir}/${MUTTER_API_NAME}/lib*.so \
104"
105
106RDEPENDS:${PN} += "zenity ${PN}-gsettings"
107