diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-misc/tigervnc | |
download | gentoo-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/Manifest | 10 | ||||
-rw-r--r-- | net-misc/tigervnc/files/1.3.1-CVE-2014-8240.patch | 78 | ||||
-rw-r--r-- | net-misc/tigervnc/files/tigervnc.confd | 9 | ||||
-rw-r--r-- | net-misc/tigervnc/files/tigervnc.initd | 73 | ||||
-rw-r--r-- | net-misc/tigervnc/metadata.xml | 14 | ||||
-rw-r--r-- | net-misc/tigervnc/tigervnc-1.3.1-r1.ebuild | 199 | ||||
-rw-r--r-- | net-misc/tigervnc/tigervnc-1.3.1-r2.ebuild | 198 | ||||
-rw-r--r-- | net-misc/tigervnc/tigervnc-1.3.1-r3.ebuild | 202 | ||||
-rw-r--r-- | net-misc/tigervnc/tigervnc-1.3.1-r4.ebuild | 201 | ||||
-rw-r--r-- | net-misc/tigervnc/tigervnc-1.4.2-r1.ebuild | 199 | ||||
-rw-r--r-- | net-misc/tigervnc/tigervnc-1.4.2-r2.ebuild | 200 |
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 +} |