app-emulation/genymotion:add latest 2.9.0 version
(Portage version: 2.3.5/hg/Linux x86_64, unsigned Manifest commit)
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="An awesome Android emulator"
HOMEPAGE="http://www.genymotion.com"
SRC_URI="https://dl.genymotion.com/releases/${P}/${P}-linux_x64.bin"
LICENSE="GENYMOTION"
SLOT="0"
KEYWORDS="~amd64"
IUSE="unbundled-libs"
inherit pax-utils
DEPEND=""
# note if you compile protobuf with >=gcc-5.1 you need to disable the new c++11 abi
# -D_GLIBCXX_USE_CXX11_ABI=0 to your CXXFLAGS for protobuf
RDEPEND="|| ( >=app-emulation/virtualbox-5.0.28
>=app-emulation/virtualbox-bin-5.0.28 )
unbundled-libs? (
dev-libs/openssl:0
dev-libs/icu
dev-qt/qtcore:5[icu]
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtopengl:5
dev-qt/qtprintsupport:5
dev-qt/qtquickcontrols:5
dev-qt/qtsql:5
dev-qt/qtsvg:5
dev-qt/qtwebkit:5
dev-qt/qtwebsockets:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
dev-qt/qtgraphicaleffects:5
=dev-libs/protobuf-2.6*
)"
# don't unbundle libav to avoid downgrade
# media-video/libav:0/9
QA_PRESTRIPPED="
/opt/genymotion/device-upgrade
/opt/genymotion/genymotion
/opt/genymotion/genymotion-tool
/opt/genymotion/genymotionadbtunneld
/opt/genymotion/genyshell
/opt/genymotion/gmtool
/opt/genymotion/imageformats/libqsvg.so
/opt/genymotion/imageformats/libqgif.so
/opt/genymotion/imageformats/libqjpeg.so
/opt/genymotion/lib64EGL_translator.so
/opt/genymotion/lib64GLES_CM_translator.so
/opt/genymotion/lib64GLES_V2_translator.so
/opt/genymotion/lib64OpenglRender.so
/opt/genymotion/libavutil.so.51
/opt/genymotion/libcrypto.so.1.0.0
/opt/genymotion/libicudata.so.53
/opt/genymotion/libicui18n.so.53
/opt/genymotion/libicuuc.so.53
/opt/genymotion/libminicrypt.so.1.0.0
/opt/genymotion/libprotobuf.so.9
/opt/genymotion/libQt5Concurrent.so.5
/opt/genymotion/libQt5Core.so.5
/opt/genymotion/libQt5DBus.so.5
/opt/genymotion/libQt5Gui.so.5
/opt/genymotion/libQt5Network.so.5
/opt/genymotion/libQt5OpenGL.so.5
/opt/genymotion/libQt5PrintSupport.so.5
/opt/genymotion/libQt5Qml.so.5
/opt/genymotion/libQt5Quick.so.5
/opt/genymotion/libQt5Sql.so.5
/opt/genymotion/libQt5Svg.so.5
/opt/genymotion/libQt5WebKit.so.5
/opt/genymotion/libQt5WebKitWidgets.so.5
/opt/genymotion/libQt5Widgets.so.5
/opt/genymotion/libswscale.so.2
/opt/genymotion/platforms/libqxcb.so
/opt/genymotion/player
/opt/genymotion/plugins/libvboxmanage.so.1.0.0
/opt/genymotion/sqldrivers/libqsqlite.so
/opt/genymotion/tools/aapt
/opt/genymotion/tools/adb
/opt/genymotion/tools/glewinfo "
EMBEDDED_LIBS="
libXcomposite.so.1
libxslt.so.1
libQt5WebKitWidgets.so.5
libQt5WebSockets.so.5
libQt5Concurrent.so.5
libQt5Svg.so.5
libQt5Gui.so.5
libQt5Core.so.5
libQt5Network.so.5
libQt5Widgets.so.5
libQt5Sql.so.5
libQt5WebKit.so.5
libQt5X11Extras.so.5
libQt5PrintSupport.so.5
libQt5Positioning.so.5
libQt5Sensors.so.5
libQt5WebChannel.so.5
libQt5OpenGL.so.5
libQt5Quick.so.5
libQt5Qml.so.5
libQt5DBus.so.5
liborc-0.4.so.0
libssl.so.1.0.0
libcrypto.so.1.0.0
libprotobuf.so.9
libgstapp-0.10.so.0
libgstbase-0.10.so.0
libgstinterfaces-0.10.so.0
libgstpbutils-0.10.so.0
libgstreamer-0.10.so.0
libgstvideo-0.10.so.0
libicudata.so.53
libicui18n.so.53
libicuuc.so.53
"
# don't unbundle libav
# libavutil.so.51
# libswscale.so.2
src_unpack() {
mkdir "${S}"
skip=$(awk '/^__TARFILE_FOLLOWS__/ { print NR + 1; exit 0; }' "${DISTDIR}/${A}")
tail -n +$skip "${DISTDIR}/${A}" | tar -xj -C "${S}"
}
src_install() {
dodir "/opt/genymotion"
if use unbundled-libs ; then
rm -r sqldrivers || die
rm -r platforms || die
rm -r QtGraphicalEffects || die
rm -r QtQuick || die
rm -r QtQuick.2 || die
# should be deleted and use the system one provided by qtsvg
# but it does not work
# rm -r imageformats || die
# delete all other qt dependencies
rm $EMBEDDED_LIBS || die
rm qt.conf || die
fi
cp -R "${S}"/* "${D}opt/genymotion"
pax-mark -m "${D}opt/genymotion/genymotion"
pax-mark -m "${D}opt/genymotion/gmtool"
dodir "/opt/bin"
dosym "/opt/genymotion/genymotion" "/opt/bin/genymotion"
dosym "/opt/genymotion/genymotion-shell" "/opt/bin/genymotion-shell"
dosym "/opt/genymotion/gmtool" "/opt/bin/gmtool"
}