Patchwork [meta-fsl-arm,4/7] xserver-xorg: Add 1.11.4 version as it provides Video ABI 11

login
register
mail settings
Submitter Otavio Salvador
Date April 1, 2013, 7:39 p.m.
Message ID <1364845165-18038-5-git-send-email-otavio@ossystems.com.br>
Download mbox | patch
Permalink /patch/47227/
State Accepted
Delegated to: Otavio Salvador
Headers show

Comments

Otavio Salvador - April 1, 2013, 7:39 p.m.
The Vivante GPU drivers are not compatible with newer Xorg 1.13 as it
introduce some deep changes in video ABI and DRI interface. The best
longterm solution is to get new GPU driver releases which are
compatible with the new Xorg but in meanwhile we'll keep the working
version as alternative.

Change-Id: I26a122c371bce1d58a843c419558a0928baec5f6
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 .../xserver-xorg-1.11.4/crosscompile.patch         | 22 +++++++
 .../fix_open_max_preprocessor_error.patch          | 15 +++++
 .../xserver-xorg-1.11.4/macro_tweak.patch          | 25 ++++++++
 .../xserver-xorg-1.11.4/mips64-compiler.patch      | 29 +++++++++
 .../xserver-xorg-1.11.4/pkgconfig-deps.patch       | 70 ++++++++++++++++++++++
 .../xorg-xserver/xserver-xorg_1.11.4.bb            | 26 ++++++++
 6 files changed, 187 insertions(+)
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/crosscompile.patch
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/fix_open_max_preprocessor_error.patch
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/macro_tweak.patch
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/mips64-compiler.patch
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/pkgconfig-deps.patch
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg_1.11.4.bb

Patch

