* [PATCH 1/3] Wayland userspace library initial 1.0.3
2013-01-07 16:06 [PATCH v4 0/3] Initial wayland integration Alex DAMIAN
@ 2013-01-07 16:06 ` Alex DAMIAN
2013-01-08 9:52 ` Burton, Ross
2013-01-07 16:06 ` [PATCH 2/3] Prepare mesa-dri for weston compatibility Alex DAMIAN
2013-01-07 16:06 ` [PATCH 3/3] Initial commit for wayland/weston 1.0.3 Alex DAMIAN
2 siblings, 1 reply; 8+ messages in thread
From: Alex DAMIAN @ 2013-01-07 16:06 UTC (permalink / raw)
To: openembedded-core, sgw, richard.purdie, ross.burton; +Cc: Alexandru DAMIAN
From: Alexandru DAMIAN <alexandru.damian@intel.com>
Wayland is a new protocol a protocol for a client application to
display user interface windows through the use of a compositing
window manager. This package include the specific set of server-side
and client-side C libraries that implement the protocol.
Wayland is hosted on http://wayland.freedesktop.org/
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
---
meta/recipes-graphics/wayland/wayland.inc | 32 ++++++++++++++++++++++++
meta/recipes-graphics/wayland/wayland_1.0.3.bb | 7 ++++++
2 files changed, 39 insertions(+)
create mode 100644 meta/recipes-graphics/wayland/wayland.inc
create mode 100644 meta/recipes-graphics/wayland/wayland_1.0.3.bb
diff --git a/meta/recipes-graphics/wayland/wayland.inc b/meta/recipes-graphics/wayland/wayland.inc
new file mode 100644
index 0000000..ba02e5a
--- /dev/null
+++ b/meta/recipes-graphics/wayland/wayland.inc
@@ -0,0 +1,32 @@
+inherit autotools pkgconfig
+
+SUMMARY = "Wayland, a protocol between a compositor and clients"
+
+DESCRIPTION = "Wayland is a protocol for a compositor to talk to its clients \
+as well as a C library implementation of that protocol. The compositor can be \
+a standalone display server running on Linux kernel modesetting and evdev \
+input devices, an X application, or a wayland client itself. The clients can \
+be traditional applications, X servers (rootless or fullscreen) or other \
+display servers."
+
+HOMEPAGE = "http://wayland.freedesktop.org"
+SECTION = "wayland/base"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1d4476a7d98dd5691c53d4d43a510c72"
+
+# needs wayland-native for the wayland-scanner utility
+BBCLASSEXTEND = "native"
+
+DEPENDS_virtclass-native = "expat-native"
+DEPENDS = "expat wayland-native"
+
+EXTRA_OECONF_virtclass-native = "--disable-documentation"
+EXTRA_OECONF = "--disable-documentation --disable-scanner"
+
+# wayland installs a m4 macro for other projects to use. This m4 macro
+# includes a path to a makefile fragment to get the rules to generate
+# stubs from protocol description files.
+do_install_append_class-native() {
+ sed -i -e '4,10s,prefix=.*$,prefix=${D}/${prefix},;4,10s,exec_prefix=,exec_prefix=${D}/${exec_prefix},' \
+ ${D}/${datadir}/aclocal/wayland-scanner.m4
+}
diff --git a/meta/recipes-graphics/wayland/wayland_1.0.3.bb b/meta/recipes-graphics/wayland/wayland_1.0.3.bb
new file mode 100644
index 0000000..28dd49b
--- /dev/null
+++ b/meta/recipes-graphics/wayland/wayland_1.0.3.bb
@@ -0,0 +1,7 @@
+require wayland.inc
+
+SRC_URI = "http://wayland.freedesktop.org/releases/wayland-1.0.3.tar.xz"
+SRC_URI[md5sum] = "eebe23571fd4f9ceacc583238e5a8ae9"
+SRC_URI[sha256sum] = "f6be5ee11ba534baaa116350b5efb874bf9963bf3fb18bcf40130317e83a5913"
+
+PR = "r0"
--
1.7.10.4
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH 1/3] Wayland userspace library initial 1.0.3
2013-01-07 16:06 ` [PATCH 1/3] Wayland userspace library initial 1.0.3 Alex DAMIAN
@ 2013-01-08 9:52 ` Burton, Ross
0 siblings, 0 replies; 8+ messages in thread
From: Burton, Ross @ 2013-01-08 9:52 UTC (permalink / raw)
To: Alex DAMIAN; +Cc: openembedded-core
On 7 January 2013 16:06, Alex DAMIAN <alexandru.damian@intel.com> wrote:
> +do_install_append_class-native() {
> + sed -i -e '4,10s,prefix=.*$,prefix=${D}/${prefix},;4,10s,exec_prefix=,exec_prefix=${D}/${exec_prefix},' \
> + ${D}/${datadir}/aclocal/wayland-scanner.m4
> +}
My previous comments still stand:
The use of addresses seems fragile, would it be safer to inject the
paths pre-configure when @prefix@ is easily replaceable? As is to
demonstrate this, you missed a @datarootdir@ replacement. Probably
best to do a replacement pre-configure on the @foo@ symbols.
Also using STAGING_BINDIR_NATIVE and STAGING_DATADIR_NATIVE would be clearer.
Ross
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/3] Prepare mesa-dri for weston compatibility
2013-01-07 16:06 [PATCH v4 0/3] Initial wayland integration Alex DAMIAN
2013-01-07 16:06 ` [PATCH 1/3] Wayland userspace library initial 1.0.3 Alex DAMIAN
@ 2013-01-07 16:06 ` Alex DAMIAN
2013-01-08 9:54 ` Burton, Ross
2013-01-08 10:05 ` Burton, Ross
2013-01-07 16:06 ` [PATCH 3/3] Initial commit for wayland/weston 1.0.3 Alex DAMIAN
2 siblings, 2 replies; 8+ messages in thread
From: Alex DAMIAN @ 2013-01-07 16:06 UTC (permalink / raw)
To: openembedded-core, sgw, richard.purdie, ross.burton; +Cc: Alexandru DAMIAN
From: Alexandru DAMIAN <alexandru.damian@intel.com>
This patch enables mesa-git to build wayland-compatible
packages for usage with weston.
It adds wayland platform support, packs the wayland-egl
files.
Activate by setting up OVERRIDE for "weston" to get
it to build.
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
---
meta/recipes-graphics/mesa/mesa-common.inc | 10 +++++++++-
meta/recipes-graphics/mesa/mesa-dri.inc | 1 +
meta/recipes-graphics/mesa/mesa-dri_git.bb | 3 +++
3 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/meta/recipes-graphics/mesa/mesa-common.inc b/meta/recipes-graphics/mesa/mesa-common.inc
index 70957eb..cf6e610 100644
--- a/meta/recipes-graphics/mesa/mesa-common.inc
+++ b/meta/recipes-graphics/mesa/mesa-common.inc
@@ -29,10 +29,15 @@ EXTRA_OECONF = "--disable-glu \
--disable-glut \
--enable-shared-glapi"
-PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} egl gles"
+PACKAGECONFIG ??= "egl gles \
+ ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}\
+ ${@base_contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}\
+ "
X11_DEPS = "xf86driproto glproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
PACKAGECONFIG[x11] = "--enable-glx-tls,--disable-glx,${X11_DEPS}"
+PACKAGECONFIG[wayland] = ",,wayland"
+
# Multiple virtual/gl providers being built breaks staging
EXCLUDE_FROM_WORLD = "1"
@@ -49,6 +54,7 @@ PACKAGES =+ "libegl-mesa libegl-mesa-dev \
libgles1-mesa libgles1-mesa-dev \
libgles2-mesa libgles2-mesa-dev \
libgles3-mesa libgles3-mesa-dev \
+ wayland-egl wayland-egl-dev \
"
do_install_append () {
@@ -90,8 +96,10 @@ FILES_libgles2-mesa = "${libdir}/libGLESv2.so.*"
FILES_libgl-mesa = "${libdir}/libGL.so.*"
FILES_libglapi = "${libdir}/libglapi.so.*"
FILES_libosmesa = "${libdir}/libOSMesa.so.*"
+FILES_wayland-egl = "${libdir}/libwayland-egl.so.*"
FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc"
+FILES_wayland-egl-dev = "${libdir}/pkgconfig/wayland-egl.pc ${libdir}/libwayland-egl.*"
FILES_libdricore-dev = "${libdir}/libdricore*.*"
FILES_libegl-mesa-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
FILES_libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
diff --git a/meta/recipes-graphics/mesa/mesa-dri.inc b/meta/recipes-graphics/mesa/mesa-dri.inc
index 07544ab..1f6ec78 100644
--- a/meta/recipes-graphics/mesa/mesa-dri.inc
+++ b/meta/recipes-graphics/mesa/mesa-dri.inc
@@ -13,6 +13,7 @@ PACKAGECONFIG[gles] = "--enable-gles1 --enable-gles2, --disable-gles1 --disable-
EGL_PLATFORMS = "drm"
EGL_PLATFORMS .="${@base_contains('DISTRO_FEATURES', 'x11', ',x11', '', d)}"
+EGL_PLATFORMS .="${@base_contains('DISTRO_FEATURES', 'wayland', ',wayland', '', d)}"
PACKAGECONFIG[egl] = "--enable-egl --with-egl-platforms=${EGL_PLATFORMS}, --disable-egl"
python populate_packages_prepend() {
diff --git a/meta/recipes-graphics/mesa/mesa-dri_git.bb b/meta/recipes-graphics/mesa/mesa-dri_git.bb
index 69a433e..6327ef0 100644
--- a/meta/recipes-graphics/mesa/mesa-dri_git.bb
+++ b/meta/recipes-graphics/mesa/mesa-dri_git.bb
@@ -5,4 +5,7 @@ require mesa-dri.inc
# this needs to be lower than -1 because all mesa-dri have -1 and git version has highest PV, but shouldn't be default
DEFAULT_PREFERENCE = "-2"
+# if we're using a OVERRIDES = "weston" in local.conf
+DEFAULT_PREFERENCE_weston = "1"
+
PR = "${INC_PR}.0"
--
1.7.10.4
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH 2/3] Prepare mesa-dri for weston compatibility
2013-01-07 16:06 ` [PATCH 2/3] Prepare mesa-dri for weston compatibility Alex DAMIAN
@ 2013-01-08 9:54 ` Burton, Ross
2013-01-08 10:05 ` Burton, Ross
1 sibling, 0 replies; 8+ messages in thread
From: Burton, Ross @ 2013-01-08 9:54 UTC (permalink / raw)
To: Alex DAMIAN; +Cc: openembedded-core
On 7 January 2013 16:06, Alex DAMIAN <alexandru.damian@intel.com> wrote:
> +# if we're using a OVERRIDES = "weston" in local.conf
> +DEFAULT_PREFERENCE_weston = "1"
Don't bother. As I've said before Mesa 9.0.1 is going to be merged
shortly (there was a failure on ARM, which is now sorted) and that can
build Wayland, so if we merged this patch *now* this chunk would be
deleted again in a few days time.
Ross
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] Prepare mesa-dri for weston compatibility
2013-01-07 16:06 ` [PATCH 2/3] Prepare mesa-dri for weston compatibility Alex DAMIAN
2013-01-08 9:54 ` Burton, Ross
@ 2013-01-08 10:05 ` Burton, Ross
1 sibling, 0 replies; 8+ messages in thread
From: Burton, Ross @ 2013-01-08 10:05 UTC (permalink / raw)
To: Alex DAMIAN; +Cc: openembedded-core
On 7 January 2013 16:06, Alex DAMIAN <alexandru.damian@intel.com> wrote:
> + wayland-egl wayland-egl-dev \
"libwayland-egl" and "libwayland-egl-dev", please.
Ross
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3] Initial commit for wayland/weston 1.0.3
2013-01-07 16:06 [PATCH v4 0/3] Initial wayland integration Alex DAMIAN
2013-01-07 16:06 ` [PATCH 1/3] Wayland userspace library initial 1.0.3 Alex DAMIAN
2013-01-07 16:06 ` [PATCH 2/3] Prepare mesa-dri for weston compatibility Alex DAMIAN
@ 2013-01-07 16:06 ` Alex DAMIAN
2013-01-08 9:58 ` Burton, Ross
2 siblings, 1 reply; 8+ messages in thread
From: Alex DAMIAN @ 2013-01-07 16:06 UTC (permalink / raw)
To: openembedded-core, sgw, richard.purdie, ross.burton; +Cc: Alexandru DAMIAN
From: Alexandru DAMIAN <alexandru.damian@intel.com>
This patch adds the Weston reference compositing
manager from Wayland.
We add version 1.0.3 which is the latest stable release
in Dec 2012. See the upstream at:
http://wayland.freedesktop.org/releases.html
To enable building, set in local.conf
#Build mesa-dri compatible packages
OVERRIDES += ":weston"
#Enable the wayland distro feature
DISTRO_FEATURES_append_weston = " wayland "
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
---
meta/recipes-graphics/wayland/weston.inc | 23 +++++++++++++++++++++++
meta/recipes-graphics/wayland/weston_1.0.3.bb | 9 +++++++++
2 files changed, 32 insertions(+)
create mode 100644 meta/recipes-graphics/wayland/weston.inc
create mode 100644 meta/recipes-graphics/wayland/weston_1.0.3.bb
diff --git a/meta/recipes-graphics/wayland/weston.inc b/meta/recipes-graphics/wayland/weston.inc
new file mode 100644
index 0000000..2293589
--- /dev/null
+++ b/meta/recipes-graphics/wayland/weston.inc
@@ -0,0 +1,23 @@
+inherit autotools pkgconfig
+
+SUMMARY = "Weston, a Wayland compositor"
+DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
+HOMEPAGE = "http://wayland.freedesktop.org"
+SECTION = "wayland/base"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=275efac2559a224527bd4fd593d38466"
+
+DEPENDS = "wayland mesa-dri libxkbcommon gdk-pixbuf pixman cairo glib-2.0 mtdev jpeg"
+DEPENDS += "virtual/egl"
+
+EXTRA_OECONF = "--enable-wayland-compositor --disable-android-compositor"
+EXTRA_OECONF += "--enable-setuid-install --enable-simple-clients"
+EXTRA_OECONF += "--enable-clients --disable-xwayland"
+
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'wayland', 'kms', '', d)} \
+ ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+ ${@base_contains('DISTRO_FEATURES', 'opengles2', 'gles', '', d)} \
+ "
+PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm udev mesa-dri libpam"
+PACKAGECONFIG[x11] = "--enable-x11-compositor,--disable-x11-compositor,virtual/libx11 libxcb libxcb libxcursor cairo"
+PACKAGECONFIG[gles] = "--with-cairo-glesv2,,virtual/libgles2"
diff --git a/meta/recipes-graphics/wayland/weston_1.0.3.bb b/meta/recipes-graphics/wayland/weston_1.0.3.bb
new file mode 100644
index 0000000..625965b
--- /dev/null
+++ b/meta/recipes-graphics/wayland/weston_1.0.3.bb
@@ -0,0 +1,9 @@
+require weston.inc
+
+SRC_URI = "http://wayland.freedesktop.org/releases/weston-1.0.3.tar.xz \
+ "
+SRC_URI[md5sum] = "f82ac2e013e6b6a6303ac4ba7b64c7f2"
+SRC_URI[sha256sum] = "3136a7d2f654ea3e946d4217f7e25321248ad2921f1f4e2504dda58968e04853"
+
+PR = "r0"
+
--
1.7.10.4
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH 3/3] Initial commit for wayland/weston 1.0.3
2013-01-07 16:06 ` [PATCH 3/3] Initial commit for wayland/weston 1.0.3 Alex DAMIAN
@ 2013-01-08 9:58 ` Burton, Ross
0 siblings, 0 replies; 8+ messages in thread
From: Burton, Ross @ 2013-01-08 9:58 UTC (permalink / raw)
To: Alex DAMIAN; +Cc: openembedded-core
On 7 January 2013 16:06, Alex DAMIAN <alexandru.damian@intel.com> wrote:
> From: Alexandru DAMIAN <alexandru.damian@intel.com>
>
> This patch adds the Weston reference compositing
> manager from Wayland.
>
> We add version 1.0.3 which is the latest stable release
> in Dec 2012. See the upstream at:
>
> http://wayland.freedesktop.org/releases.html
Remove this, it's obvious from the commit which version you're using.
> To enable building, set in local.conf
>
> #Build mesa-dri compatible packages
> OVERRIDES += ":weston"
As in 2/3, don't do this.
> #Enable the wayland distro feature
> DISTRO_FEATURES_append_weston = " wayland "
Surely you want the wayland feature globally, so that mesa builds with
Wayland support? 'To enable wayland, add "wayland" to
DISTRO_FEATURES.' is all you need.
Ross
^ permalink raw reply [flat|nested] 8+ messages in thread