diff options
author | Uros Vampl | 2015-06-08 13:03:52 +0200 |
---|---|---|
committer | Uros Vampl | 2015-06-08 13:03:52 +0200 |
commit | 27b30fe0f1c332fb7a22449af21d940228376cd2 (patch) | |
tree | 6209981ba6a425d66f487a97c82074e8a41e64fb | |
download | aur-27b30fe0f1c332fb7a22449af21d940228376cd2.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 59 | ||||
-rw-r--r-- | PKGBUILD | 73 | ||||
-rw-r--r-- | getmaster.patch | 97 | ||||
-rw-r--r-- | vncserver.service | 29 | ||||
-rw-r--r-- | vncviewer.desktop | 9 |
5 files changed, 267 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..642d3b0b1517 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,59 @@ +pkgbase = tigervnc-git + pkgdesc = Suite of VNC servers and clients. Based on the VNC 4 branch of TightVNC. + pkgver = r3061.500cbe6e + pkgrel = 1 + url = http://www.tigervnc.org + arch = i686 + arch = x86_64 + license = GPL + makedepends = cmake + makedepends = nasm + makedepends = xorg-font-util + makedepends = xorg-util-macros + makedepends = bigreqsproto + makedepends = compositeproto + makedepends = damageproto + makedepends = randrproto + makedepends = resourceproto + makedepends = scrnsaverproto + makedepends = videoproto + makedepends = xcmiscproto + makedepends = xf86vidmodeproto + makedepends = xtrans + makedepends = glproto + makedepends = dri2proto + makedepends = dri3proto + makedepends = presentproto + makedepends = mesa + makedepends = git + depends = fltk + depends = pam + depends = gnutls + depends = libjpeg-turbo + depends = libxtst + depends = libxfont + depends = pixman + depends = xorg-xauth + depends = xorg-xsetroot + depends = xkeyboard-config + depends = xorg-xkbcomp + depends = libgl + depends = libgcrypt + depends = perl + optdepends = mesa: for OpenGL functionality in Xvnc + provides = tigervnc + conflicts = tigervnc + conflicts = tightvnc + source = git+https://github.com/TigerVNC/tigervnc.git + source = ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-1.17.1.tar.bz2 + source = vncserver.service + source = vncviewer.desktop + source = getmaster.patch + md5sums = SKIP + md5sums = 5986510d59e394a50126a8e2833e79d3 + md5sums = a8a20685c23a50f86a13c33ce96a7ba7 + md5sums = b200d83c60e80c6f9693ea19a2d9f5b0 + md5sums = 5ee303c958d14771affd5514de3328ca + +pkgname = tigervnc-git + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..d5bcc9231a85 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,73 @@ +# Maintainer: Uroš Vampl <mobile.leecher at gmail dot com> + +pkgname=tigervnc-git +pkgver=r3061.500cbe6e +pkgrel=1 +_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" +license=('GPL') +depends=('fltk' 'pam' 'gnutls' 'libjpeg-turbo' 'libxtst' 'libxfont' 'pixman' + 'xorg-xauth' 'xorg-xsetroot' 'xkeyboard-config' 'xorg-xkbcomp' + 'libgl' 'libgcrypt' 'perl') +makedepends=('cmake' 'nasm' 'xorg-font-util' 'xorg-util-macros' 'bigreqsproto' + 'compositeproto' 'damageproto' 'randrproto' 'resourceproto' + 'scrnsaverproto' 'videoproto' 'xcmiscproto' 'xf86vidmodeproto' + 'xtrans' 'glproto' 'dri2proto' 'dri3proto' 'presentproto' + 'mesa' 'git') +optdepends=('mesa: for OpenGL functionality in Xvnc') +conflicts=('tigervnc' 'tightvnc') +provides=('tigervnc') +source=(git+https://github.com/TigerVNC/tigervnc.git + ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${_xorgver}.tar.bz2 + vncserver.service + vncviewer.desktop + getmaster.patch) +md5sums=('SKIP' + '5986510d59e394a50126a8e2833e79d3' + 'a8a20685c23a50f86a13c33ce96a7ba7' + 'b200d83c60e80c6f9693ea19a2d9f5b0' + '5ee303c958d14771affd5514de3328ca') + +pkgver() { + cd tigervnc + echo r$(git rev-list --count HEAD).$(git rev-parse --short HEAD) +} + +prepare() { + cd tigervnc + + patch -Np1 -i ${srcdir}/getmaster.patch + sed -i 's/iconic/nowin/' unix/vncserver + + cd unix/xserver + cp -r ${srcdir}/xorg-server-${_xorgver}/* . + patch -Np1 -i ../xserver116.patch +} + +build() { + cd tigervnc + cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr + make + + cd unix/xserver + autoreconf -fiv + ./configure --prefix=/usr \ + --disable-static --without-dtrace \ + --disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ + --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-dri3 --enable-glx --enable-glx-tls + make +} + +package() { + cd tigervnc + make DESTDIR=${pkgdir} install + cd unix/xserver/hw/vnc + make DESTDIR=${pkgdir} install + install -Dm0644 $srcdir/vncserver.service $pkgdir/usr/lib/systemd/system/vncserver.service + install -Dm0644 $srcdir/vncviewer.desktop $pkgdir/usr/share/applications/vncviewer.desktop +} diff --git a/getmaster.patch b/getmaster.patch new file mode 100644 index 000000000000..2eb8d033f2ad --- /dev/null +++ b/getmaster.patch @@ -0,0 +1,97 @@ +diff --git a/unix/xserver/hw/vnc/InputXKB.c b/unix/xserver/hw/vnc/InputXKB.c +index 8d7ae56..e7ded9c 100644 +--- a/unix/xserver/hw/vnc/InputXKB.c ++++ b/unix/xserver/hw/vnc/InputXKB.c +@@ -212,10 +212,7 @@ void vncPrepareInputDevices(void) + + unsigned vncGetKeyboardState(void) + { +- DeviceIntPtr master; +- +- master = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT); +- return XkbStateFieldFromRec(&master->key->xkbInfo->state); ++ return XkbStateFieldFromRec(&vncKeyboardDev->master->key->xkbInfo->state); + } + + unsigned vncGetLevelThreeMask(void) +@@ -236,7 +233,7 @@ unsigned vncGetLevelThreeMask(void) + return 0; + } + +- xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc; ++ xkb = vncKeyboardDev->master->key->xkbInfo->desc; + + act = XkbKeyActionPtr(xkb, keycode, state); + if (act == NULL) +@@ -261,7 +258,7 @@ KeyCode vncPressShift(void) + if (state & ShiftMask) + return 0; + +- xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc; ++ xkb = vncKeyboardDev->master->key->xkbInfo->desc; + for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) { + XkbAction *act; + unsigned char mask; +@@ -301,7 +298,7 @@ size_t vncReleaseShift(KeyCode *keys, size_t maxKeys) + + count = 0; + +- master = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT); ++ master = vncKeyboardDev->master; + xkb = master->key->xkbInfo->desc; + for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) { + XkbAction *act; +@@ -357,7 +354,7 @@ KeyCode vncPressLevelThree(void) + return 0; + } + +- xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc; ++ xkb = vncKeyboardDev->master->key->xkbInfo->desc; + + act = XkbKeyActionPtr(xkb, keycode, state); + if (act == NULL) +@@ -388,7 +385,7 @@ size_t vncReleaseLevelThree(KeyCode *keys, size_t maxKeys) + + count = 0; + +- master = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT); ++ master = vncKeyboardDev->master; + xkb = master->key->xkbInfo->desc; + for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) { + XkbAction *act; +@@ -431,7 +428,7 @@ KeyCode vncKeysymToKeycode(KeySym keysym, unsigned state, unsigned *new_state) + if (new_state != NULL) + *new_state = state; + +- xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc; ++ xkb = vncKeyboardDev->master->key->xkbInfo->desc; + for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) { + unsigned int state_out; + KeySym dummy; +@@ -488,7 +485,7 @@ int vncIsLockModifier(KeyCode keycode, unsigned state) + XkbDescPtr xkb; + XkbAction *act; + +- xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc; ++ xkb = vncKeyboardDev->master->key->xkbInfo->desc; + + act = XkbKeyActionPtr(xkb, keycode, state); + if (act == NULL) +@@ -526,7 +523,7 @@ int vncIsAffectedByNumLock(KeyCode keycode) + if (numlock_keycode == 0) + return 0; + +- xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc; ++ xkb = vncKeyboardDev->master->key->xkbInfo->desc; + + act = XkbKeyActionPtr(xkb, numlock_keycode, state); + if (act == NULL) +@@ -560,7 +557,7 @@ KeyCode vncAddKeysym(KeySym keysym, unsigned state) + KeySym *syms; + KeySym upper, lower; + +- master = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT); ++ master = vncKeyboardDev->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/vncserver.service b/vncserver.service new file mode 100644 index 000000000000..40151ac80913 --- /dev/null +++ b/vncserver.service @@ -0,0 +1,29 @@ +# The vncserver service unit file +# +# 1. Copy this file to /etc/systemd/system/vncserver@:<display>.service +# 2. Edit User= +# ("User=foo") +# 3. Edit and vncserver parameters appropriately +# ("/usr/bin/vncserver %i -arg1 -arg2 -argn") +# 4. Run `systemctl --system daemon-reload` +# 5. Run `systemctl enable vncserver@:<display>.service` +# +# DO NOT RUN THIS SERVICE if your local area network is untrusted! +# +# See the wiki page for more on security +# https://wiki.archlinux.org/index.php/Vncserver + +[Unit] +Description=Remote desktop service (VNC) +After=syslog.target network.target + +[Service] +Type=simple +User= + +ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i >/dev/null 2>&1 || true' +ExecStart=/usr/bin/vncserver -fg %i +ExecStop=/usr/bin/vncserver -kill %i + +[Install] +WantedBy=multi-user.target diff --git a/vncviewer.desktop b/vncviewer.desktop new file mode 100644 index 000000000000..d8005d30748c --- /dev/null +++ b/vncviewer.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Name=TigerVNC Viewer +Comment=VNC client +Exec=/usr/bin/vncviewer +Icon=tigervnc +Terminal=false +StartupNotify=false +Categories=Network;RemoteAccess; |