[tigervnc] fix building against X.org 1.13

Dave Airlie airlied at fedoraproject.org
Fri Jul 20 01:55:15 UTC 2012


commit 58c0bdbf7aeb86adfd1a7229b3506ed38cf60b89
Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Jul 19 22:00:47 2012 -0400

    fix building against X.org 1.13

 tigervnc.spec            |    7 ++-
 tigervnc11-xorg113.patch |  170 ++++++++++++++++++++++++++++++++++++++++++++++
 xserver110.patch         |   68 ++++++++++---------
 3 files changed, 212 insertions(+), 33 deletions(-)
---
diff --git a/tigervnc.spec b/tigervnc.spec
index 9afa612..2f024a8 100644
--- a/tigervnc.spec
+++ b/tigervnc.spec
@@ -1,6 +1,6 @@
 Name:		tigervnc
 Version:	1.1.0
-Release:	6%{?dist}
+Release:	7%{?dist}
 Summary:	A TigerVNC remote display system
 
 Group:		User Interface/Desktops
@@ -45,6 +45,7 @@ Patch13:	tigervnc11-rh692048.patch
 Patch16:	tigervnc11-xorg111.patch
 Patch17:	tigervnc11-xorg112.patch
 Patch18:	tigervnc11-java7.patch
+Patch19:	tigervnc11-xorg113.patch
 
 %description
 Virtual Network Computing (VNC) is a remote display system which
@@ -141,6 +142,7 @@ for all in `find . -type f -perm -001`; do
 done
 patch -p1 -b --suffix .vnc < %{SOURCE7}
 %patch17 -p1 -b .xorg112
+%patch19 -p1 -b .xorg113
 popd
 
 %patch18 -p1 -b .java7
@@ -300,6 +302,9 @@ fi
 %doc LICENCE.TXT
 
 %changelog
+* Thu Jul 19 2012 Dave Airlie <airlied at redhat.com> 1.1.0-7
+- fix building against X.org 1.13
+
 * Wed Apr 04 2012 Adam Jackson <ajax at redhat.com> 1.1.0-6
 - RHEL exclusion for -server-module on ppc* too
 
