community/weston to 1.4.0-2.3 (#631)

This commit is contained in:
Kevin Mihelich 2014-04-16 12:51:57 +00:00
parent ba681d97c8
commit 91e71d09af
2 changed files with 65 additions and 3 deletions

View file

@ -8,15 +8,17 @@
pkgname=weston pkgname=weston
pkgver=1.4.0 pkgver=1.4.0
pkgrel=2.2 pkgrel=2.3
pkgdesc='Reference implementation of a Wayland compositor' pkgdesc='Reference implementation of a Wayland compositor'
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
url='http://wayland.freedesktop.org' url='http://wayland.freedesktop.org'
license=('MIT') license=('MIT')
depends=('libxkbcommon' 'libunwind' 'poppler-glib' 'mtdev' 'libxcursor' 'glu' 'pango' 'colord') depends=('libxkbcommon' 'libunwind' 'poppler-glib' 'mtdev' 'libxcursor' 'glu' 'pango' 'colord')
[ "$CARCH" == 'armv6h' ] && makedepends=('raspberrypi-firmware') [ "$CARCH" == 'armv6h' ] && makedepends=('raspberrypi-firmware')
source=("http://wayland.freedesktop.org/releases/$pkgname-$pkgver.tar.xz") source=("http://wayland.freedesktop.org/releases/$pkgname-$pkgver.tar.xz"
sha1sums=('49b0b6d5e2366a7bad5158b29998213e5ca7f254') "rpi.patch")
sha1sums=('49b0b6d5e2366a7bad5158b29998213e5ca7f254'
'0f4f10111d712b07d7f539aee967b991153aec9f')
build() { build() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
@ -24,7 +26,9 @@ build() {
export RPI_BCM_HOST_LIBS="-L/opt/vc/lib" export RPI_BCM_HOST_LIBS="-L/opt/vc/lib"
export RPI_BCM_HOST_CFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux" export RPI_BCM_HOST_CFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux"
export WESTON_NATIVE_BACKEND="rpi-backend.so" export WESTON_NATIVE_BACKEND="rpi-backend.so"
export RPI_COMPOSITOR_LIBS="-ludev -lmtdev -lbcm_host"
CONFIG='--disable-egl' CONFIG='--disable-egl'
patch -p1 -i ../rpi.patch
fi fi
./configure \ ./configure \
--prefix=/usr \ --prefix=/usr \

View file

@ -0,0 +1,58 @@
From bf539e39c15e9a4ef4479d03c52263a3f020ef4a Mon Sep 17 00:00:00 2001
From: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
Date: Mon, 03 Feb 2014 15:57:27 +0000
Subject: compositor-rpi: Fix input initialization
The input initialization code assumes the outputs have already
been initialized; thus create the outputs first. This fixes a
segfault upon startup. It is also what the drm and fbdev backends
do.
---
diff --git a/src/compositor-rpi.c b/src/compositor-rpi.c
index 399090d..e7c0e0d 100644
--- a/src/compositor-rpi.c
+++ b/src/compositor-rpi.c
@@ -527,13 +527,6 @@ rpi_compositor_create(struct wl_display *display, int *argc, char *argv[],
weston_log("Dispmanx planes are %s buffered.\n",
compositor->single_buffer ? "single" : "double");
- if (udev_input_init(&compositor->input,
- &compositor->base,
- compositor->udev, "seat0") != 0) {
- weston_log("Failed to initialize udev input.\n");
- goto out_launcher;
- }
-
for (key = KEY_F1; key < KEY_F9; key++)
weston_compositor_add_key_binding(&compositor->base, key,
MODIFIER_CTRL | MODIFIER_ALT,
@@ -549,19 +542,23 @@ rpi_compositor_create(struct wl_display *display, int *argc, char *argv[],
bcm_host_init();
if (rpi_renderer_create(&compositor->base, &param->renderer) < 0)
- goto out_udev_input;
+ goto out_launcher;
if (rpi_output_create(compositor, param->output_transform) < 0)
goto out_renderer;
+ if (udev_input_init(&compositor->input,
+ &compositor->base,
+ compositor->udev, "seat0") != 0) {
+ weston_log("Failed to initialize udev input.\n");
+ goto out_renderer;
+ }
+
return &compositor->base;
out_renderer:
compositor->base.renderer->destroy(&compositor->base);
-out_udev_input:
- udev_input_destroy(&compositor->input);
-
out_launcher:
weston_launcher_destroy(compositor->base.launcher);
--
cgit v0.9.0.2-2-gbebe