app-emulation/genymotion/genymotion-2.8.0.ebuild
changeset 196 4441b94fe5f7
child 198 4f4df43f2e9b
equal deleted inserted replaced
195:88674a86b3ad 196:4441b94fe5f7
       
     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/qtwidgets:5
       
    35 			dev-qt/qtx11extras:5
       
    36 			dev-qt/qtgraphicaleffects:5
       
    37 		 	=dev-libs/protobuf-2.6*
       
    38 		 )"
       
    39 
       
    40 # don't unbundle libav to avoid downgrade
       
    41 #		 	media-video/libav:0/9
       
    42 
       
    43 QA_PRESTRIPPED="
       
    44 	/opt/genymotion/device-upgrade
       
    45 	/opt/genymotion/genymotion
       
    46 	/opt/genymotion/genymotion-tool
       
    47 	/opt/genymotion/genyshell
       
    48 	/opt/genymotion/gmtool
       
    49 	/opt/genymotion/imageformats/libqsvg.so
       
    50 	/opt/genymotion/lib64EGL_translator.so
       
    51 	/opt/genymotion/lib64GLES_CM_translator.so
       
    52 	/opt/genymotion/lib64GLES_V2_translator.so
       
    53 	/opt/genymotion/lib64OpenglRender.so
       
    54 	/opt/genymotion/libavutil.so.51
       
    55 	/opt/genymotion/libcrypto.so.1.0.0
       
    56 	/opt/genymotion/libicudata.so.53
       
    57 	/opt/genymotion/libicui18n.so.53
       
    58 	/opt/genymotion/libicuuc.so.53
       
    59 	/opt/genymotion/libminicrypt.so.1.0.0
       
    60 	/opt/genymotion/libprotobuf.so.9
       
    61 	/opt/genymotion/libQt5Concurrent.so.5
       
    62 	/opt/genymotion/libQt5Core.so.5
       
    63 	/opt/genymotion/libQt5DBus.so.5
       
    64 	/opt/genymotion/libQt5Gui.so.5
       
    65 	/opt/genymotion/libQt5Network.so.5
       
    66 	/opt/genymotion/libQt5OpenGL.so.5
       
    67 	/opt/genymotion/libQt5PrintSupport.so.5
       
    68 	/opt/genymotion/libQt5Qml.so.5
       
    69 	/opt/genymotion/libQt5Quick.so.5
       
    70 	/opt/genymotion/libQt5Sql.so.5
       
    71 	/opt/genymotion/libQt5Svg.so.5
       
    72 	/opt/genymotion/libQt5WebKit.so.5
       
    73 	/opt/genymotion/libQt5WebKitWidgets.so.5
       
    74 	/opt/genymotion/libQt5Widgets.so.5
       
    75 	/opt/genymotion/libswscale.so.2
       
    76 	/opt/genymotion/platforms/libqxcb.so
       
    77 	/opt/genymotion/player
       
    78 	/opt/genymotion/plugins/libvboxmanage.so.1.0.0
       
    79 	/opt/genymotion/sqldrivers/libqsqlite.so
       
    80 	/opt/genymotion/tools/aapt
       
    81 	/opt/genymotion/tools/adb
       
    82 	/opt/genymotion/tools/glewinfo "
       
    83 
       
    84 EMBEDDED_LIBS="
       
    85 			   libharfbuzz.so.0
       
    86 			   libXrender.so.1
       
    87 			   libXcomposite.so.1
       
    88 			   libxslt.so.1
       
    89 			   libxml2.so.2
       
    90 			   libsqlite3.so.0
       
    91 			   libfreetype.so.6
       
    92 			   libgraphite2.so.3
       
    93 			   libexpat.so.1
       
    94 			   libxcb-dri3.so.0
       
    95 			   libxcb-present.so.0
       
    96 			   libxcb-sync.so.1
       
    97 			   libxshmfence.so.1
       
    98 			   libglapi.so.0
       
    99 			   libXext.so.6
       
   100 			   libXdamage.so.1
       
   101 			   libXfixes.so.3
       
   102 			   libX11-xcb.so.1
       
   103 			   libxcb.so.1
       
   104 			   libxcb-glx.so.0
       
   105 			   libxcb-dri2.so.0
       
   106 			   libXxf86vm.so.1
       
   107 			   libdrm.so.2
       
   108 			   libicuuc.so.52
       
   109 			   libpng12.so.0
       
   110 			   libXau.so.6
       
   111 			   libXdmcp.so.6
       
   112 			   libicudata.so.52
       
   113 			   libQt5WebKitWidgets.so.5
       
   114 			   libQt5Concurrent.so.5
       
   115 			   libQt5Svg.so.5
       
   116 			   libQt5Gui.so.5
       
   117 			   libQt5Core.so.5
       
   118 			   libQt5Network.so.5
       
   119 			   libQt5Widgets.so.5
       
   120 			   libQt5Sql.so.5
       
   121 			   libQt5WebKit.so.5
       
   122 			   libQt5X11Extras.so.5
       
   123 			   libQt5PrintSupport.so.5
       
   124 			   libQt5OpenGL.so.5
       
   125 			   libQt5Quick.so.5
       
   126 			   libQt5Qml.so.5
       
   127 			   libQt5DBus.so.5
       
   128 			   libjpeg.so.8
       
   129 			   libicui18n.so.52
       
   130 			   libgstreamer-1.0.so.0
       
   131 			   libgstapp-1.0.so.0
       
   132 			   libgstbase-1.0.so.0
       
   133 			   libgstpbutils-1.0.so.0
       
   134 			   libgstvideo-1.0.so.0
       
   135 			   libgstaudio-1.0.so.0
       
   136 			   libffi.so.6
       
   137 			   liborc-0.4.so.0
       
   138 			   libgsttag-1.0.so.0
       
   139 			   libdouble-conversion.so.1
       
   140 			   libXi.so.6
       
   141 			   libxcb-render-util.so.0
       
   142 			   libSM.so.6
       
   143 			   libICE.so.6
       
   144 			   libxcb-render.so.0
       
   145 			   libxcb-image.so.0
       
   146 			   libxcb-icccm.so.4
       
   147 			   libxcb-xfixes.so.0
       
   148 			   libxcb-shm.so.0
       
   149 			   libxcb-randr.so.0
       
   150 			   libxcb-shape.so.0
       
   151 			   libxcb-keysyms.so.1
       
   152 			   libxcb-xkb.so.1
       
   153 			   libxkbcommon-x11.so.0
       
   154 			   libxkbcommon.so.0
       
   155 			   libfontconfig.so.1
       
   156 			   libuuid.so.1
       
   157 			   libxcb-util.so.0
       
   158 			   libssl.so.1.0.0
       
   159 			   libcrypto.so.1.0.0
       
   160 			   libpcre.so.3
       
   161 			   libdbus-1.so.3
       
   162 			   libprotobuf.so.9
       
   163 "
       
   164 # don't unbundle libav
       
   165 #			   libavutil.so.51
       
   166 #			   libswscale.so.2
       
   167 
       
   168 src_unpack() {
       
   169 	mkdir "${S}"
       
   170 	skip=$(awk '/^__TARFILE_FOLLOWS__/ { print NR + 1; exit 0; }' "${DISTDIR}/${A}")
       
   171 	tail -n +$skip "${DISTDIR}/${A}" | tar -xj -C "${S}"
       
   172 }
       
   173 
       
   174 src_install() {
       
   175 	dodir "/opt/genymotion"
       
   176 	if use unbundled-libs ; then
       
   177 		rm -r sqldrivers || die
       
   178 		rm -r platforms || die
       
   179 		rm -r QtGraphicalEffects || die
       
   180 		rm -r QtQuick || die
       
   181 		rm -r QtQuick.2 || die
       
   182 		# should be deleted and use the system one provided by qtsvg
       
   183 		# but it does not work
       
   184 		# rm -r imageformats || die
       
   185 		# delete all other qt dependencies
       
   186 		rm $EMBEDDED_LIBS || die
       
   187 		rm qt.conf || die
       
   188 	fi
       
   189 
       
   190 	cp -R "${S}"/* "${D}opt/genymotion"
       
   191 	pax-mark -m "${D}opt/genymotion/genymotion"
       
   192 	pax-mark -m "${D}opt/genymotion/gmtool"
       
   193 
       
   194 	dodir "/opt/bin"
       
   195 	dosym "/opt/genymotion/genymotion" "/opt/bin/genymotion"
       
   196 	dosym "/opt/genymotion/genymotion-shell" "/opt/bin/genymotion-shell"
       
   197 	dosym "/opt/genymotion/gmtool" "/opt/bin/gmtool"
       
   198 }