diff options
-rw-r--r-- | recipes-graphics/wayland/weston_8.0.0.imx.bb | 91 |
1 files changed, 60 insertions, 31 deletions
diff --git a/recipes-graphics/wayland/weston_8.0.0.imx.bb b/recipes-graphics/wayland/weston_8.0.0.imx.bb index 9ebb3317..aa0ea521 100644 --- a/recipes-graphics/wayland/weston_8.0.0.imx.bb +++ b/recipes-graphics/wayland/weston_8.0.0.imx.bb | |||
@@ -1,33 +1,31 @@ | |||
1 | SUMMARY = "Weston, a Wayland compositor, i.MX fork" | 1 | # This recipe is for the i.MX fork of weston. For ease of |
2 | # maintenance, the top section is a verbatim copy of an OE-core | ||
3 | # recipe. The second section customizes the recipe for i.MX. | ||
4 | |||
5 | ########### OE-core copy ################## | ||
6 | # Upstream hash: 9b1d30810eeecb46b977c8eed68be69aef891312 | ||
7 | |||
8 | SUMMARY = "Weston, a Wayland compositor" | ||
2 | DESCRIPTION = "Weston is the reference implementation of a Wayland compositor" | 9 | DESCRIPTION = "Weston is the reference implementation of a Wayland compositor" |
3 | HOMEPAGE = "http://wayland.freedesktop.org" | 10 | HOMEPAGE = "http://wayland.freedesktop.org" |
4 | LICENSE = "MIT" | 11 | LICENSE = "MIT" |
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \ | 12 | LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \ |
6 | file://libweston/compositor.c;endline=27;md5=6c53bbbd99273f4f7c4affa855c33c0a" | 13 | file://libweston/compositor.c;endline=27;md5=6c53bbbd99273f4f7c4affa855c33c0a" |
7 | 14 | ||
8 | DEFAULT_PREFERENCE = "-1" | 15 | SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ |
9 | |||
10 | SRCBRANCH = "weston-imx-8.0" | ||
11 | SRC_URI = "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} \ | ||
12 | file://weston.png \ | 16 | file://weston.png \ |
13 | file://weston.desktop \ | 17 | file://weston.desktop \ |
14 | file://xwayland.weston-start \ | 18 | file://xwayland.weston-start \ |
15 | file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ | 19 | file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ |
16 | " | 20 | " |
17 | SRCREV = "f6a7d35650121fbe7c20d4cbe0eaac730fab3b2a" | 21 | SRC_URI[md5sum] = "53e4810d852df0601d01fd986a5b22b3" |
18 | S = "${WORKDIR}/git" | 22 | SRC_URI[sha256sum] = "7518b49b2eaa1c3091f24671bdcc124fd49fc8f1af51161927afa4329c027848" |
19 | 23 | ||
20 | UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" | 24 | UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" |
21 | 25 | ||
22 | inherit meson pkgconfig useradd features_check | 26 | inherit meson pkgconfig useradd features_check |
23 | 27 | # depends on virtual/egl | |
24 | # Disable OpenGL for parts with GPU support for 2D but not 3D | 28 | REQUIRED_DISTRO_FEATURES = "opengl" |
25 | REQUIRED_DISTRO_FEATURES = "opengl" | ||
26 | REQUIRED_DISTRO_FEATURES_imxgpu2d = "" | ||
27 | REQUIRED_DISTRO_FEATURES_imxgpu3d = "opengl" | ||
28 | PACKAGECONFIG_OPENGL = "opengl" | ||
29 | PACKAGECONFIG_OPENGL_imxgpu2d = "" | ||
30 | PACKAGECONFIG_OPENGL_imxgpu3d = "opengl" | ||
31 | 29 | ||
32 | DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg" | 30 | DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg" |
33 | DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" | 31 | DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" |
@@ -39,14 +37,8 @@ EXTRA_OEMESON += "-Dbackend-default=auto -Dbackend-rdp=false -Dpipewire=false" | |||
39 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl clients', '', d)} \ | 37 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl clients', '', d)} \ |
40 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ | 38 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ |
41 | ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \ | 39 | ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \ |
42 | ${@bb.utils.filter('DISTRO_FEATURES', '${PACKAGECONFIG_OPENGL}', d)} \ | ||
43 | ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \ | 40 | ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \ |
44 | launch" | 41 | launch" |
45 | |||
46 | PACKAGECONFIG_remove_imxfbdev = "kms" | ||
47 | PACKAGECONFIG_append_imxfbdev = " fbdev" | ||
48 | PACKAGECONFIG_append_imxgpu = " imxgpu" | ||
49 | PACKAGECONFIG_append_imxgpu2d = " imxg2d" | ||
50 | # | 42 | # |
51 | # Compositor choices | 43 | # Compositor choices |
52 | # | 44 | # |
@@ -82,12 +74,6 @@ PACKAGECONFIG[clients] = "-Dsimple-clients=all -Ddemo-clients=true,-Dsimple-clie | |||
82 | PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer-1.0" | 74 | PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer-1.0" |
83 | # Weston with PAM support | 75 | # Weston with PAM support |
84 | PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam" | 76 | PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam" |
85 | # Weston with i.MX GPU support | ||
86 | PACKAGECONFIG[imxgpu] = "-Dimxgpu=true,-Dimxgpu=false,virtual/egl" | ||
87 | # Weston with i.MX G2D renderer | ||
88 | PACKAGECONFIG[imxg2d] = "-Drenderer-g2d=true,-Drenderer-g2d=false,virtual/libg2d" | ||
89 | # Weston with OpenGL support | ||
90 | PACKAGECONFIG[opengl] = "-Dopengl=true,--Dopengl=false" | ||
91 | 77 | ||
92 | do_install_append() { | 78 | do_install_append() { |
93 | # Weston doesn't need the .la files to load modules, so wipe them | 79 | # Weston doesn't need the .la files to load modules, so wipe them |
@@ -106,9 +92,9 @@ do_install_append() { | |||
106 | install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland | 92 | install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland |
107 | fi | 93 | fi |
108 | 94 | ||
109 | if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then | 95 | if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then |
110 | chmod u+s ${D}${bindir}/weston-launch | 96 | chmod u+s ${D}${bindir}/weston-launch |
111 | fi | 97 | fi |
112 | } | 98 | } |
113 | 99 | ||
114 | PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \ | 100 | PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \ |
@@ -116,7 +102,6 @@ PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', | |||
116 | 102 | ||
117 | FILES_${PN}-dev += "${libdir}/${BPN}/libexec_weston.so" | 103 | FILES_${PN}-dev += "${libdir}/${BPN}/libexec_weston.so" |
118 | FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}" | 104 | FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}" |
119 | FILES_${PN}_append = " ${sysconfdir}/xdg/weston" | ||
120 | 105 | ||
121 | FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so" | 106 | FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so" |
122 | SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'." | 107 | SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'." |
@@ -133,5 +118,49 @@ RRECOMMENDS_${PN}-dev += "wayland-protocols" | |||
133 | USERADD_PACKAGES = "${PN}" | 118 | USERADD_PACKAGES = "${PN}" |
134 | GROUPADD_PARAM_${PN} = "--system weston-launch" | 119 | GROUPADD_PARAM_${PN} = "--system weston-launch" |
135 | 120 | ||
121 | ########### End of OE-core copy ########### | ||
122 | |||
123 | ########### i.MX overrides ################ | ||
124 | |||
125 | SUMMARY = "Weston, a Wayland compositor, i.MX fork" | ||
126 | |||
127 | DEFAULT_PREFERENCE = "-1" | ||
128 | |||
129 | SRCBRANCH = "weston-imx-8.0" | ||
130 | SRC_URI = "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} \ | ||
131 | file://weston.png \ | ||
132 | file://weston.desktop \ | ||
133 | file://xwayland.weston-start \ | ||
134 | file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ | ||
135 | " | ||
136 | SRCREV = "f6a7d35650121fbe7c20d4cbe0eaac730fab3b2a" | ||
137 | S = "${WORKDIR}/git" | ||
138 | |||
139 | # Disable OpenGL for parts with GPU support for 2D but not 3D | ||
140 | REQUIRED_DISTRO_FEATURES = "opengl" | ||
141 | REQUIRED_DISTRO_FEATURES_imxgpu2d = "" | ||
142 | REQUIRED_DISTRO_FEATURES_imxgpu3d = "opengl" | ||
143 | PACKAGECONFIG_OPENGL = "opengl" | ||
144 | PACKAGECONFIG_OPENGL_imxgpu2d = "" | ||
145 | PACKAGECONFIG_OPENGL_imxgpu3d = "opengl" | ||
146 | |||
147 | PACKAGECONFIG_append = " ${@bb.utils.filter('DISTRO_FEATURES', '${PACKAGECONFIG_OPENGL}', d)}" | ||
148 | |||
149 | PACKAGECONFIG_remove_imxfbdev = "kms" | ||
150 | PACKAGECONFIG_append_imxfbdev = " fbdev" | ||
151 | PACKAGECONFIG_append_imxgpu = " imxgpu" | ||
152 | PACKAGECONFIG_append_imxgpu2d = " imxg2d" | ||
153 | |||
154 | # Weston with i.MX GPU support | ||
155 | PACKAGECONFIG[imxgpu] = "-Dimxgpu=true,-Dimxgpu=false,virtual/egl" | ||
156 | # Weston with i.MX G2D renderer | ||
157 | PACKAGECONFIG[imxg2d] = "-Drenderer-g2d=true,-Drenderer-g2d=false,virtual/libg2d" | ||
158 | # Weston with OpenGL support | ||
159 | PACKAGECONFIG[opengl] = "-Dopengl=true,--Dopengl=false" | ||
160 | |||
161 | FILES_${PN}_append = " ${sysconfdir}/xdg/weston" | ||
162 | |||
136 | PACKAGE_ARCH = "${MACHINE_SOCARCH}" | 163 | PACKAGE_ARCH = "${MACHINE_SOCARCH}" |
137 | COMPATIBLE_MACHINE = "(imxfbdev|imxgpu)" | 164 | COMPATIBLE_MACHINE = "(imxfbdev|imxgpu)" |
165 | |||
166 | ########### End of i.MX overrides ######### | ||