summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-misc/tigervnc
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-misc/tigervnc')
-rw-r--r--net-misc/tigervnc/Manifest10
-rw-r--r--net-misc/tigervnc/files/1.3.1-CVE-2014-8240.patch78
-rw-r--r--net-misc/tigervnc/files/tigervnc.confd9
-rw-r--r--net-misc/tigervnc/files/tigervnc.initd73
-rw-r--r--net-misc/tigervnc/metadata.xml14
-rw-r--r--net-misc/tigervnc/tigervnc-1.3.1-r1.ebuild199
-rw-r--r--net-misc/tigervnc/tigervnc-1.3.1-r2.ebuild198
-rw-r--r--net-misc/tigervnc/tigervnc-1.3.1-r3.ebuild202
-rw-r--r--net-misc/tigervnc/tigervnc-1.3.1-r4.ebuild201
-rw-r--r--net-misc/tigervnc/tigervnc-1.4.2-r1.ebuild199
-rw-r--r--net-misc/tigervnc/tigervnc-1.4.2-r2.ebuild200
11 files changed, 1383 insertions, 0 deletions
diff --git a/net-misc/tigervnc/Manifest b/net-misc/tigervnc/Manifest
new file mode 100644
index 000000000000..d2aa94f260a4
--- /dev/null
+++ b/net-misc/tigervnc/Manifest
@@ -0,0 +1,10 @@
+DIST tigervnc-1.3.0-patches-0.2.tar.bz2 8130 SHA256 9cf7ca0e3fe56f99c3ca1b88ddccca0952d86a722a3c3da4585aac4b7882245d SHA512 defb37a4f0aa5b7c2dd71aaf404b048c058adf3181235721607a3cac7e8a4fec7751b081ccb1704e51a68ada84147d408328cdf969c64359dd9460916671be90 WHIRLPOOL 67db5fc1c1b8bea6dc4394d360e5261f52f160627d9bcf5a4fee221c38600c0415a0f10170a960f91cf0cf94a401f9d625d790aba3af17fc3326aae6cb2b899c
+DIST tigervnc-1.3.1-patches-0.1.tar.bz2 16016 SHA256 5bcaabd8993274a5ce1718efc15fdaf22041003a49a94293eeea9b5b72d3b822 SHA512 f7afc3e7062976b704802e58bb654e46ded5f9dcf8e089d1633e82ce8f5383b60885158319142ac8a58d4d0cf0c8fb51134124bb2dd00dc38fb441bc079b31d4 WHIRLPOOL 33c149415633fe4b0c08cd96c9208c70728acc4b2935835bad1c39037af5aec70c54ad9b98503f6ca93441608e3eef82bc3b17dfcdda97f95ae5dbc41cfcd4a4
+DIST tigervnc-1.3.1.tar.gz 6888105 SHA256 628622316eefa5d4f348f00a280a513569bfae3eae6a20d72e2990654d12274e SHA512 28fe61287c4c96b3703055701cb74f7f4cb17392af5201b93fafe5187555710ab4becf110266ea161d26568064435626e85ab7570e1f7f6df2348f1a34d56e8d WHIRLPOOL 35875b230cd4face9a24ae9ff5682c122d7db7a43fe475d9216d30ca9c55409a16788bc6af5e0a2efde3457295f00a3a8f5e29b540477e806be5b0fc30408b99
+DIST tigervnc-1.4.2-patches-0.1.tar.bz2 7361 SHA256 21c77708d303192108ffeef02acc0e7310461b4910bb49ae78c8a944e52c436e SHA512 86235aba8e735e4afed21d2940cee8ea2f4f1bc951db79aaf481ae79ab81d4518add6be2619ce9371f77fd068c8dbf069754ecc0168e5afe9e8505d3d61cc573 WHIRLPOOL 97a8c1719e7959ce8abd29f9ad249c7acf1b5a21ef36c0ce00b6e3bae8e6e78e9cdb0b34a23da6bd44c9e513e95f22716b286c5ec57bf1a854101c4810c7b481
+DIST tigervnc-1.4.2.tar.gz 1370453 SHA256 6cfb33cb2a123dee96ca29d61523391f73c9d49b6cd2fb6522312d01da98866f SHA512 dcd9b223d0d6646a85b2f28abdf36491d6d735b0738cce0b179d745ca124d8430edd883a7ac7342bf882cf62a02ce8d7058ff9101f17c4310dbbe6bad50cc90f WHIRLPOOL 420dd1f72e1ba0de1796133acf0c35ac1e79bc1533610b927c01993af57eb293a886f57739cca7cf0f1985a269a2ed3cf2345896f59696c8e8dfc68a4b9013e5
+DIST tigervnc.png 4958 SHA256 e0828aeb92ccaaf93e690e9ee5e17803de1cb140d3ca79fb756fe08ebbc4492e SHA512 97f9a42e9b9f50f1c91de3b7d7991aa8965240fe4958d6da4e9f72f9baa4510ad615765f7c59d6e0a90c9d4b5fe53ad1547c766f2da45e4a6b6e29b03ced2b8b WHIRLPOOL bbf01f6702724bc4329d053bd3fbf856103371abce20f6f74aa3c2e5eed0eebcdcccd287788b1efbb8de3008cb484a8da5ccd1bd667727e4b0861f3bb550529c
+DIST xorg-server-1.15.0.tar.bz2 5546579 SHA256 613b2f2e7ee2a06d2f8e862c836dc70d319c52f1537749e027398f40086aabb8 SHA512 7bf6a9eff9cc606defbaa46600a4d7b41896f4304e06af745a2717687853c7e92b191481f1f4d6d98ef0adfe5f404c9e3997ebd98553c60b626cd1bb53c58d9d WHIRLPOOL 905d3b47938e5e5604b04953f11ec7acee9298d6f32570612d6301ac71b0c5a49e774267b627957b7a6a94f6b9bf211c9ed6b7102f389a2120a40bd45502a6d7
+DIST xorg-server-1.16.0.tar.bz2 5832944 SHA256 38330a03c5f7a38745a3f9816cf069db5b8844eebb358fd39dbabf61f32cd06b SHA512 eab298e3728aa79ff2ba3f5c12637c4db0f9bbca49ed00b673b2bfedf605f33a69d8eb946bed98e3d28afd9bfaf62e21ce2e8606d84cae9906506d90c26f1662 WHIRLPOOL bd9817cf93587e2b33d63438942c75d49b04f4fc2a4544654dfcc116deaf88abcccd0fa2496fb58848d5a007d2e32177cdbcd3f44237efd8b7882a0abc5b8d56
+DIST xorg-server-1.16.4.tar.bz2 5817330 SHA256 abb6e1cc9213a9915a121f48576ff6739a0b8cdb3d32796f9a7743c9a6efc871 SHA512 f756fca65535aa921a85d8d8eb36ea2ba5b7af90a46d640b0ca76259a9abd9d323885087e11156528d95240937c70373045001ae20266a1b9e89909f007e9e74 WHIRLPOOL 63980a3e2b57d2860998344f21a6524598b3dc135c277e5a868e34b57ab5060681ae7137358b3ba8b9ca5fd622a91aeb06bd0ac9e3e5ce1f4dc55df2b2dc0e33
+DIST xorg-server-1.17.1.tar.bz2 5852385 SHA256 2bf8e9f6f0a710dec1d2472467bff1f4e247cb6dcd76eb469aafdc8a2d7db2ab SHA512 195a0e0a6bd9c7655e62dd40dfbd7dea77d10f1143d4fd6154e8bdbb463d3729f81ecd1e379d66f68e828d4f4583782c15ce260de24444802076844aec552c4f WHIRLPOOL a8a78b0bfa6137941e3434f083319a827f0332fd9c190922bb0a33381e86173868d236c96a89ee3049400f37521fe052838416f009713f004227f05b8717d776
diff --git a/net-misc/tigervnc/files/1.3.1-CVE-2014-8240.patch b/net-misc/tigervnc/files/1.3.1-CVE-2014-8240.patch
new file mode 100644
index 000000000000..dd2707394870
--- /dev/null
+++ b/net-misc/tigervnc/files/1.3.1-CVE-2014-8240.patch
@@ -0,0 +1,78 @@
+Patch-Mainline: To be upstreamed
+References: bnc#900896 CVE-2014-8240
+Signed-off-by: Michal Srb <msrb@suse.com>
+
+Index: tigervnc-1.4.1/unix/x0vncserver/Image.cxx
+===================================================================
+--- tigervnc-1.4.1.orig/unix/x0vncserver/Image.cxx
++++ tigervnc-1.4.1/unix/x0vncserver/Image.cxx
+@@ -80,6 +80,14 @@ void Image::Init(int width, int height)
+ xim = XCreateImage(dpy, vis, DefaultDepth(dpy, DefaultScreen(dpy)),
+ ZPixmap, 0, 0, width, height, BitmapPad(dpy), 0);
+
++ if (xim->bytes_per_line <= 0 ||
++ xim->height <= 0 ||
++ xim->height >= INT_MAX / xim->bytes_per_line) {
++ vlog.error("Invalid display size");
++ XDestroyImage(xim);
++ exit(1);
++ }
++
+ xim->data = (char *)malloc(xim->bytes_per_line * xim->height);
+ if (xim->data == NULL) {
+ vlog.error("malloc() failed");
+@@ -254,6 +262,17 @@ void ShmImage::Init(int width, int heigh
+ delete shminfo;
+ shminfo = NULL;
+ return;
++ }
++
++ if (xim->bytes_per_line <= 0 ||
++ xim->height <= 0 ||
++ xim->height >= INT_MAX / xim->bytes_per_line) {
++ vlog.error("Invalid display size");
++ XDestroyImage(xim);
++ xim = NULL;
++ delete shminfo;
++ shminfo = NULL;
++ return;
+ }
+
+ shminfo->shmid = shmget(IPC_PRIVATE,
+Index: tigervnc-1.4.1/vncviewer/X11PixelBuffer.cxx
+===================================================================
+--- tigervnc-1.4.1.orig/vncviewer/X11PixelBuffer.cxx
++++ tigervnc-1.4.1/vncviewer/X11PixelBuffer.cxx
+@@ -106,6 +106,15 @@ X11PixelBuffer::X11PixelBuffer(int width
+ if (!xim)
+ throw rfb::Exception(_("Could not create framebuffer image"));
+
++ if (xim->bytes_per_line <= 0 ||
++ xim->height <= 0 ||
++ xim->height >= INT_MAX / xim->bytes_per_line) {
++ if (xim)
++ XDestroyImage(xim);
++ xim = NULL;
++ throw rfb::Exception("Invalid display size");
++ }
++
+ xim->data = (char*)malloc(xim->bytes_per_line * xim->height);
+ if (!xim->data)
+ throw rfb::Exception(_("Not enough memory for framebuffer"));
+@@ -172,6 +181,16 @@ int X11PixelBuffer::setupShm()
+ if (!xim)
+ goto free_shminfo;
+
++ if (xim->bytes_per_line <= 0 ||
++ xim->height <= 0 ||
++ xim->height >= INT_MAX / xim->bytes_per_line) {
++ XDestroyImage(xim);
++ xim = NULL;
++ delete shminfo;
++ shminfo = NULL;
++ throw rfb::Exception("Invalid display size");
++ }
++
+ shminfo->shmid = shmget(IPC_PRIVATE,
+ xim->bytes_per_line * xim->height,
+ IPC_CREAT|0777);
diff --git a/net-misc/tigervnc/files/tigervnc.confd b/net-misc/tigervnc/files/tigervnc.confd
new file mode 100644
index 000000000000..e651dbbe7889
--- /dev/null
+++ b/net-misc/tigervnc/files/tigervnc.confd
@@ -0,0 +1,9 @@
+# Config file for /etc/init.d/tigervnc
+
+# Specify the user(s) Xvnc(1) should be run for. The syntax is: "username:display".
+# example: "DISPLAYS="foo:1 bar:2" You can specify more users separated by space.
+# DISPLAYS="myuser:1"
+
+# Specify any of vncserver(1) and Xvnc(1) options. See the respective man pages for more information.
+# VNC_OPTS=""
+
diff --git a/net-misc/tigervnc/files/tigervnc.initd b/net-misc/tigervnc/files/tigervnc.initd
new file mode 100644
index 000000000000..cc0523dc38bd
--- /dev/null
+++ b/net-misc/tigervnc/files/tigervnc.initd
@@ -0,0 +1,73 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Id$
+
+depend() {
+ need net
+}
+
+checkconfig() {
+ if [ -n "${DISPLAYS}" ]; then
+ if [ $1 = "start" ]; then
+ local user
+ for user in $DISPLAYS; do
+ if eval [ ! -f "~${user%%:*}/.vnc/passwd" ]; then
+ eerror "There are no passwords defined for user ${user%%:*}."
+ return 1
+ elif [ -e "/tmp/.X11-unix/X${user##*:}" ]; then
+ eerror "Display :${user##*:} appears to be already in use because of /tmp/.X11-unix/X${user##*:}"
+ eerror "Remove this file if there is no X server $HOSTNAME:${user##*:}"
+ return 1
+ elif [ -e "/tmp/.X${user##*:}-lock" ]; then
+ eerror "Display :${user##*:} appears to be already in use because of /tmp/.X${user##*:}-lock"
+ eerror "Remove this file if there is no X server $HOSTNAME:${user##*:}"
+ return 1
+ fi
+ done
+ fi
+ return 0
+ else
+ eerror 'Please define $DISPLAYS in /etc/conf.d/tigervnc'
+ return 1
+ fi
+}
+
+start() {
+ checkconfig start || return 1
+ ebegin "Starting TigerVNC server"
+ for user in $DISPLAYS; do
+ usrname=${user%%:*}
+ usropts=VNC_OPTS_${usrname}
+ usrdisp=${user##*:}
+ usrvar=$usropts"["$usrdisp"]"
+ [ -z ${!usrvar} ] && vnc_opts=$VNC_OPTS || vnc_opts=${!usrvar}
+
+ # A user may have an invalid shell, so we default to /bin/sh if its the case
+ if [ -x /usr/bin/getent ] ; then
+ usrshell=`getent passwd ${user%%:*} | cut -d: -f 7`
+ case "$usrshell" in
+ */bash|*/ksh|*/sh|*/csh|*/tcsh) ;;
+ *) shell="-s /bin/sh" ;;
+ esac
+ echo $usrshell $shell
+ fi
+
+ su ${shell} ${user%%:*} -c "source /etc/profile && cd ~${user%%:*} && vncserver :${user##*:} $vnc_opts" &>/dev/null
+ done
+ eend $?
+}
+
+stop() {
+ checkconfig stop || return 2
+ ebegin "Stopping TigerVNC server"
+ for user in $DISPLAYS; do
+ su -s /bin/sh ${user%%:*} -c "vncserver -kill :${user##*:}" &>/dev/null
+ done
+ eend $?
+}
+
+restart() {
+ svc_stop
+ svc_start
+}
diff --git a/net-misc/tigervnc/metadata.xml b/net-misc/tigervnc/metadata.xml
new file mode 100644
index 000000000000..f555d69f5e16
--- /dev/null
+++ b/net-misc/tigervnc/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>armin76@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="server">Build TigerVNC server</flag>
+ <flag name="xorgmodule">Build the Xorg module</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">TigerVNC/tigervnc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-misc/tigervnc/tigervnc-1.3.1-r1.ebuild b/net-misc/tigervnc/tigervnc-1.3.1-r1.ebuild
new file mode 100644
index 000000000000..b2d6c1b5e0e3
--- /dev/null
+++ b/net-misc/tigervnc/tigervnc-1.3.1-r1.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils cmake-utils autotools java-pkg-opt-2 flag-o-matic
+
+PATCHVER="0.2"
+XSERVER_VERSION="1.15.0"
+OPENGL_DIR="xorg-x11"
+#MY_P="${PN}-1.2.80-20130314svn5065"
+#S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="Remote desktop viewer display system"
+HOMEPAGE="http://www.tigervnc.org"
+SRC_URI="mirror://sourceforge/tigervnc/${P}.tar.gz
+ mirror://gentoo/${PN}.png
+ mirror://gentoo/${PN}-1.3.0-patches-${PATCHVER}.tar.bz2
+ http://dev.gentoo.org/~armin76/dist/${PN}-1.3.0-patches-${PATCHVER}.tar.bz2
+ server? ( ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${XSERVER_VERSION}.tar.bz2 )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86"
+IUSE="gnutls java nptl +opengl pam server +xorgmodule"
+
+RDEPEND="virtual/jpeg:0
+ sys-libs/zlib
+ >=x11-libs/libXtst-1.0.99.2
+ >=x11-libs/fltk-1.3.1
+ gnutls? ( net-libs/gnutls )
+ java? ( >=virtual/jre-1.5 )
+ pam? ( virtual/pam )
+ server? (
+ dev-lang/perl
+ >=x11-libs/libXi-1.2.99.1
+ >=x11-libs/libXfont-1.4.2
+ >=x11-libs/libxkbfile-1.0.4
+ x11-libs/libXrender
+ >=x11-libs/pixman-0.27.2
+ >=x11-apps/xauth-1.0.3
+ x11-apps/xsetroot
+ >=x11-misc/xkeyboard-config-2.4.1-r3
+ opengl? ( >=app-eselect/eselect-opengl-1.0.8 )
+ xorgmodule? ( =x11-base/xorg-server-${XSERVER_VERSION%.*}* )
+ )
+ !net-misc/vnc
+ !net-misc/tightvnc
+ !net-misc/xf4vnc"
+DEPEND="${RDEPEND}
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/nasm )
+ >=x11-proto/inputproto-2.2.99.1
+ >=x11-proto/xextproto-7.2.99.901
+ >=x11-proto/xproto-7.0.22
+ java? ( >=virtual/jdk-1.5 )
+ server? (
+ virtual/pkgconfig
+ media-fonts/font-util
+ x11-misc/util-macros
+ >=x11-proto/bigreqsproto-1.1.0
+ >=x11-proto/compositeproto-0.4
+ >=x11-proto/damageproto-1.1
+ >=x11-proto/fixesproto-5.0
+ >=x11-proto/fontsproto-2.0.2
+ >=x11-proto/glproto-1.4.17
+ >=x11-proto/randrproto-1.4.0
+ >=x11-proto/renderproto-0.11
+ >=x11-proto/resourceproto-1.2.0
+ >=x11-proto/scrnsaverproto-1.1
+ >=x11-proto/videoproto-2.2.2
+ >=x11-proto/xcmiscproto-1.2.0
+ >=x11-proto/xineramaproto-1.1.3
+ >=x11-libs/xtrans-1.3.2
+ >=x11-proto/dri2proto-2.8
+ opengl? ( >=media-libs/mesa-7.8_rc[nptl=] )
+ )"
+
+CMAKE_IN_SOURCE_BUILD=1
+
+pkg_setup() {
+ if ! use server ; then
+ echo
+ einfo "The 'server' USE flag will build tigervnc's server."
+ einfo "If '-server' is chosen only the client is built to save space."
+ einfo "Stop the build now if you need to add 'server' to USE flags.\n"
+ else
+ ewarn "Forcing on xorg-x11 for new enough glxtokens.h..."
+ OLD_IMPLEM="$(eselect opengl show)"
+ eselect opengl set ${OPENGL_DIR}
+ fi
+}
+
+switch_opengl_implem() {
+ # Switch to the xorg implementation.
+ # Use new opengl-update that will not reset user selected
+ # OpenGL interface ...
+ echo
+ eselect opengl set ${OLD_IMPLEM}
+}
+
+src_prepare() {
+ if use server ; then
+ cp -r "${WORKDIR}"/xorg-server-${XSERVER_VERSION}/* unix/xserver
+ else
+ rm "${WORKDIR}"/patches/*_server_*
+ fi
+
+ EPATCH_SOURCE="${WORKDIR}/patches" EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" epatch
+
+ if use server ; then
+ cd unix/xserver
+ epatch ../xserver114.patch
+ eautoreconf
+ fi
+}
+
+src_configure() {
+
+ use arm || use hppa && append-flags "-fPIC"
+
+ mycmakeargs=(
+ -G "Unix Makefiles"
+ $(cmake-utils_use_enable gnutls GNUTLS)
+ $(cmake-utils_use_enable pam PAM)
+ $(cmake-utils_use_build java JAVA)
+ )
+
+ cmake-utils_src_configure
+
+ if use server; then
+ cd unix/xserver
+ econf \
+ $(use_enable nptl glx-tls) \
+ $(use_enable opengl glx) \
+ --disable-config-dbus \
+ --disable-config-hal \
+ --disable-config-udev \
+ --disable-devel-docs \
+ --disable-dmx \
+ --disable-dri \
+ --disable-dri3 \
+ --disable-kdrive \
+ --disable-selective-werror \
+ --disable-silent-rules \
+ --disable-static \
+ --disable-unit-tests \
+ --disable-xephyr \
+ --disable-xinerama \
+ --disable-xnest \
+ --disable-xorg \
+ --disable-xvfb \
+ --disable-xwin \
+ --enable-dri2 \
+ --with-pic \
+ --without-dtrace \
+ --disable-present \
+ --disable-unit-tests
+ fi
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ if use server ; then
+ cd unix/xserver
+ emake
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ newicon "${DISTDIR}"/tigervnc.png vncviewer.png
+ make_desktop_entry vncviewer vncviewer vncviewer Network
+
+ if use server ; then
+ cd unix/xserver/hw/vnc
+ emake DESTDIR="${D}" install
+ ! use xorgmodule && rm -rf "${D}"/usr/$(get_libdir)/xorg
+
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+
+ rm "${D}"/usr/$(get_libdir)/xorg/modules/extensions/libvnc.la
+ else
+ cd "${D}"
+ for f in vncserver vncpasswd x0vncserver vncconfig; do
+ rm usr/bin/$f
+ rm usr/share/man/man1/$f.1
+ done
+ fi
+}
+
+pkg_postinst() {
+ use server && switch_opengl_implem
+}
diff --git a/net-misc/tigervnc/tigervnc-1.3.1-r2.ebuild b/net-misc/tigervnc/tigervnc-1.3.1-r2.ebuild
new file mode 100644
index 000000000000..d7bde60325fa
--- /dev/null
+++ b/net-misc/tigervnc/tigervnc-1.3.1-r2.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils cmake-utils autotools java-pkg-opt-2 flag-o-matic
+
+PATCHVER="0.1"
+XSERVER_VERSION="1.16.0"
+OPENGL_DIR="xorg-x11"
+#MY_P="${PN}-1.2.80-20130314svn5065"
+#S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="Remote desktop viewer display system"
+HOMEPAGE="http://www.tigervnc.org"
+SRC_URI="mirror://sourceforge/tigervnc/${P}.tar.gz
+ mirror://gentoo/${PN}.png
+ mirror://gentoo/${PN}-1.3.1-patches-${PATCHVER}.tar.bz2
+ http://dev.gentoo.org/~armin76/dist/${PN}-1.3.1-patches-${PATCHVER}.tar.bz2
+ server? ( ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${XSERVER_VERSION}.tar.bz2 )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86"
+IUSE="gnutls java nptl +opengl pam server +xorgmodule"
+
+RDEPEND="virtual/jpeg:0
+ sys-libs/zlib
+ >=x11-libs/libXtst-1.0.99.2
+ >=x11-libs/fltk-1.3.1
+ gnutls? ( net-libs/gnutls )
+ java? ( >=virtual/jre-1.5 )
+ pam? ( virtual/pam )
+ server? (
+ dev-lang/perl
+ >=x11-libs/libXi-1.2.99.1
+ >=x11-libs/libXfont-1.4.2
+ >=x11-libs/libxkbfile-1.0.4
+ x11-libs/libXrender
+ >=x11-libs/pixman-0.27.2
+ >=x11-apps/xauth-1.0.3
+ x11-apps/xsetroot
+ >=x11-misc/xkeyboard-config-2.4.1-r3
+ opengl? ( >=app-eselect/eselect-opengl-1.0.8 )
+ xorgmodule? ( =x11-base/xorg-server-${XSERVER_VERSION%.*}* )
+ )
+ !net-misc/vnc
+ !net-misc/tightvnc
+ !net-misc/xf4vnc"
+DEPEND="${RDEPEND}
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/nasm )
+ >=x11-proto/inputproto-2.2.99.1
+ >=x11-proto/xextproto-7.2.99.901
+ >=x11-proto/xproto-7.0.26
+ java? ( >=virtual/jdk-1.5 )
+ server? (
+ virtual/pkgconfig
+ media-fonts/font-util
+ x11-misc/util-macros
+ >=x11-proto/bigreqsproto-1.1.0
+ >=x11-proto/compositeproto-0.4
+ >=x11-proto/damageproto-1.1
+ >=x11-proto/fixesproto-5.0
+ >=x11-proto/fontsproto-2.1.3
+ >=x11-proto/glproto-1.4.17
+ >=x11-proto/randrproto-1.4.0
+ >=x11-proto/renderproto-0.11
+ >=x11-proto/resourceproto-1.2.0
+ >=x11-proto/scrnsaverproto-1.1
+ >=x11-proto/videoproto-2.2.2
+ >=x11-proto/xcmiscproto-1.2.0
+ >=x11-proto/xineramaproto-1.1.3
+ >=x11-libs/xtrans-1.3.3
+ >=x11-proto/dri2proto-2.8
+ opengl? ( >=media-libs/mesa-7.8_rc[nptl=] )
+ )"
+
+CMAKE_IN_SOURCE_BUILD=1
+
+pkg_setup() {
+ if ! use server ; then
+ echo
+ einfo "The 'server' USE flag will build tigervnc's server."
+ einfo "If '-server' is chosen only the client is built to save space."
+ einfo "Stop the build now if you need to add 'server' to USE flags.\n"
+ else
+ ewarn "Forcing on xorg-x11 for new enough glxtokens.h..."
+ OLD_IMPLEM="$(eselect opengl show)"
+ eselect opengl set ${OPENGL_DIR}
+ fi
+}
+
+switch_opengl_implem() {
+ # Switch to the xorg implementation.
+ # Use new opengl-update that will not reset user selected
+ # OpenGL interface ...
+ echo
+ eselect opengl set ${OLD_IMPLEM}
+}
+
+src_prepare() {
+ if use server ; then
+ cp -r "${WORKDIR}"/xorg-server-${XSERVER_VERSION}/* unix/xserver
+ else
+ rm "${WORKDIR}"/patches/*_server_*
+ fi
+
+ EPATCH_SOURCE="${WORKDIR}/patches" EPATCH_SUFFIX="patch" EPATCH_EXCLUDE="*999*" \
+ EPATCH_FORCE="yes" epatch
+
+ if use server ; then
+ cd unix/xserver
+ epatch "${WORKDIR}"/patches/0999_server_xserver-1.14-rebased.patch
+ eautoreconf
+ fi
+}
+
+src_configure() {
+
+ use arm || use hppa && append-flags "-fPIC"
+
+ mycmakeargs=(
+ -G "Unix Makefiles"
+ $(cmake-utils_use_enable gnutls GNUTLS)
+ $(cmake-utils_use_enable pam PAM)
+ $(cmake-utils_use_build java JAVA)
+ )
+
+ cmake-utils_src_configure
+
+ if use server; then
+ cd unix/xserver
+ econf \
+ $(use_enable nptl glx-tls) \
+ $(use_enable opengl glx) \
+ --disable-config-hal \
+ --disable-config-udev \
+ --disable-devel-docs \
+ --disable-dmx \
+ --disable-dri \
+ --disable-dri3 \
+ --disable-kdrive \
+ --disable-selective-werror \
+ --disable-silent-rules \
+ --disable-static \
+ --disable-unit-tests \
+ --disable-xephyr \
+ --disable-xinerama \
+ --disable-xnest \
+ --disable-xorg \
+ --disable-xvfb \
+ --disable-xwin \
+ --enable-dri2 \
+ --with-pic \
+ --without-dtrace \
+ --disable-present \
+ --disable-unit-tests
+ fi
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ if use server ; then
+ cd unix/xserver
+ emake
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ newicon "${DISTDIR}"/tigervnc.png vncviewer.png
+ make_desktop_entry vncviewer vncviewer vncviewer Network
+
+ if use server ; then
+ cd unix/xserver/hw/vnc
+ emake DESTDIR="${D}" install
+ ! use xorgmodule && rm -rf "${D}"/usr/$(get_libdir)/xorg
+
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+
+ rm "${D}"/usr/$(get_libdir)/xorg/modules/extensions/libvnc.la
+ else
+ cd "${D}"
+ for f in vncserver vncpasswd x0vncserver vncconfig; do
+ rm usr/bin/$f
+ rm usr/share/man/man1/$f.1
+ done
+ fi
+}
+
+pkg_postinst() {
+ use server && switch_opengl_implem
+}
diff --git a/net-misc/tigervnc/tigervnc-1.3.1-r3.ebuild b/net-misc/tigervnc/tigervnc-1.3.1-r3.ebuild
new file mode 100644
index 000000000000..f626e37d95aa
--- /dev/null
+++ b/net-misc/tigervnc/tigervnc-1.3.1-r3.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils cmake-utils autotools java-pkg-opt-2 flag-o-matic
+
+PATCHVER="0.2"
+XSERVER_VERSION="1.15.0"
+OPENGL_DIR="xorg-x11"
+#MY_P="${PN}-1.2.80-20130314svn5065"
+#S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="Remote desktop viewer display system"
+HOMEPAGE="http://www.tigervnc.org"
+SRC_URI="mirror://sourceforge/tigervnc/${P}.tar.gz
+ mirror://gentoo/${PN}.png
+ mirror://gentoo/${PN}-1.3.0-patches-${PATCHVER}.tar.bz2
+ http://dev.gentoo.org/~armin76/dist/${PN}-1.3.0-patches-${PATCHVER}.tar.bz2
+ server? ( ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${XSERVER_VERSION}.tar.bz2 )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86"
+IUSE="gnutls java nptl +opengl pam server +xorgmodule"
+
+RDEPEND="virtual/jpeg:0
+ sys-libs/zlib
+ >=x11-libs/libXtst-1.0.99.2
+ >=x11-libs/fltk-1.3.1
+ gnutls? ( net-libs/gnutls )
+ java? ( >=virtual/jre-1.5 )
+ pam? ( virtual/pam )
+ server? (
+ dev-lang/perl
+ >=x11-libs/libXi-1.2.99.1
+ >=x11-libs/libXfont-1.4.2
+ >=x11-libs/libxkbfile-1.0.4
+ x11-libs/libXrender
+ >=x11-libs/pixman-0.27.2
+ >=x11-apps/xauth-1.0.3
+ x11-apps/xsetroot
+ >=x11-misc/xkeyboard-config-2.4.1-r3
+ opengl? ( >=app-eselect/eselect-opengl-1.0.8 )
+ xorgmodule? ( =x11-base/xorg-server-${XSERVER_VERSION%.*}* )
+ )
+ !net-misc/vnc
+ !net-misc/tightvnc
+ !net-misc/xf4vnc"
+DEPEND="${RDEPEND}
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/nasm )
+ >=x11-proto/inputproto-2.2.99.1
+ >=x11-proto/xextproto-7.2.99.901
+ >=x11-proto/xproto-7.0.22
+ java? ( >=virtual/jdk-1.5 )
+ server? (
+ virtual/pkgconfig
+ media-fonts/font-util
+ x11-misc/util-macros
+ >=x11-proto/bigreqsproto-1.1.0
+ >=x11-proto/compositeproto-0.4
+ >=x11-proto/damageproto-1.1
+ >=x11-proto/fixesproto-5.0
+ >=x11-proto/fontsproto-2.0.2
+ >=x11-proto/glproto-1.4.17
+ >=x11-proto/randrproto-1.4.0
+ >=x11-proto/renderproto-0.11
+ >=x11-proto/resourceproto-1.2.0
+ >=x11-proto/scrnsaverproto-1.1
+ >=x11-proto/videoproto-2.2.2
+ >=x11-proto/xcmiscproto-1.2.0
+ >=x11-proto/xineramaproto-1.1.3
+ >=x11-libs/xtrans-1.3.2
+ >=x11-proto/dri2proto-2.8
+ opengl? ( >=media-libs/mesa-7.8_rc[nptl=] )
+ )"
+
+CMAKE_IN_SOURCE_BUILD=1
+
+pkg_setup() {
+ if ! use server ; then
+ echo
+ einfo "The 'server' USE flag will build tigervnc's server."
+ einfo "If '-server' is chosen only the client is built to save space."
+ einfo "Stop the build now if you need to add 'server' to USE flags.\n"
+ else
+ ewarn "Forcing on xorg-x11 for new enough glxtokens.h..."
+ OLD_IMPLEM="$(eselect opengl show)"
+ eselect opengl set ${OPENGL_DIR}
+ fi
+}
+
+switch_opengl_implem() {
+ # Switch to the xorg implementation.
+ # Use new opengl-update that will not reset user selected
+ # OpenGL interface ...
+ echo
+ eselect opengl set ${OLD_IMPLEM}
+}
+
+src_prepare() {
+ if use server ; then
+ cp -r "${WORKDIR}"/xorg-server-${XSERVER_VERSION}/* unix/xserver
+ else
+ rm "${WORKDIR}"/patches/*_server_*
+ fi
+
+ EPATCH_SOURCE="${WORKDIR}/patches" EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" epatch
+
+ epatch "${FILESDIR}"/1.3.1-CVE-2014-8240.patch
+
+ if use server ; then
+ cd unix/xserver
+ epatch ../xserver114.patch
+ eautoreconf
+ fi
+}
+
+src_configure() {
+
+ use arm || use hppa && append-flags "-fPIC"
+
+ mycmakeargs=(
+ -G "Unix Makefiles"
+ $(cmake-utils_use_enable gnutls GNUTLS)
+ $(cmake-utils_use_enable pam PAM)
+ $(cmake-utils_use_build java JAVA)
+ )
+
+ cmake-utils_src_configure
+
+ if use server; then
+ cd unix/xserver
+ econf \
+ $(use_enable nptl glx-tls) \
+ $(use_enable opengl glx) \
+ --disable-config-dbus \
+ --disable-config-hal \
+ --disable-config-udev \
+ --disable-devel-docs \
+ --disable-dmx \
+ --disable-dri \
+ --disable-dri3 \
+ --disable-kdrive \
+ --disable-selective-werror \
+ --disable-silent-rules \
+ --disable-static \
+ --disable-unit-tests \
+ --disable-xephyr \
+ --disable-xinerama \
+ --disable-xnest \
+ --disable-xorg \
+ --disable-xvfb \
+ --disable-xwin \
+ --disable-xwayland \
+ --enable-dri2 \
+ --with-pic \
+ --without-dtrace \
+ --disable-present \
+ --disable-unit-tests
+ fi
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ if use server ; then
+ cd unix/xserver
+ emake
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ newicon "${DISTDIR}"/tigervnc.png vncviewer.png
+ make_desktop_entry vncviewer vncviewer vncviewer Network
+
+ if use server ; then
+ cd unix/xserver/hw/vnc
+ emake DESTDIR="${D}" install
+ ! use xorgmodule && rm -rf "${D}"/usr/$(get_libdir)/xorg
+
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+
+ rm "${D}"/usr/$(get_libdir)/xorg/modules/extensions/libvnc.la
+ else
+ cd "${D}"
+ for f in vncserver vncpasswd x0vncserver vncconfig; do
+ rm usr/bin/$f
+ rm usr/share/man/man1/$f.1
+ done
+ fi
+}
+
+pkg_postinst() {
+ use server && switch_opengl_implem
+}
diff --git a/net-misc/tigervnc/tigervnc-1.3.1-r4.ebuild b/net-misc/tigervnc/tigervnc-1.3.1-r4.ebuild
new file mode 100644
index 000000000000..374f6fbfc78a
--- /dev/null
+++ b/net-misc/tigervnc/tigervnc-1.3.1-r4.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils cmake-utils autotools java-pkg-opt-2 flag-o-matic
+
+PATCHVER="0.1"
+XSERVER_VERSION="1.16.0"
+OPENGL_DIR="xorg-x11"
+#MY_P="${PN}-1.2.80-20130314svn5065"
+#S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="Remote desktop viewer display system"
+HOMEPAGE="http://www.tigervnc.org"
+SRC_URI="mirror://sourceforge/tigervnc/${P}.tar.gz
+ mirror://gentoo/${PN}.png
+ mirror://gentoo/${PN}-1.3.1-patches-${PATCHVER}.tar.bz2
+ http://dev.gentoo.org/~armin76/dist/${PN}-1.3.1-patches-${PATCHVER}.tar.bz2
+ server? ( ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${XSERVER_VERSION}.tar.bz2 )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86"
+IUSE="gnutls java nptl +opengl pam server +xorgmodule"
+
+RDEPEND="virtual/jpeg:0
+ sys-libs/zlib
+ >=x11-libs/libXtst-1.0.99.2
+ >=x11-libs/fltk-1.3.1
+ gnutls? ( net-libs/gnutls )
+ java? ( >=virtual/jre-1.5 )
+ pam? ( virtual/pam )
+ server? (
+ dev-lang/perl
+ >=x11-libs/libXi-1.2.99.1
+ >=x11-libs/libXfont-1.4.2
+ >=x11-libs/libxkbfile-1.0.4
+ x11-libs/libXrender
+ >=x11-libs/pixman-0.27.2
+ >=x11-apps/xauth-1.0.3
+ x11-apps/xsetroot
+ >=x11-misc/xkeyboard-config-2.4.1-r3
+ opengl? ( >=app-eselect/eselect-opengl-1.0.8 )
+ xorgmodule? ( =x11-base/xorg-server-${XSERVER_VERSION%.*}* )
+ )
+ !net-misc/vnc
+ !net-misc/tightvnc
+ !net-misc/xf4vnc"
+DEPEND="${RDEPEND}
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/nasm )
+ >=x11-proto/inputproto-2.2.99.1
+ >=x11-proto/xextproto-7.2.99.901
+ >=x11-proto/xproto-7.0.26
+ java? ( >=virtual/jdk-1.5 )
+ server? (
+ virtual/pkgconfig
+ media-fonts/font-util
+ x11-misc/util-macros
+ >=x11-proto/bigreqsproto-1.1.0
+ >=x11-proto/compositeproto-0.4
+ >=x11-proto/damageproto-1.1
+ >=x11-proto/fixesproto-5.0
+ >=x11-proto/fontsproto-2.1.3
+ >=x11-proto/glproto-1.4.17
+ >=x11-proto/randrproto-1.4.0
+ >=x11-proto/renderproto-0.11
+ >=x11-proto/resourceproto-1.2.0
+ >=x11-proto/scrnsaverproto-1.1
+ >=x11-proto/videoproto-2.2.2
+ >=x11-proto/xcmiscproto-1.2.0
+ >=x11-proto/xineramaproto-1.1.3
+ >=x11-libs/xtrans-1.3.3
+ >=x11-proto/dri2proto-2.8
+ opengl? ( >=media-libs/mesa-7.8_rc[nptl=] )
+ )"
+
+CMAKE_IN_SOURCE_BUILD=1
+
+pkg_setup() {
+ if ! use server ; then
+ echo
+ einfo "The 'server' USE flag will build tigervnc's server."
+ einfo "If '-server' is chosen only the client is built to save space."
+ einfo "Stop the build now if you need to add 'server' to USE flags.\n"
+ else
+ ewarn "Forcing on xorg-x11 for new enough glxtokens.h..."
+ OLD_IMPLEM="$(eselect opengl show)"
+ eselect opengl set ${OPENGL_DIR}
+ fi
+}
+
+switch_opengl_implem() {
+ # Switch to the xorg implementation.
+ # Use new opengl-update that will not reset user selected
+ # OpenGL interface ...
+ echo
+ eselect opengl set ${OLD_IMPLEM}
+}
+
+src_prepare() {
+ if use server ; then
+ cp -r "${WORKDIR}"/xorg-server-${XSERVER_VERSION}/* unix/xserver
+ else
+ rm "${WORKDIR}"/patches/*_server_*
+ fi
+
+ EPATCH_SOURCE="${WORKDIR}/patches" EPATCH_SUFFIX="patch" EPATCH_EXCLUDE="*999*" \
+ EPATCH_FORCE="yes" epatch
+
+ epatch "${FILESDIR}"/1.3.1-CVE-2014-8240.patch
+
+ if use server ; then
+ cd unix/xserver
+ epatch "${WORKDIR}"/patches/0999_server_xserver-1.14-rebased.patch
+ eautoreconf
+ fi
+}
+
+src_configure() {
+
+ use arm || use hppa && append-flags "-fPIC"
+
+ mycmakeargs=(
+ -G "Unix Makefiles"
+ $(cmake-utils_use_enable gnutls GNUTLS)
+ $(cmake-utils_use_enable pam PAM)
+ $(cmake-utils_use_build java JAVA)
+ )
+
+ cmake-utils_src_configure
+
+ if use server; then
+ cd unix/xserver
+ econf \
+ $(use_enable nptl glx-tls) \
+ $(use_enable opengl glx) \
+ --disable-config-hal \
+ --disable-config-udev \
+ --disable-devel-docs \
+ --disable-dmx \
+ --disable-dri \
+ --disable-dri3 \
+ --disable-kdrive \
+ --disable-selective-werror \
+ --disable-silent-rules \
+ --disable-static \
+ --disable-unit-tests \
+ --disable-xephyr \
+ --disable-xinerama \
+ --disable-xnest \
+ --disable-xorg \
+ --disable-xvfb \
+ --disable-xwin \
+ --disable-xwayland \
+ --enable-dri2 \
+ --with-pic \
+ --without-dtrace \
+ --disable-present \
+ --disable-unit-tests
+ fi
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ if use server ; then
+ cd unix/xserver
+ emake
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ newicon "${DISTDIR}"/tigervnc.png vncviewer.png
+ make_desktop_entry vncviewer vncviewer vncviewer Network
+
+ if use server ; then
+ cd unix/xserver/hw/vnc
+ emake DESTDIR="${D}" install
+ ! use xorgmodule && rm -rf "${D}"/usr/$(get_libdir)/xorg
+
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+
+ rm "${D}"/usr/$(get_libdir)/xorg/modules/extensions/libvnc.la
+ else
+ cd "${D}"
+ for f in vncserver vncpasswd x0vncserver vncconfig; do
+ rm usr/bin/$f
+ rm usr/share/man/man1/$f.1
+ done
+ fi
+}
+
+pkg_postinst() {
+ use server && switch_opengl_implem
+}
diff --git a/net-misc/tigervnc/tigervnc-1.4.2-r1.ebuild b/net-misc/tigervnc/tigervnc-1.4.2-r1.ebuild
new file mode 100644
index 000000000000..2630ede3f986
--- /dev/null
+++ b/net-misc/tigervnc/tigervnc-1.4.2-r1.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils cmake-utils autotools java-pkg-opt-2 flag-o-matic
+
+PATCHVER="0.1"
+XSERVER_VERSION="1.16.4"
+OPENGL_DIR="xorg-x11"
+#MY_P="${PN}-1.2.80-20130314svn5065"
+#S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="Remote desktop viewer display system"
+HOMEPAGE="http://www.tigervnc.org"
+SRC_URI="https://github.com/TigerVNC/tigervnc/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ mirror://gentoo/${PN}.png
+ mirror://gentoo/${P}-patches-${PATCHVER}.tar.bz2
+ http://dev.gentoo.org/~armin76/dist/${P}-patches-${PATCHVER}.tar.bz2
+ server? ( ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${XSERVER_VERSION}.tar.bz2 )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86"
+IUSE="gnutls java nptl +opengl pam server +xorgmodule"
+
+RDEPEND="virtual/jpeg:0
+ sys-libs/zlib
+ >=x11-libs/libXtst-1.0.99.2
+ >=x11-libs/fltk-1.3.1
+ gnutls? ( net-libs/gnutls )
+ java? ( >=virtual/jre-1.5 )
+ pam? ( virtual/pam )
+ server? (
+ dev-lang/perl
+ >=x11-libs/libXi-1.2.99.1
+ >=x11-libs/libXfont-1.4.2
+ >=x11-libs/libxkbfile-1.0.4
+ x11-libs/libXrender
+ >=x11-libs/pixman-0.27.2
+ >=x11-apps/xauth-1.0.3
+ x11-apps/xsetroot
+ >=x11-misc/xkeyboard-config-2.4.1-r3
+ opengl? ( >=app-eselect/eselect-opengl-1.0.8 )
+ xorgmodule? ( =x11-base/xorg-server-${XSERVER_VERSION%.*}* )
+ )
+ !net-misc/vnc
+ !net-misc/tightvnc
+ !net-misc/xf4vnc"
+DEPEND="${RDEPEND}
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/nasm )
+ >=x11-proto/inputproto-2.2.99.1
+ >=x11-proto/xextproto-7.2.99.901
+ >=x11-proto/xproto-7.0.26
+ java? ( >=virtual/jdk-1.5 )
+ server? (
+ virtual/pkgconfig
+ media-fonts/font-util
+ x11-misc/util-macros
+ >=x11-proto/bigreqsproto-1.1.0
+ >=x11-proto/compositeproto-0.4
+ >=x11-proto/damageproto-1.1
+ >=x11-proto/fixesproto-5.0
+ >=x11-proto/fontsproto-2.1.3
+ >=x11-proto/glproto-1.4.17
+ >=x11-proto/randrproto-1.4.0
+ >=x11-proto/renderproto-0.11
+ >=x11-proto/resourceproto-1.2.0
+ >=x11-proto/scrnsaverproto-1.1
+ >=x11-proto/videoproto-2.2.2
+ >=x11-proto/xcmiscproto-1.2.0
+ >=x11-proto/xineramaproto-1.1.3
+ >=x11-libs/xtrans-1.3.3
+ >=x11-proto/dri2proto-2.8
+ opengl? ( >=media-libs/mesa-7.8_rc[nptl=] )
+ )"
+
+CMAKE_IN_SOURCE_BUILD=1
+
+pkg_setup() {
+ if ! use server ; then
+ echo
+ einfo "The 'server' USE flag will build tigervnc's server."
+ einfo "If '-server' is chosen only the client is built to save space."
+ einfo "Stop the build now if you need to add 'server' to USE flags.\n"
+ else
+ ewarn "Forcing on xorg-x11 for new enough glxtokens.h..."
+ OLD_IMPLEM="$(eselect opengl show)"
+ eselect opengl set ${OPENGL_DIR}
+ fi
+}
+
+switch_opengl_implem() {
+ # Switch to the xorg implementation.
+ # Use new opengl-update that will not reset user selected
+ # OpenGL interface ...
+ echo
+ eselect opengl set ${OLD_IMPLEM}
+}
+
+src_prepare() {
+ if use server ; then
+ cp -r "${WORKDIR}"/xorg-server-${XSERVER_VERSION}/* unix/xserver
+ else
+ rm "${WORKDIR}"/patches/*_server_*
+ fi
+
+ EPATCH_SOURCE="${WORKDIR}/patches" EPATCH_SUFFIX="patch" EPATCH_EXCLUDE="*100*" \
+ EPATCH_FORCE="yes" epatch
+
+ if use server ; then
+ cd unix/xserver
+ epatch "${WORKDIR}"/patches/1000_server_xserver-1.16-rebased.patch
+ eautoreconf
+ fi
+}
+
+src_configure() {
+
+ use arm || use hppa && append-flags "-fPIC"
+
+ mycmakeargs=(
+ -G "Unix Makefiles"
+ $(cmake-utils_use_enable gnutls GNUTLS)
+ $(cmake-utils_use_enable pam PAM)
+ $(cmake-utils_use_build java JAVA)
+ )
+
+ cmake-utils_src_configure
+
+ if use server; then
+ cd unix/xserver
+ econf \
+ $(use_enable nptl glx-tls) \
+ $(use_enable opengl glx) \
+ --disable-config-hal \
+ --disable-config-udev \
+ --disable-devel-docs \
+ --disable-dmx \
+ --disable-dri \
+ --disable-dri3 \
+ --disable-kdrive \
+ --disable-selective-werror \
+ --disable-silent-rules \
+ --disable-static \
+ --disable-unit-tests \
+ --disable-xephyr \
+ --disable-xinerama \
+ --disable-xnest \
+ --disable-xorg \
+ --disable-xvfb \
+ --disable-xwin \
+ --disable-xwayland \
+ --enable-dri2 \
+ --with-pic \
+ --without-dtrace \
+ --disable-present \
+ --disable-unit-tests
+ fi
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ if use server ; then
+ cd unix/xserver
+ emake
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ newicon "${DISTDIR}"/tigervnc.png vncviewer.png
+ make_desktop_entry vncviewer vncviewer vncviewer Network
+
+ if use server ; then
+ cd unix/xserver/hw/vnc
+ emake DESTDIR="${D}" install
+ ! use xorgmodule && rm -rf "${D}"/usr/$(get_libdir)/xorg
+
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+
+ rm "${D}"/usr/$(get_libdir)/xorg/modules/extensions/libvnc.la
+ else
+ cd "${D}"
+ for f in vncserver vncpasswd x0vncserver vncconfig; do
+ rm usr/bin/$f
+ rm usr/share/man/man1/$f.1
+ done
+ fi
+}
+
+pkg_postinst() {
+ use server && switch_opengl_implem
+}
diff --git a/net-misc/tigervnc/tigervnc-1.4.2-r2.ebuild b/net-misc/tigervnc/tigervnc-1.4.2-r2.ebuild
new file mode 100644
index 000000000000..dbd234b1a1ea
--- /dev/null
+++ b/net-misc/tigervnc/tigervnc-1.4.2-r2.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils cmake-utils autotools java-pkg-opt-2 flag-o-matic
+
+PATCHVER="0.1"
+XSERVER_VERSION="1.17.1"
+OPENGL_DIR="xorg-x11"
+#MY_P="${PN}-1.2.80-20130314svn5065"
+#S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="Remote desktop viewer display system"
+HOMEPAGE="http://www.tigervnc.org"
+SRC_URI="https://github.com/TigerVNC/tigervnc/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ mirror://gentoo/${PN}.png
+ mirror://gentoo/${P}-patches-${PATCHVER}.tar.bz2
+ http://dev.gentoo.org/~armin76/dist/${P}-patches-${PATCHVER}.tar.bz2
+ server? ( ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${XSERVER_VERSION}.tar.bz2 )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86"
+IUSE="gnutls java nptl +opengl pam server +xorgmodule"
+
+RDEPEND="virtual/jpeg:0
+ sys-libs/zlib
+ >=x11-libs/libXtst-1.0.99.2
+ >=x11-libs/fltk-1.3.1
+ gnutls? ( net-libs/gnutls )
+ java? ( >=virtual/jre-1.5 )
+ pam? ( virtual/pam )
+ server? (
+ dev-lang/perl
+ >=x11-libs/libXi-1.2.99.1
+ >=x11-libs/libXfont-1.4.2
+ >=x11-libs/libxkbfile-1.0.4
+ x11-libs/libXrender
+ >=x11-libs/pixman-0.27.2
+ >=x11-apps/xauth-1.0.3
+ x11-apps/xsetroot
+ >=x11-misc/xkeyboard-config-2.4.1-r3
+ opengl? ( >=app-eselect/eselect-opengl-1.0.8 )
+ xorgmodule? ( =x11-base/xorg-server-${XSERVER_VERSION%.*}* )
+ )
+ !net-misc/vnc
+ !net-misc/tightvnc
+ !net-misc/xf4vnc"
+DEPEND="${RDEPEND}
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/nasm )
+ >=x11-proto/inputproto-2.2.99.1
+ >=x11-proto/xextproto-7.2.99.901
+ >=x11-proto/xproto-7.0.26
+ java? ( >=virtual/jdk-1.5 )
+ server? (
+ virtual/pkgconfig
+ media-fonts/font-util
+ x11-misc/util-macros
+ >=x11-proto/bigreqsproto-1.1.0
+ >=x11-proto/compositeproto-0.4
+ >=x11-proto/damageproto-1.1
+ >=x11-proto/fixesproto-5.0
+ >=x11-proto/fontsproto-2.1.3
+ >=x11-proto/glproto-1.4.17
+ >=x11-proto/randrproto-1.4.0
+ >=x11-proto/renderproto-0.11
+ >=x11-proto/resourceproto-1.2.0
+ >=x11-proto/scrnsaverproto-1.1
+ >=x11-proto/videoproto-2.2.2
+ >=x11-proto/xcmiscproto-1.2.0
+ >=x11-proto/xineramaproto-1.1.3
+ >=x11-libs/xtrans-1.3.3
+ >=x11-proto/dri2proto-2.8
+ opengl? ( >=media-libs/mesa-7.8_rc[nptl=] )
+ )"
+
+CMAKE_IN_SOURCE_BUILD=1
+
+pkg_setup() {
+ if ! use server ; then
+ echo
+ einfo "The 'server' USE flag will build tigervnc's server."
+ einfo "If '-server' is chosen only the client is built to save space."
+ einfo "Stop the build now if you need to add 'server' to USE flags.\n"
+ else
+ ewarn "Forcing on xorg-x11 for new enough glxtokens.h..."
+ OLD_IMPLEM="$(eselect opengl show)"
+ eselect opengl set ${OPENGL_DIR}
+ fi
+}
+
+switch_opengl_implem() {
+ # Switch to the xorg implementation.
+ # Use new opengl-update that will not reset user selected
+ # OpenGL interface ...
+ echo
+ eselect opengl set ${OLD_IMPLEM}
+}
+
+src_prepare() {
+ if use server ; then
+ cp -r "${WORKDIR}"/xorg-server-${XSERVER_VERSION}/* unix/xserver
+ else
+ rm "${WORKDIR}"/patches/*_server_*
+ fi
+
+ EPATCH_SOURCE="${WORKDIR}/patches" EPATCH_SUFFIX="patch" EPATCH_EXCLUDE="*100*" \
+ EPATCH_FORCE="yes" epatch
+
+ if use server ; then
+ cd unix/xserver
+ epatch "${WORKDIR}"/patches/1000_server_xserver-1.16-rebased.patch
+ epatch "${WORKDIR}"/patches/1005_server_xserver-1.17.patch
+ eautoreconf
+ fi
+}
+
+src_configure() {
+
+ use arm || use hppa && append-flags "-fPIC"
+
+ mycmakeargs=(
+ -G "Unix Makefiles"
+ $(cmake-utils_use_enable gnutls GNUTLS)
+ $(cmake-utils_use_enable pam PAM)
+ $(cmake-utils_use_build java JAVA)
+ )
+
+ cmake-utils_src_configure
+
+ if use server; then
+ cd unix/xserver
+ econf \
+ $(use_enable nptl glx-tls) \
+ $(use_enable opengl glx) \
+ --disable-config-hal \
+ --disable-config-udev \
+ --disable-devel-docs \
+ --disable-dmx \
+ --disable-dri \
+ --disable-dri3 \
+ --disable-kdrive \
+ --disable-selective-werror \
+ --disable-silent-rules \
+ --disable-static \
+ --disable-unit-tests \
+ --disable-xephyr \
+ --disable-xinerama \
+ --disable-xnest \
+ --disable-xorg \
+ --disable-xvfb \
+ --disable-xwin \
+ --disable-xwayland \
+ --enable-dri2 \
+ --with-pic \
+ --without-dtrace \
+ --disable-present \
+ --disable-unit-tests
+ fi
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ if use server ; then
+ cd unix/xserver
+ emake
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ newicon "${DISTDIR}"/tigervnc.png vncviewer.png
+ make_desktop_entry vncviewer vncviewer vncviewer Network
+
+ if use server ; then
+ cd unix/xserver/hw/vnc
+ emake DESTDIR="${D}" install
+ ! use xorgmodule && rm -rf "${D}"/usr/$(get_libdir)/xorg
+
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+
+ rm "${D}"/usr/$(get_libdir)/xorg/modules/extensions/libvnc.la
+ else
+ cd "${D}"
+ for f in vncserver vncpasswd x0vncserver vncconfig; do
+ rm usr/bin/$f
+ rm usr/share/man/man1/$f.1
+ done
+ fi
+}
+
+pkg_postinst() {
+ use server && switch_opengl_implem
+}