diff --git a/tigervnc11-xorg113.patch b/tigervnc11-xorg113.patch
new file mode 100644
index 0000000..556d93f
--- /dev/null
+++ b/tigervnc11-xorg113.patch
@@ -0,0 +1,170 @@
+diff -up xserver/hw/vnc/Makefile.am.xorg113 xserver/hw/vnc/Makefile.am
+--- xserver/hw/vnc/Makefile.am.xorg113	2012-07-19 21:42:46.297455970 -0400
++++ xserver/hw/vnc/Makefile.am	2012-07-19 21:19:22.526005528 -0400
+@@ -62,7 +62,7 @@ EXTRA_DIST = Xvnc.man
+ BUILT_SOURCES = $(nodist_Xvnc_SOURCES)
+ 
+ fb.h: $(top_srcdir)/fb/fb.h
+-	cat $(top_srcdir)/fb/fb.h | sed -e 's,and,c_and,' -e 's,xor,c_xor,' > $(srcdir)/fb.h
++	cat $(top_srcdir)/fb/fb.h | sed -e 's,and,c_and,g' -e 's,xor,c_xor,g' > $(srcdir)/fb.h
+ 
+ pixman.h: $(includedir)/pixman-1/pixman.h
+ 	cat $(includedir)/pixman-1/pixman.h | sed 's/xor/c_xor/' > $(srcdir)/pixman.h
+diff -up xserver/hw/vnc/vncHooks.cc.xorg113 xserver/hw/vnc/vncHooks.cc
+--- xserver/hw/vnc/vncHooks.cc.xorg113	2012-07-19 21:31:37.191820942 -0400
++++ xserver/hw/vnc/vncHooks.cc	2012-07-19 21:36:00.327531293 -0400
+@@ -116,7 +116,7 @@ static DevPrivateKeyRec vncHooksGCKeyRec
+ 
+ // screen functions
+ 
+-static Bool vncHooksCloseScreen(int i, ScreenPtr pScreen);
++static Bool vncHooksCloseScreen(ScreenPtr pScreen);
+ static Bool vncHooksCreateGC(GCPtr pGC);
+ static void vncHooksCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg,
+                                RegionPtr pOldRegion);
+@@ -133,7 +133,7 @@ static Bool vncHooksDisplayCursor(
+ 				  DeviceIntPtr pDev,
+ #endif
+ 				  ScreenPtr pScreen, CursorPtr cursor);
+-static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout,
++static void vncHooksBlockHandler(ScreenPtr pScreen_, pointer pTimeout,
+                                  pointer pReadmask);
+ #ifdef RENDER
+ static void vncHooksComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, 
+@@ -335,7 +335,7 @@ Bool vncHooksInit(ScreenPtr pScreen, Xse
+ // CloseScreen - unwrap the screen functions and call the original CloseScreen
+ // function
+ 
+-static Bool vncHooksCloseScreen(int i, ScreenPtr pScreen_)
++static Bool vncHooksCloseScreen(ScreenPtr pScreen_)
+ {
+   SCREEN_UNWRAP(pScreen_, CloseScreen);
+ 
+@@ -366,7 +366,7 @@ static Bool vncHooksCloseScreen(int i, S
+ 
+   DBGPRINT((stderr,"vncHooksCloseScreen: unwrapped screen functions\n"));
+ 
+-  return (*pScreen->CloseScreen)(i, pScreen);
++  return (*pScreen->CloseScreen)(pScreen);
+ }
+ 
+ // CreateGC - wrap the "GC funcs"
+@@ -531,14 +531,14 @@ static Bool vncHooksDisplayCursor(
+ // BlockHandler - ignore any changes during the block handler - it's likely
+ // these are just drawing the cursor.
+ 
+-static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout,
++static void vncHooksBlockHandler(ScreenPtr pScreen_, pointer pTimeout,
+                                  pointer pReadmask)
+ {
+-  SCREEN_UNWRAP(screenInfo.screens[i], BlockHandler);
++  SCREEN_UNWRAP(pScreen_, BlockHandler);
+ 
+   vncHooksScreen->desktop->ignoreHooks(true);
+ 
+-  (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask);
++  (*pScreen->BlockHandler) (pScreen, pTimeout, pReadmask);
+ 
+   vncHooksScreen->desktop->ignoreHooks(false);
+ 
+diff -up xserver/hw/vnc/xf86vncModule.cc.xorg113 xserver/hw/vnc/xf86vncModule.cc
+--- xserver/hw/vnc/xf86vncModule.cc.xorg113	2012-07-19 21:19:27.558942606 -0400
++++ xserver/hw/vnc/xf86vncModule.cc	2012-07-19 21:19:27.574942408 -0400
+@@ -53,8 +53,6 @@ ExtensionModule vncExt =
+ {
+     vncExtensionInitWithParams,
+     "VNC",
+-    NULL,
+-    NULL,
+     NULL
+ };
+ 
+diff -up xserver/hw/vnc/xorg-version.h.xorg113 xserver/hw/vnc/xorg-version.h
+--- xserver/hw/vnc/xorg-version.h.xorg113	2012-07-19 21:19:27.560942582 -0400
++++ xserver/hw/vnc/xorg-version.h	2012-07-19 21:19:27.576942382 -0400
+@@ -40,6 +40,8 @@
+ #define XORG 111
+ #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (12 * 100000) + (99 * 1000))
+ #define XORG 112
++#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (13 * 100000) + (99 * 1000))
++#define XORG 113
+ #else
+ #error "X.Org newer than 1.10 is not supported"
+ #endif
+diff -up xserver/hw/vnc/xvnc.cc.xorg113 xserver/hw/vnc/xvnc.cc
+--- xserver/hw/vnc/xvnc.cc.xorg113	2012-07-19 21:36:33.078121854 -0400
++++ xserver/hw/vnc/xvnc.cc	2012-07-19 21:39:49.685663920 -0400
+@@ -267,7 +267,7 @@ OsVendorInit()
+ }
+ 
+ void
+-OsVendorFatalError()
++OsVendorFatalError(const char *f, va_list args)
+ {
+ }
+ 
+@@ -1135,9 +1135,9 @@ static Bool vncRandRSetConfig (ScreenPtr
+ #endif
+ 
+ static Bool
+-vfbCloseScreen(int index, ScreenPtr pScreen)
++vfbCloseScreen(ScreenPtr pScreen)
+ {
+-    vfbScreenInfoPtr pvfb = &vfbScreens[index];
++    vfbScreenInfoPtr pvfb = &vfbScreens[pScreen->myNum];
+     int i;
+  
+     pScreen->CloseScreen = pvfb->closeScreen;
+@@ -1149,13 +1149,13 @@ vfbCloseScreen(int index, ScreenPtr pScr
+     for (i = 0; i < MAXSCREENS; i++)
+ 	InstalledMaps[i] = NULL;
+ 
+-    return pScreen->CloseScreen(index, pScreen);
++    return pScreen->CloseScreen(pScreen);
+ }
+ 
+ static Bool
+-vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv)
++vfbScreenInit(ScreenPtr pScreen, int argc, char **argv)
+ {
+-    vfbScreenInfoPtr pvfb = &vfbScreens[index];
++    vfbScreenInfoPtr pvfb = &vfbScreens[pScreen->myNum];
+     int dpi;
+     int ret;
+     void *pbits;
+@@ -1167,8 +1167,8 @@ vfbScreenInit(int index, ScreenPtr pScre
+ 
+     pbits = vfbAllocateFramebufferMemory(&pvfb->fb);
+     if (!pbits) return FALSE;
+-    vncFbptr[index] = pbits;
+-    vncFbstride[index] = pvfb->fb.paddedWidth;
++    vncFbptr[pScreen->myNum] = pbits;
++    vncFbstride[pScreen->myNum] = pvfb->fb.paddedWidth;
+ 
+     miSetPixmapDepths();
+ 
+diff -up xserver/include/screenint.h.xorg113 xserver/include/screenint.h
+--- xserver/include/screenint.h.xorg113	2012-07-19 21:30:38.258557709 -0400
++++ xserver/include/screenint.h	2012-07-19 21:30:45.415468235 -0400
+@@ -72,18 +72,18 @@ extern _X_EXPORT int AddGPUScreen(Bool (
+ extern _X_EXPORT void RemoveGPUScreen(ScreenPtr pScreen);
+ 
+ extern _X_EXPORT void
+-AttachUnboundGPU(ScreenPtr pScreen, ScreenPtr new);
++AttachUnboundGPU(ScreenPtr pScreen, ScreenPtr);
+ extern _X_EXPORT void
+ DetachUnboundGPU(ScreenPtr unbound);
+ 
+ extern _X_EXPORT void
+-AttachOutputGPU(ScreenPtr pScreen, ScreenPtr new);
++AttachOutputGPU(ScreenPtr pScreen, ScreenPtr);
+ 
+ extern _X_EXPORT void
+ DetachOutputGPU(ScreenPtr output);
+ 
+ extern _X_EXPORT void
+-AttachOffloadGPU(ScreenPtr pScreen, ScreenPtr new);
++AttachOffloadGPU(ScreenPtr pScreen, ScreenPtr);
+ 
+ extern _X_EXPORT void
+ DetachOffloadGPU(ScreenPtr slave);
diff --git a/xserver110.patch b/xserver110.patch
index ddf450f..99a162c 100644
--- a/xserver110.patch
+++ b/xserver110.patch
@@ -1,15 +1,15 @@
 diff -up xserver/configure.ac.vnc xserver/configure.ac
---- xserver/configure.ac.vnc	2011-03-22 10:41:05.508614018 +0100
-+++ xserver/configure.ac	2011-03-22 10:47:01.592023995 +0100
-@@ -30,7 +30,6 @@ AC_INIT([xorg-server], 1.10.0, [https://
- RELEASE_DATE="2011-2-25"
+--- xserver/configure.ac.vnc	2012-07-19 20:22:21.774770804 -0400
++++ xserver/configure.ac	2012-07-19 20:24:42.293014083 -0400
+@@ -30,7 +30,6 @@ AC_INIT([xorg-server], 1.12.99.902, [htt
+ RELEASE_DATE="2012-07-17"
  AC_CONFIG_SRCDIR([Makefile.am])
  AM_INIT_AUTOMAKE([foreign dist-bzip2])
 -AM_MAINTAINER_MODE
  
- # Require xorg-macros minimum of 1.10 for XORG_CHECK_SGML_DOCTOOLS
+ # Require xorg-macros minimum of 1.14 for XORG_COMPILER_BRAND in XORG_DEFAULT_OPTIONS
  m4_ifndef([XORG_MACROS_VERSION],
-@@ -65,6 +64,7 @@ dnl forcing an entire recompile.x
+@@ -72,6 +71,7 @@ dnl forcing an entire recompile.x
  AC_CONFIG_HEADERS(include/version-config.h)
  
  AM_PROG_AS
@@ -17,12 +17,12 @@ diff -up xserver/configure.ac.vnc xserver/configure.ac
  AC_PROG_LN_S
  AC_LIBTOOL_WIN32_DLL
  AC_DISABLE_STATIC
-@@ -1510,6 +1510,14 @@ if test "x$XVFB" = xyes; then
+@@ -1560,6 +1560,14 @@ if test "x$XVFB" = xyes; then
  	AC_SUBST([XVFB_SYS_LIBS])
  fi
  
 +dnl Xvnc DDX
-+AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XEXT_INC $FB_INC $MI_INC $RENDER_INC $RANDR_INC"])
++AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XEXT_INC $FB_INC $MI_INC $RENDER_INC $RANDR_INC $MIEXT_DAMAGE_INC"])
 +AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB"])
 +AC_SUBST([XVNC_SYS_LIBS], ["$GLX_SYS_LIBS"])
 +
@@ -32,24 +32,24 @@ diff -up xserver/configure.ac.vnc xserver/configure.ac
  
  dnl Xnest DDX
  
-@@ -1548,6 +1556,8 @@ xorg_bus_linuxpci=no
- xorg_bus_bsdpci=no
- xorg_bus_sparc=no
+@@ -1595,6 +1603,8 @@ if test "x$XORG" = xauto; then
+ fi
+ AC_MSG_RESULT([$XORG])
  
 +AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
 +
  if test "x$XORG" = xyes; then
  	XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
  	XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
-@@ -1792,7 +1802,6 @@ if test "x$XORG" = xyes; then
+@@ -1813,7 +1823,6 @@ if test "x$XORG" = xyes; then
+ 	AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
  	AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
  	AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
- 	AC_DEFINE(XFree86LOADER, 1, [Building loadable XFree86 server])
 -	AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
  	AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
  	AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
  	AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
-@@ -2254,6 +2263,7 @@ hw/dmx/Makefile
+@@ -2279,6 +2288,7 @@ hw/dmx/Makefile
  hw/dmx/man/Makefile
  hw/vfb/Makefile
  hw/vfb/man/Makefile
@@ -58,8 +58,8 @@ diff -up xserver/configure.ac.vnc xserver/configure.ac
  hw/xnest/man/Makefile
  hw/xwin/Makefile
 diff -up xserver/hw/Makefile.am.vnc xserver/hw/Makefile.am
---- xserver/hw/Makefile.am.vnc	2011-03-22 10:41:05.528613984 +0100
-+++ xserver/hw/Makefile.am	2011-03-22 10:41:05.630613813 +0100
+--- xserver/hw/Makefile.am.vnc	2012-07-19 20:22:28.575685781 -0400
++++ xserver/hw/Makefile.am	2012-07-19 20:22:31.483649426 -0400
 @@ -33,7 +33,8 @@ SUBDIRS =			\
  	$(XNEST_SUBDIRS)	\
  	$(DMX_SUBDIRS)		\
@@ -70,22 +70,26 @@ diff -up xserver/hw/Makefile.am.vnc xserver/hw/Makefile.am
  
  DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive
  
+diff -up xserver/include/extinit.h.vnc xserver/include/extinit.h
+--- xserver/include/extinit.h.vnc	2012-07-19 20:25:50.465161815 -0400
++++ xserver/include/extinit.h	2012-07-19 20:25:52.490136499 -0400
+@@ -81,6 +81,8 @@ extern void DPMSExtensionInit(void);
+ extern Bool noGEExtension;
+ extern void GEExtensionInit(void);
+ 
++extern void vncExtensionInit(void);
++
+ #ifdef GLXEXT
+ extern _X_EXPORT Bool noGlxExtension;
+ extern void GlxExtensionInit(void);
 diff -up xserver/mi/miinitext.c.vnc xserver/mi/miinitext.c
---- xserver/mi/miinitext.c.vnc	2011-03-22 10:41:05.591613878 +0100
-+++ xserver/mi/miinitext.c	2011-03-22 10:41:05.630613813 +0100
-@@ -263,6 +263,7 @@ extern void DamageExtensionInit(INITARGS
- extern void CompositeExtensionInit(INITARGS);
+--- xserver/mi/miinitext.c.vnc	2012-07-19 20:22:30.000000000 -0400
++++ xserver/mi/miinitext.c	2012-07-19 20:26:48.560435524 -0400
+@@ -293,6 +293,7 @@ static ExtensionModule staticExtensions[
+ #ifdef XSELINUX
+     {SELinuxExtensionInit, SELINUX_EXTENSION_NAME, &noSELinuxExtension},
  #endif
- extern void GEExtensionInit(INITARGS);
-+extern void vncExtensionInit(INITARGS);
++    {vncExtensionInit, "VNC", NULL},
+ };
  
- /* The following is only a small first step towards run-time
-  * configurable extensions.
-@@ -433,6 +434,7 @@ InitExtensions(int argc, char *argv[])
- #ifdef XF86BIGFONT
-     if (!noXFree86BigfontExtension) XFree86BigfontExtensionInit();
- #endif
-+    vncExtensionInit();
- #if !defined(NO_HW_ONLY_EXTS)
- #if defined(XF86VIDMODE)
-     if (!noXFree86VidModeExtension) XFree86VidModeExtensionInit();
+ static ExtensionModule *ExtensionModuleList = NULL;


More information about the scm-commits mailing list