blob: 6c3cc7311e7e18fb8fc813885da649ef302538ca (
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
|
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
MY_PN=${PN}${PV/\.*}
inherit eutils gnome2-utils systemd
DESCRIPTION="All-In-One Solution for Remote Access and Support over the Internet"
HOMEPAGE="https://www.teamviewer.com"
SRC_URI="amd64? ( https://dl.tvcdn.de/download/linux/version_${PV/\.*}x/${PN}_${PV}_amd64.tar.xz )
x86? ( https://dl.tvcdn.de/download/linux/version_${PV/\.*}x/${PN}_${PV}_i386.tar.xz )"
LICENSE="TeamViewer MIT"
SLOT="${PV/\.*}"
KEYWORDS="-* ~amd64 ~x86"
IUSE=""
DEPEND="sys-apps/sed"
RDEPEND="
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtdeclarative:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtquickcontrols:5
dev-qt/qtwebkit:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
sys-apps/dbus
"
RESTRICT="bindist mirror"
# Silence QA messages
QA_PREBUILT="opt/${MY_PN}/*"
S="${WORKDIR}"/teamviewer
src_prepare() {
default
# Switch operation mode from 'portable' to 'installed'
sed -e "s/TAR_NI/TAR_IN/g" -i tv_bin/script/tvw_config || die
sed -e "/^ExecStart/s/${PN}/${MY_PN}/" \
-i tv_bin/script/teamviewerd.service || die
}
src_install() {
local dst="/opt/${MY_PN}" # install destination
# Quirk:
# Remove Intel 80386 32-bit ELF binary 'libdepend' present in all
# archives. It will trip the 'emerge @preserved-libs' logic on amd64
# when changing the ABI of one of its dependencies. According to the
# TeamViewer devs, this binary is an unused remnant of previous Wine-
# based builds and will be removed in future releases anyway
rm tv_bin/script/libdepend
insinto ${dst}
doins -r tv_bin
# Set permissions for executables and libraries
for exe in $(find tv_bin -type f -executable -or -name '*.so'); do
fperms 755 ${dst}/${exe}
done
# No slotting here, binary expects this service path
newinitd "${FILESDIR}"/teamviewerd13.init teamviewerd
systemd_dounit tv_bin/script/teamviewerd.service
insinto /usr/share/dbus-1/services
doins tv_bin/script/com.teamviewer.TeamViewer.service
doins tv_bin/script/com.teamviewer.TeamViewer.Desktop.service
insinto /usr/share/polkit-1/actions
doins tv_bin/script/com.teamviewer.TeamViewer.policy
for size in 16 24 32 48 256; do
newicon -s ${size} tv_bin/desktop/teamviewer_${size}.png TeamViewer.png
done
# Install documents (NOTE: using 'dodoc -r doc' instead of loop will
# have the undesired result of installing subdirectory 'doc' in /usr/
# share/doc/teamviewer-<version>)
for doc in $(find doc -type f); do
dodoc ${doc}
done
keepdir /etc/${MY_PN}
dosym ../../etc/${MY_PN} ${dst}/config
# Create directory and symlink for log files (NOTE: according to Team-
# Viewer devs, all paths are hard-coded in the binaries; therefore
# using the same path as the DEB/RPM archives, i.e. '/var/log/teamviewer
# <major-version>')
keepdir /var/log/${MY_PN}
dosym ../../var/log/${MY_PN} ${dst}/logfiles
dodir /opt/bin
dosym ${dst}/tv_bin/teamviewerd /opt/bin/teamviewerd
dosym ${dst}/tv_bin/script/teamviewer /opt/bin/teamviewer
make_desktop_entry teamviewer "TeamViewer ${SLOT}" TeamViewer
}
pkg_postinst() {
gnome2_icon_cache_update
elog "Please note that parallel installation of multiple versions of"
elog "TeamViewer is currently not supported at runtime. Bug #621818"
elog ""
elog "Before using TeamViewer, you need to start its daemon:"
elog "OpenRC:"
elog "# /etc/init.d/teamviewerd start"
elog "# rc-update add teamviewerd default"
elog
elog "Systemd:"
elog "# systemctl start teamviewerd.service"
elog "# systemctl enable teamviewerd.service"
elog
elog "To display additional command line options simply run:"
elog "$ teamviewer help"
}
pkg_postrm() {
gnome2_icon_cache_update
}
|