[tigervnc/private-twaugh-bz1137023-f20] Fix building against xorg-x11-server 1.15.99.902

Tim Waugh twaugh at fedoraproject.org
Mon Sep 8 14:28:01 UTC 2014


commit 0a9f4d8c3bc848c59fa972f1a2fb79220aa3e5aa
Author: Hans de Goede <hdegoede at redhat.com>
Date:   Mon Apr 28 16:59:35 2014 +0200

    Fix building against xorg-x11-server 1.15.99.902
    
    (cherry picked from commit 9499d1115db140caeabf39876c930cba6b46ef68)
    
    Conflicts:
    	tigervnc.spec

 0001-tigervnc-xserver-1.14-patch.patch |  156 ++++++++++++++++++
 tigervnc-1.3.0-xserver-1.15.patch      |   14 +--
 tigervnc-1.3.1-xserver-1.16.patch      |  268 ++++++++++++++++++++++++++++++++
 tigervnc.spec                          |   12 +-
 4 files changed, 437 insertions(+), 13 deletions(-)
---
diff --git a/0001-tigervnc-xserver-1.14-patch.patch b/0001-tigervnc-xserver-1.14-patch.patch
new file mode 100644
index 0000000..3ca3c11
--- /dev/null
+++ b/0001-tigervnc-xserver-1.14-patch.patch
@@ -0,0 +1,156 @@
+From 28f093e6987bd7eb631714933ae3cf1ede250380 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Mon, 28 Apr 2014 15:54:54 +0200
+Subject: [PATCH] tigervnc xserver 1.14 patch
+
+---
+ configure.ac   |  9 ++++++++-
+ hw/Makefile.am |  3 ++-
+ mi/miinitext.c |  7 +++++++
+ os/WaitFor.c   | 19 ++++++++++++++++++-
+ 4 files changed, 35 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0c8b516..722dbc3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -74,6 +74,7 @@ dnl forcing an entire recompile.x
+ AC_CONFIG_HEADERS(include/version-config.h)
+ 
+ AM_PROG_AS
++AC_PROG_CXX
+ AC_PROG_LN_S
+ LT_PREREQ([2.2])
+ LT_INIT([disable-static win32-dll])
+@@ -1794,6 +1795,10 @@ if test "x$XVFB" = xyes; then
+ 	AC_SUBST([XVFB_SYS_LIBS])
+ fi
+ 
++dnl Xvnc DDX
++AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"])
++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"])
+ 
+ dnl Xnest DDX
+ 
+@@ -1829,6 +1834,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'
+@@ -2050,7 +2057,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_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])
+@@ -2584,6 +2590,7 @@ hw/dmx/Makefile
+ hw/dmx/man/Makefile
+ hw/vfb/Makefile
+ hw/vfb/man/Makefile
++hw/vnc/Makefile
+ hw/xnest/Makefile
+ hw/xnest/man/Makefile
+ hw/xwin/Makefile
+diff --git a/hw/Makefile.am b/hw/Makefile.am
+index 19895dc..b42fa6e 100644
+--- a/hw/Makefile.am
++++ b/hw/Makefile.am
+@@ -38,7 +38,8 @@ SUBDIRS =			\
+ 	$(DMX_SUBDIRS)		\
+ 	$(KDRIVE_SUBDIRS)	\
+ 	$(XQUARTZ_SUBDIRS)	\
+-	$(XWAYLAND_SUBDIRS)
++	$(XWAYLAND_SUBDIRS)	\
++	vnc
+ 
+ DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive xwayland
+ 
+diff --git a/mi/miinitext.c b/mi/miinitext.c
+index 1d90516..ace7dbf 100644
+--- a/mi/miinitext.c
++++ b/mi/miinitext.c
+@@ -111,6 +111,10 @@ SOFTWARE.
+ #include "micmap.h"
+ #include "globals.h"
+ 
++#ifdef TIGERVNC
++extern void vncExtensionInit(INITARGS);
++#endif
++
+ /* The following is only a small first step towards run-time
+  * configurable extensions.
+  */
+@@ -235,6 +239,9 @@ EnableDisableExtensionError(const char *name, Bool enable)
+ 
+ /* List of built-in (statically linked) extensions */
+ static const ExtensionModule staticExtensions[] = {
++#ifdef TIGERVNC
++    {vncExtensionInit, "VNC-EXTENSION", NULL},
++#endif
+     {GEExtensionInit, "Generic Event Extension", &noGEExtension},
+     {ShapeExtensionInit, "SHAPE", NULL},
+ #ifdef MITSHM
+diff --git a/os/WaitFor.c b/os/WaitFor.c
+index 3eb15b9..9235f20 100644
+--- a/os/WaitFor.c
++++ b/os/WaitFor.c
+@@ -125,6 +125,9 @@ static void DoTimer(OsTimerPtr timer, CARD32 now, OsTimerPtr *prev);
+ static void CheckAllTimers(void);
+ static OsTimerPtr timers = NULL;
+ 
++extern void vncWriteBlockHandler(fd_set *fds);
++extern void vncWriteWakeupHandler(int nfds, fd_set *fds);
++
+ /*****************
+  * WaitForSomething:
+  *     Make the server suspend until there is
+@@ -150,6 +153,7 @@ WaitForSomething(int *pClientsReady)
+     INT32 timeout = 0;
+     fd_set clientsReadable;
+     fd_set clientsWritable;
++    fd_set socketsWritable;
+     int curclient;
+     int selecterr;
+     static int nready;
+@@ -212,6 +216,9 @@ WaitForSomething(int *pClientsReady)
+             XFD_COPYSET(&AllSockets, &LastSelectMask);
+         }
+ 
++        FD_ZERO(&socketsWritable);
++        vncWriteBlockHandler(&socketsWritable);
++
+         BlockHandler((void *) &wt, (void *) &LastSelectMask);
+         if (NewOutputPending)
+             FlushAllOutput();
+@@ -223,10 +230,20 @@ WaitForSomething(int *pClientsReady)
+             i = Select(MaxClients, &LastSelectMask, &clientsWritable, NULL, wt);
+         }
+         else {
+-            i = Select(MaxClients, &LastSelectMask, NULL, NULL, wt);
++            if (AnyClientsWriteBlocked)
++            XFD_ORSET(&socketsWritable, &ClientsWriteBlocked, &socketsWritable);
++
++            if (XFD_ANYSET(&socketsWritable)) {
++                i = Select (MaxClients, &LastSelectMask, &socketsWritable, NULL, wt);
++                if (AnyClientsWriteBlocked)
++                    XFD_ANDSET(&clientsWritable, &socketsWritable, &ClientsWriteBlocked);
++            } else {
++                i = Select (MaxClients, &LastSelectMask, NULL, NULL, wt);
++            }
+         }
+         selecterr = GetErrno();
+         WakeupHandler(i, (void *) &LastSelectMask);
++        vncWriteWakeupHandler(i, &socketsWritable);
+         if (i <= 0) {           /* An error or timeout occurred */
+             if (dispatchException)
+                 return 0;
+-- 
+1.9.0
+
diff --git a/tigervnc-1.3.0-xserver-1.15.patch b/tigervnc-1.3.0-xserver-1.15.patch
index 29a0cdf..975f12e 100644
--- a/tigervnc-1.3.0-xserver-1.15.patch
+++ b/tigervnc-1.3.0-xserver-1.15.patch
@@ -1,14 +1,6 @@
 diff -up tigervnc-1.3.0/unix/xserver/configure.ac.jx tigervnc-1.3.0/unix/xserver/configure.ac
 --- tigervnc-1.3.0/unix/xserver/configure.ac.jx	2013-11-07 11:39:49.000000000 -0500
 +++ tigervnc-1.3.0/unix/xserver/configure.ac	2013-11-07 11:40:17.215043570 -0500
-@@ -1028,7 +1028,6 @@ fi
- if test "x$WAYLAND" = xyes; then
-         PKG_CHECK_MODULES(XWAYLAND, $WAYLAND_MODULES)
- 	AC_DEFINE(XORG_WAYLAND, 1, [Support wayland mode])
--	WAYLAND_SCANNER_RULES(['$(top_srcdir)/hw/xfree86/xwayland'])
- fi
- AM_CONDITIONAL(WAYLAND, [test "x$WAYLAND" = xyes])
- 
 @@ -1597,7 +1596,7 @@ fi
  
  dnl Xvnc DDX
@@ -21,15 +13,17 @@ diff -up tigervnc-1.3.0/unix/xserver/configure.ac.jx tigervnc-1.3.0/unix/xserver
 diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h.jx tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h
 --- tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h.jx	2013-07-01 08:41:24.000000000 -0400
 +++ tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h	2013-11-07 11:39:49.749992669 -0500
-@@ -44,8 +44,10 @@
+@@ -44,8 +44,12 @@
  #define XORG 113
  #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (14 * 100000) + (99 * 1000))
  #define XORG 114
 +#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (15 * 100000) + (99 * 1000))
 +#define XORG 115
++#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (16 * 100000) + (99 * 1000))
++#define XORG 116
  #else
 -#error "X.Org newer than 1.14 is not supported"
-+#error "X.Org newer than 1.15 is not supported"
++#error "X.Org newer than 1.16 is not supported"
  #endif
  
  #endif
diff --git a/tigervnc-1.3.1-xserver-1.16.patch b/tigervnc-1.3.1-xserver-1.16.patch
new file mode 100644
index 0000000..9956147
--- /dev/null
+++ b/tigervnc-1.3.1-xserver-1.16.patch
@@ -0,0 +1,268 @@
+diff -up tigervnc-1.3.1/unix/xserver/hw/vnc/Input.cc.116 tigervnc-1.3.1/unix/xserver/hw/vnc/Input.cc
+--- tigervnc-1.3.1/unix/xserver/hw/vnc/Input.cc.116	2013-05-30 16:53:40.000000000 +0200
++++ tigervnc-1.3.1/unix/xserver/hw/vnc/Input.cc	2014-04-28 16:55:02.591440218 +0200
+@@ -262,7 +262,7 @@ static int pointerProc(DeviceIntPtr pDev
+ 	return Success;
+ }
+ 
+-static void keyboardBell(int percent, DeviceIntPtr device, pointer ctrl,
++static void keyboardBell(int percent, DeviceIntPtr device, void * ctrl,
+ 			 int class_)
+ {
+ 	if (percent > 0)
+diff -up tigervnc-1.3.1/unix/xserver/hw/vnc/XserverDesktop.cc.116 tigervnc-1.3.1/unix/xserver/hw/vnc/XserverDesktop.cc
+--- tigervnc-1.3.1/unix/xserver/hw/vnc/XserverDesktop.cc.116	2014-04-28 16:55:02.530441812 +0200
++++ tigervnc-1.3.1/unix/xserver/hw/vnc/XserverDesktop.cc	2014-04-28 16:55:02.592440192 +0200
+@@ -48,7 +48,7 @@ extern "C" {
+ #define public c_public
+ #define class c_class
+ 
+-extern char *display;
++extern const char *display;
+ 
+ #include "colormapst.h"
+ #ifdef RANDR
+@@ -174,7 +174,7 @@ void XserverDesktop::serverReset(ScreenP
+ {
+   pScreen = pScreen_;
+   int i;
+-  pointer retval;
++  void * retval;
+ 
+ #if XORG >= 17
+ #define dixLookupResource dixLookupResourceByType
+diff -up tigervnc-1.3.1/unix/xserver/hw/vnc/vncExtInit.cc.116 tigervnc-1.3.1/unix/xserver/hw/vnc/vncExtInit.cc
+--- tigervnc-1.3.1/unix/xserver/hw/vnc/vncExtInit.cc.116	2014-04-28 16:55:02.524441969 +0200
++++ tigervnc-1.3.1/unix/xserver/hw/vnc/vncExtInit.cc	2014-04-28 16:55:02.592440192 +0200
+@@ -65,18 +65,18 @@ extern "C" {
+ 
+   extern void vncExtensionInit();
+   static void vncResetProc(ExtensionEntry* extEntry);
+-  static void vncBlockHandler(pointer data, OSTimePtr t, pointer readmask);
+-  static void vncWakeupHandler(pointer data, int nfds, pointer readmask);
++  static void vncBlockHandler(void * data, OSTimePtr t, void * readmask);
++  static void vncWakeupHandler(void * data, int nfds, void * readmask);
+   void vncWriteBlockHandler(fd_set *fds);
+   void vncWriteWakeupHandler(int nfds, fd_set *fds);
+-  static void vncClientStateChange(CallbackListPtr*, pointer, pointer);
++  static void vncClientStateChange(CallbackListPtr*, void *, void *);
+   static void SendSelectionChangeEvent(Atom selection);
+   static int ProcVncExtDispatch(ClientPtr client);
+   static int SProcVncExtDispatch(ClientPtr client);
+-  static void vncSelectionCallback(CallbackListPtr *callbacks, pointer data,
+-				   pointer args);
++  static void vncSelectionCallback(CallbackListPtr *callbacks, void * data,
++				   void * args);
+ 
+-  extern char *display;
++  extern const char *display;
+   extern char *listenaddr;
+ }
+ 
+@@ -284,7 +284,7 @@ static void vncResetProc(ExtensionEntry*
+ {
+ }
+ 
+-static void vncSelectionCallback(CallbackListPtr *callbacks, pointer data, pointer args)
++static void vncSelectionCallback(CallbackListPtr *callbacks, void * data, void * args)
+ {
+   SelectionInfoRec *info = (SelectionInfoRec *) args;
+   Selection *selection = info->selection;
+@@ -301,7 +301,7 @@ static void vncWriteWakeupHandlerFallbac
+ // selections have changed, and if so, notify any interested X clients.
+ //
+ 
+-static void vncBlockHandler(pointer data, OSTimePtr timeout, pointer readmask)
++static void vncBlockHandler(void * data, OSTimePtr timeout, void * readmask)
+ {
+   fd_set* fds = (fd_set*)readmask;
+ 
+@@ -312,7 +312,7 @@ static void vncBlockHandler(pointer data
+       desktop[scr]->blockHandler(fds, timeout);
+ }
+ 
+-static void vncWakeupHandler(pointer data, int nfds, pointer readmask)
++static void vncWakeupHandler(void * data, int nfds, void * readmask)
+ {
+   fd_set* fds = (fd_set*)readmask;
+ 
+@@ -402,7 +402,7 @@ static void vncWriteWakeupHandlerFallbac
+   vncWriteWakeupHandler(ret, &fallbackFds);
+ }
+ 
+-static void vncClientStateChange(CallbackListPtr*, pointer, pointer p)
++static void vncClientStateChange(CallbackListPtr*, void *, void * p)
+ {
+   ClientPtr client = ((NewClientInfoRec*)p)->client;
+   if (client->clientState == ClientStateGone) {
+@@ -468,7 +468,7 @@ void vncClientCutText(const char* str, i
+ 
+ 
+ static CARD32 queryConnectTimerCallback(OsTimerPtr timer,
+-                                        CARD32 now, pointer arg)
++                                        CARD32 now, void * arg)
+ {
+   if (queryConnectTimeout)
+     queryConnectDesktop->approveConnection(queryConnectId, false, "The attempt to prompt the user to accept the connection failed");
+diff -up tigervnc-1.3.1/unix/xserver/hw/vnc/vncHooks.cc.116 tigervnc-1.3.1/unix/xserver/hw/vnc/vncHooks.cc
+--- tigervnc-1.3.1/unix/xserver/hw/vnc/vncHooks.cc.116	2013-05-22 14:57:16.000000000 +0200
++++ tigervnc-1.3.1/unix/xserver/hw/vnc/vncHooks.cc	2014-04-28 16:55:02.593440166 +0200
+@@ -91,8 +91,8 @@ typedef struct {
+ } vncHooksScreenRec, *vncHooksScreenPtr;
+ 
+ typedef struct {
+-    GCFuncs *wrappedFuncs;
+-    GCOps *wrappedOps;
++    const GCFuncs *wrappedFuncs;
++    const GCOps *wrappedOps;
+ } vncHooksGCRec, *vncHooksGCPtr;
+ 
+ #if XORG == 15
+@@ -141,11 +141,11 @@ static Bool vncHooksDisplayCursor(
+ #endif
+ 				  ScreenPtr pScreen, CursorPtr cursor);
+ #if XORG < 112
+-static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout,
+-                                 pointer pReadmask);
++static void vncHooksBlockHandler(int i, void * blockData, void * pTimeout,
++                                 void * pReadmask);
+ #else
+-static void vncHooksBlockHandler(ScreenPtr pScreen, pointer pTimeout,
+-                                 pointer pReadmask);
++static void vncHooksBlockHandler(ScreenPtr pScreen, void * pTimeout,
++                                 void * pReadmask);
+ #endif
+ #ifdef RENDER
+ static void vncHooksComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, 
+@@ -174,7 +174,7 @@ static void vncHooksValidateGC(GCPtr pGC
+ static void vncHooksChangeGC(GCPtr pGC, unsigned long mask);
+ static void vncHooksCopyGC(GCPtr src, unsigned long mask, GCPtr dst);
+ static void vncHooksDestroyGC(GCPtr pGC);
+-static void vncHooksChangeClip(GCPtr pGC, int type, pointer pValue,int nrects);
++static void vncHooksChangeClip(GCPtr pGC, int type, void * pValue,int nrects);
+ static void vncHooksDestroyClip(GCPtr pGC);
+ static void vncHooksCopyClip(GCPtr dst, GCPtr src);
+ 
+@@ -226,10 +226,10 @@ static void vncHooksImageText16(Drawable
+                                 int count, unsigned short *chars);
+ static void vncHooksImageGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x,
+                                   int y, unsigned int nglyph,
+-                                  CharInfoPtr *ppci, pointer pglyphBase);
++                                  CharInfoPtr *ppci, void * pglyphBase);
+ static void vncHooksPolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x,
+                                  int y, unsigned int nglyph,
+-                                 CharInfoPtr *ppci, pointer pglyphBase);
++                                 CharInfoPtr *ppci, void * pglyphBase);
+ static void vncHooksPushPixels(GCPtr pGC, PixmapPtr pBitMap,
+                                DrawablePtr pDrawable, int w, int h, int x,
+                                int y);
+@@ -575,11 +575,11 @@ static Bool vncHooksDisplayCursor(
+ // these are just drawing the cursor.
+ 
+ #if XORG < 112
+-static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout,
+-                                 pointer pReadmask)
++static void vncHooksBlockHandler(int i, void * blockData, void * pTimeout,
++                                 void * pReadmask)
+ #else
+-static void vncHooksBlockHandler(ScreenPtr pScreen_, pointer pTimeout,
+-                                 pointer pReadmask)
++static void vncHooksBlockHandler(ScreenPtr pScreen_, void * pTimeout,
++                                 void * pReadmask)
+ #endif
+ {
+ #if XORG < 112
+@@ -914,7 +914,7 @@ static void vncHooksDestroyGC(GCPtr pGC)
+   GCFuncUnwrapper u(pGC);
+   (*pGC->funcs->DestroyGC) (pGC);
+ }
+-static void vncHooksChangeClip(GCPtr pGC, int type, pointer pValue, int nrects)
++static void vncHooksChangeClip(GCPtr pGC, int type, void * pValue, int nrects)
+ {
+   GCFuncUnwrapper u(pGC);
+   (*pGC->funcs->ChangeClip) (pGC, type, pValue, nrects);
+@@ -954,7 +954,7 @@ public:
+   }
+   GCPtr pGC;
+   vncHooksGCPtr vncHooksGC;
+-  GCFuncs* oldFuncs;
++  const GCFuncs* oldFuncs;
+   ScreenPtr pScreen;
+ };
+ 
+@@ -1793,7 +1793,7 @@ static void vncHooksImageText16(Drawable
+ 
+ static void vncHooksImageGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x,
+                                   int y, unsigned int nglyph,
+-                                  CharInfoPtr *ppci, pointer pglyphBase)
++                                  CharInfoPtr *ppci, void * pglyphBase)
+ {
+   GC_OP_UNWRAPPER(pDrawable, pGC, ImageGlyphBlt);
+ 
+@@ -1819,7 +1819,7 @@ static void vncHooksImageGlyphBlt(Drawab
+ 
+ static void vncHooksPolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x,
+                                  int y, unsigned int nglyph,
+-                                 CharInfoPtr *ppci, pointer pglyphBase)
++                                 CharInfoPtr *ppci, void * pglyphBase)
+ {
+   GC_OP_UNWRAPPER(pDrawable, pGC, PolyGlyphBlt);
+ 
+diff -up tigervnc-1.3.1/unix/xserver/hw/vnc/xf86vncModule.cc.116 tigervnc-1.3.1/unix/xserver/hw/vnc/xf86vncModule.cc
+--- tigervnc-1.3.1/unix/xserver/hw/vnc/xf86vncModule.cc.116	2013-03-14 18:52:53.000000000 +0100
++++ tigervnc-1.3.1/unix/xserver/hw/vnc/xf86vncModule.cc	2014-04-28 16:55:02.593440166 +0200
+@@ -81,11 +81,11 @@ static XF86ModuleVersionInfo vncVersRec
+ 
+ _X_EXPORT XF86ModuleData vncModuleData = { &vncVersRec, vncSetup, NULL };
+ 
+-static pointer
+-vncSetup(pointer module, pointer opts, int *errmaj, int *errmin) {
+-    LoadExtension(&vncExt, FALSE);
++static void *
++vncSetup(void * module, void * opts, int *errmaj, int *errmin) {
++    LoadExtensionList(&vncExt, 1, FALSE);
+     /* Need a non-NULL return value to indicate success */
+-    return (pointer)1;
++    return (void *)1;
+ }
+ 
+ static void vncExtensionInitWithParams(INITARGS)
+diff -up tigervnc-1.3.1/unix/xserver/hw/vnc/xvnc.cc.116 tigervnc-1.3.1/unix/xserver/hw/vnc/xvnc.cc
+--- tigervnc-1.3.1/unix/xserver/hw/vnc/xvnc.cc.116	2014-03-19 13:11:09.000000000 +0100
++++ tigervnc-1.3.1/unix/xserver/hw/vnc/xvnc.cc	2014-04-28 16:53:12.580314921 +0200
+@@ -103,7 +103,7 @@ extern "C" {
+                        "See http://www.tigervnc.org for information on TigerVNC.\n")
+ 
+ 
+-extern char *display;
++extern const char *display;
+ extern int monitorResolution;
+ 
+ #define VFB_DEFAULT_WIDTH  1024
+@@ -762,7 +762,7 @@ vfbUninstallColormap(ColormapPtr pmap)
+ 	    curpmap = (ColormapPtr) LookupIDByType(pmap->pScreen->defColormap,
+ 						   RT_COLORMAP);
+ #else
+-	    dixLookupResourceByType((pointer *) &curpmap, pmap->pScreen->defColormap,
++	    dixLookupResourceByType((void * *) &curpmap, pmap->pScreen->defColormap,
+ 				    RT_COLORMAP, serverClient, DixUnknownAccess);
+ #endif
+ 	    (*pmap->pScreen->InstallColormap)(curpmap);
+@@ -1597,7 +1597,7 @@ vfbScreenInit(ScreenPtr pScreen, int arg
+ } /* end vfbScreenInit */
+ 
+ 
+-static void vfbClientStateChange(CallbackListPtr*, pointer, pointer) {
++static void vfbClientStateChange(CallbackListPtr*, void *, void *) {
+   dispatchException &= ~DE_RESET;
+ }
+  
+@@ -1625,7 +1625,7 @@ InitOutput(ScreenInfo *screenInfo, int a
+ #if XORG >= 113
+ #ifdef GLXEXT
+     if (serverGeneration == 1)
+-        LoadExtension(&glxExt, TRUE);
++        LoadExtensionList(&glxExt, 1, TRUE);
+ #endif
+ #endif
+ 
diff --git a/tigervnc.spec b/tigervnc.spec
index 8229312..2d60680 100644
--- a/tigervnc.spec
+++ b/tigervnc.spec
@@ -54,6 +54,10 @@ Patch14:	tigervnc-CVE-2014-0011.patch
 Patch15:	tigervnc-inputreset.patch
 Patch16:	tigervnc-pointersync.patch
 Patch17:	tigervnc-xstartup.patch
+Patch18:        tigervnc-1.3.1-xserver-1.16.patch
+
+# This is tigervnc-%{version}/unix/xserver114.patch rebased on the latest xorg
+Patch100:       0001-tigervnc-xserver-1.14-patch.patch
 
 %description
 Virtual Network Computing (VNC) is a remote display system which
@@ -158,7 +162,7 @@ pushd unix/xserver
 for all in `find . -type f -perm -001`; do
 	chmod -x "$all"
 done
-patch -p1 -b --suffix .vnc < ../xserver114.patch
+%patch100 -p1 -b .vnc
 popd
 
 # Applied Debian patch to fix busy loop when run from inetd in nowait
@@ -199,6 +203,8 @@ popd
 # Clearer xstartup file (bug #923655).
 %patch17 -p1 -b .xstartup
 
+%patch18 -p1 -b .116
+
 %build
 %ifarch sparcv9 sparc64 s390 s390x
 export CFLAGS="$RPM_OPT_FLAGS -fPIC"
@@ -214,8 +220,8 @@ pushd unix/xserver
 autoreconf -fiv
 %configure \
 	--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
-	--disable-xwin --disable-xephyr --disable-kdrive --with-pic \
-	--disable-static --disable-xinerama \
+	--disable-xwin --disable-xephyr --disable-kdrive --disable-xwayland \
+	--with-pic --disable-static --disable-xinerama \
 	--with-default-font-path="catalogue:%{_sysconfdir}/X11/fontpath.d,built-ins" \
 	--with-fontdir=%{_datadir}/X11/fonts \
 	--with-xkb-output=%{_localstatedir}/lib/xkb \


More information about the scm-commits mailing list