2014-08-13 10:46:05 +02:00
|
|
|
# Copyright 1999-2014 Gentoo Foundation
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
2014-08-13 10:46:34 +02:00
|
|
|
# $$
|
2014-08-13 10:46:05 +02:00
|
|
|
|
|
|
|
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="http://www.teamviewer.com"
|
|
|
|
SRC_URI="http://www.teamviewer.com/download/version_${MV}x/teamviewer_linux.deb -> ${P}.deb"
|
|
|
|
|
|
|
|
LICENSE="TeamViewer !system-wine? ( LGPL-2.1 )"
|
|
|
|
SLOT=${MV}
|
|
|
|
KEYWORDS="~amd64 ~x86"
|
|
|
|
IUSE="system-wine"
|
|
|
|
|
|
|
|
RESTRICT="mirror"
|
|
|
|
|
|
|
|
RDEPEND="
|
|
|
|
app-shells/bash
|
|
|
|
x11-misc/xdg-utils
|
|
|
|
!system-wine? (
|
|
|
|
amd64? (
|
|
|
|
app-emulation/emul-linux-x86-baselibs
|
|
|
|
app-emulation/emul-linux-x86-soundlibs
|
|
|
|
|| (
|
|
|
|
(
|
|
|
|
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/libXext[abi_x86_32]
|
|
|
|
x11-libs/libXfixes[abi_x86_32]
|
|
|
|
x11-libs/libXtst[abi_x86_32]
|
|
|
|
)
|
|
|
|
app-emulation/emul-linux-x86-xlibs
|
|
|
|
)
|
|
|
|
)
|
|
|
|
x86? (
|
|
|
|
sys-libs/zlib
|
|
|
|
x11-libs/libSM
|
|
|
|
x11-libs/libX11
|
|
|
|
x11-libs/libXau
|
|
|
|
x11-libs/libXdamage
|
|
|
|
x11-libs/libXext
|
|
|
|
x11-libs/libXfixes
|
|
|
|
x11-libs/libXtst
|
|
|
|
)
|
|
|
|
)
|
|
|
|
system-wine? ( app-emulation/wine )"
|
|
|
|
|
|
|
|
QA_PREBUILT="opt/teamviewer${MV}/*"
|
|
|
|
|
|
|
|
S=${WORKDIR}/opt/teamviewer${MV}/tv_bin
|
|
|
|
|
|
|
|
make_winewrapper() {
|
|
|
|
cat << EOF > "${T}/${MY_PN}"
|
|
|
|
#!/bin/sh
|
|
|
|
export WINEDLLPATH=/opt/${MY_PN}
|
|
|
|
exec wine "/opt/${MY_PN}/TeamViewer.exe" "\$@"
|
|
|
|
EOF
|
|
|
|
chmod go+rx "${T}/${MY_PN}"
|
|
|
|
exeinto /opt/bin
|
|
|
|
doexe "${T}/${MY_PN}"
|
|
|
|
}
|
|
|
|
|
|
|
|
src_prepare() {
|
|
|
|
epatch "${FILESDIR}"/${P}-gentoo.patch
|
|
|
|
|
|
|
|
sed \
|
|
|
|
-e "s/@TVV@/${MV}/g" \
|
|
|
|
"${FILESDIR}"/${PN}d.init > "${T}"/${PN}d${MV} || die
|
|
|
|
|
|
|
|
sed \
|
|
|
|
-e "s#/opt/teamviewer9/tv_bin/teamviewerd#/opt/${MY_PN}/teamviewerd#" \
|
|
|
|
script/${PN}d.service > "${T}"/${PN}d${MV}.service || die
|
|
|
|
}
|
|
|
|
|
|
|
|
src_install () {
|
|
|
|
if use system-wine ; then
|
|
|
|
make_winewrapper
|
|
|
|
exeinto /opt/${MY_PN}
|
|
|
|
doexe wine/drive_c/TeamViewer/*
|
|
|
|
else
|
|
|
|
# install scripts and .reg
|
|
|
|
insinto /opt/${MY_PN}/script
|
|
|
|
doins script/*.reg
|
|
|
|
exeinto /opt/${MY_PN}/script
|
|
|
|
doexe script/teamviewer script/tvw_{aux,config,exec,extra,main,profile}
|
|
|
|
|
|
|
|
# install internal wine
|
|
|
|
insinto /opt/${MY_PN}
|
|
|
|
doins -r wine
|
|
|
|
dosym /opt/${MY_PN}/script/${PN} /opt/bin/${MY_PN}
|
|
|
|
|
|
|
|
# fix permissions
|
|
|
|
fperms 755 /opt/${MY_PN}/wine/bin/wine{,-preloader,server}
|
|
|
|
fperms 755 /opt/${MY_PN}/wine/drive_c/TeamViewer/TeamViewer.exe
|
|
|
|
find "${D}"/opt/${MY_PN} -type f -name "*.so*" -execdir chmod 755 '{}' \;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# necessary symlinks
|
|
|
|
dosym ./script/teamviewer /opt/${MY_PN}/TeamViewer
|
|
|
|
|
|
|
|
# install daemon binary
|
|
|
|
exeinto /opt/${MY_PN}
|
|
|
|
doexe ${PN}d TeamViewer_Desktop
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
doinitd "${T}"/${PN}d${MV}
|
|
|
|
systemd_dounit "${T}"/${PN}d${MV}.service
|
|
|
|
|
|
|
|
newicon -s 48 desktop/${PN}.png ${MY_PN}.png
|
|
|
|
dodoc ../doc/linux_FAQ_{EN,DE}.txt
|
|
|
|
make_desktop_entry ${MY_PN} TeamViewer ${MY_PN}
|
|
|
|
}
|
|
|
|
|
|
|
|
pkg_preinst() {
|
|
|
|
gnome2_icon_savelist
|
|
|
|
}
|
|
|
|
|
|
|
|
pkg_postinst() {
|
|
|
|
gnome2_icon_cache_update
|
|
|
|
|
|
|
|
if use system-wine ; then
|
|
|
|
echo
|
|
|
|
eerror "IMPORTANT NOTICE!"
|
|
|
|
elog "Using ${PN} with system wine is not supported and experimental."
|
|
|
|
elog "Do not report gentoo bugs while using this version."
|
|
|
|
echo
|
|
|
|
fi
|
|
|
|
|
|
|
|
eerror "STARTUP NOTICE:"
|
|
|
|
elog "You cannot start the daemon via \"teamviewer --daemon start\"."
|
|
|
|
elog "Instead use the provided gentoo initscript:"
|
|
|
|
elog " /etc/init.d/${PN}d${MV} start"
|
|
|
|
elog
|
|
|
|
elog "Logs are written to \"/var/log/teamviewer9\""
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
pkg_postrm() {
|
|
|
|
gnome2_icon_cache_update
|
|
|
|
}
|