app-emulation/genymotion-bin: bump to version 3.0.4
authorMarco Genasci <fedeliallalinea@gmail.com>
Wed, 18 Dec 2019 14:06:48 +0000 (15:06 +0100)
committerJoonas Niilola <juippis@gentoo.org>
Wed, 19 Feb 2020 11:49:54 +0000 (13:49 +0200)
Package-Manager: Portage-2.3.79, Repoman-2.3.16
Signed-off-by: Marco Genasci <fedeliallalinea@gmail.com>
Bug: https://bugs.gentoo.org/703292
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
app-emulation/genymotion-bin/Manifest
app-emulation/genymotion-bin/genymotion-bin-3.0.4.ebuild [new file with mode: 0644]

index b0e45917164bc49582a41cafdd7f83bb721a5e2c..30c7d99fd2c3019f903bcc105552631f27b10316 100644 (file)
@@ -1 +1,2 @@
 DIST genymotion-3.0.3-linux_x64.bin 38760629 BLAKE2B 1853f5f631c8343eafa92fcd7fd42ad7663e78cc8a3848f7aa9d2ccf61009fc4e8955930142af35c4f2f9bbb9704260882e65fa0dc5e43c5d8d45e14f43218bc SHA512 8a3d5f57cb6c5018ae78940187a8c48bc19a7627f72ab746fc361afd3400a14b4f6ce2d036c828bd238b65d5346cffdf2dd55b5177c6d909b7fd749f4088d748
+DIST genymotion-3.0.4-linux_x64.bin 38811828 BLAKE2B 6b8c2aa824bc232d09b43e1c69c1531d447bfc3341ea83a277058198f812d66e9e900abb7186d1c4a45c9e12c92ebec7c809e1641d0e3e30edf77c52fa1818e7 SHA512 28bebf3468049b5eeda9890167f89a0537fa21a42eacd3c30ae9a40616fd215282075853f35179fa40b21b124f400106d82e1cfb4949fffca741ed83ba69417b
diff --git a/app-emulation/genymotion-bin/genymotion-bin-3.0.4.ebuild b/app-emulation/genymotion-bin/genymotion-bin-3.0.4.ebuild
new file mode 100644 (file)
index 0000000..a76eebb
--- /dev/null
@@ -0,0 +1,125 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit bash-completion-r1 desktop pax-utils
+
+MY_PN="${PN/-bin}"
+MY_P="${MY_PN}-${PV}"
+BIN_ARCHIVE="${MY_P}-linux_x64.bin"
+
+DESCRIPTION="Complete set of tools that provide a virtual environment for Android"
+HOMEPAGE="https://genymotion.com"
+SRC_URI="${BIN_ARCHIVE}"
+
+LICENSE="genymotion"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+
+RDEPEND="|| (
+               app-emulation/virtualbox
+               app-emulation/virtualbox-bin
+       )
+       || (
+               dev-libs/openssl-compat:1.0.0
+               =dev-libs/openssl-1.0*:0
+       )
+       dev-libs/hiredis:0/0.14
+       sys-apps/util-linux
+       virtual/opengl
+"
+BDEPEND="dev-util/patchelf"
+
+RESTRICT="bindist fetch"
+S="${WORKDIR}"
+
+QA_PREBUILT="
+       opt/${MY_PN}/*.so*
+       opt/${MY_PN}/imageformats/*.so
+       opt/${MY_PN}/plugins/*.so*
+       opt/${MY_PN}/${MY_PN}
+       opt/${MY_PN}/genyshell
+       opt/${MY_PN}/player
+       opt/${MY_PN}/${MY_PN}adbtunneld
+       opt/${MY_PN}/gmtool
+"
+
+pkg_nofetch() {
+       einfo
+       einfo "Please visit"
+       einfo
+       einfo "  https://www.genymotion.com/download/"
+       einfo
+       einfo "and download "
+       einfo
+       einfo "  ${BIN_ARCHIVE}"
+       einfo
+       einfo "which must be placed in DISTDIR directory."
+       einfo
+}
+
+src_unpack() {
+       cp "${DISTDIR}/${BIN_ARCHIVE}" "${WORKDIR}" || die "cp failed"
+}
+
+src_prepare() {
+       default
+
+       chmod +x ${BIN_ARCHIVE} || die "chmod failed"
+       yes | ./${BIN_ARCHIVE} > /dev/null || die "unpack failed"
+
+       # removed windows line for bashcompletion
+       sed -i "/complete -F _gmtool gmtool.exe/d" "${MY_PN}/completion/bash/gmtool.bash" || die "sed failed"
+
+       # patch to support newer hiredis version (0.14)
+       for i in genymotion genyshell gmtool player libcom.so.1.0.0 librendering.so.1.0.0 ; do
+               patchelf --replace-needed libhiredis.so.0.13 libhiredis.so.0.14 "${MY_PN}/${i}" || die "Unable to patch ${i} for hiredis"
+       done
+}
+
+src_install() {
+       insinto /opt/"${MY_PN}"
+       exeinto /opt/"${MY_PN}"
+
+       # Use qt bundled
+       doins -r "${MY_PN}"/{geoservices,Qt,QtGraphicalEffects,QtLocation,QtPositioning,QtQuick,QtQuick.2}
+       doins -r "${MY_PN}"/{icons,imageformats,platforms,plugins,sqldrivers,translations,xcbglintegrations}
+       doins "${MY_PN}"/libQt*
+       doins "${MY_PN}"/qt.conf
+       doins "${MY_PN}"/libicu*
+
+       doexe "${MY_PN}"/{libcom,librendering,libswscale,libavutil}.so*
+       # android library
+       doexe "${MY_PN}"/{libEGL_translator,libGLES_CM_translator,libGLES_V2_translator,libOpenglRender}.so*
+
+       find "${ED}/opt/${MY_PN}" -name "*.so*" -type f -exec chmod +x {} \; || die "Change .so permission failed"
+
+       doexe "${MY_PN}"/{genymotion,genyshell,player,genymotionadbtunneld,gmtool}
+
+       pax-mark -m "${ED}/opt/${MY_PN}/genymotion"
+       pax-mark -m "${ED}/opt/${MY_PN}/gmtool"
+
+       dosym ../"${MY_PN}"/genyshell /opt/bin/genyshell
+       dosym ../"${MY_PN}"/genymotion /opt/bin/genymotion
+       dosym ../"${MY_PN}"/gmtool /opt/bin/gmtool
+
+       newbashcomp "${MY_PN}/completion/bash/gmtool.bash" gmtool
+
+       insinto /usr/share/zsh/site-functions
+       doins "${MY_PN}/completion/zsh/_gmtool"
+
+       sed -i -e "s:Icon.*:Icon=/opt/${MY_PN}/icons/icon.png:" \
+               -e "s:Exec.*:Exec=/opt/${MY_PN}/genymotion:" \
+               "${HOME}"/.local/share/applications/genymobile-genymotion.desktop || die "sed failed"
+       domenu "${HOME}"/.local/share/applications/genymobile-genymotion.desktop
+}
+
+pkg_postinst() {
+       elog "Genymotion needs adb to work correctly: install with android-sdk-update-manager"
+       elog "'Android SDK Platform-tools' and 'Android SDK Tools'"
+       elog "Your user should also be in the android group to work correctly"
+       elog "Then in Genymotion set the android-sdk-update-manager directory: (Settings->ADB)"
+       elog
+       elog "      /opt/android-sdk-update-manager"
+}