From f9c2b4284fafaa8998bbd2a6f443b0b7b98dafaa Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Mon, 12 Dec 2016 12:11:39 +0200 Subject: 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) Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- .../recipes-graphics/xorg-xserver/xserver-xorg.inc | 6 ++- ...onfigure.ac-Fix-check-for-CLOCK_MONOTONIC.patch | 61 ++++++++++++++++++++++ ...c-Fix-wayland-scanner-and-protocols-locat.patch | 38 ++++++++++++++ .../xorg-xserver/xserver-xorg_1.18.4.bb | 27 ---------- .../xorg-xserver/xserver-xorg_1.19.0.bb | 30 +++++++++++ 5 files changed, 133 insertions(+), 29 deletions(-) create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xorg/0002-configure.ac-Fix-wayland-scanner-and-protocols-locat.patch delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xorg_1.18.4.bb create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.0.bb (limited to 'meta') diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc index 269fa63048..4a5f9a6a1e 100644 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc @@ -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" diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch new file mode 100644 index 0000000000..16ec3edb3b --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch @@ -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 + + + +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 +--- + 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 +- +-int main(int argc, char *argv[[]]) { +- struct timespec tp; +- +- if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0) ++#include ++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 + diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0002-configure.ac-Fix-wayland-scanner-and-protocols-locat.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0002-configure.ac-Fix-wayland-scanner-and-protocols-locat.patch new file mode 100644 index 0000000000..eafd07a5f1 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0002-configure.ac-Fix-wayland-scanner-and-protocols-locat.patch @@ -0,0 +1,38 @@ +From 963428f914c42270d3312d4f0c0840565521534e Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +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 +--- + 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 + diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.18.4.bb b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.18.4.bb deleted file mode 100644 index 6700565790..0000000000 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.18.4.bb +++ /dev/null @@ -1,27 +0,0 @@ -require xserver-xorg.inc - -SRC_URI += "file://musl-arm-inb-outb.patch" -SRC_URI[md5sum] = "d4842dfe3bd9a9d062f2fa1df9104a46" -SRC_URI[sha256sum] = "278459b2c31d61a15655d95a72fb79930c480a6bb8cf9226e48a07df8b1d31c8" - -# These extensions are now integrated into the server, so declare the migration -# path for in-place upgrades. - -RREPLACES_${PN} = "${PN}-extension-dri \ - ${PN}-extension-dri2 \ - ${PN}-extension-record \ - ${PN}-extension-extmod \ - ${PN}-extension-dbe \ - " -RPROVIDES_${PN} = "${PN}-extension-dri \ - ${PN}-extension-dri2 \ - ${PN}-extension-record \ - ${PN}-extension-extmod \ - ${PN}-extension-dbe \ - " -RCONFLICTS_${PN} = "${PN}-extension-dri \ - ${PN}-extension-dri2 \ - ${PN}-extension-record \ - ${PN}-extension-extmod \ - ${PN}-extension-dbe \ - " diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.0.bb b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.0.bb new file mode 100644 index 0000000000..8725382cc6 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.0.bb @@ -0,0 +1,30 @@ +require xserver-xorg.inc + +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. + +RREPLACES_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " +RPROVIDES_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " +RCONFLICTS_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " -- cgit v1.2.3