aboutsummaryrefslogtreecommitdiffstats
path: root/meta-ivi/recipes-graphics/wayland
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ivi/recipes-graphics/wayland')
-rw-r--r--meta-ivi/recipes-graphics/wayland/libinput/touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch72
-rw-r--r--meta-ivi/recipes-graphics/wayland/libinput_1.3.0.bb (renamed from meta-ivi/recipes-graphics/wayland/libinput_1.1.1.bb)7
-rw-r--r--meta-ivi/recipes-graphics/wayland/mtdev_1.1.5.bb18
-rw-r--r--meta-ivi/recipes-graphics/wayland/wayland-ivi-extension_1.10.90.bb (renamed from meta-ivi/recipes-graphics/wayland/wayland-ivi-extension_1.9.1.bb)7
-rw-r--r--meta-ivi/recipes-graphics/wayland/wayland-protocols/dont-use-AC_CANONICAL.patch29
-rw-r--r--meta-ivi/recipes-graphics/wayland/wayland-protocols_1.3.bb20
-rw-r--r--meta-ivi/recipes-graphics/wayland/wayland_1.11.0.bb (renamed from meta-ivi/recipes-graphics/wayland/wayland_1.9.0.bb)10
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston-init.bb31
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston-init/init53
-rwxr-xr-xmeta-ivi/recipes-graphics/wayland/weston-init/weston-start74
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston-init/weston.service12
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston/0001-configure.ac-Fix-wayland-protocols-path.patch29
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch174
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston/disable-wayland-scanner-pkg-check.patch17
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston/fix-up-for-signal-11-on-qemux86.patch11
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston/make-lcms-explicitly-configurable.patch43
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston/make-libwebp-explicitly-configurable.patch37
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston/make-weston-launch-exit-for-unrecognized-option.patch33
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston/parallelmake.patch40
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston/xwayland.weston-start7
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston_1.%.bbappend (renamed from meta-ivi/recipes-graphics/wayland/weston_1.9.0.bbappend)0
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston_1.11.0.bb (renamed from meta-ivi/recipes-graphics/wayland/weston_1.9.0.bb)58
22 files changed, 605 insertions, 177 deletions
diff --git a/meta-ivi/recipes-graphics/wayland/libinput/touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch b/meta-ivi/recipes-graphics/wayland/libinput/touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch
new file mode 100644
index 0000000..97c63bd
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/libinput/touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch
@@ -0,0 +1,72 @@
+This is a workaround upstream suggests for use with kernel 4.1.
+
+Upstream-Status: Inappropriate [temporary work-around]
+Signed-Off-By: Jussi Kukkonen <jussi.kukkonen@intel.com>
+
+
+
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon Aug 3 18:23:12 PDT 2015
+Subject: [PATCH v3 libinput] touchpad: serial synaptics need to fake new touches on TRIPLETAP
+
+On the 4.1 kernels synaptics pretends to have 3 slots (the serial fw only does
+2). This was added to avoid cursor jumps but has since been reverted for 4.2
+(kernel commit dbf3c37086, 4.1.3 is still buggy). In some cases a TRIPLETAP
+may be triggered without slot 2 ever activating.
+
+While there are still those kernels out there, work around this bug by opening
+a new touch point where none exists if the fake finger count exceeds the slot
+count.
+
+Reported-by: Jan Alexander Steffens <jan.steffens at gmail.com>
+Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
+Tested-by: Jan Alexander Steffens <jan.steffens at gmail.com>
+Reviewed-by: Hans de Goede <hdegoede at redhat.com>
+---
+Changes to v2:
+- split out the handling instead of having a tmp state variable, see Hans'
+ comments from v2
+
+Mainly sending this to the list again so I have a link to point people to.
+If you're on 4.1.x add this patch to your distribution package.
+
+ src/evdev-mt-touchpad.c | 22 ++++++++++++++++------
+ 1 file changed, 16 insertions(+), 6 deletions(-)
+
+diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c
+index a683d9a..5ef03d5 100644
+--- a/src/evdev-mt-touchpad.c
++++ b/src/evdev-mt-touchpad.c
+@@ -369,13 +369,23 @@ tp_restore_synaptics_touches(struct tp_dispatch *tp,
+ for (i = 0; i < tp->num_slots; i++) {
+ struct tp_touch *t = tp_get_touch(tp, i);
+
+- if (t->state != TOUCH_END)
++ switch(t->state) {
++ case TOUCH_HOVERING:
++ case TOUCH_BEGIN:
++ case TOUCH_UPDATE:
+ continue;
+-
+- /* new touch, move it through begin to update immediately */
+- tp_new_touch(tp, t, time);
+- tp_begin_touch(tp, t, time);
+- t->state = TOUCH_UPDATE;
++ case TOUCH_NONE:
++ /* new touch, move it through to begin immediately */
++ tp_new_touch(tp, t, time);
++ tp_begin_touch(tp, t, time);
++ break;
++ case TOUCH_END:
++ /* touch just ended ,we need need to restore it to update */
++ tp_new_touch(tp, t, time);
++ tp_begin_touch(tp, t, time);
++ t->state = TOUCH_UPDATE;
++ break;
++ }
+ }
+ }
+
+--
+2.4.3
+
diff --git a/meta-ivi/recipes-graphics/wayland/libinput_1.1.1.bb b/meta-ivi/recipes-graphics/wayland/libinput_1.3.0.bb
index 1ab2859..13724d5 100644
--- a/meta-ivi/recipes-graphics/wayland/libinput_1.1.1.bb
+++ b/meta-ivi/recipes-graphics/wayland/libinput_1.3.0.bb
@@ -8,15 +8,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2184aef38ff137ed33ce9a63b9d1eb8f"
DEPENDS = "libevdev udev mtdev"
SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \
+ file://touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch \
"
-SRC_URI[md5sum] = "4a3fc842ac0b7bf0fa306ea7badc31a0"
-SRC_URI[sha256sum] = "2de2b433ddc73ba1bfd4d309fd873d0ced6937cf1a7a94e4afbf18ddd8f8dd17"
+SRC_URI[md5sum] = "5f8bc2c746bfbc9454143f78e5b477a9"
+SRC_URI[sha256sum] = "998a75fb261d161efaa7da44411cdc9a32a953280e4ffc6322ca19f057d0c1ea"
inherit autotools pkgconfig
PACKAGECONFIG ??= ""
PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
+PACKAGECONFIG[libwacom] = "--enable-libwacom,--disable-libwacom,libwacom"
PACKAGECONFIG[gui] = "--enable-event-gui,--disable-event-gui,cairo gtk+3"
FILES_${PN} += "${libdir}/udev/"
-FILES_${PN}-dbg += "${libdir}/udev/.debug"
diff --git a/meta-ivi/recipes-graphics/wayland/mtdev_1.1.5.bb b/meta-ivi/recipes-graphics/wayland/mtdev_1.1.5.bb
new file mode 100644
index 0000000..ccd0ebb
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/mtdev_1.1.5.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Multitouch Protocol Translation Library"
+
+DESCRIPTION = "mtdev is a library which transforms all variants of kernel \
+multitouch events to the slotted type B protocol. The events put into mtdev may \
+be from any MT device, specifically type A without contact tracking, type A with \
+contact tracking, or type B with contact tracking"
+
+HOMEPAGE = "http://bitmath.org/code/mtdev/"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea6bd0268bb0fcd6b27698616ceee5d6"
+
+SRC_URI = "http://bitmath.org/code/${BPN}/${BP}.tar.bz2"
+SRC_URI[md5sum] = "52c9610b6002f71d1642dc1a1cca5ec1"
+SRC_URI[sha256sum] = "6677d5708a7948840de734d8b4675d5980d4561171c5a8e89e54adf7a13eba7f"
+
+inherit autotools pkgconfig
diff --git a/meta-ivi/recipes-graphics/wayland/wayland-ivi-extension_1.9.1.bb b/meta-ivi/recipes-graphics/wayland/wayland-ivi-extension_1.10.90.bb
index f5810be..328d6e7 100644
--- a/meta-ivi/recipes-graphics/wayland/wayland-ivi-extension_1.9.1.bb
+++ b/meta-ivi/recipes-graphics/wayland/wayland-ivi-extension_1.10.90.bb
@@ -5,14 +5,15 @@ BUGTRACKER = "http://bugs.genivi.org/enter_bug.cgi?product=Wayland%20IVI%20Exten
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=176cedb32f48dd58f07e0c1c717b3ea4"
-SRCREV = "44598504503eea5ac7f94c88477a5a78bda01f30"
-SRC_URI = "git://git.projects.genivi.org/${BPN}.git;protocol=http \
+PR = "r1"
+SRCREV = "e232017e0906557f468823505a49e92d4c94591c"
+SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=http \
"
S = "${WORKDIR}/git"
DEPENDS = "weston"
-inherit cmake autotools
+inherit cmake
EXTRA_OECMAKE := "-DWITH_ILM_INPUT=1"
diff --git a/meta-ivi/recipes-graphics/wayland/wayland-protocols/dont-use-AC_CANONICAL.patch b/meta-ivi/recipes-graphics/wayland/wayland-protocols/dont-use-AC_CANONICAL.patch
new file mode 100644
index 0000000..6cc0f3b
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/wayland-protocols/dont-use-AC_CANONICAL.patch
@@ -0,0 +1,29 @@
+Check autoconfs $cross_compiling instead as AC_CANONICAL_HOST call
+will fail if the host cpu is not recognised (which can happen when
+e.g. Yocto builds for "allarch").
+
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Upstream-Status: Backport [cc276dfa41]
+
+diff --git a/configure.ac b/configure.ac
+index 5b48b1a..3d45a4b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -15,13 +15,10 @@ AC_CONFIG_MACRO_DIR([m4])
+
+ AC_SUBST([WAYLAND_PROTOCOLS_VERSION], [wayland_protocols_version])
+
+-AC_CANONICAL_HOST
+-AC_CANONICAL_BUILD
+-
+ AC_ARG_VAR([wayland_scanner], [The wayland-scanner executable])
+ AC_PATH_PROG([wayland_scanner], [wayland-scanner])
+ if test x$wayland_scanner = x; then
+- if test x$host = x$build; then
++ if test "x$cross_compiling" != "xyes"; then
+ PKG_CHECK_MODULES(WAYLAND_SCANNER, [wayland-scanner])
+ wayland_scanner=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`
+ else
+--
+cgit v0.10.2
+
diff --git a/meta-ivi/recipes-graphics/wayland/wayland-protocols_1.3.bb b/meta-ivi/recipes-graphics/wayland/wayland-protocols_1.3.bb
new file mode 100644
index 0000000..86e89b5
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/wayland-protocols_1.3.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Collection of additional Wayland protocols"
+DESCRIPTION = "Wayland protocols that add functionality not \
+available in the Wayland core protocol. Such protocols either add \
+completely new functionality, or extend the functionality of some other \
+protocol either in Wayland core, or some other protocol in \
+wayland-protocols."
+HOMEPAGE = "http://wayland.freedesktop.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
+ file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
+
+SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+ file://dont-use-AC_CANONICAL.patch"
+SRC_URI[md5sum] = "88b5e3dce52908c7e74fad3e2cf8abb0"
+SRC_URI[sha256sum] = "6bcd0633fdf9225ef1c7d2831f542e947f7d79811c79fc37f57b2e5375ded82f"
+
+inherit allarch autotools pkgconfig
+
+PACKAGES = "${PN}"
+FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
diff --git a/meta-ivi/recipes-graphics/wayland/wayland_1.9.0.bb b/meta-ivi/recipes-graphics/wayland/wayland_1.11.0.bb
index 00d2a56..08d2b2c 100644
--- a/meta-ivi/recipes-graphics/wayland/wayland_1.9.0.bb
+++ b/meta-ivi/recipes-graphics/wayland/wayland_1.11.0.bb
@@ -10,17 +10,17 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=b31d8f53b6aaf2b4985d7dd7810a70d1 \
file://src/wayland-server.c;endline=24;md5=b8e046164a766bb1ede8ba38e9dcd7ce"
-SRC_URI = "http://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "5e141b3f2a7005d6c89d6f233c87c317"
-SRC_URI[sha256sum] = "9c8770720aa0034479735f58a4dc4ca9b172ecfede28f5134312e135b7301efa"
+SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "fccf680be066e234729d5b69e0bd0fa9"
+SRC_URI[sha256sum] = "9540925f7928becfdf5e3b84c70757f6589bf1ceef09bea78784d8e4772c0db0"
-EXTRA_OECONF_class-native = "--disable-documentation"
+EXTRA_OECONF_class-native = "--disable-documentation --disable-libraries"
inherit autotools pkgconfig
BBCLASSEXTEND = "native nativesdk"
-DEPENDS = "expat libffi wayland-native"
+DEPENDS = "expat libxml2 libffi wayland-native"
EXTRA_OECONF = "--disable-documentation --with-host-scanner"
diff --git a/meta-ivi/recipes-graphics/wayland/weston-init.bb b/meta-ivi/recipes-graphics/wayland/weston-init.bb
new file mode 100644
index 0000000..291cd16
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/weston-init.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Startup script and systemd unit file for the Weston Wayland compositor"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+
+SRC_URI = "file://init \
+ file://weston.service \
+ file://weston-start"
+
+S = "${WORKDIR}"
+
+do_install() {
+ install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston
+ install -Dm0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service
+
+ # Install weston-start script
+ install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start
+ sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start
+ sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start
+}
+
+inherit allarch update-rc.d distro_features_check systemd
+
+# rdepends on weston which depends on virtual/egl
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+RDEPENDS_${PN} = "weston kbd"
+
+INITSCRIPT_NAME = "weston"
+INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
+
+SYSTEMD_SERVICE_${PN} = "weston.service"
diff --git a/meta-ivi/recipes-graphics/wayland/weston-init/init b/meta-ivi/recipes-graphics/wayland/weston-init/init
new file mode 100644
index 0000000..5c925f4
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/weston-init/init
@@ -0,0 +1,53 @@
+#!/bin/sh
+#
+### BEGIN INIT INFO
+# Provides: weston
+# Required-Start: $local_fs $remote_fs
+# Required-Stop: $local_fs $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+### END INIT INFO
+
+if test -e /etc/default/weston ; then
+ . /etc/default/weston
+fi
+
+killproc() {
+ pid=`/bin/pidof $1`
+ [ "$pid" != "" ] && kill $pid
+}
+
+read CMDLINE < /proc/cmdline
+for x in $CMDLINE; do
+ case $x in
+ weston=false)
+ echo "Weston disabled"
+ exit 0;
+ ;;
+ esac
+done
+
+case "$1" in
+ start)
+ . /etc/profile
+
+ weston-start -s -- $OPTARGS
+ ;;
+
+ stop)
+ echo "Stopping Weston"
+ killproc weston
+ ;;
+
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+
+ *)
+ echo "usage: $0 { start | stop | restart }"
+ ;;
+esac
+
+exit 0
diff --git a/meta-ivi/recipes-graphics/wayland/weston-init/weston-start b/meta-ivi/recipes-graphics/wayland/weston-init/weston-start
new file mode 100755
index 0000000..5b7604f
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/weston-init/weston-start
@@ -0,0 +1,74 @@
+#!/bin/sh
+# Copyright (C) 2016 O.S. Systems Software LTDA.
+
+export PATH="/sbin:/usr/sbin:/bin:/usr/bin"
+
+usage() {
+ cat <<EOF
+ $0 <openvt arguments> -- <weston options>
+EOF
+}
+
+## Module support
+modules_dir=@DATADIR@/weston-start
+
+# Add weston extra argument
+add_weston_argument() {
+ weston_args="$weston_args $1"
+}
+
+# Add openvt extra argument
+add_openvt_argument() {
+ openvt_args="$openvt_args $1"
+}
+
+if test $# -lt 2; then
+ usage
+ exit 1
+fi
+
+if [ -n "$WAYLAND_DISPLAY" ]; then
+ echo "ERROR: A Wayland compositor is already running, nested Weston instance is not supported yet."
+ exit 1
+fi
+if [ -n "$DISPLAY" ]; then
+ launcher="weston"
+else
+ launcher="weston-launch --"
+fi
+
+openvt_args=""
+while [ -n "$1" ]; do
+ openvt_args="$openvt_args $1"
+ shift
+
+ if [ "$1" = "--" ]; then
+ shift
+ break
+ fi
+done
+
+weston_args=$*
+
+# Load and run modules
+if [ -d "$modules_dir" ]; then
+ for m in "$modules_dir"/*; do
+ # Skip backup files
+ if [ "`echo $m | sed -e 's/\~$//'`" != "$m" ]; then
+ continue
+ fi
+
+ # process module
+ . $m
+ done
+fi
+
+if test -z "$XDG_RUNTIME_DIR"; then
+ export XDG_RUNTIME_DIR=/run/user/`id -u`
+ if ! test -d "$XDG_RUNTIME_DIR"; then
+ mkdir --parents $XDG_RUNTIME_DIR
+ chmod 0700 $XDG_RUNTIME_DIR
+ fi
+fi
+
+exec openvt $openvt_args -- $launcher $weston_args --log=@LOCALSTATEDIR@/log/weston.log
diff --git a/meta-ivi/recipes-graphics/wayland/weston-init/weston.service b/meta-ivi/recipes-graphics/wayland/weston-init/weston.service
new file mode 100644
index 0000000..689ce41
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/weston-init/weston.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Weston Wayland Compositor
+RequiresMountsFor=/run
+
+[Service]
+User=root
+EnvironmentFile=-/etc/default/weston
+ExecStart=/usr/bin/weston-start -v -e -- $OPTARGS
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/meta-ivi/recipes-graphics/wayland/weston/0001-configure.ac-Fix-wayland-protocols-path.patch b/meta-ivi/recipes-graphics/wayland/weston/0001-configure.ac-Fix-wayland-protocols-path.patch
new file mode 100644
index 0000000..bb1f1ef
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/weston/0001-configure.ac-Fix-wayland-protocols-path.patch
@@ -0,0 +1,29 @@
+From 1cfc1434a5d385a74de593ec7601674dba39e2fe Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Wed, 11 May 2016 16:16:30 +0300
+Subject: [PATCH] configure.ac: Fix wayland-protocols path
+
+The wayland-protocols directory is used during build: Fix the path
+to point to sysroot specified in recipe.
+
+Normally PKG_CONFIG_SYSROOT_DIR could be used in configure.ac but that
+breaks multilib weston as it would point to multilib sysroot when the
+(allarch) wayland-protocols is actually in the machine sysroot.
+
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Upstream-Status: Inappropriate [embedded specific]
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/configure.ac.orig 2016-06-30 18:28:23.586978429 +0900
++++ a/configure.ac 2016-06-30 18:19:28.526994269 +0900
+@@ -187,7 +187,7 @@
+ PKG_CHECK_MODULES(COMPOSITOR, [$COMPOSITOR_MODULES])
+
+ PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.2],
+- [ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`])
++ [ac_wayland_protocols_pkgdatadir=${WAYLAND_PROTOCOLS_SYSROOT_DIR}`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`])
+ AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, $ac_wayland_protocols_pkgdatadir)
+
+ AC_ARG_ENABLE(wayland-compositor, [ --enable-wayland-compositor],,
diff --git a/meta-ivi/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/meta-ivi/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
new file mode 100644
index 0000000..6bdd0c5
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
@@ -0,0 +1,174 @@
+From 228349e796e9baa86f2ba8232c730c18ac41283d Mon Sep 17 00:00:00 2001
+From: Tom Hochstein <tom.hochstein@nxp.com>
+Date: Fri, 13 May 2016 09:31:55 -0500
+Subject: [PATCH weston] weston-launch: Provide a default version that doesn't
+ require PAM
+
+weston-launch requires PAM for starting weston as a non-root user.
+
+Since starting weston as root is a valid use case by itself, if
+PAM is not available, provide a default version of weston-launch
+without non-root-user support.
+
+Upstream-Status: Pending
+
+Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
+---
+ Makefile.am | 3 ---
+ configure.ac | 12 +++++++-----
+ src/weston-launch.c | 20 ++++++++++++++++++++
+ 3 files changed, 27 insertions(+), 8 deletions(-)
+
+--- a/configure.ac.orig 2016-06-30 18:30:49.058974122 +0900
++++ a/configure.ac 2016-06-30 18:34:39.046967314 +0900
+@@ -418,11 +418,12 @@
+
+ AC_ARG_ENABLE(weston-launch, [ --enable-weston-launch],, enable_weston_launch=yes)
+ AM_CONDITIONAL(BUILD_WESTON_LAUNCH, test x$enable_weston_launch == xyes)
+-if test x$enable_weston_launch == xyes; then
++if test x$enable_weston_launch == xyes -a x$with_pam = xyes; then
+ WESTON_SEARCH_LIBS([PAM], [pam], [pam_open_session], [have_pam=yes], [have_pam=no])
+ if test x$have_pam == xno; then
+- AC_ERROR([weston-launch requires pam])
++ AC_ERROR([PAM support is explicitly requested, but libpam couldn't be found])
+ fi
++ AC_DEFINE([HAVE_PAM], [1], [Define if PAM is available])
+ fi
+
+ AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes")
+@@ -519,6 +520,9 @@
+ AS_IF([test "x$have_systemd_login_209" = "xyes"],
+ [AC_DEFINE([HAVE_SYSTEMD_LOGIN_209], [1], [Have systemd-login >= 209])])
+
++AC_ARG_WITH(pam,
++ AS_HELP_STRING([--with-pam], [Use PAM]),
++ [use_pam=$withval], [use_pam=yes])
+
+ # Note that other features might want libxml2, or this feature might use
+ # alternative xml libraries at some point. Therefore the feature and
+@@ -673,6 +677,7 @@
+ Enable developer documentation ${enable_devdocs}
+
+ weston-launch utility ${enable_weston_launch}
++ PAM support ${with_pam}
+ systemd-login support ${have_systemd_login}
+ systemd notify support ${enable_systemd_notify}
+
+--- a/src/weston-launch.c.orig 2016-06-30 18:35:00.702966673 +0900
++++ a/src/weston-launch.c 2016-06-30 18:38:29.186960500 +0900
+@@ -51,7 +51,9 @@
+
+ #include <pwd.h>
+ #include <grp.h>
++#ifdef HAVE_PAM
+ #include <security/pam_appl.h>
++#endif
+
+ #ifdef HAVE_SYSTEMD_LOGIN
+ #include <systemd/sd-login.h>
+@@ -93,8 +95,10 @@
+ #endif
+
+ struct weston_launch {
++#ifdef HAVE_PAM
+ struct pam_conv pc;
+ pam_handle_t *ph;
++#endif
+ int tty;
+ int ttynr;
+ int sock[2];
+@@ -181,6 +185,7 @@
+ return false;
+ }
+
++#ifdef HAVE_PAM
+ static int
+ pam_conversation_fn(int msg_count,
+ const struct pam_message **messages,
+@@ -221,6 +226,7 @@
+
+ return 0;
+ }
++#endif
+
+ static int
+ setup_launcher_socket(struct weston_launch *wl)
+@@ -414,6 +420,7 @@
+ close(wl->signalfd);
+ close(wl->sock[0]);
+
++#ifdef HAVE_PAM
+ if (wl->new_user) {
+ err = pam_close_session(wl->ph, 0);
+ if (err)
+@@ -421,6 +428,7 @@
+ err, pam_strerror(wl->ph, err));
+ pam_end(wl->ph, err);
+ }
++#endif
+
+ if (ioctl(wl->tty, KDSKBMUTE, 0) &&
+ ioctl(wl->tty, KDSKBMODE, wl->kb_mode))
+@@ -600,6 +608,7 @@
+ setenv("HOME", wl->pw->pw_dir, 1);
+ setenv("SHELL", wl->pw->pw_shell, 1);
+
++#ifdef HAVE_PAM
+ env = pam_getenvlist(wl->ph);
+ if (env) {
+ for (i = 0; env[i]; ++i) {
+@@ -608,6 +617,7 @@
+ }
+ free(env);
+ }
++#endif
+ }
+
+ static void
+@@ -665,7 +675,9 @@
+ help(const char *name)
+ {
+ fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name);
++#ifdef HAVE_PAM
+ fprintf(stderr, " -u, --user Start session as specified username\n");
++#endif
+ fprintf(stderr, " -t, --tty Start session on alternative tty\n");
+ fprintf(stderr, " -v, --verbose Be verbose\n");
+ fprintf(stderr, " -h, --help Display this help message\n");
+@@ -678,7 +690,9 @@
+ int i, c;
+ char *tty = NULL;
+ struct option opts[] = {
++#ifdef HAVE_PAM
+ { "user", required_argument, NULL, 'u' },
++#endif
+ { "tty", required_argument, NULL, 't' },
+ { "verbose", no_argument, NULL, 'v' },
+ { "help", no_argument, NULL, 'h' },
+@@ -690,9 +704,13 @@
+ while ((c = getopt_long(argc, argv, "u:t::vh", opts, &i)) != -1) {
+ switch (c) {
+ case 'u':
++#ifdef HAVE_PAM
+ wl.new_user = optarg;
+ if (getuid() != 0)
+ error(1, 0, "Permission denied. -u allowed for root only");
++#else
++ error(1, 0, "-u is unsupported in this weston-launch build");
++#endif
+ break;
+ case 't':
+ tty = optarg;
+@@ -729,9 +747,11 @@
+
+ if (setup_tty(&wl, tty) < 0)
+ exit(EXIT_FAILURE);
+-
++
++#ifdef HAVE_PAM
+ if (wl.new_user && setup_pam(&wl) < 0)
+ exit(EXIT_FAILURE);
++#endif
+
+ if (setup_launcher_socket(&wl) < 0)
+ exit(EXIT_FAILURE);
diff --git a/meta-ivi/recipes-graphics/wayland/weston/disable-wayland-scanner-pkg-check.patch b/meta-ivi/recipes-graphics/wayland/weston/disable-wayland-scanner-pkg-check.patch
deleted file mode 100644
index 68ba38b..0000000
--- a/meta-ivi/recipes-graphics/wayland/weston/disable-wayland-scanner-pkg-check.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac
-+++ git/configure.ac
-@@ -501,12 +501,6 @@ if test "x$have_lcms" = xyes; then
- fi
- AM_CONDITIONAL(HAVE_LCMS, [test "x$have_lcms" = xyes])
-
--AC_PATH_PROG([wayland_scanner], [wayland-scanner])
--if test x$wayland_scanner = x; then
-- PKG_CHECK_MODULES(WAYLAND_SCANNER, [wayland-scanner])
-- wayland_scanner=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`
--fi
--
- AC_CONFIG_FILES([Makefile src/version.h src/weston.pc])
-
- AM_CONDITIONAL([HAVE_GIT_REPO], [test -f $srcdir/.git/logs/HEAD])
diff --git a/meta-ivi/recipes-graphics/wayland/weston/fix-up-for-signal-11-on-qemux86.patch b/meta-ivi/recipes-graphics/wayland/weston/fix-up-for-signal-11-on-qemux86.patch
deleted file mode 100644
index a146708..0000000
--- a/meta-ivi/recipes-graphics/wayland/weston/fix-up-for-signal-11-on-qemux86.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/clients/ivi-shell-user-interface.c 2015-08-08 04:01:22.000000000 +0900
-+++ b/clients/ivi-shell-user-interface.c 2015-11-13 19:26:38.844430385 +0900
-@@ -21,6 +21,8 @@
- * DEALINGS IN THE SOFTWARE.
- */
-
-+#include "config.h"
-+
- #include <sys/wait.h>
- #include <unistd.h>
- #include <stdlib.h>
diff --git a/meta-ivi/recipes-graphics/wayland/weston/make-lcms-explicitly-configurable.patch b/meta-ivi/recipes-graphics/wayland/weston/make-lcms-explicitly-configurable.patch
deleted file mode 100644
index 35e6d6f..0000000
--- a/meta-ivi/recipes-graphics/wayland/weston/make-lcms-explicitly-configurable.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-weston-1.5.0/configure.ac: make lcms explicitly configurable
-
-The lcms package is outside of openembedded-core, so make it
-explicitly configurable. Make it deterministic, so that if lcms
-dependencies are missing, autoconf throws a fatal error. Follow
-upstream style to make it more likely to be merged.
-
-Upstream-Status: Pending
-
-Index: weston-1.5.0/configure.ac
-===================================================================
---- weston-1.5.0.orig/configure.ac
-+++ weston-1.5.0/configure.ac
-@@ -491,12 +491,24 @@ AC_ARG_ENABLE(demo-clients-install,
- enable_demo_clients_install=no)
- AM_CONDITIONAL(INSTALL_DEMO_CLIENTS, [test "x$enable_demo_clients_install" = "xyes"])
-
--PKG_CHECK_MODULES(LCMS, lcms2,
-- [have_lcms=yes], [have_lcms=no])
--if test "x$have_lcms" = xyes; then
-- AC_DEFINE(HAVE_LCMS, 1, [Have lcms support])
-+AC_ARG_ENABLE(lcms,
-+ AS_HELP_STRING([--disable-lcms],
-+ [Disable lcms support]),,
-+ enable_lcms=auto)
-+AM_CONDITIONAL(HAVE_LCMS, [test "x$enable_lcms" = xyes])
-+if test "x$enable_lcms" != "xno"; then
-+ PKG_CHECK_MODULES(LCMS,
-+ lcms2,
-+ [have_lcms=yes],
-+ [have_lcms=no])
-+ if test "x$have_lcms" = "xno" -a "x$enable_lcms" = "xyes"; then
-+ AC_MSG_ERROR([lcms support explicitly requested, but lcms couldn't be found])
-+ fi
-+ if test "x$have_lcms" = "xyes"; then
-+ enable_lcms=yes
-+ AC_DEFINE(HAVE_LCMS, 1, [Have lcms support])
-+ fi
- fi
--AM_CONDITIONAL(HAVE_LCMS, [test "x$have_lcms" = xyes])
-
- AC_PATH_PROG([wayland_scanner], [wayland-scanner])
- if test x$wayland_scanner = x; then
diff --git a/meta-ivi/recipes-graphics/wayland/weston/make-libwebp-explicitly-configurable.patch b/meta-ivi/recipes-graphics/wayland/weston/make-libwebp-explicitly-configurable.patch
deleted file mode 100644
index ad07d4f..0000000
--- a/meta-ivi/recipes-graphics/wayland/weston/make-libwebp-explicitly-configurable.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-
-The libwebp package is outside of openembedded-core, so make it
-explicitly configurable. Make it deterministic, so that if libwebp
-dependencies are missing, autoconf throws a fatal error.
-
-Upstream-Status: Pending
-
-Index: weston-1.5.0/configure.ac
-===================================================================
---- weston-1.5.0.orig/configure.ac
-+++ weston-1.5.0/configure.ac
-@@ -268,9 +268,22 @@ fi
-
- PKG_CHECK_MODULES(PIXMAN, [pixman-1])
- PKG_CHECK_MODULES(PNG, [libpng])
--PKG_CHECK_MODULES(WEBP, [libwebp], [have_webp=yes], [have_webp=no])
--AS_IF([test "x$have_webp" = "xyes"],
-- [AC_DEFINE([HAVE_WEBP], [1], [Have webp])])
-+AC_ARG_ENABLE(webp,
-+ AS_HELP_STRING([--disable-webp],
-+ [Disable libwebp support]),,
-+ enable_webp=auto)
-+AM_CONDITIONAL(HAVE_WEBP, [test "x$enable_webp" = xyes])
-+AS_IF([test "x$enable_webp" != "xno"],
-+ PKG_CHECK_MODULES(WEBP,
-+ [libwebp],
-+ [have_webp=yes],
-+ [have_webp=no])
-+ AS_IF([test "x$have_webp" = "xno" -a "x$enable_webp" = "xyes"],
-+ AC_MSG_ERROR([libwebp support explicitly request, but lipwebp could not be found]))
-+ AS_IF([test "x$have_webp" = "xyes"],
-+ [enable_webp=yes]
-+ [AC_DEFINE([HAVE_WEBP], [1], [Have webp])])
-+)
-
- AC_ARG_ENABLE(vaapi-recorder, [ --enable-vaapi-recorder],,
- enable_vaapi_recorder=auto)
diff --git a/meta-ivi/recipes-graphics/wayland/weston/make-weston-launch-exit-for-unrecognized-option.patch b/meta-ivi/recipes-graphics/wayland/weston/make-weston-launch-exit-for-unrecognized-option.patch
new file mode 100644
index 0000000..25c8683
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/weston/make-weston-launch-exit-for-unrecognized-option.patch
@@ -0,0 +1,33 @@
+From e8b615250f700f7854b423aaaf0a0aeea92c05a9 Mon Sep 17 00:00:00 2001
+From: Tom Hochstein <tom.hochstein@nxp.com>
+Date: Sat, 7 May 2016 08:51:58 -0300
+Subject: [PATCH] weston-launch: Handle invalid command line options
+Organization: O.S. Systems Software LTDA.
+
+Exit the program if an unrecognized command line option is found.
+
+Upstream-Status: Submitted
+
+Signed-off-by; Tom Hochstein <tom.hochstein@nxp.com>
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+
+ src/weston-launch.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/weston-launch.c b/src/weston-launch.c
+index b8dfb17..9987d8e 100644
+--- a/src/weston-launch.c
++++ b/src/weston-launch.c
+@@ -703,6 +703,8 @@ main(int argc, char *argv[])
+ case 'h':
+ help("weston-launch");
+ exit(EXIT_FAILURE);
++ default:
++ exit(EXIT_FAILURE);
+ }
+ }
+
+--
+2.8.2
+
diff --git a/meta-ivi/recipes-graphics/wayland/weston/parallelmake.patch b/meta-ivi/recipes-graphics/wayland/weston/parallelmake.patch
deleted file mode 100644
index 42b5efb..0000000
--- a/meta-ivi/recipes-graphics/wayland/weston/parallelmake.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Backport two patches from upstream to fix parallel builds
-
-- mkdir races (2eff22b8e6f6e5255a1915c33dfd91cecf02cbbc)
-- weston.desktop race (315476fa7b1f1c44c1b35116036df54ac5cb9a03)
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/Makefile.am b/Makefile.am
-index 5819b19..ff13b19 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -20,7 +20,7 @@ weston.ini : $(srcdir)/weston.ini.in
- $< > $@
-
- ivi-shell/weston.ini : $(srcdir)/ivi-shell/weston.ini.in
-- $(AM_V_GEN)$(SED) \
-+ $(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(SED) \
- -e 's|@bindir[@]|$(bindir)|g' \
- -e 's|@abs_top_builddir[@]|$(abs_top_builddir)|g' \
- -e 's|@abs_top_srcdir[@]|$(abs_top_srcdir)|g' \
-@@ -29,7 +29,7 @@ ivi-shell/weston.ini : $(srcdir)/ivi-shell/weston.ini.in
- $< > $@
-
- tests/weston-ivi.ini : $(srcdir)/ivi-shell/weston.ini.in
-- $(AM_V_GEN)$(SED) \
-+ $(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(SED) \
- -e 's|@bindir[@]|$(bindir)|g' \
- -e 's|@abs_top_builddir[@]|$(abs_top_builddir)|g' \
- -e 's|@abs_top_srcdir[@]|$(abs_top_srcdir)|g' \
-@@ -179,8 +179,7 @@ pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = src/weston.pc
-
- wayland_sessiondir = $(datadir)/wayland-sessions
--wayland_session_DATA = src/weston.desktop
--dist_wayland_session_DATA = $(wayland_session_DATA)
-+dist_wayland_session_DATA = src/weston.desktop
-
- westonincludedir = $(includedir)/weston
- westoninclude_HEADERS = \
diff --git a/meta-ivi/recipes-graphics/wayland/weston/xwayland.weston-start b/meta-ivi/recipes-graphics/wayland/weston/xwayland.weston-start
new file mode 100644
index 0000000..b483c97
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/weston/xwayland.weston-start
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if type Xwayland >/dev/null 2>/dev/null; then
+ mkdir -p /tmp/.X11-unix
+
+ add_weston_argument "--modules=xwayland.so"
+fi
diff --git a/meta-ivi/recipes-graphics/wayland/weston_1.9.0.bbappend b/meta-ivi/recipes-graphics/wayland/weston_1.%.bbappend
index ecb4099..ecb4099 100644
--- a/meta-ivi/recipes-graphics/wayland/weston_1.9.0.bbappend
+++ b/meta-ivi/recipes-graphics/wayland/weston_1.%.bbappend
diff --git a/meta-ivi/recipes-graphics/wayland/weston_1.9.0.bb b/meta-ivi/recipes-graphics/wayland/weston_1.11.0.bb
index fb89288..391a3f1 100644
--- a/meta-ivi/recipes-graphics/wayland/weston_1.9.0.bb
+++ b/meta-ivi/recipes-graphics/wayland/weston_1.11.0.bb
@@ -3,32 +3,33 @@ DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
HOMEPAGE = "http://wayland.freedesktop.org"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
- file://src/compositor.c;endline=26;md5=e342df749174a8ee11065583157c7a38"
+ file://src/compositor.c;endline=23;md5=1d535fed266cf39f6d8c0647f52ac331"
-SRC_URI = "http://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
file://weston.png \
file://weston.desktop \
- file://make-lcms-explicitly-configurable.patch \
- file://make-libwebp-explicitly-configurable.patch \
file://0001-make-error-portable.patch \
- file://fix-up-for-signal-11-on-qemux86.patch \
+ file://0001-configure.ac-Fix-wayland-protocols-path.patch \
+ file://xwayland.weston-start \
+ file://make-weston-launch-exit-for-unrecognized-option.patch \
+ file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
"
-SRC_URI[md5sum] = "66bbba12f546570b4d97f676bc79a28e"
-SRC_URI[sha256sum] = "9c1b03f3184fa0b0dfdf67e215048085156e1a2ca344af6613fed36794ac48cf"
+SRC_URI[md5sum] = "bc6f90a2039163804aecfa663b69c4c2"
+SRC_URI[sha256sum] = "05e086e9f186a06843b9f7a5e1abf19347b1a6e4be26d7e74927abc17b6b7125"
-inherit autotools pkgconfig useradd
+inherit autotools pkgconfig useradd distro_features_check
+# depends on virtual/egl
+REQUIRED_DISTRO_FEATURES = "opengl"
DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg"
-DEPENDS += "wayland libinput virtual/egl pango"
+DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native"
EXTRA_OECONF = "--enable-setuid-install \
- --disable-xwayland \
- --enable-simple-clients \
- --enable-clients \
- --enable-demo-clients-install \
--disable-rpi-compositor \
--disable-rdp-compositor \
+ WAYLAND_PROTOCOLS_SYSROOT_DIR=${STAGING_DIR}/${MACHINE} \
"
+EXTRA_OECONF[vardepsexclude] = "MACHINE"
EXTRA_OECONF_append_qemux86 = "\
WESTON_NATIVE_BACKEND=fbdev-backend.so \
@@ -38,8 +39,10 @@ EXTRA_OECONF_append_qemux86-64 = "\
"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'launch', '', d)} \
- "
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+ clients launch"
#
# Compositor choices
#
@@ -54,7 +57,7 @@ PACKAGECONFIG[headless] = "--enable-headless-compositor,--disable-headless-compo
# Weston on framebuffer
PACKAGECONFIG[fbdev] = "--enable-fbdev-compositor,--disable-fbdev-compositor,udev mtdev"
# weston-launch
-PACKAGECONFIG[launch] = "--enable-weston-launch,--disable-weston-launch,libpam drm"
+PACKAGECONFIG[launch] = "--enable-weston-launch,--disable-weston-launch,drm"
# VA-API desktop recorder
PACKAGECONFIG[vaapi] = "--enable-vaapi-recorder,--disable-vaapi-recorder,libva"
# Weston with EGL support
@@ -64,9 +67,19 @@ PACKAGECONFIG[cairo-glesv2] = "--with-cairo-glesv2,--with-cairo=image,cairo"
# Weston with lcms support
PACKAGECONFIG[lcms] = "--enable-lcms,--disable-lcms,lcms"
# Weston with webp support
-PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
+PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
# Weston with unwinding support
PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind"
+# Weston with systemd-login support
+PACKAGECONFIG[systemd] = "--enable-systemd-login,--disable-systemd-login,systemd dbus"
+# Weston with Xwayland support (requires X11 and Wayland)
+PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland"
+# colord CMS support
+PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord"
+# Clients support
+PACKAGECONFIG[clients] = "--enable-clients --enable-simple-clients --enable-demo-clients-install,--disable-clients --disable-simple-clients"
+# Weston with PAM support
+PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
do_install_append() {
# Weston doesn't need the .la files to load modules, so wipe them
@@ -79,16 +92,25 @@ do_install_append() {
install -d ${D}${datadir}/icons/hicolor/48x48/apps
install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps
- fi
+ fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
+ install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland
+ fi
}
+PACKAGE_BEFORE_PN += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)}"
PACKAGES += "${PN}-examples"
FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}"
FILES_${PN}-examples = "${bindir}/*"
+FILES_${PN}-xwayland = "${libdir}/${BPN}/xwayland.so"
+RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland"
+
RDEPENDS_${PN} += "xkeyboard-config"
RRECOMMENDS_${PN} = "liberation-fonts"
+RRECOMMENDS_${PN}-dev += "wayland-protocols"
USERADD_PACKAGES = "${PN}"
GROUPADD_PARAM_${PN} = "--system weston-launch"