app-emulation/genymotion/genymotion-2.8.0.ebuild
changeset 199 fd437be93d62
parent 198 4f4df43f2e9b
child 211 214da3e8fd8e
equal deleted inserted replaced
197:dcd3a578fac0 199:fd437be93d62
       
     1 # Copyright 1999-2016 Gentoo Foundation
       
     2 # Distributed under the terms of the GNU General Public License v2
       
     3 # $Id$
       
     4 
       
     5 EAPI=6
       
     6 
       
     7 DESCRIPTION="An awesome Android emulator"
       
     8 HOMEPAGE="http://www.genymotion.com"
       
     9 SRC_URI="https://dl.genymotion.com/releases/${P}/${P}-linux_x64.bin"
       
    10 
       
    11 LICENSE="GENYMOTION"
       
    12 SLOT="0"
       
    13 KEYWORDS="~amd64"
       
    14 IUSE="unbundled-libs"
       
    15 
       
    16 inherit pax-utils
       
    17 
       
    18 DEPEND=""
       
    19 # note if you compile protobuf with >=gcc-5.1 you need to disable the new c++11 abi
       
    20 # -D_GLIBCXX_USE_CXX11_ABI=0  to your CXXFLAGS for protobuf
       
    21 RDEPEND="|| ( app-emulation/virtualbox
       
    22 		    app-emulation/virtualbox-bin )
       
    23 		 unbundled-libs? (
       
    24 		 	dev-libs/openssl:0
       
    25 			dev-qt/qtcore:5[icu]
       
    26 			dev-qt/qtgui:5
       
    27 			dev-qt/qtnetwork:5
       
    28 			dev-qt/qtopengl:5
       
    29 			dev-qt/qtprintsupport:5
       
    30 			dev-qt/qtquickcontrols:5
       
    31 			dev-qt/qtsql:5
       
    32 			dev-qt/qtsvg:5
       
    33 			dev-qt/qtwebkit:5
       
    34 			dev-qt/qtwebsockets:5
       
    35 			dev-qt/qtwidgets:5
       
    36 			dev-qt/qtx11extras:5
       
    37 			dev-qt/qtgraphicaleffects:5
       
    38 		 	=dev-libs/protobuf-2.6*
       
    39 		 )"
       
    40 
       
    41 # don't unbundle libav to avoid downgrade
       
    42 #		 	media-video/libav:0/9
       
    43 
       
    44 QA_PRESTRIPPED="
       
    45 	/opt/genymotion/device-upgrade
       
    46 	/opt/genymotion/genymotion
       
    47 	/opt/genymotion/genymotion-tool
       
    48 	/opt/genymotion/genymotionadbtunneld
       
    49 	/opt/genymotion/genyshell
       
    50 	/opt/genymotion/gmtool
       
    51 	/opt/genymotion/imageformats/libqsvg.so
       
    52 	/opt/genymotion/imageformats/libqgif.so
       
    53 	/opt/genymotion/imageformats/libqjpeg.so
       
    54 	/opt/genymotion/lib64EGL_translator.so
       
    55 	/opt/genymotion/lib64GLES_CM_translator.so
       
    56 	/opt/genymotion/lib64GLES_V2_translator.so
       
    57 	/opt/genymotion/lib64OpenglRender.so
       
    58 	/opt/genymotion/libavutil.so.51
       
    59 	/opt/genymotion/libcrypto.so.1.0.0
       
    60 	/opt/genymotion/libicudata.so.53
       
    61 	/opt/genymotion/libicui18n.so.53
       
    62 	/opt/genymotion/libicuuc.so.53
       
    63 	/opt/genymotion/libminicrypt.so.1.0.0
       
    64 	/opt/genymotion/libprotobuf.so.9
       
    65 	/opt/genymotion/libQt5Concurrent.so.5
       
    66 	/opt/genymotion/libQt5Core.so.5
       
    67 	/opt/genymotion/libQt5DBus.so.5
       
    68 	/opt/genymotion/libQt5Gui.so.5
       
    69 	/opt/genymotion/libQt5Network.so.5
       
    70 	/opt/genymotion/libQt5OpenGL.so.5
       
    71 	/opt/genymotion/libQt5PrintSupport.so.5
       
    72 	/opt/genymotion/libQt5Qml.so.5
       
    73 	/opt/genymotion/libQt5Quick.so.5
       
    74 	/opt/genymotion/libQt5Sql.so.5
       
    75 	/opt/genymotion/libQt5Svg.so.5
       
    76 	/opt/genymotion/libQt5WebKit.so.5
       
    77 	/opt/genymotion/libQt5WebKitWidgets.so.5
       
    78 	/opt/genymotion/libQt5Widgets.so.5
       
    79 	/opt/genymotion/libswscale.so.2
       
    80 	/opt/genymotion/platforms/libqxcb.so
       
    81 	/opt/genymotion/player
       
    82 	/opt/genymotion/plugins/libvboxmanage.so.1.0.0
       
    83 	/opt/genymotion/sqldrivers/libqsqlite.so
       
    84 	/opt/genymotion/tools/aapt
       
    85 	/opt/genymotion/tools/adb
       
    86 	/opt/genymotion/tools/glewinfo "
       
    87 
       
    88 EMBEDDED_LIBS="
       
    89 			   libharfbuzz.so.0
       
    90 			   libXrender.so.1
       
    91 			   libXcomposite.so.1
       
    92 			   libxslt.so.1
       
    93 			   libxml2.so.2
       
    94 			   libsqlite3.so.0
       
    95 			   libfreetype.so.6
       
    96 			   libgraphite2.so.3
       
    97 			   libexpat.so.1
       
    98 			   libxcb-dri3.so.0
       
    99 			   libxcb-present.so.0
       
   100 			   libxcb-sync.so.1
       
   101 			   libxshmfence.so.1
       
   102 			   libglapi.so.0
       
   103 			   libXext.so.6
       
   104 			   libXdamage.so.1
       
   105 			   libXfixes.so.3
       
   106 			   libX11-xcb.so.1
       
   107 			   libxcb.so.1
       
   108 			   libxcb-glx.so.0
       
   109 			   libxcb-dri2.so.0
       
   110 			   libXxf86vm.so.1
       
   111 			   libdrm.so.2
       
   112 			   libicuuc.so.52
       
   113 			   libpng12.so.0
       
   114 			   libXau.so.6
       
   115 			   libXdmcp.so.6
       
   116 			   libicudata.so.52
       
   117 			   libQt5WebKitWidgets.so.5
       
   118 			   libQt5WebSockets.so.5
       
   119 			   libQt5Concurrent.so.5
       
   120 			   libQt5Svg.so.5
       
   121 			   libQt5Gui.so.5
       
   122 			   libQt5Core.so.5
       
   123 			   libQt5Network.so.5
       
   124 			   libQt5Widgets.so.5
       
   125 			   libQt5Sql.so.5
       
   126 			   libQt5WebKit.so.5
       
   127 			   libQt5X11Extras.so.5
       
   128 			   libQt5PrintSupport.so.5
       
   129 			   libQt5OpenGL.so.5
       
   130 			   libQt5Quick.so.5
       
   131 			   libQt5Qml.so.5
       
   132 			   libQt5DBus.so.5
       
   133 			   libjpeg.so.8
       
   134 			   libicui18n.so.52
       
   135 			   libgstreamer-1.0.so.0
       
   136 			   libgstapp-1.0.so.0
       
   137 			   libgstbase-1.0.so.0
       
   138 			   libgstpbutils-1.0.so.0
       
   139 			   libgstvideo-1.0.so.0
       
   140 			   libgstaudio-1.0.so.0
       
   141 			   libffi.so.6
       
   142 			   liborc-0.4.so.0
       
   143 			   libgsttag-1.0.so.0
       
   144 			   libdouble-conversion.so.1
       
   145 			   libXi.so.6
       
   146 			   libxcb-render-util.so.0
       
   147 			   libSM.so.6
       
   148 			   libICE.so.6
       
   149 			   libxcb-render.so.0
       
   150 			   libxcb-image.so.0
       
   151 			   libxcb-icccm.so.4
       
   152 			   libxcb-xfixes.so.0
       
   153 			   libxcb-shm.so.0
       
   154 			   libxcb-randr.so.0
       
   155 			   libxcb-shape.so.0
       
   156 			   libxcb-keysyms.so.1
       
   157 			   libxcb-xkb.so.1
       
   158 			   libxkbcommon-x11.so.0
       
   159 			   libxkbcommon.so.0
       
   160 			   libfontconfig.so.1
       
   161 			   libuuid.so.1
       
   162 			   libxcb-util.so.0
       
   163 			   libssl.so.1.0.0
       
   164 			   libcrypto.so.1.0.0
       
   165 			   libpcre.so.3
       
   166 			   libdbus-1.so.3
       
   167 			   libprotobuf.so.9
       
   168 "
       
   169 # don't unbundle libav
       
   170 #			   libavutil.so.51
       
   171 #			   libswscale.so.2
       
   172 
       
   173 src_unpack() {
       
   174 	mkdir "${S}"
       
   175 	skip=$(awk '/^__TARFILE_FOLLOWS__/ { print NR + 1; exit 0; }' "${DISTDIR}/${A}")
       
   176 	tail -n +$skip "${DISTDIR}/${A}" | tar -xj -C "${S}"
       
   177 }
       
   178 
       
   179 src_install() {
       
   180 	dodir "/opt/genymotion"
       
   181 	if use unbundled-libs ; then
       
   182 		rm -r sqldrivers || die
       
   183 		rm -r platforms || die
       
   184 		rm -r QtGraphicalEffects || die
       
   185 		rm -r QtQuick || die
       
   186 		rm -r QtQuick.2 || die
       
   187 		# should be deleted and use the system one provided by qtsvg
       
   188 		# but it does not work
       
   189 		# rm -r imageformats || die
       
   190 		# delete all other qt dependencies
       
   191 		rm $EMBEDDED_LIBS || die
       
   192 		rm qt.conf || die
       
   193 	fi
       
   194 
       
   195 	cp -R "${S}"/* "${D}opt/genymotion"
       
   196 	pax-mark -m "${D}opt/genymotion/genymotion"
       
   197 	pax-mark -m "${D}opt/genymotion/gmtool"
       
   198 
       
   199 	dodir "/opt/bin"
       
   200 	dosym "/opt/genymotion/genymotion" "/opt/bin/genymotion"
       
   201 	dosym "/opt/genymotion/genymotion-shell" "/opt/bin/genymotion-shell"
       
   202 	dosym "/opt/genymotion/gmtool" "/opt/bin/gmtool"
       
   203 }