[meta-freescale] [meta-fsl-arm][PATCH v2 2/2] xserver-xorg: Backport 1.14.4 version

Otavio Salvador otavio at ossystems.com.br
Sun Feb 23 05:23:58 PST 2014


Currently Vivante does not provides a valid GL API so Xorg fails to
link against it, we cannot workaround it easily in newer Xorg version
so instead of maintaining a pile of patches for it we are backporting
1.14.4 version as an interim solution.

Change-Id: Ie8c8c002f7c3904abb383f2a1ee6f3dc6ad09e20
Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
---
 conf/machine/include/imx-base.inc                  |  3 ++
 .../xorg-xserver/xserver-xorg/aarch64.patch        | 35 ++++++++++++++++++++++
 .../xorg-xserver/xserver-xorg/crosscompile.patch   | 22 ++++++++++++++
 .../fix_open_max_preprocessor_error.patch          | 15 ++++++++++
 .../xorg-xserver/xserver-xorg/macro_tweak.patch    | 25 ++++++++++++++++
 .../xserver-xorg/mips64-compiler.patch             | 29 ++++++++++++++++++
 .../xorg-xserver/xserver-xorg_1.14.4.bb            | 35 ++++++++++++++++++++++
 7 files changed, 164 insertions(+)
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb

diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index 3199238..08d2950 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -27,6 +27,9 @@ XSERVER = "xserver-xorg \
            xf86-input-evdev \
            ${XSERVER_DRIVER}"
 
