mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
community/tigervnc to 1.4.2-1
This commit is contained in:
parent
d60e5252ce
commit
ae568dd24f
5 changed files with 51 additions and 442 deletions
|
@ -6,9 +6,9 @@
|
|||
# - use -fPIC for v7
|
||||
|
||||
pkgname=tigervnc
|
||||
pkgver=1.4.1
|
||||
pkgver=1.4.2
|
||||
pkgrel=1
|
||||
_xorgver=1.16.2.901
|
||||
_xorgver=1.17.1
|
||||
pkgdesc="Suite of VNC servers and clients. Based on the VNC 4 branch of TightVNC."
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://www.tigervnc.org"
|
||||
|
@ -29,21 +29,21 @@ source=(https://github.com/TigerVNC/tigervnc/archive/v${pkgver}.tar.gz
|
|||
vncviewer.desktop
|
||||
gethomedir.patch
|
||||
getmaster.patch
|
||||
compile_fix.patch)
|
||||
md5sums=('b7ca7852d0477d74e932724c5197b0d6'
|
||||
'82cbcf6755787962e943d8e23495358d'
|
||||
xorg117.patch)
|
||||
md5sums=('93b935487d0ec33341f079bc402df6b1'
|
||||
'5986510d59e394a50126a8e2833e79d3'
|
||||
'87678d73cc7c3fcd12797da43a0d061e'
|
||||
'71cac0fb9701b0a041430f0fddfe00c8'
|
||||
'22f1523a0eca56ad79cfabd0db6e2cf6'
|
||||
'e056a2502dfe0cb3b02e08cab689482f'
|
||||
'557f978305b46b880dacd07461ad8db9')
|
||||
'c2d3ba5ef3fc1bc2c11aff178c024eef')
|
||||
|
||||
prepare() {
|
||||
cd ${srcdir}/${pkgname}-${pkgver}
|
||||
|
||||
patch -Np1 -i ${srcdir}/gethomedir.patch
|
||||
patch -Np1 -i ${srcdir}/getmaster.patch
|
||||
# patch -Np1 -i ${srcdir}/compile_fix.patch
|
||||
patch -Np1 -i ${srcdir}/xorg117.patch
|
||||
sed -i 's/iconic/nowin/' unix/vncserver
|
||||
|
||||
cd unix/xserver
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
diff -ur tigervnc-1.4.0.orig/unix/xserver/hw/vnc/Makefile.am tigervnc-1.4.0/unix/xserver/hw/vnc/Makefile.am
|
||||
--- tigervnc-1.4.0.orig/unix/xserver/hw/vnc/Makefile.am 2014-12-10 11:18:40.000000000 +0100
|
||||
+++ tigervnc-1.4.0/unix/xserver/hw/vnc/Makefile.am 2014-12-14 23:17:54.569210661 +0100
|
||||
@@ -7,6 +7,9 @@
|
||||
XREGION_LIB=$(LIB_DIR)/Xregion/libXregion.la
|
||||
COMMON_LIBS=$(NETWORK_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB)
|
||||
|
||||
+# Hack to get the C headers to work when included from C++ code
|
||||
+AM_CXXFLAGS = -fpermissive
|
||||
+
|
||||
noinst_LTLIBRARIES = libvnccommon.la
|
||||
|
||||
HDRS = RegionHelper.h vncExtInit.h vncHooks.h XserverDesktop.h xorg-version.h \
|
|
@ -1,285 +0,0 @@
|
|||
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
|
||||
|
44
community/tigervnc/xorg117.patch
Normal file
44
community/tigervnc/xorg117.patch
Normal file
|
@ -0,0 +1,44 @@
|
|||
diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/xorg-version.h.xserver117 tigervnc-1.4.2/unix/xserver/hw/vnc/xorg-version.h
|
||||
--- tigervnc-1.4.2/unix/xserver/hw/vnc/xorg-version.h.xserver117 2015-01-23 23:37:23.000000000 +0000
|
||||
+++ tigervnc-1.4.2/unix/xserver/hw/vnc/xorg-version.h 2015-02-13 17:35:29.847294663 +0000
|
||||
@@ -48,8 +48,10 @@
|
||||
#define XORG 115
|
||||
#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (16 * 100000) + (99 * 1000))
|
||||
#define XORG 116
|
||||
+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (17 * 100000) + (99 * 1000))
|
||||
+#define XORG 117
|
||||
#else
|
||||
-#error "X.Org newer than 1.16 is not supported"
|
||||
+#error "X.Org newer than 1.17 is not supported"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/xvnc.cc.xserver117 tigervnc-1.4.2/unix/xserver/hw/vnc/xvnc.cc
|
||||
--- tigervnc-1.4.2/unix/xserver/hw/vnc/xvnc.cc.xserver117 2015-01-23 23:37:23.000000000 +0000
|
||||
+++ tigervnc-1.4.2/unix/xserver/hw/vnc/xvnc.cc 2015-02-13 17:35:27.963265774 +0000
|
||||
@@ -717,9 +717,9 @@ vfbInstallColormap(ColormapPtr pmap)
|
||||
entries = pmap->pVisual->ColormapEntries;
|
||||
pVisual = pmap->pVisual;
|
||||
|
||||
- ppix = (Pixel *)xalloc(entries * sizeof(Pixel));
|
||||
- prgb = (xrgb *)xalloc(entries * sizeof(xrgb));
|
||||
- defs = (xColorItem *)xalloc(entries * sizeof(xColorItem));
|
||||
+ ppix = (Pixel *)malloc(entries * sizeof(Pixel));
|
||||
+ prgb = (xrgb *)malloc(entries * sizeof(xrgb));
|
||||
+ defs = (xColorItem *)malloc(entries * sizeof(xColorItem));
|
||||
|
||||
for (i = 0; i < entries; i++) ppix[i] = i;
|
||||
/* XXX truecolor */
|
||||
@@ -738,9 +738,9 @@ vfbInstallColormap(ColormapPtr pmap)
|
||||
}
|
||||
(*pmap->pScreen->StoreColors)(pmap, entries, defs);
|
||||
|
||||
- xfree(ppix);
|
||||
- xfree(prgb);
|
||||
- xfree(defs);
|
||||
+ free(ppix);
|
||||
+ free(prgb);
|
||||
+ free(defs);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,137 +0,0 @@
|
|||
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-08-04 20:43:26.856687998 +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-08-04 20:43:26.856687998 +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-08-04 20:43:26.856687998 +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-08-04 20:44:26.350690385 +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();
|
||||
@@ -223,10 +230,20 @@
|
||||
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;
|
Loading…
Reference in a new issue