summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/teamviewer/teamviewer-11.0.57095-r1.ebuild')
-rw-r--r--net-misc/teamviewer/teamviewer-11.0.57095-r1.ebuild132
1 files changed, 132 insertions, 0 deletions
diff --git a/net-misc/teamviewer/teamviewer-11.0.57095-r1.ebuild b/net-misc/teamviewer/teamviewer-11.0.57095-r1.ebuild
new file mode 100644
index 000000000000..6a093d8eece9
--- /dev/null
+++ b/net-misc/teamviewer/teamviewer-11.0.57095-r1.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils gnome2-utils systemd unpacker
+
+# Major version
+MV=${PV/\.*}
+MY_PN=${PN}${MV}
+DESCRIPTION="All-In-One Solution for Remote Access and Support over the Internet"
+HOMEPAGE="https://www.teamviewer.com"
+SRC_URI="https://download.teamviewer.com/download/version_${MV}x/${PN}_${PV}_i386.deb"
+
+IUSE="+system-wine"
+
+LICENSE="TeamViewer LGPL-2.1" #LGPL for bundled wine
+SLOT=${MV}
+KEYWORDS="-* ~amd64 ~x86"
+
+RESTRICT="bindist mirror"
+
+RDEPEND="
+ system-wine? ( app-emulation/wine[abi_x86_32(-),png] )
+ !system-wine? ( media-libs/libpng:1.2[abi_x86_32(-)] )
+ sys-apps/dbus[abi_x86_32(-)]
+ dev-qt/qtcore:4[abi_x86_32(-)]
+ dev-qt/qtgui:4[abi_x86_32(-)]
+ dev-qt/qtwebkit:4[abi_x86_32(-)]
+ media-libs/alsa-lib[abi_x86_32(-)]
+ x11-libs/libICE[abi_x86_32(-)]
+ x11-libs/libSM[abi_x86_32(-)]
+ x11-libs/libX11[abi_x86_32(-)]
+ x11-libs/libXau[abi_x86_32(-)]
+ x11-libs/libXdamage[abi_x86_32(-)]
+ x11-libs/libXdmcp[abi_x86_32(-)]
+ x11-libs/libXext[abi_x86_32(-)]
+ x11-libs/libXfixes[abi_x86_32(-)]
+ x11-libs/libXrandr[abi_x86_32(-)]
+ x11-libs/libXtst[abi_x86_32(-)]"
+
+QA_PREBUILT="opt/teamviewer${MV}/*"
+
+S=${WORKDIR}/opt/teamviewer/tv_bin
+
+src_prepare() {
+ #epatch "${FILESDIR}/${P}-gentoo.patch"
+ sed \
+ -e "s/@TVV@/${MV}/g" \
+ "${FILESDIR}"/${PN}d.init > "${T}"/init || die
+ sed \
+ -e "s:/opt/teamviewer:/opt/teamviewer${MV}:g" \
+ "script//${PN}d.service" > "${T}/${PN}d.service" || die
+ sed \
+ -e "s/@TVV@/${PV}/g" \
+ -e "s/@TVMV@/${MV}/g" \
+ "${FILESDIR}"/${PN}.sh > "${T}"/sh || die
+ if ! use system-wine; then
+ sed -i "s/native=true/native=false/g" "${T}/sh" || die
+ fi
+}
+
+src_install () {
+ local destdir="/opt/${MY_PN}"
+
+ # install wine prefix skeleton and reg keys
+ insinto "${destdir}/wine/drive_c/"
+ doins -r wine/drive_c/TeamViewer/
+ # install bundled wine if necessary
+ if ! use system-wine; then
+ insinto "${destdir}/tv_bin/wine"
+ doins -r wine/{lib,share}
+ exeinto "${destdir}/tv_bin/wine/bin"
+ doexe wine/bin/{wine,wine-preloader,wineserver}
+ fi
+ # fix permissions
+ fperms 755 ${destdir}/wine/drive_c/TeamViewer/TeamViewer.exe
+
+ # install wine wrapper
+ exeinto "/opt/bin"
+ newexe "${T}/sh" "${MY_PN}"
+
+ # install teamviewer linux binaries
+ exeinto "${destdir}/tv_bin"
+ doexe TeamViewer_Desktop TVGuiDelegate TVGuiSlave.32
+ use amd64 && doexe TVGuiSlave.64
+
+ # install daemon binary and scripts
+ exeinto "${destdir}/tv_bin"
+ doexe ${PN}d
+ newinitd "${T}/init" ${PN}d${MV}
+ newconfd "${FILESDIR}/${PN}d.conf" ${PN}d${MV}
+ systemd_newunit "${T}/${PN}d.service" ${PN}d${MV}.service
+
+ # set up logdir
+ keepdir /var/log/${MY_PN}
+ dosym /var/log/${MY_PN} /opt/${MY_PN}/logfiles
+
+ # set up config dir
+ keepdir /etc/${MY_PN}
+ dosym /etc/${MY_PN} /opt/${MY_PN}/config
+
+ newicon -s 48 desktop/${PN}.png ${MY_PN}.png
+ #dodoc ../doc/linux_FAQ_{EN,DE}.txt
+ make_desktop_entry ${MY_PN} "TeamViewer ${MV}" ${MY_PN}
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+
+ elog "TeamViewer from upstream uses an overly-complicated set of bash"
+ elog "scripts to start the program. This has been simplified for Gentoo"
+ elog "use. Any issues should be reported via bugzilla."
+ if use system-wine; then
+ elog
+ elog "Due to bug #552016, when using system wine, one is not able to"
+ elog "share one's own screen. At this time, this may be remedied by"
+ elog "toggling the system-wine USE flag."
+ fi
+ elog
+ elog "The end-user client requires running the accompanying daemon,"
+ elog "available via init-scripts."
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}