summaryrefslogtreecommitdiff
path: root/net/tigervnc/patches
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2015-02-08 19:42:09 +0000
committerwiz <wiz@pkgsrc.org>2015-02-08 19:42:09 +0000
commit02d9442fbe5d8cd2996eeed9bea06361b1127f02 (patch)
tree240795258a143f2e30de7bcd1964561a732a0366 /net/tigervnc/patches
parent18d09b04a536a05a06eea11ba66edd4920e53147 (diff)
downloadpkgsrc-02d9442fbe5d8cd2996eeed9bea06361b1127f02.tar.gz
Import tigervnc-1.3.1 as net/tigervnc, packaged for wip by myself
and mwdavies, who added the Xvnc build. TigerVNC is a high-performance, platform-neutral implementation of VNC (Virtual Network Computing), a client/server application that allows users to launch and interact with graphical applications on remote machines. TigerVNC provides the levels of performance necessary to run 3D and video applications, and it attempts to maintain a common look and feel and re-use components, where possible, across the various platforms that it supports. TigerVNC also provides extensions for advanced authentication methods and TLS encryption.
Diffstat (limited to 'net/tigervnc/patches')
-rw-r--r--net/tigervnc/patches/patch-CMakeLists.txt21
-rw-r--r--net/tigervnc/patches/patch-media_CMakeLists.txt15
-rw-r--r--net/tigervnc/patches/patch-unix_vncserver40
-rw-r--r--net/tigervnc/patches/patch-unix_xserver_hw_vnc_InputXKB.cc97
-rw-r--r--net/tigervnc/patches/patch-unix_xserver_hw_vnc_Makefile.am21
-rw-r--r--net/tigervnc/patches/patch-unix_xserver_hw_vnc_vncHooks.cc67
-rw-r--r--net/tigervnc/patches/patch-unix_xserver_hw_vnc_xorg-version.h16
7 files changed, 277 insertions, 0 deletions
diff --git a/net/tigervnc/patches/patch-CMakeLists.txt b/net/tigervnc/patches/patch-CMakeLists.txt
new file mode 100644
index 00000000000..8f1aabe30e5
--- /dev/null
+++ b/net/tigervnc/patches/patch-CMakeLists.txt
@@ -0,0 +1,21 @@
+$NetBSD: patch-CMakeLists.txt,v 1.1 2015/02/08 19:42:09 wiz Exp $
+
+--- CMakeLists.txt.orig 2014-08-14 09:25:26.000000000 +0000
++++ CMakeLists.txt
+@@ -26,7 +26,7 @@ set(RCVERSION 1,3,1,0)
+ # Installation paths
+ set(BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin")
+ set(DATA_DIR "${CMAKE_INSTALL_PREFIX}/share")
+-set(MAN_DIR "${DATA_DIR}/man")
++set(MAN_DIR "${CMAKE_INSTALL_PREFIX}/man")
+ set(LOCALE_DIR "${DATA_DIR}/locale")
+ set(DOC_DIR "${CMAKE_INSTALL_PREFIX}/share/doc/${CMAKE_PROJECT_NAME}-${VERSION}")
+
+@@ -269,6 +269,7 @@ if(UNIX AND NOT APPLE)
+ if(X11_Xcursor_FOUND)
+ set(FLTK_LIBRARIES ${FLTK_LIBRARIES} ${X11_Xcursor_LIB})
+ endif()
++ set(FLTK_LIBRARIES ${FLTK_LIBRARIES} -lpng -ljpeg)
+ endif()
+
+ if(FLTK_FOUND)
diff --git a/net/tigervnc/patches/patch-media_CMakeLists.txt b/net/tigervnc/patches/patch-media_CMakeLists.txt
new file mode 100644
index 00000000000..ec8db41200c
--- /dev/null
+++ b/net/tigervnc/patches/patch-media_CMakeLists.txt
@@ -0,0 +1,15 @@
+$NetBSD: patch-media_CMakeLists.txt,v 1.1 2015/02/08 19:42:09 wiz Exp $
+
+Don't find "convert" if it happens to be installed.
+
+--- media/CMakeLists.txt.orig 2013-02-19 09:02:25.000000000 +0000
++++ media/CMakeLists.txt
+@@ -5,7 +5,7 @@ set(ICON_FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_32.png
+ ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_48.png)
+
+-find_program(CONVERT_EXECUTABLE convert)
++# find_program(CONVERT_EXECUTABLE convert)
+
+ if(CONVERT_EXECUTABLE)
+ add_custom_target(icons DEPENDS ${ICON_FILES})
diff --git a/net/tigervnc/patches/patch-unix_vncserver b/net/tigervnc/patches/patch-unix_vncserver
new file mode 100644
index 00000000000..0a3899c8d82
--- /dev/null
+++ b/net/tigervnc/patches/patch-unix_vncserver
@@ -0,0 +1,40 @@
+$NetBSD: patch-unix_vncserver,v 1.1 2015/02/08 19:42:09 wiz Exp $
+
+--- unix/vncserver.orig 2014-08-14 09:28:16.000000000 +0000
++++ unix/vncserver
+@@ -88,6 +88,8 @@ if (-d "/etc/X11/fontpath.d") {
+ }
+
+ @fontpaths = ('/usr/share/X11/fonts', '/usr/share/fonts', '/usr/share/fonts/X11/');
++if (! -l "@PREFIX@/share/fonts/X11") {push(@fontpaths, '@PREFIX@/share/fonts/X11');}
++if (! -l "@X11BASE@/lib/X11/fonts") {push(@fontpaths, '@X11BASE@/lib/X11/fonts');}
+ if (! -l "/usr/lib/X11") {push(@fontpaths, '/usr/lib/X11/fonts');}
+ if (! -l "/usr/X11") {push(@fontpaths, '/usr/X11/lib/X11/fonts');}
+ if (! -l "/usr/X11R6") {push(@fontpaths, '/usr/X11R6/lib/X11/fonts');}
+@@ -337,7 +339,7 @@ if (-e "/tmp/.X11-unix/X$displayNumber"
+ }
+ $ENV{VNCDESKTOP}= $desktopName;
+
+-system($exedir."vncconfig -iconic >> " . &quotedString($desktopLog) . " 2>&1 &");
++system($exedir."vncconfig -nowin >> " . &quotedString($desktopLog) . " 2>&1 &");
+
+ if ($opt{'-fg'}) {
+ system("$vncUserDir/xstartup >> " . &quotedString($desktopLog) . " 2>&1");
+@@ -414,7 +416,7 @@ sub CheckDisplayNumber
+
+ socket(S, $AF_INET, $SOCK_STREAM, 0) || die "$prog: socket failed: $!\n";
+ eval 'setsockopt(S, &SOL_SOCKET, &SO_REUSEADDR, pack("l", 1))';
+- if (!bind(S, pack('S n x12', $AF_INET, 6000 + $n))) {
++ if (!bind(S, sockaddr_in(6000 + $n, &INADDR_ANY))) {
+ close(S);
+ return 0;
+ }
+@@ -422,7 +424,7 @@ sub CheckDisplayNumber
+
+ socket(S, $AF_INET, $SOCK_STREAM, 0) || die "$prog: socket failed: $!\n";
+ eval 'setsockopt(S, &SOL_SOCKET, &SO_REUSEADDR, pack("l", 1))';
+- if (!bind(S, pack('S n x12', $AF_INET, 5900 + $n))) {
++ if (!bind(S, sockaddr_in(5900 + $n, &INADDR_ANY))) {
+ close(S);
+ return 0;
+ }
diff --git a/net/tigervnc/patches/patch-unix_xserver_hw_vnc_InputXKB.cc b/net/tigervnc/patches/patch-unix_xserver_hw_vnc_InputXKB.cc
new file mode 100644
index 00000000000..e8c6ed252a2
--- /dev/null
+++ b/net/tigervnc/patches/patch-unix_xserver_hw_vnc_InputXKB.cc
@@ -0,0 +1,97 @@
+$NetBSD: patch-unix_xserver_hw_vnc_InputXKB.cc,v 1.1 2015/02/08 19:42:09 wiz Exp $
+
+--- unix/xserver/hw/vnc/InputXKB.cc.orig 2013-05-30 14:53:40.000000000 +0000
++++ unix/xserver/hw/vnc/InputXKB.cc
+@@ -232,10 +232,7 @@ void InputDevice::PrepareInputDevices(vo
+
+ unsigned InputDevice::getKeyboardState(void)
+ {
+- DeviceIntPtr master;
+-
+- master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT);
+- return XkbStateFieldFromRec(&master->key->xkbInfo->state);
++ return XkbStateFieldFromRec(&keyboardDev->master->key->xkbInfo->state);
+ }
+
+ unsigned InputDevice::getLevelThreeMask(void)
+@@ -256,7 +253,7 @@ unsigned InputDevice::getLevelThreeMask(
+ return 0;
+ }
+
+- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
++ xkb = keyboardDev->master->key->xkbInfo->desc;
+
+ act = XkbKeyActionPtr(xkb, keycode, state);
+ if (act == NULL)
+@@ -281,7 +278,7 @@ KeyCode InputDevice::pressShift(void)
+ if (state & ShiftMask)
+ return 0;
+
+- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
++ xkb = keyboardDev->master->key->xkbInfo->desc;
+ for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
+ XkbAction *act;
+ unsigned char mask;
+@@ -318,7 +315,7 @@ std::list<KeyCode> InputDevice::releaseS
+ if (!(state & ShiftMask))
+ return keys;
+
+- master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT);
++ master = keyboardDev->master;
+ xkb = master->key->xkbInfo->desc;
+ for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
+ XkbAction *act;
+@@ -371,7 +368,7 @@ KeyCode InputDevice::pressLevelThree(voi
+ return 0;
+ }
+
+- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
++ xkb = keyboardDev->master->key->xkbInfo->desc;
+
+ act = XkbKeyActionPtr(xkb, keycode, state);
+ if (act == NULL)
+@@ -399,7 +396,7 @@ std::list<KeyCode> InputDevice::releaseL
+ if (!(state & mask))
+ return keys;
+
+- master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT);
++ master = keyboardDev->master;
+ xkb = master->key->xkbInfo->desc;
+ for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
+ XkbAction *act;
+@@ -440,7 +437,7 @@ KeyCode InputDevice::keysymToKeycode(Key
+ if (new_state != NULL)
+ *new_state = state;
+
+- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
++ xkb = keyboardDev->master->key->xkbInfo->desc;
+ for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
+ unsigned int state_out;
+ KeySym dummy;
+@@ -497,7 +494,7 @@ bool InputDevice::isLockModifier(KeyCode
+ XkbDescPtr xkb;
+ XkbAction *act;
+
+- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
++ xkb = keyboardDev->master->key->xkbInfo->desc;
+
+ act = XkbKeyActionPtr(xkb, keycode, state);
+ if (act == NULL)
+@@ -535,7 +532,7 @@ bool InputDevice::isAffectedByNumLock(Ke
+ if (numlock_keycode == 0)
+ return false;
+
+- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
++ xkb = keyboardDev->master->key->xkbInfo->desc;
+
+ act = XkbKeyActionPtr(xkb, numlock_keycode, state);
+ if (act == NULL)
+@@ -569,7 +566,7 @@ KeyCode InputDevice::addKeysym(KeySym ke
+ KeySym *syms;
+ KeySym upper, lower;
+
+- master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT);
++ master = keyboardDev->master;
+ xkb = master->key->xkbInfo->desc;
+ for (key = xkb->max_key_code; key >= xkb->min_key_code; key--) {
+ if (XkbKeyNumGroups(xkb, key) == 0)
diff --git a/net/tigervnc/patches/patch-unix_xserver_hw_vnc_Makefile.am b/net/tigervnc/patches/patch-unix_xserver_hw_vnc_Makefile.am
new file mode 100644
index 00000000000..8b217f421c0
--- /dev/null
+++ b/net/tigervnc/patches/patch-unix_xserver_hw_vnc_Makefile.am
@@ -0,0 +1,21 @@
+$NetBSD: patch-unix_xserver_hw_vnc_Makefile.am,v 1.1 2015/02/08 19:42:09 wiz Exp $
+
+--- unix/xserver/hw/vnc/Makefile.am.orig 2013-04-09 15:50:50.000000000 +0000
++++ unix/xserver/hw/vnc/Makefile.am
+@@ -5,6 +5,7 @@ RFB_LIB=$(LIB_DIR)/rfb/librfb.la
+ RDR_LIB=$(LIB_DIR)/rdr/librdr.la
+ NETWORK_LIB=$(LIB_DIR)/network/libnetwork.la
+ XREGION_LIB=$(LIB_DIR)/Xregion/libXregion.la
++OS_LIB=$(LIB_DIR)/os/libos.la
+ COMMON_LIBS=$(NETWORK_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB)
+
+ noinst_LTLIBRARIES = libvnccommon.la
+@@ -55,7 +56,7 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I
+
+ libvnc_la_LDFLAGS = -module -avoid-version
+
+-libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS)
++libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) $(OS_LIB)
+
+ EXTRA_DIST = Xvnc.man
+
diff --git a/net/tigervnc/patches/patch-unix_xserver_hw_vnc_vncHooks.cc b/net/tigervnc/patches/patch-unix_xserver_hw_vnc_vncHooks.cc
new file mode 100644
index 00000000000..150775b21d6
--- /dev/null
+++ b/net/tigervnc/patches/patch-unix_xserver_hw_vnc_vncHooks.cc
@@ -0,0 +1,67 @@
+$NetBSD: patch-unix_xserver_hw_vnc_vncHooks.cc,v 1.1 2015/02/08 19:42:09 wiz Exp $
+
+--- unix/xserver/hw/vnc/vncHooks.cc.orig 2013-05-22 12:57:16.000000000 +0000
++++ unix/xserver/hw/vnc/vncHooks.cc
+@@ -119,7 +119,7 @@ static DevPrivateKeyRec vncHooksGCKeyRec
+
+ // screen functions
+
+-#if XORG < 112
++#if XORG <= 112
+ static Bool vncHooksCloseScreen(int i, ScreenPtr pScreen);
+ #else
+ static Bool vncHooksCloseScreen(ScreenPtr pScreen);
+@@ -140,7 +140,7 @@ static Bool vncHooksDisplayCursor(
+ DeviceIntPtr pDev,
+ #endif
+ ScreenPtr pScreen, CursorPtr cursor);
+-#if XORG < 112
++#if XORG <= 112
+ static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout,
+ pointer pReadmask);
+ #else
+@@ -367,7 +367,7 @@ Bool vncHooksInit(ScreenPtr pScreen, Xse
+ // CloseScreen - unwrap the screen functions and call the original CloseScreen
+ // function
+
+-#if XORG < 112
++#if XORG <= 112
+ static Bool vncHooksCloseScreen(int i, ScreenPtr pScreen_)
+ #else
+ static Bool vncHooksCloseScreen(ScreenPtr pScreen_)
+@@ -405,7 +405,7 @@ static Bool vncHooksCloseScreen(ScreenPt
+
+ DBGPRINT((stderr,"vncHooksCloseScreen: unwrapped screen functions\n"));
+
+-#if XORG < 112
++#if XORG <= 112
+ return (*pScreen->CloseScreen)(i, pScreen);
+ #else
+ return (*pScreen->CloseScreen)(pScreen);
+@@ -574,7 +574,7 @@ static Bool vncHooksDisplayCursor(
+ // BlockHandler - ignore any changes during the block handler - it's likely
+ // these are just drawing the cursor.
+
+-#if XORG < 112
++#if XORG <= 112
+ static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout,
+ pointer pReadmask)
+ #else
+@@ -582,7 +582,7 @@ static void vncHooksBlockHandler(ScreenP
+ pointer pReadmask)
+ #endif
+ {
+-#if XORG < 112
++#if XORG <= 112
+ SCREEN_UNWRAP(screenInfo.screens[i], BlockHandler);
+ #else
+ SCREEN_UNWRAP(pScreen_, BlockHandler);
+@@ -590,7 +590,7 @@ static void vncHooksBlockHandler(ScreenP
+
+ vncHooksScreen->desktop->ignoreHooks(true);
+
+-#if XORG < 112
++#if XORG <= 112
+ (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask);
+ #else
+ (*pScreen->BlockHandler) (pScreen, pTimeout, pReadmask);
diff --git a/net/tigervnc/patches/patch-unix_xserver_hw_vnc_xorg-version.h b/net/tigervnc/patches/patch-unix_xserver_hw_vnc_xorg-version.h
new file mode 100644
index 00000000000..3587814ba24
--- /dev/null
+++ b/net/tigervnc/patches/patch-unix_xserver_hw_vnc_xorg-version.h
@@ -0,0 +1,16 @@
+$NetBSD: patch-unix_xserver_hw_vnc_xorg-version.h,v 1.1 2015/02/08 19:42:09 wiz Exp $
+
+--- unix/xserver/hw/vnc/xorg-version.h.orig 2013-02-19 13:51:29.000000000 +0000
++++ unix/xserver/hw/vnc/xorg-version.h
+@@ -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