summaryrefslogtreecommitdiffstats
path: root/recipes-graphics/wayland/weston_6.0.1.imx.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-graphics/wayland/weston_6.0.1.imx.bb')
-rw-r--r--recipes-graphics/wayland/weston_6.0.1.imx.bb141
1 files changed, 141 insertions, 0 deletions
diff --git a/recipes-graphics/wayland/weston_6.0.1.imx.bb b/recipes-graphics/wayland/weston_6.0.1.imx.bb
new file mode 100644
index 000000000..a8d11196c
--- /dev/null
+++ b/recipes-graphics/wayland/weston_6.0.1.imx.bb
@@ -0,0 +1,141 @@
1SUMMARY = "Weston, a Wayland compositor, i.MX fork"
2DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
3HOMEPAGE = "http://wayland.freedesktop.org"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
6 file://libweston/compositor.c;endline=26;md5=f47553ae598090444273db00adfb5b66"
7
8DEFAULT_PREFERENCE = "-1"
9
10SRCBRANCH = "weston-imx-6.0.1"
11SRC_URI = "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} \
12 file://weston.png \
13 file://weston.desktop \
14 file://0001-make-error-portable.patch \
15 file://xwayland.weston-start \
16 file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
17 file://0003-weston-touch-calibrator-Advertise-the-touchscreen-ca.patch \
18"
19SRCREV = "4ee0a1da010053b35495e82ad30aa5a8b1c34e6c"
20S = "${WORKDIR}/git"
21
22UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
23
24inherit autotools pkgconfig useradd features_check
25
26# Disable OpenGL for parts with GPU support for 2D but not 3D
27REQUIRED_DISTRO_FEATURES = "opengl"
28REQUIRED_DISTRO_FEATURES_imxgpu2d = ""
29REQUIRED_DISTRO_FEATURES_imxgpu3d = "opengl"
30PACKAGECONFIG_OPENGL = "opengl"
31PACKAGECONFIG_OPENGL_imxgpu2d = ""
32PACKAGECONFIG_OPENGL_imxgpu3d = "opengl"
33
34DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg"
35DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native"
36
37WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
38
39EXTRA_OECONF = "--enable-setuid-install \
40 --disable-rdp-compositor \
41 --enable-autotools \
42 "
43EXTRA_OECONF_append_qemux86 = " \
44 WESTON_NATIVE_BACKEND=fbdev-backend.so \
45 "
46EXTRA_OECONF_append_qemux86-64 = " \
47 WESTON_NATIVE_BACKEND=fbdev-backend.so \
48 "
49EXTRA_OECONF_append_imxfbdev = " \
50 WESTON_NATIVE_BACKEND=fbdev-backend.so \
51 "
52PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \
53 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
54 ${@bb.utils.filter('DISTRO_FEATURES', '${PACKAGECONFIG_OPENGL} pam systemd x11', d)} \
55 clients launch"
56PACKAGECONFIG_remove_imxfbdev = "kms"
57PACKAGECONFIG_append_imxgpu = " imxgpu"
58PACKAGECONFIG_append_imxgpu2d = " imxg2d"
59PACKAGECONFIG_append_imxgpu3d = " cairo-glesv2"
60#
61# Compositor choices
62#
63# Weston on KMS
64PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm udev virtual/mesa mtdev"
65# Weston on Wayland (nested Weston)
66PACKAGECONFIG[wayland] = "--enable-wayland-compositor,--disable-wayland-compositor,virtual/mesa"
67# Weston on X11
68PACKAGECONFIG[x11] = "--enable-x11-compositor,--disable-x11-compositor,virtual/libx11 libxcb libxcb libxcursor cairo"
69# Headless Weston
70PACKAGECONFIG[headless] = "--enable-headless-compositor,--disable-headless-compositor"
71# Weston on framebuffer
72PACKAGECONFIG[fbdev] = "--enable-fbdev-compositor,--disable-fbdev-compositor,udev mtdev"
73# weston-launch
74PACKAGECONFIG[launch] = "--enable-weston-launch,--disable-weston-launch,drm"
75# VA-API desktop recorder
76PACKAGECONFIG[vaapi] = "--enable-vaapi-recorder,--disable-vaapi-recorder,libva"
77# Weston with EGL support
78PACKAGECONFIG[egl] = "--enable-egl --enable-simple-egl-clients,--disable-egl --disable-simple-egl-clients,virtual/egl"
79# Weston with cairo glesv2 support
80PACKAGECONFIG[cairo-glesv2] = "--with-cairo-glesv2,--with-cairo=image,cairo"
81# Weston with lcms support
82PACKAGECONFIG[lcms] = "--enable-lcms,--disable-lcms,lcms"
83# Weston with webp support
84PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
85# Weston with systemd-login support
86PACKAGECONFIG[systemd] = "--enable-systemd-login,--disable-systemd-login,systemd dbus"
87# Weston with Xwayland support (requires X11 and Wayland)
88PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland"
89# colord CMS support
90PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord"
91# Clients support
92PACKAGECONFIG[clients] = "--enable-clients --enable-simple-clients --enable-demo-clients-install,--disable-clients --disable-simple-clients"
93# Weston with PAM support
94PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
95# Weston with i.MX GPU support
96PACKAGECONFIG[imxgpu] = "--enable-imxgpu,--disable-imxgpu"
97# Weston with i.MX G2D renderer
98PACKAGECONFIG[imxg2d] = "--enable-imxg2d,--disable-imxg2d,virtual/libg2d"
99# Weston with OpenGL support
100PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl"
101
102do_install_append() {
103 # Weston doesn't need the .la files to load modules, so wipe them
104 rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la
105
106 # If X11, ship a desktop file to launch it
107 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then
108 install -d ${D}${datadir}/applications
109 install ${WORKDIR}/weston.desktop ${D}${datadir}/applications
110
111 install -d ${D}${datadir}/icons/hicolor/48x48/apps
112 install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps
113 fi
114
115 if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
116 install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland
117 fi
118}
119
120PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \
121 libweston-${WESTON_MAJOR_VERSION} ${PN}-examples"
122
123FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir} ${sysconfdir}/xdg/weston"
124
125FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so"
126SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'."
127
128FILES_${PN}-examples = "${bindir}/*"
129
130FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so"
131RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland"
132
133RDEPENDS_${PN} += "xkeyboard-config"
134RRECOMMENDS_${PN} = "liberation-fonts"
135RRECOMMENDS_${PN}-dev += "wayland-protocols"
136
137USERADD_PACKAGES = "${PN}"
138GROUPADD_PARAM_${PN} = "--system weston-launch"
139
140PACKAGE_ARCH = "${MACHINE_SOCARCH}"
141COMPATIBLE_MACHINE = "(imxfbdev|imxgpu)"