You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/net-misc/teamviewer/teamviewer-9.0.32150.ebuild

134 lines
3.2 KiB

# Copyright 1999-2015 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="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? (
media-libs/alsa-lib[abi_x86_32(-)]
media-libs/freetype[abi_x86_32(-)]
sys-libs/zlib[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/libXrandr[abi_x86_32(-)]
x11-libs/libXrender[abi_x86_32(-)]
x11-libs/libSM[abi_x86_32(-)]
x11-libs/libXtst[abi_x86_32(-)]
)
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}/tv_bin#g" \
"${FILESDIR}"/${PN}d${MV}.init > "${T}"/${PN}d${MV} || 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}/tv_bin
doins -r *
exeinto /opt/${MY_PN}/tv_bin
doexe TeamViewer_Desktop
exeinto /opt/${MY_PN}/tv_bin/script
doexe script/teamviewer script/tvw_{aux,config,exec,extra,main,profile}
dosym /opt/${MY_PN}/tv_bin/script/${PN} /opt/bin/${MY_PN}
# fix permissions
fperms 755 /opt/${MY_PN}/tv_bin/wine/bin/wine{,-preloader,server}
fperms 755 /opt/${MY_PN}/tv_bin/wine/drive_c/TeamViewer/TeamViewer.exe
find "${D}"/opt/${MY_PN} -type f -name "*.so*" -execdir chmod 755 '{}' \;
fi
# install daemon binary
exeinto /opt/${MY_PN}/tv_bin
doexe ${PN}d
# 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_newunit script/${PN}d.service ${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/teamviewer${MV}\""
}
pkg_postrm() {
gnome2_icon_cache_update
}