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