wayland+weston: bump to 1.4.0
v2 cover wayland+weston: bump to 1.4.0
From: "Yann E. MORIN" <[email protected]>
Hello All!
Here is a small series that bumps wayland and weston to the latest and greatest 1.4.0
Note that the weston's rpi-backend is currently broken, so it is marked accordingly.
Changes v1 -> v2:
- remove wayland's DTD from target/ (Thomas)
Regards,
Yann E. MORIN.
----------------------------------------------------------------
Yann E. MORIN (3):
package/wayland: bump to 1.4.0
package/wayland: build a host variant
package/weston: bump to 1.4.0
package/wayland/wayland.mk | 27 +++++--- package/weston/Config.in | 1 + ...eston-0000-dont-leak-fd-on-launcher-error.patch | 77 ---------------------- .../weston-0001-enable-build-without-libdrm.patch | 45 ------------- ...on-0002-fbdev-fix-compilation-without-EGL.patch | 29 -------- package/weston/weston-0003-dont-build-tests.patch | 15 ++--- ...weston-0004-fbdev-open-launcher-only-once.patch | 46 ------------- package/weston/weston.mk | 3 +- 8 files changed, 28 insertions(+), 215 deletions(-) delete mode 100644 package/weston/weston-0000-dont-leak-fd-on-launcher-error.patch delete mode 100644 package/weston/weston-0001-enable-build-without-libdrm.patch delete mode 100644 package/weston/weston-0002-fbdev-fix-compilation-without-EGL.patch delete mode 100644 package/weston/weston-0004-fbdev-open-launcher-only-once.patch
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v2 1/3 package/wayland: bump to 1.4.0
From: "Yann E. MORIN" <[email protected]>
--- package/wayland/wayland.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/wayland/wayland.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -WAYLAND_VERSION = 1.3.0 +WAYLAND_VERSION = 1.4.0 WAYLAND_SITE = http://wayland.freedesktop.org/releases/ WAYLAND_SOURCE = wayland-$(WAYLAND_VERSION).tar.xz WAYLAND_LICENSE = MIT
Signature · 1 line
1.8.1.2
PATCH v2 2/3 package/wayland: build a host variant
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
Starting with 1.4.0, weston requires wayland-scanner to build its DT So far, we got away with just hand-building wayland-scanner, and made that available in HOST_DIR/usr/bin
But now, weston also requires wayland's DTD, which we did not care of in our dirty little hack.
So, the best solution is to just build a host-variant of wayland, so we get both wayland-scanner, and the DTD.
But then, we do not build the target wayland-scanner (he, wayland tries to run it at build time...). So it is a matter of just tweaking a little bit the host .pc file (which weston uses to find wayland-scanner, sigh...) and fake it as a target .pc file.
---
Changes v1->V2
- remove DTD on target (Thomas)
--- package/wayland/wayland.mk | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-)
package/wayland/wayland.mk +17 -8
@@ -11,7 +11,8 @@ WAYLAND_LICENSE = MIT WAYLAND_LICENSE_FILES = COPYING WAYLAND_INSTALL_STAGING = YES -WAYLAND_DEPENDENCIES = libffi host-pkgconf expat host-expat +WAYLAND_DEPENDENCIES = libffi host-pkgconf host-wayland expat host-expat +HOST_WAYLAND_DEPENDENCIES = host-libffi host-pkgconf host-expat # wayland needs a wayland-scanner program to generate some of its # source code. By default, it builds it with CC, so it doesn't work with
@@ -19,14 +20,22 @@ WAYLAND_DEPENDENCIES = libffi host-pkgconf expat host-expat # that the tool is already available. WAYLAND_CONF_OPT = --disable-scanner -define WAYLAND_BUILD_SCANNER - (cd $(@D)/src/; \ - $(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS) \ - -o wayland-scanner scanner.c wayland-util.c -lexpat; \ - $(INSTALL) -m 0755 -D wayland-scanner \ - $(HOST_DIR)/usr/bin/wayland-scanner) +# And we must provide a specialy-crafted wayland-scanner .pc file +# which we vampirise and adapt from the host-wayland copy +define WAYLAND_SCANNER_PC + $(INSTALL) -m 0644 -D $(HOST_DIR)/usr/share/pkgconfig/wayland-scanner.pc \ + $(STAGING_DIR)/usr/lib/pkgconfig/wayland-scanner.pc + $(SED) 's:^prefix=.*:prefix=/usr:' \ + -e 's:^wayland_scanner=.*:wayland_sanner=$(HOST_DIR)/usr/bin/wayland-scanner:' \ + $(STAGING_DIR)/usr/lib/pkgconfig/wayland-scanner.pc endef +WAYLAND_POST_INSTALL_STAGING_HOOKS += WAYLAND_SCANNER_PC -WAYLAND_POST_CONFIGURE_HOOKS += WAYLAND_BUILD_SCANNER +# Remove the DTD from the target, it's not needed at runtime +define WAYLAND_TARGET_CLEANUP + rm -rf $(TARGET_DIR)/usr/share/wayland +endef +WAYLAND_POST_INSTALL_TARGET_HOOKS += WAYLAND_TARGET_CLEANUP $(eval $(autotools-package)) +$(eval $(host-autotools-package))
Signature · 1 line
1.8.1.2
PATCH 2/3 package/wayland: build a host variant
Quoted 32 lines · Yann E. MORIN
From: "Yann E. MORIN" <[email protected]>
Starting with 1.4.0, weston requires wayland-scanner to build its DT So far, we got away with just hand-building wayland-scanner, and made that available in HOST_DIR/usr/bin
But now, weston also requires wayland's DTD, which we did not care of in our dirty little hack.
So, the best solution is to just build a host-variant of wayland, so we get both wayland-scanner, and the DTD.
But then, we do not build the target wayland-scanner (he, wayland tries to run it at build time...). So it is a matter of just tweaking a little bit the host .pc file (which weston uses to find wayland-scanner, sigh...) and fake it as a target .pc file.
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>---
Changesv1->V2
- remove DTD on target (Thomas)--- package/wayland/wayland.mk | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-)package/wayland/wayland.mk +0
-0
package/wayland/wayland.mk WAYLAND_LICENSE = MIT · line 15
Quoted 6 lines
package/wayland/wayland.mk +2
-1@@ -11,7 +11,8 @@ WAYLAND_LICENSE = MIT WAYLAND_LICENSE_FILES = COPYING WAYLAND_INSTALL_STAGING = YES -WAYLAND_DEPENDENCIES = libffi host-pkgconf expat host-expat +WAYLAND_DEPENDENCIES = libffi host-pkgconf host-wayland expat host-expat +HOST_WAYLAND_DEPENDENCIES = host-libffi host-pkgconf host-expat
The automatic dependencies work here, right? So this is redundant.
package/wayland/wayland.mk WAYLAND_DEPENDENCIES = libffi host-pkgconf expat host-expat · line 21
Quoted 6 lines
package/wayland/wayland.mk +0
-0# wayland needs a wayland-scanner program to generate some of its # source code. By default, it builds it with CC, so it doesn't work with@@ -19,14 +20,22 @@ WAYLAND_DEPENDENCIES = libffi host-pkgconf expat host-expat # that the tool is already available. WAYLAND_CONF_OPT = --disable-scanner
Seems to me that this entire comment has become redundant. Instead, you
can say
# wayland-scanner is only needed for building, not on the target WAYLAND_CONF_OPT = --disable-scanner
package/wayland/wayland.mk WAYLAND_DEPENDENCIES = libffi host-pkgconf expat host-expat · line 23
Quoted 8 lines
package/wayland/wayland.mk +1
-6-define WAYLAND_BUILD_SCANNER - (cd $(@D)/src/; \ - $(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS) \ - -o wayland-scanner scanner.c wayland-util.c -lexpat; \ - $(INSTALL) -m 0755 -D wayland-scanner \ - $(HOST_DIR)/usr/bin/wayland-scanner) +# And we must provide a specialy-crafted wayland-scanner .pc file
With my comment above, the "And" is no longer correct.
package/wayland/wayland.mk WAYLAND_DEPENDENCIES = libffi host-pkgconf expat host-expat · line 29
Quoted 6 lines
package/wayland/wayland.mk +6
-0+# which we vampirise and adapt from the host-wayland copy +define WAYLAND_SCANNER_PC + $(INSTALL) -m 0644 -D $(HOST_DIR)/usr/share/pkgconfig/wayland-scanner.pc \ + $(STAGING_DIR)/usr/lib/pkgconfig/wayland-scanner.pc + $(SED) 's:^prefix=.*:prefix=/usr:' \ + -e 's:^wayland_scanner=.*:wayland_sanner=$(HOST_DIR)/usr/bin/wayland-scanner:' \
wayland-sanner?
Quoted 14 lines
package/wayland/wayland.mk +8
-1+ $(STAGING_DIR)/usr/lib/pkgconfig/wayland-scanner.pc endef +WAYLAND_POST_INSTALL_STAGING_HOOKS += WAYLAND_SCANNER_PC -WAYLAND_POST_CONFIGURE_HOOKS += WAYLAND_BUILD_SCANNER +# Remove the DTD from the target, it's not needed at runtime +define WAYLAND_TARGET_CLEANUP + rm -rf $(TARGET_DIR)/usr/share/wayland +endef +WAYLAND_POST_INSTALL_TARGET_HOOKS += WAYLAND_TARGET_CLEANUP $(eval $(autotools-package)) +$(eval $(host-autotools-package))
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v2 2/3 package/wayland: build a host variant
Arnout, All,
On 2014-01-30 08:16 +0100, Arnout Vandecappelle spake thusly:
Quoted 1 line · Yann E. MORIN
[--SNIP--]
Quoted 7 lines
Quoted 7 lines
package/wayland/wayland.mk +0
-0@@ -11,7 +11,8 @@ WAYLAND_LICENSE = MIT WAYLAND_LICENSE_FILES = COPYING
Quoted 6 lines
package/wayland/wayland.mk WAYLAND_LICENSE = MIT · line 15
Quoted 4 lines
package/wayland/wayland.mk +2
-1WAYLAND_INSTALL_STAGING = YES -WAYLAND_DEPENDENCIES = libffi host-pkgconf expat host-expat +WAYLAND_DEPENDENCIES = libffi host-pkgconf host-wayland expat host-expat +HOST_WAYLAND_DEPENDENCIES = host-libffi host-pkgconf host-expatThe automatic dependencies work here, right? So this is redundant.
I don't know what you mean by "automatic dependencies". Did you mean that host dependencies are automatically inherited from the target variant?
Looking at the manual, there is not such indication. Looking at the code, it seems like it is the case, indeed.
Will fix.
Quoted 11 lines
package/wayland/wayland.mk WAYLAND_DEPENDENCIES = libffi host-pkgconf expat host-expat · line 21
Quoted 5 lines
package/wayland/wayland.mk +0
-0# wayland needs a wayland-scanner program to generate some of its # source code. By default, it builds it with CC, so it doesn't work with@@ -19,14 +20,22 @@ WAYLAND_DEPENDENCIES = libffi host-pkgconf expat host-expat # that the tool is already available. WAYLAND_CONF_OPT = --disable-scannerSeems to me that this entire comment has become redundant. Instead, you can
say# wayland-scanner is only needed for building, not on the target WAYLAND_CONF_OPT = --disable-scanner
Right, will fix.
Quoted 9 lines
package/wayland/wayland.mk WAYLAND_DEPENDENCIES = libffi host-pkgconf expat host-expat · line 23
Quoted 7 lines
package/wayland/wayland.mk +1
-6-define WAYLAND_BUILD_SCANNER - (cd $(@D)/src/; \ - $(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS) \ - -o wayland-scanner scanner.c wayland-util.c -lexpat; \ - $(INSTALL) -m 0755 -D wayland-scanner \ - $(HOST_DIR)/usr/bin/wayland-scanner) +# And we must provide a specialy-crafted wayland-scanner .pc fileWith my comment above, the "And" is no longer correct.
Right. Will fix.
Quoted 8 lines
package/wayland/wayland.mk WAYLAND_DEPENDENCIES = libffi host-pkgconf expat host-expat · line 29
Quoted 6 lines
package/wayland/wayland.mk +6
-0+# which we vampirise and adapt from the host-wayland copy +define WAYLAND_SCANNER_PC + $(INSTALL) -m 0644 -D $(HOST_DIR)/usr/share/pkgconfig/wayland-scanner.pc \ + $(STAGING_DIR)/usr/lib/pkgconfig/wayland-scanner.pc + $(SED) 's:^prefix=.*:prefix=/usr:' \ + -e 's:^wayland_scanner=.*:wayland_sanner=$(HOST_DIR)/usr/bin/wayland-scanner:' \wayland-sanner?
Good catch. Although it does build... :-/
Thanks for the comments!
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v2 3/3 package/weston: bump to 1.4.0
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
Drop patches applied upstream.
Mark the rpi-backend as broken, since it segfaults.
--- package/weston/Config.in | 1 + ...eston-0000-dont-leak-fd-on-launcher-error.patch | 77 ---------------------- .../weston-0001-enable-build-without-libdrm.patch | 45 ------------- ...on-0002-fbdev-fix-compilation-without-EGL.patch | 29 -------- package/weston/weston-0003-dont-build-tests.patch | 15 ++--- ...weston-0004-fbdev-open-launcher-only-once.patch | 46 ------------- package/weston/weston.mk | 3 +- 7 files changed, 10 insertions(+), 206 deletions(-) delete mode 100644 package/weston/weston-0000-dont-leak-fd-on-launcher-error.patch delete mode 100644 package/weston/weston-0001-enable-build-without-libdrm.patch delete mode 100644 package/weston/weston-0002-fbdev-fix-compilation-without-EGL.patch delete mode 100644 package/weston/weston-0004-fbdev-open-launcher-only-once.patch
package/weston/Config.in +1 -0
@@ -41,6 +41,7 @@ comment "RPi compositor needs a toolchain w/ C++, largefile, threads" config BR2_PACKAGE_WESTON_RPI bool "RPi compositor" + depends on BROKEN # rpi-backend broken in 1.4.0 depends on BR2_arm # rpi-userland depends on BR2_INSTALL_LIBSTDCPP # rpi-userland depends on BR2_LARGEFILE # rpi-userland
package/weston/weston-0000-dont-leak-fd-on-launcher-error.patch deleted +0 -77
77 lines not on this page · raw message
package/weston/weston-0001-enable-build-without-libdrm.patch deleted +0 -45
45 lines not on this page · raw message
package/weston/weston-0002-fbdev-fix-compilation-without-EGL.patch deleted +0 -29
@@ -1,29 +0,0 @@ -commit 9acd374822022793b09427d67ea4033915343dd8 -Author: Kristian H?gsberg <[email protected]> -Date: Fri Oct 11 15:25:42 2013 -0700 - - fbdev: Fix compilation without EGL - - We have to duplicate #defines and typedefs for the EGL types and constants - we use in gl-renderer.h so we can compile the fbdev backend without EGL. - - https://bugs.freedesktop.org/show_bug.cgi?id=70392 - ---- -Signed-off-by: "Yann E. MORIN" <[email protected]> - -To be noted: the bug referenced above was opened by me, -and quickly fixed during an IRC session. Nice! :-) - -diff --git a/src/gl-renderer.h b/src/gl-renderer.h -index 4919a1e..d16ade2 100644 ---- a/src/gl-renderer.h -+++ b/src/gl-renderer.h -@@ -56,6 +56,7 @@ typedef void *EGLDisplay; - typedef void *EGLSurface; - typedef intptr_t EGLNativeDisplayType; - typedef intptr_t EGLNativeWindowType; -+#define EGL_DEFAULT_DISPLAY NULL - - static const EGLint gl_renderer_opaque_attribs[]; - static const EGLint gl_renderer_alpha_attribs[];
package/weston/weston-0003-dont-build-tests.patch +7 -8
@@ -7,12 +7,11 @@ Signed-off-by: "Yann E. MORIN" <[email protected]> diff -durN weston-1.3.0.orig/Makefile.am weston-1.3.0/Makefile.am --- weston-1.3.0.orig/Makefile.am 2013-08-20 20:15:19.000000000 +0200 +++ weston-1.3.0/Makefile.am 2013-10-14 23:08:12.016392097 +0200 -@@ -2,7 +2,7 @@ - wcap_subdir = wcap - endif - --SUBDIRS = shared src clients data protocol tests $(wcap_subdir) man -+SUBDIRS = shared src clients data protocol $(wcap_subdir) man - - DISTCHECK_CONFIGURE_FLAGS = --disable-setuid-install +@@ -14,7 +14,6 @@ + clients \ + data \ + protocol \ +- tests \ + $(wcap_subdir) \ + man
package/weston/weston-0004-fbdev-open-launcher-only-once.patch deleted +0 -46
46 lines not on this page · raw message
package/weston/weston.mk +2 -1
@@ -4,7 +4,7 @@ # ################################################################################ -WESTON_VERSION = 1.3.0 +WESTON_VERSION = 1.4.0 WESTON_SITE = http://wayland.freedesktop.org/releases/ WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz WESTON_LICENSE = MIT
@@ -17,6 +17,7 @@ WESTON_DEPENDENCIES = host-pkgconf wayland libxkbcommon pixman libpng \ WESTON_AUTORECONF = YES WESTON_CONF_OPT = \ + --with-dtddir=$(STAGING_DIR)/usr/share/wayland \ --disable-egl \ --disable-simple-egl-clients \ --disable-xwayland \
Signature · 1 line
1.8.1.2