diff options
| author | Tom Hochstein <tom.hochstein@nxp.com> | 2020-04-28 09:49:32 -0500 |
|---|---|---|
| committer | Otavio Salvador <otavio@ossystems.com.br> | 2020-04-29 20:04:40 -0300 |
| commit | 809955bb21b0d65c881a5d5d4e559018e76b2d66 (patch) | |
| tree | 6126a3afb5de3c92ddb19c812f7a33a277949ba2 | |
| parent | baccf7c72ceb9cb438f300435a7f6d15a8dd6095 (diff) | |
| download | meta-freescale-809955bb21b0d65c881a5d5d4e559018e76b2d66.tar.gz | |
weston: Restructure recipe for ease of maintanance
Structure the recipe into two sections, the top as a verbatim
copy of the upstream recipe that is the basis, and the bottom
for the i.MX customization.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
| -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 9ebb33179..aa0ea5217 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 ######### | ||
