xserver-xorg: Upgrade 1.18.4 -> 1.19.0

* xserver depends on xfont2 now.
* xwayland support requires wayland-scanner: Add patch to find
  wayland-scanner and protocol files while cross-compiling.
* patch MONOTONIC_CLOCK check so it works when cross-compiling
  (otherwise we always end with no monotonic clock and xwayland
  compile fails)
* Add vardepsexclude for MACHINE to ensure consistent hashes (RB)

(From OE-Core rev: f9c2b4284fafaa8998bbd2a6f443b0b7b98dafaa)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Jussi Kukkonen 2016-12-12 12:11:39 +02:00 committed by Richard Purdie
parent 14d5f46095
commit 1207d6d32e
4 changed files with 109 additions and 5 deletions

View File

@ -27,7 +27,7 @@ inherit distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
PROTO_DEPS = "randrproto renderproto fixesproto damageproto xextproto xproto xf86dgaproto xf86miscproto xf86vidmodeproto compositeproto recordproto resourceproto videoproto scrnsaverproto xineramaproto fontsproto kbproto inputproto bigreqsproto xcmiscproto presentproto"
LIB_DEPS = "pixman libxfont xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess"
LIB_DEPS = "pixman libxfont2 xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess"
DEPENDS = "${PROTO_DEPS} ${LIB_DEPS} font-util"
# Split out some modules and extensions from the main package
@ -117,7 +117,9 @@ EXTRA_OECONF += "--with-fop=no \
--sysconfdir=/etc/X11 \
--localstatedir=/var \
--with-xkb-output=/var/lib/xkb \
WAYLAND_PROTOCOLS_SYSROOT_DIR=${STAGING_DIR}/${MACHINE} \
"
EXTRA_OECONF[vardepsexclude] = "MACHINE"
PACKAGECONFIG ??= "dri2 udev ${XORG_CRYPTO} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri glx', '', d)} \
@ -138,7 +140,7 @@ PACKAGECONFIG[xmlto] = "--with-xmlto, --without-xmlto, xmlto-native docbook-xml-
PACKAGECONFIG[systemd-logind] = "--enable-systemd-logind=yes,--enable-systemd-logind=no,dbus,"
PACKAGECONFIG[systemd] = "--with-systemd-daemon,--without-systemd-daemon,systemd"
PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,xineramaproto"
PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland,wayland libepoxy"
PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland,wayland wayland-native wayland-protocols libepoxy"
# Xorg requires a SHA1 implementation, pick one
XORG_CRYPTO ??= "openssl"

View File

@ -0,0 +1,61 @@
Discover monotonic clock using compile-time check
monotonic clock check does not work when cross-compiling.
Upstream-Status: Denied [Does not work on OpenBSD]
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Original patch follows:
When xorg-xserver is being cross-compiled, there is currently no way
for us to detect whether the monotonic clock is available on the
target system, because we aren't able to run a test program on the host
system. Currently, in this situation, we default to not use the
monotonic clock. One problem with this situation is that the user will
be treated as idle when the date is updated.
To fix this situation, we now use a compile-time check to detect whether the
monotonic clock is available. This check can run just fine when we are
cross-compiling.
Signed-off-by: David James <davidjames at google.com>
---
configure.ac | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/configure.ac b/configure.ac
index f7ab48c..26e85cd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1048,19 +1048,16 @@ if ! test "x$have_clock_gettime" = xno; then
CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L"
fi
- AC_RUN_IFELSE([AC_LANG_SOURCE([
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
#include <time.h>
-
-int main(int argc, char *argv[[]]) {
- struct timespec tp;
-
- if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0)
+#include <unistd.h>
+int main() {
+#if !(defined(_POSIX_MONOTONIC_CLOCK) && _POSIX_MONOTONIC_CLOCK >= 0 && defined(CLOCK_MONOTONIC))
+ #error No monotonic clock
+#endif
return 0;
- else
- return 1;
}
- ])], [MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no],
- [MONOTONIC_CLOCK="cross compiling"])
+]])],[MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no])
LIBS="$LIBS_SAVE"
CPPFLAGS="$CPPFLAGS_SAVE"
--
2.1.4

View File

@ -0,0 +1,38 @@
From 963428f914c42270d3312d4f0c0840565521534e Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Wed, 16 Nov 2016 00:41:51 +0200
Subject: [PATCH 2/2] configure.ac: Fix wayland-scanner and protocols locations
We want to use the wayland-scanner in path (native sysroot)
instead of using pkg-config which gives us target paths.
The protocols paths on the other hand need to be prefixed with the
(allarch) sysroot because, again, pkg-config gives us target paths.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
configure.ac | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index 58f1567..383a7df 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2525,11 +2525,9 @@ if test "x$XWAYLAND" = xyes; then
AC_MSG_ERROR([Xwayland requires CLOCK_MONOTONIC support.])
fi
- WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client`
- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner],,
- [${WAYLAND_PREFIX}/bin$PATH_SEPARATOR$PATH])
+ AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner])
- AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
+ AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, ${WAYLAND_PROTOCOLS_SYSROOT_DIR}`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
fi
--
2.1.4

View File

@ -1,8 +1,11 @@
require xserver-xorg.inc
SRC_URI += "file://musl-arm-inb-outb.patch"
SRC_URI[md5sum] = "d4842dfe3bd9a9d062f2fa1df9104a46"
SRC_URI[sha256sum] = "278459b2c31d61a15655d95a72fb79930c480a6bb8cf9226e48a07df8b1d31c8"
SRC_URI += "file://musl-arm-inb-outb.patch \
file://0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch \
file://0002-configure.ac-Fix-wayland-scanner-and-protocols-locat.patch \
"
SRC_URI[md5sum] = "6a4d01e4e5047ab8f556960424ba1fa9"
SRC_URI[sha256sum] = "149a708b50befc2d5a40b98d45ddd2ebe0beec018e6d0c663c43bad6210e4da3"
# These extensions are now integrated into the server, so declare the migration
# path for in-place upgrades.