xref: /OK3568_Linux_fs/yocto/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_42.0.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "Window and compositing manager based on Clutter"
2*4882a593SmuzhiyunLICENSE = "GPL-2.0-only"
3*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunDEPENDS = " \
6*4882a593Smuzhiyun    xserver-xorg-cvt-native \
7*4882a593Smuzhiyun    wayland-native \
8*4882a593Smuzhiyun    virtual/libx11 \
9*4882a593Smuzhiyun    graphene \
10*4882a593Smuzhiyun    gtk+3 \
11*4882a593Smuzhiyun    gdk-pixbuf \
12*4882a593Smuzhiyun    cairo \
13*4882a593Smuzhiyun    pango \
14*4882a593Smuzhiyun    gsettings-desktop-schemas \
15*4882a593Smuzhiyun    json-glib \
16*4882a593Smuzhiyun    gnome-desktop \
17*4882a593Smuzhiyun    gnome-settings-daemon \
18*4882a593Smuzhiyun    libxtst \
19*4882a593Smuzhiyun    libxkbfile \
20*4882a593Smuzhiyun    xinerama \
21*4882a593Smuzhiyun    xwayland \
22*4882a593Smuzhiyun"
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunGNOMEBASEBUILDCLASS = "meson"
25*4882a593Smuzhiyun
26*4882a593Smuzhiyuninherit gnomebase gsettings gobject-introspection gettext features_check
27*4882a593Smuzhiyun
28*4882a593SmuzhiyunSRC_URI[archive.sha256sum] = "d1e240446b7f8cd8a3ff9daae336c1c9016193ba7e0769c79a5e6c03849022e5"
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun# x11 is still manadatory - see meson.build
31*4882a593SmuzhiyunREQUIRED_DISTRO_FEATURES = "wayland x11 polkit"
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun# systemd can be replaced by libelogind (not available atow - make systemd
34*4882a593Smuzhiyun# mandatory distro feature)
35*4882a593SmuzhiyunLOGIND ?= "systemd"
36*4882a593SmuzhiyunREQUIRED_DISTRO_FEATURES += "systemd"
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun# profiler requires sysprof 3.34 which is not willing to build atow
39*4882a593SmuzhiyunPACKAGECONFIG ??= " \
40*4882a593Smuzhiyun    native-backend \
41*4882a593Smuzhiyun    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl glx', '', d)} \
42*4882a593Smuzhiyun    sm \
43*4882a593Smuzhiyun    startup-notification \
44*4882a593Smuzhiyun"
45*4882a593Smuzhiyun
46*4882a593SmuzhiyunEXTRA_OEMESON += " \
47*4882a593Smuzhiyun    -Dtests=false \
48*4882a593Smuzhiyun    -Dnative_tests=false \
49*4882a593Smuzhiyun    -Dxwayland_path=${bindir}/Xwayland \
50*4882a593Smuzhiyun"
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun# combi-config - see meson_options.txt for more details
53*4882a593SmuzhiyunPACKAGECONFIG[native-backend] = "-Dnative_backend=true -Dudev=true, -Dnative_backend=false -Dudev=false, libdrm virtual/libgbm libinput ${LOGIND} virtual/egl virtual/libgles2 udev"
54*4882a593SmuzhiyunPACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=true, virtual/libgl"
55*4882a593SmuzhiyunPACKAGECONFIG[glx] = "-Dglx=true, -Dglx=false"
56*4882a593SmuzhiyunPACKAGECONFIG[libwacom] = "-Dlibwacom=true, -Dlibwacom=false, libwacom"
57*4882a593Smuzhiyun# Remove depending on pipewire-0.2 when mutter is upgraded to 3.36+
58*4882a593SmuzhiyunPACKAGECONFIG[remote-desktop] = "-Dremote_desktop=true, -Dremote_desktop=false, pipewire"
59*4882a593SmuzhiyunPACKAGECONFIG[sm] = "-Dsm=true, -Dsm=false, libsm"
60*4882a593SmuzhiyunPACKAGECONFIG[profiler] = "-Dprofiler=true,-Dprofiler=false,sysprof"
61*4882a593SmuzhiyunPACKAGECONFIG[startup-notification] = "-Dstartup_notification=true, -Dstartup_notification=false, startup-notification, startup-notification"
62*4882a593Smuzhiyun
63*4882a593SmuzhiyunMUTTER_API_NAME = "mutter-10"
64*4882a593Smuzhiyun
65*4882a593Smuzhiyundo_install:append() {
66*4882a593Smuzhiyun    # Add gir links in standard paths. That makes dependents life much easier
67*4882a593Smuzhiyun    # to find them
68*4882a593Smuzhiyun    install -d ${D}${datadir}/gir-1.0
69*4882a593Smuzhiyun    for gir_full in `find ${D}${libdir}/${MUTTER_API_NAME} -name '*.gir'`; do
70*4882a593Smuzhiyun        gir=`basename "$gir_full"`
71*4882a593Smuzhiyun        ln -sr "${D}${libdir}/${MUTTER_API_NAME}/$gir" "${D}${datadir}/gir-1.0/$gir"
72*4882a593Smuzhiyun    done
73*4882a593Smuzhiyun}
74*4882a593Smuzhiyun
75*4882a593SmuzhiyunGSETTINGS_PACKAGE = "${PN}-gsettings"
76*4882a593Smuzhiyun
77*4882a593SmuzhiyunPACKAGES =+ "${PN}-tests ${PN}-gsettings"
78*4882a593Smuzhiyun
79*4882a593SmuzhiyunFILES:${PN} += " \
80*4882a593Smuzhiyun    ${datadir}/gnome-control-center \
81*4882a593Smuzhiyun    ${libdir}/${MUTTER_API_NAME}/lib*${SOLIBS} \
82*4882a593Smuzhiyun    ${libdir}/${MUTTER_API_NAME}/*.typelib \
83*4882a593Smuzhiyun    ${libdir}/${MUTTER_API_NAME}/plugins \
84*4882a593Smuzhiyun"
85*4882a593Smuzhiyun
86*4882a593SmuzhiyunFILES:${PN}-tests += " \
87*4882a593Smuzhiyun    ${datadir}/installed-tests \
88*4882a593Smuzhiyun    ${datadir}/${MUTTER_API_NAME}/tests \
89*4882a593Smuzhiyun    ${libexecdir}/installed-tests/${MUTTER_API_NAME} \
90*4882a593Smuzhiyun"
91*4882a593Smuzhiyun
92*4882a593SmuzhiyunFILES:${PN}-dev += " \
93*4882a593Smuzhiyun    ${libdir}/${MUTTER_API_NAME}/*.gir \
94*4882a593Smuzhiyun    ${libdir}/${MUTTER_API_NAME}/lib*.so \
95*4882a593Smuzhiyun"
96*4882a593Smuzhiyun
97*4882a593SmuzhiyunRDEPENDS:${PN} += "zenity ${PN}-gsettings"
98*4882a593Smuzhiyun
99