community/tigervnc to 1.3.1-3

This commit is contained in:
David Beauchamp 2014-07-30 14:20:01 -04:00
parent d28dc2ca59
commit c28ff39cb2
5 changed files with 421 additions and 117 deletions

View file

@ -7,44 +7,49 @@
pkgname=tigervnc
pkgver=1.3.1
pkgrel=2
_xorgver=1.15.2
pkgdesc="suite of VNC servers and clients. VNC 4 branch of TightVNC."
pkgrel=3
_xorgver=1.16.0
pkgdesc="Suite of VNC servers and clients. Based on the VNC 4 branch of TightVNC."
arch=('i686' 'x86_64')
url="http://www.tigervnc.org"
license=('GPL')
depends=('fltk' 'pam' 'gnutls' 'libjpeg-turbo' 'libxtst' 'libxfont' 'pixman'
'xorg-xauth' 'xorg-xsetroot' 'xkeyboard-config' 'xorg-xkbcomp'
'libgl' 'libgcrypt' 'perl' )
'libgl' 'mesa' 'libgcrypt' 'perl' )
makedepends=('cmake' 'nasm' 'xorg-font-util' 'xorg-util-macros' 'bigreqsproto'
'compositeproto' 'damageproto' 'randrproto' 'resourceproto'
'scrnsaverproto' 'videoproto' 'xcmiscproto' 'xf86vidmodeproto'
'xtrans' 'mesa' 'glproto' 'dri2proto' 'imagemagick')
'xtrans' 'glproto' 'dri2proto' 'dri3proto' 'presentproto'
'imagemagick')
conflicts=('tightvnc')
source=(http://downloads.sourceforge.net/project/tigervnc/tigervnc/$pkgver/tigervnc-$pkgver.tar.gz
ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${_xorgver}.tar.bz2
vncserver.service
vncviewer.desktop
xserver114.patch
gethomedir.patch
getmaster.patch
xorg115.patch)
xorg116.patch
xserver116.patch)
md5sums=('e80b16aa74f1d8e89f284a6aef99955d'
'69229fe5cdf3f20f74665d57b7601d26'
'8a9ff6ee9907360f09b5bdabb8089502'
'0903d5a0dfa38e0b04964505b644585c'
'71cac0fb9701b0a041430f0fddfe00c8'
'928faf837ba5b1b34283f9f018df2f5e'
'22f1523a0eca56ad79cfabd0db6e2cf6'
'e056a2502dfe0cb3b02e08cab689482f'
'd7765cb11be43b557ee77dfa486fdb68')
'e212f9d268a62af0349183a495bc55a5'
'8b735b553efedd34cdeafc600be50a2a')
prepare() {
cd ${srcdir}/${pkgname}-${pkgver}
cp -r ${srcdir}/xorg-server-${_xorgver}/* unix/xserver
patch -Np1 -i ${srcdir}/gethomedir.patch
patch -Np1 -i ${srcdir}/getmaster.patch
patch -Np1 -i ${srcdir}/xorg115.patch
patch -Np1 -i ${srcdir}/xorg116.patch
sed -i 's/iconic/nowin/' unix/vncserver
cd unix/xserver
cp -r ${srcdir}/xorg-server-${_xorgver}/* .
patch -Np1 -i ${srcdir}/xserver116.patch
}
build() {
@ -54,20 +59,19 @@ build() {
fi
cd ${srcdir}/${pkgname}-${pkgver}
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr
make
cd unix/xserver
patch -Np1 -i ../xserver114.patch
autoreconf -fiv
./configure --prefix=/usr \
--disable-wayland --disable-present --disable-dri3 \
--disable-static --disable-xinerama --without-dtrace \
--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
--disable-xwin --disable-xephyr --disable-kdrive --with-pic \
--disable-config-dbus --disable-config-hal --disable-config-udev \
--disable-xwin --disable-xephyr --disable-kdrive --disable-xwayland \
--disable-config-hal --disable-config-udev --with-pic \
--disable-unit-tests --disable-devel-docs --disable-selective-werror \
--disable-dri --enable-dri2 --enable-glx --enable-glx-tls
--disable-dri --enable-dri2 --enable-dri3 --enable-glx --enable-glx-tls
make
}
@ -76,7 +80,6 @@ package() {
make DESTDIR=${pkgdir} install
cd unix/xserver/hw/vnc
make DESTDIR=${pkgdir} install
sed -i 's/iconic/nowin/' ${pkgdir}/usr/bin/vncserver
install -Dm0644 $srcdir/vncserver.service $pkgdir/usr/lib/systemd/system/vncserver.service
install -Dm0644 $srcdir/vncviewer.desktop $pkgdir/usr/share/applications/vncviewer.desktop
}

View file

@ -1,15 +0,0 @@
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 @@
#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
#else
-#error "X.Org newer than 1.14 is not supported"
+#error "X.Org newer than 1.15 is not supported"
#endif
#endif

View file

@ -0,0 +1,285 @@
diff -ur tigervnc-1.3.1.orig/unix/xserver/hw/vnc/Input.cc tigervnc-1.3.1/unix/xserver/hw/vnc/Input.cc
--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/Input.cc 2013-05-30 16:53:40.000000000 +0200
+++ tigervnc-1.3.1/unix/xserver/hw/vnc/Input.cc 2014-07-19 00:36:53.722520543 +0200
@@ -262,7 +262,7 @@
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 -ur tigervnc-1.3.1.orig/unix/xserver/hw/vnc/vncExtInit.cc tigervnc-1.3.1/unix/xserver/hw/vnc/vncExtInit.cc
--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/vncExtInit.cc 2013-07-01 14:48:31.000000000 +0200
+++ tigervnc-1.3.1/unix/xserver/hw/vnc/vncExtInit.cc 2014-07-19 00:36:53.724520543 +0200
@@ -65,18 +65,18 @@
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;
}
@@ -285,7 +285,7 @@
{
}
-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;
@@ -302,7 +302,7 @@
// 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;
@@ -313,7 +313,7 @@
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;
@@ -403,7 +403,7 @@
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) {
@@ -469,7 +469,7 @@
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 -ur tigervnc-1.3.1.orig/unix/xserver/hw/vnc/vncHooks.cc tigervnc-1.3.1/unix/xserver/hw/vnc/vncHooks.cc
--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/vncHooks.cc 2013-05-22 14:57:16.000000000 +0200
+++ tigervnc-1.3.1/unix/xserver/hw/vnc/vncHooks.cc 2014-07-19 00:36:53.725520543 +0200
@@ -91,8 +91,8 @@
} vncHooksScreenRec, *vncHooksScreenPtr;
typedef struct {
- GCFuncs *wrappedFuncs;
- GCOps *wrappedOps;
+ const GCFuncs *wrappedFuncs;
+ const GCOps *wrappedOps;
} vncHooksGCRec, *vncHooksGCPtr;
#if XORG == 15
@@ -141,11 +141,11 @@
#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 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 @@
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 @@
// 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 @@
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 @@
}
GCPtr pGC;
vncHooksGCPtr vncHooksGC;
- GCFuncs* oldFuncs;
+ const GCFuncs* oldFuncs;
ScreenPtr pScreen;
};
@@ -1793,7 +1793,7 @@
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 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 -ur tigervnc-1.3.1.orig/unix/xserver/hw/vnc/xf86vncModule.cc tigervnc-1.3.1/unix/xserver/hw/vnc/xf86vncModule.cc
--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/xf86vncModule.cc 2013-03-14 18:52:53.000000000 +0100
+++ tigervnc-1.3.1/unix/xserver/hw/vnc/xf86vncModule.cc 2014-07-19 00:36:53.725520543 +0200
@@ -81,11 +81,11 @@
_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 -ur tigervnc-1.3.1.orig/unix/xserver/hw/vnc/xorg-version.h tigervnc-1.3.1/unix/xserver/hw/vnc/xorg-version.h
--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/xorg-version.h 2013-02-19 14:51:29.000000000 +0100
+++ tigervnc-1.3.1/unix/xserver/hw/vnc/xorg-version.h 2014-07-19 00:36:50.530520710 +0200
@@ -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.16 is not supported"
#endif
#endif
diff -ur tigervnc-1.3.1.orig/unix/xserver/hw/vnc/XserverDesktop.cc tigervnc-1.3.1/unix/xserver/hw/vnc/XserverDesktop.cc
--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/XserverDesktop.cc 2013-05-22 14:56:25.000000000 +0200
+++ tigervnc-1.3.1/unix/xserver/hw/vnc/XserverDesktop.cc 2014-07-19 00:36:53.723520543 +0200
@@ -48,7 +48,7 @@
#define public c_public
#define class c_class
-extern char *display;
+extern const char *display;
#include "colormapst.h"
#ifdef RANDR
@@ -174,7 +174,7 @@
{
pScreen = pScreen_;
int i;
- pointer retval;
+ void * retval;
#if XORG >= 17
#define dixLookupResource dixLookupResourceByType
diff -ur tigervnc-1.3.1.orig/unix/xserver/hw/vnc/xvnc.cc tigervnc-1.3.1/unix/xserver/hw/vnc/xvnc.cc
--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/xvnc.cc 2014-03-19 13:11:09.000000000 +0100
+++ tigervnc-1.3.1/unix/xserver/hw/vnc/xvnc.cc 2014-07-19 00:36:53.726520543 +0200
@@ -103,7 +103,7 @@
"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 @@
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 @@
} /* end vfbScreenInit */
-static void vfbClientStateChange(CallbackListPtr*, pointer, pointer) {
+static void vfbClientStateChange(CallbackListPtr*, void *, void *) {
dispatchException &= ~DE_RESET;
}
@@ -1625,7 +1625,7 @@
#if XORG >= 113
#ifdef GLXEXT
if (serverGeneration == 1)
- LoadExtension(&glxExt, TRUE);
+ LoadExtensionList(&glxExt, 1, TRUE);
#endif
#endif

View file

@ -1,84 +0,0 @@
diff -up xorg-server-20130109/configure.ac.vnc xorg-server-20130109/configure.ac
--- xorg-server-20130109/configure.ac.vnc 2013-01-24 13:01:31.013267503 +0100
+++ xorg-server-20130109/configure.ac 2013-01-24 13:08:43.283941751 +0100
@@ -72,6 +72,7 @@ dnl forcing an entire recompile.x
AC_CONFIG_HEADERS(include/version-config.h)
AM_PROG_AS
+AC_PROG_CXX
AC_PROG_LN_S
AC_LIBTOOL_WIN32_DLL
AC_DISABLE_STATIC
@@ -1573,6 +1574,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
@@ -1608,6 +1613,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'
@@ -1826,7 +1833,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])
@@ -2291,6 +2297,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 -up xorg-server-20130109/hw/Makefile.am.vnc xorg-server-20130109/hw/Makefile.am
--- xorg-server-20130109/hw/Makefile.am.vnc 2013-01-10 06:06:16.000000000 +0100
+++ xorg-server-20130109/hw/Makefile.am 2013-01-24 13:08:43.283941751 +0100
@@ -33,7 +33,8 @@ SUBDIRS = \
$(XNEST_SUBDIRS) \
$(DMX_SUBDIRS) \
$(KDRIVE_SUBDIRS) \
- $(XQUARTZ_SUBDIRS)
+ $(XQUARTZ_SUBDIRS) \
+ vnc
DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive
diff -up xorg-server-20130109/mi/miinitext.c.vnc xorg-server-20130109/mi/miinitext.c
--- xorg-server-20130109/mi/miinitext.c.vnc 2013-01-10 06:06:16.000000000 +0100
+++ xorg-server-20130109/mi/miinitext.c 2013-01-24 13:08:43.283941751 +0100
@@ -112,6 +112,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.
*/
@@ -302,6 +306,9 @@ static ExtensionModule staticExtensions[
#ifdef XSELINUX
{SELinuxExtensionInit, SELINUX_EXTENSION_NAME, &noSELinuxExtension},
#endif
+#ifdef TIGERVNC
+ {vncExtensionInit, "VNC-EXTENSION", NULL},
+#endif
};
static ExtensionModule *ExtensionModuleList = NULL;