diff --git a/recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/crosscompile.patch b/recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/crosscompile.patch
new file mode 100644
index 0000000..2f98bb8
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/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-1.11.4/fix_open_max_preprocessor_error.patch b/recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/fix_open_max_preprocessor_error.patch
new file mode 100644
index 0000000..2f62972
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/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-1.11.4/macro_tweak.patch b/recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/macro_tweak.patch
new file mode 100644
index 0000000..ec0eea6
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/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@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-1.11.4/mips64-compiler.patch b/recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/mips64-compiler.patch
new file mode 100644
index 0000000..e6bc95b
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/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@gmail.com>
+
+Upstream-Status: Pending
+Index: xorg-server-1.11.2/hw/xfree86/common/compiler.h
+===================================================================
+--- xorg-server-1.11.2.orig/hw/xfree86/common/compiler.h	2012-05-10 12:19:59.485599046 -0700
++++ xorg-server-1.11.2/hw/xfree86/common/compiler.h	2012-05-10 12:20:53.109602488 -0700
+@@ -104,6 +104,7 @@
+ 
+ #  if !defined(__arm__)
+ #   if !defined(__sparc__) && !defined(__sparc) && !defined(__arm32__) && !defined(__nds32__) \
++      && !defined(__mips64) \
+       && !(defined(__alpha__) && defined(linux)) \
+       && !(defined(__ia64__) && defined(linux)) \
+ 
+@@ -708,7 +709,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.11.4/pkgconfig-deps.patch b/recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/pkgconfig-deps.patch
new file mode 100644
index 0000000..fee8d76
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg-1.11.4/pkgconfig-deps.patch
@@ -0,0 +1,70 @@ 
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+commit 41d903918a5721e53ed694880eab44170f9717cc
+Author: Jeremy Huddleston <jeremyhu@apple.com>
+Date:   Wed Sep 14 13:45:18 2011 -0500
+
+    xorg-server.pc.in: Remove libpciaccess and pixman-1 from Requires
+    
+    Every module building against xorg-server does not *Require* pixman nor
+    libpciaccess.  If such modules need pixman or pciaccess, they should be
+    depending on them directly rather than inheriting a dependency from
+    xorg-server.  To do this, they should use PKG_CHECK_MODULES in configure.ac
+    to check for pixman-1 or pciaccess and include the apporpriate _LIBS variable
+    to the appropriate _LDFLAGS variable in Makefile.am
+    
+    This also moves pixman-1 to Requires.private, so CPPFLAGS is set right to
+    to satisfy include dependencies but avoid linking needlessly.
+    
+    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+    Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
+
+diff --git a/configure.ac b/configure.ac
+index 50beb01..4bfa82c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -780,11 +780,6 @@ VIDMODEPROTO="xf86vidmodeproto >= 2.2.99.1"
+ WINDOWSWMPROTO="windowswmproto"
+ APPLEWMPROTO="applewmproto >= 1.4"
+ 
+-dnl Core modules for most extensions, et al.
+-SDK_REQUIRED_MODULES="[xproto >= 7.0.22] [randrproto >= 1.2.99.3] [renderproto >= 0.11] [xextproto >= 7.1.99] [inputproto >= 1.9.99.902] [kbproto >= 1.0.3] fontsproto"
+-# Make SDK_REQUIRED_MODULES available for inclusion in xorg-server.pc
+-AC_SUBST(SDK_REQUIRED_MODULES)
+-
+ dnl List of libraries that require a specific version
+ LIBAPPLEWM="applewm >= 1.4"
+ LIBDMX="dmx >= 1.0.99.1"
+@@ -806,6 +801,11 @@ dnl specific modules against it
+ PKG_CHECK_MODULES(PIXMAN, $LIBPIXMAN)
+ REQUIRED_LIBS="$REQUIRED_LIBS $LIBPIXMAN $LIBXFONT xau"
+ 
++dnl Core modules for most extensions, et al.
++SDK_REQUIRED_MODULES="[xproto >= 7.0.22] [randrproto >= 1.2.99.3] [renderproto >= 0.11] [xextproto >= 7.1.99] [inputproto >= 1.99.99.902] [kbproto >= 1.0.3] fontsproto $LIBPIXMAN"
++# Make SDK_REQUIRED_MODULES available for inclusion in xorg-server.pc
++AC_SUBST(SDK_REQUIRED_MODULES)
++
+ REQUIRED_MODULES="[fixesproto >= 5.0] [damageproto >= 1.1] [xcmiscproto >= 1.2.0] [xtrans >= 1.2.2] [bigreqsproto >= 1.1.0] $SDK_REQUIRED_MODULES"
+ 
+ if test "x$CONFIG_UDEV" = xyes &&
+@@ -1583,6 +1583,7 @@ if test "x$XORG" = xyes; then
+ 	if test "x$PCI" = xyes; then
+ 
+ 	PKG_CHECK_MODULES([PCIACCESS], $LIBPCIACCESS)
++	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $LIBPCIACCESS"
+	SAVE_LIBS=$LIBS
+	SAVE_CFLAGS=$CFLAGS
+	CFLAGS=$PCIACCESS_CFLAGS
+diff --git a/xorg-server.pc.in b/xorg-server.pc.in
+index fb238b5..a98eca8 100644
+--- a/xorg-server.pc.in
++++ b/xorg-server.pc.in
+@@ -15,7 +15,6 @@ abi_extension=@abi_extension@
+ Name: xorg-server
+ Description: Modular X.Org X Server
+ Version: @PACKAGE_VERSION@
+-Requires: pixman-1 pciaccess
+ Requires.private: @SDK_REQUIRED_MODULES@
+ Cflags: -I${sdkdir} @symbol_visibility@
+ Libs: -L${libdir}
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg_1.11.4.bb b/recipes-graphics/xorg-xserver/xserver-xorg_1.11.4.bb
new file mode 100644
index 0000000..02ecb6e
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg_1.11.4.bb
@@ -0,0 +1,26 @@ 
+require recipes-graphics/xorg-xserver/xserver-xorg.inc
+
+# This has change in newer release
+LIC_FILES_CHKSUM = "file://COPYING;md5=74df27b6254cc88d2799b5f4f5949c00"
+
+# Misc build failure for master HEAD
+SRC_URI += "file://crosscompile.patch \
+            file://fix_open_max_preprocessor_error.patch \
+            file://mips64-compiler.patch \
+            file://pkgconfig-deps.patch \
+           "
+
+SRC_URI[md5sum] = "256325e9b17dff479d92bed97f6b0adb"
+SRC_URI[sha256sum] = "3e2935bc400612df58d5b5e6840829e2c63af02c2e7d2893092500358a4366fc"
+
+PR = "${INC_PR}.0"
+
+do_install_append_mx6 () {
+    # FIXME: This is a workaround to ensure we use Vivante DRI
+    rm ${D}${includedir}/xorg/dri.h \
+       ${D}${includedir}/xorg/sarea.h \
+       ${D}${includedir}/xorg/dristruct.h \
+       ${D}${libdir}/xorg/modules/extensions/libdri.so
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"