+# Use an older Xorg version until Vivante provides a valid GL API
+PREFERRED_VERSION_xserver-xorg_mx6 = "2:1.14.4"
+
 # Ship kernel modules
 MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
 
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch b/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch
new file mode 100644
index 0000000..045e24a
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch
@@ -0,0 +1,35 @@
+Subject: Add AArch64 support to xserver-xorg
+Author: Marcin Juszkiewicz <marcin.juszkiewicz at linaro.org>
+
+lnx_video.c parts are not existing in 1.14 branch.
+
+Xserver was checked in AArch64 fastmodel (commercial one with graphics support).
+
+http://patchwork.freedesktop.org/patch/12785/
+
+Upstream-Status: Pending
+
+---
+ include/servermd.h                      |    7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+--- xorg-server-1.13.1.orig/include/servermd.h
++++ xorg-server-1.13.1/include/servermd.h
+@@ -243,10 +243,17 @@ SOFTWARE.
+ #define BITMAP_BIT_ORDER       LSBFirst
+ #define GLYPHPADBYTES		4
+ /* ???? */
+ #endif                          /* AMD64 */
+ 
++#if defined(__aarch64__) || defined(aarch64) || defined(__aarch64)
++#define IMAGE_BYTE_ORDER	MSBFirst
++#define BITMAP_BIT_ORDER       MSBFirst
++#define GLYPHPADBYTES		4
++/* ???? */
++#endif                          /* AArch64 */
++
+ #if	defined(SVR4) && (defined(__i386__) || defined(__i386) ) ||	\
+ 	defined(__alpha__) || defined(__alpha) || \
+ 	defined(__i386__) || \
+ 	defined(__s390x__) || defined(__s390__)
+ 
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch b/recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch
new file mode 100644
index 0000000..2f98bb8
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch
@@ -0,0 +1,22 @@
+Upstream-Status: Inappropriate [configuration]
+
+diff --git a/configure.ac b/configure.ac
+index b3b752c..600500b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -523,13 +523,9 @@ dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
+ dnl otherwise uses standard subdirectories of FONTROOTDIR. When cross
+ dnl compiling, assume default font path uses standard FONTROOTDIR directories.
+ DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
+-if test "$cross_compiling" != yes; then
+-	AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
+-		[DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'],
+-		[case $host_os in
++		case $host_os in
+ 			darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
+-		esac])
+-fi
++		esac
+ AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
+ 				[ FONTPATH="$withval" ],
+ 				[ FONTPATH="${DEFAULT_FONT_PATH}" ])
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch b/recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch
new file mode 100644
index 0000000..2f62972
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Pending
+
+Index: git/os/osdep.h
+===================================================================
+--- git.orig/os/osdep.h	2008-10-07 18:38:21.000000000 +0100
++++ git/os/osdep.h	2008-10-07 18:39:36.000000000 +0100
+@@ -92,7 +92,7 @@
+  * like sysconf(_SC_OPEN_MAX) is not supported.
+  */
+ 
+-#if OPEN_MAX <= 256
++#if 0
+ #define MAXSOCKS (OPEN_MAX - 1)
+ #else
+ #define MAXSOCKS 256
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch b/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch
new file mode 100644
index 0000000..ec0eea6
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch
@@ -0,0 +1,25 @@
+This is the revised version of files/macro_tweak.patch for
+xorg-server 1.8.99.904 and newer.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yu Ke <ke.yu at intel.com>
+
+diff --git a/xorg-server.m4 b/xorg-server.m4
+index bdecf62..040fdb8 100644
+--- a/xorg-server.m4
++++ b/xorg-server.m4
+@@ -28,10 +28,12 @@ dnl
+ # Checks for the $1 define in xorg-server.h (from the sdk).  If it
+ # is defined, then add $1 to $REQUIRED_MODULES.
+ 
++m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR)
++
+ AC_DEFUN([XORG_DRIVER_CHECK_EXT],[
+ 	AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+ 	SAVE_CFLAGS="$CFLAGS"
+-	CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`"
++	CFLAGS="$CFLAGS -I$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=sdkdir xorg-server`"
+ 	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include "xorg-server.h"
+ #if !defined $1
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch b/recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch
new file mode 100644
index 0000000..168368e
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch
@@ -0,0 +1,29 @@
+on mips64/n64 pointers are 64bit therefore the pointer conversions to int dont work well
+so we end up with incompatible conversion errors
+
+This patch choses the right values for mips64
+
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+
+Upstream-Status: Pending
+Index: xorg-server-1.13.0/hw/xfree86/common/compiler.h
+===================================================================
+--- xorg-server-1.13.0-orig/hw/xfree86/common/compiler.h	2012-06-14 23:04:29.000000000 +0300
++++ xorg-server-1.13.0/hw/xfree86/common/compiler.h	2012-11-08 10:06:50.865831783 +0200
+@@ -101,6 +101,7 @@
+ #if defined(NO_INLINE) || defined(DO_PROTOTYPES)
+ #if !defined(__arm__)
+ #if !defined(__sparc__) && !defined(__sparc) && !defined(__arm32__) && !defined(__nds32__) \
++      && !defined(__mips64) \
+       && !(defined(__alpha__) && defined(linux)) \
+       && !(defined(__ia64__) && defined(linux)) \
+ 
+@@ -721,7 +722,7 @@
+ }
+ 
+ #elif defined(__mips__) || (defined(__arm32__) && !defined(__linux__))
+-#ifdef __arm32__
++#if defined (__arm32__) || defined (__mips64)
+ #define PORT_SIZE long
+ #else
+ #define PORT_SIZE short
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb b/recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb
new file mode 100644
index 0000000..c6e23be
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb
@@ -0,0 +1,35 @@
+require recipes-graphics/xorg-xserver/xserver-xorg.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bc098b9774ed096943f6c37b5beeef13"
+
+# Misc build failure for master HEAD
+SRC_URI += "file://crosscompile.patch \
+            file://fix_open_max_preprocessor_error.patch \
+            file://mips64-compiler.patch \
+            file://aarch64.patch \
+           "
+
+SRC_URI[md5sum] = "9d68a30258c67faa3c036a4a85e8bf97"
+SRC_URI[sha256sum] = "608ccfaafb845f6e559884a30f946d365209172416710d687b190e9e1ff65dc3"
+
+# 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 \
+                   "
-- 
1.9.0



More information about the meta-freescale mailing list