added community/tigervnc

This commit is contained in:
Kevin Mihelich 2013-07-08 17:44:40 +00:00
parent 2cda8741c9
commit c371a3f6b1
4 changed files with 198 additions and 0 deletions

View file

@ -0,0 +1,76 @@
# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Uroš Vampl <mobile.leecher at gmail dot com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - use -fPIC for v7
pkgname=tigervnc
pkgver=1.3.0
pkgrel=1
_xorgver=1.14.2
pkgdesc="suite of VNC servers and clients. VNC 4 branch of TightVNC."
arch=('i686' 'x86_64')
url="http://www.tigervnc.org"
license=('GPL')
depends=('pam' 'gnutls' 'libjpeg-turbo' 'libxft' 'libxinerama' 'libxcursor'
'libxtst' 'libxfont' 'pixman' 'xorg-xauth' 'xorg-xsetroot'
'xkeyboard-config' 'libgl' 'libgcrypt' 'perl' 'xorg-xkbcomp'
'fltk')
makedepends=('cmake' 'nasm' 'xorg-font-util' 'xorg-util-macros' 'bigreqsproto'
'compositeproto' 'damageproto' 'randrproto' 'resourceproto'
'scrnsaverproto' 'videoproto' 'xcmiscproto' 'xf86vidmodeproto'
'xtrans' 'mesa' 'glproto' 'dri2proto' 'imagemagick' 'librsvg')
options=(!libtool)
conflicts=('tightvnc')
source=(http://downloads.sourceforge.net/project/tigervnc/tigervnc/$pkgver/tigervnc-$pkgver.tar.bz2
ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${_xorgver}.tar.bz2
vncserver.service
vncviewer.desktop
xserver114.patch)
md5sums=('a5158228e64d14496821a39bf3851f1b'
'5d36a6483e8e301875131e8302c67727'
'0903d5a0dfa38e0b04964505b644585c'
'15c0405f920c3dac250692e8922578d1'
'928faf837ba5b1b34283f9f018df2f5e')
prepare() {
cd ${srcdir}/${pkgname}-${pkgver}
cp -r ${srcdir}/xorg-server-${_xorgver}/* unix/xserver
}
build() {
if [ "$CARCH" == "armv7h" ]; then
CFLAGS="$CFLAGS -fPIC"
CXXFLAGS="$CXXFLAGS -fPIC"
fi
cd ${srcdir}/${pkgname}-${pkgver}
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DUSE_INCLUDED_FLTK=yes
make
make -C media
cd unix/xserver
patch -Np1 -i ${srcdir}/xserver114.patch
autoreconf -fiv
./configure --prefix=/usr \
--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-unit-tests --disable-devel-docs --disable-selective-werror \
--disable-dri --enable-dri2 --enable-glx --enable-glx-tls
make
}
package() {
cd ${srcdir}/${pkgname}-${pkgver}
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 -dm0755 $pkgdir/usr/share/icons
install -m0644 ${srcdir}/${pkgname}-${pkgver}/media/icons/* $pkgdir/usr/share/icons/
install -Dm0644 $srcdir/vncviewer.desktop $pkgdir/usr/share/applications/vncviewer.desktop
}

View file

@ -0,0 +1,28 @@
# 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=forking
User=
ExecStart=/usr/bin/vncserver %i
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,10 @@
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=TigerVNC viewer
Comment=TigerVNC viewer
Exec=/usr/bin/vncviewer
Icon=tigervnc_32.png
Terminal=false
StartupNotify=false
Categories=Application; Network;

View file

@ -0,0 +1,84 @@
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;