View file

@ -0,0 +1,115 @@
diff -ur xorg-server-1.16.0.orig/configure.ac xorg-server-1.16.0/configure.ac
--- xorg-server-1.16.0.orig/configure.ac 2014-07-17 09:00:51.000000000 +0200
+++ xorg-server-1.16.0/configure.ac 2014-07-19 00:46:53.492489158 +0200
@@ -74,6 +74,7 @@
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])
@@ -1795,6 +1796,10 @@
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 $DRI3_LIB $PRESENT_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
@@ -1830,6 +1835,8 @@
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'
@@ -2051,7 +2058,6 @@
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])
@@ -2589,6 +2595,7 @@
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 -ur xorg-server-1.16.0.orig/hw/Makefile.am xorg-server-1.16.0/hw/Makefile.am
--- xorg-server-1.16.0.orig/hw/Makefile.am 2014-04-16 22:24:00.000000000 +0200
+++ xorg-server-1.16.0/hw/Makefile.am 2014-07-19 00:46:53.492489158 +0200
@@ -38,7 +38,8 @@
$(DMX_SUBDIRS) \
$(KDRIVE_SUBDIRS) \
$(XQUARTZ_SUBDIRS) \
- $(XWAYLAND_SUBDIRS)
+ $(XWAYLAND_SUBDIRS) \
+ vnc
DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive xwayland
diff -ur xorg-server-1.16.0.orig/mi/miinitext.c xorg-server-1.16.0/mi/miinitext.c
--- xorg-server-1.16.0.orig/mi/miinitext.c 2014-04-16 22:24:00.000000000 +0200
+++ xorg-server-1.16.0/mi/miinitext.c 2014-07-19 00:46:53.492489158 +0200
@@ -111,6 +111,10 @@
#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 @@
/* 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 -ur xorg-server-1.16.0.orig/os/WaitFor.c xorg-server-1.16.0/os/WaitFor.c
--- xorg-server-1.16.0.orig/os/WaitFor.c 2014-02-05 04:08:57.000000000 +0100
+++ xorg-server-1.16.0/os/WaitFor.c 2014-07-19 00:46:53.493489158 +0200
@@ -125,6 +125,9 @@
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 @@
INT32 timeout = 0;
fd_set clientsReadable;
fd_set clientsWritable;
+ fd_set socketsWritable;
int curclient;
int selecterr;
static int nready;
@@ -212,6 +216,9 @@
XFD_COPYSET(&AllSockets, &LastSelectMask);
}
+ FD_ZERO(&socketsWritable);
+ vncWriteBlockHandler(&socketsWritable);
+
BlockHandler((void *) &wt, (void *) &LastSelectMask);
if (NewOutputPending)
FlushAllOutput();