blob: 6a093d8eece9e3a69405ec8530bd6bfe986a46dc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
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
}
|