diff options
-rw-r--r-- | dev-util/android-studio/Manifest | 1 | ||||
-rw-r--r-- | dev-util/android-studio/android-studio-3.5.0.21.191.5791312.ebuild | 129 |
2 files changed, 130 insertions, 0 deletions
diff --git a/dev-util/android-studio/Manifest b/dev-util/android-studio/Manifest index 6fd0b3a5c35e..35026437dc5c 100644 --- a/dev-util/android-studio/Manifest +++ b/dev-util/android-studio/Manifest @@ -1,3 +1,4 @@ DIST android-studio-ide-182.5199772-linux.zip 1059268546 BLAKE2B b5485c444eea49e10b155a763d40a08c09a05e34c151cf21b79bfbb9b039f0bb112fc806b3b8cf4fe7e17127fe89c8651fac7ff83163ff1cf78c24b330273490 SHA512 76647fc50fbe06f93b733962b51dc8fb57d59c1e30364b82bf7a03a7700a0f7835eab240db6bd93ae71f4147408cbe8641b41965c97d40494c2e5fe0fecfba4d DIST android-studio-ide-183.5452501-linux.tar.gz 1087166186 BLAKE2B 07c17dc854d24c7e96a91346887dfb96067acad330d485c996f13107bf2a92d6b85e791638c1f6d2f08ea9ea47eb0ee45568605b95f6cdefc2fbf4d350bfeb0e SHA512 c686c2dd89a19d9b2fabffff8ce5a7b5b96ff05bb8c9fbf3c1a7a7b78896653114a527b30d2a9795541f5c70dc80f59d7d3b0d2a56141fea48932bfbb51e8b5f DIST android-studio-ide-183.5522156-linux.tar.gz 1087847976 BLAKE2B 6bff44f3d4dd5de1ce65ebc444c5b30d717b92ee34ccdfc268706f1ea07cc6c431ca6a42d361f89fdbe852f347b63afbfb9667acfd80980b869d244e5b957249 SHA512 2d9f10fc53c0d8036e413897c5003b07be106c5108a494d347b8c035b0e8155e13fcd487627b2b4910e918f41b1972b96cd078d09e3469eef2e18ce04a416b05 +DIST android-studio-ide-191.5791312-linux.tar.gz 765055716 BLAKE2B f0259adce0d3589a1c54ad16c1f745a10f4291ceb3554c9e6bb7433e6d57cb1fe6e1647df880b381172949a95cc908010977b87e3c34a868ccd00edfb3b7ba7c SHA512 39bc345e57fba7b49074f412db71bf1ecccc62cb2b23189149b8b1a72cbc159c285969708c8859def2d4a589cf8241b9a9cef2d93d72cf410554e469e66c20a6 diff --git a/dev-util/android-studio/android-studio-3.5.0.21.191.5791312.ebuild b/dev-util/android-studio/android-studio-3.5.0.21.191.5791312.ebuild new file mode 100644 index 000000000000..e76c9a4ef8b1 --- /dev/null +++ b/dev-util/android-studio/android-studio-3.5.0.21.191.5791312.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit desktop eutils java-pkg-2 + +RESTRICT="strip" +QA_PREBUILT=" + opt/${PN}/bin/fsnotifier* + opt/${PN}/bin/libdbm64.so + opt/${PN}/bin/lldb/* + opt/${PN}/custom-jdk/* + opt/${PN}/lib/pty4j-native/linux/*/libpty.so + opt/${PN}/plugins/android/lib/libwebp_jni*.so + opt/${PN}/plugins/android/resources/installer/* + opt/${PN}/plugins/android/resources/perfetto/* + opt/${PN}/plugins/android/resources/simpleperf/* + opt/${PN}/plugins/android/resources/transport/* +" + +VER_CMP=( $(ver_rs 1- ' ') ) +if [[ ${#VER_CMP[@]} -eq 6 ]]; then + STUDIO_V=$(ver_cut 1-4) + BUILD_V=$(ver_cut 5-6) +else + STUDIO_V=$(ver_cut 1-3) + BUILD_V=$(ver_cut 4-5) +fi + +DESCRIPTION="Android development environment based on IntelliJ IDEA" +HOMEPAGE="http://developer.android.com/sdk/installing/studio.html" +SRC_URI="https://dl.google.com/dl/android/studio/ide-zips/${STUDIO_V}/${PN}-ide-${BUILD_V}-linux.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="custom-jdk selinux" +KEYWORDS="~amd64 ~x86" + +DEPEND=" + dev-java/commons-logging:0 + dev-java/log4j:0" + +RDEPEND="${DEPEND} + >=virtual/jdk-1.7 + selinux? ( sec-policy/selinux-android ) + >=app-arch/bzip2-1.0.6-r4 + dev-java/commons-logging:0 + dev-java/log4j:0 + >=dev-libs/expat-2.1.0-r3 + >=dev-libs/libffi-3.0.13-r1 + >=media-libs/fontconfig-2.10.92 + >=media-libs/freetype-2.5.5 + >=media-libs/libpng-1.2.51 + >=media-libs/mesa-10.2.8[X(+)] + || ( gnome-extra/zenity kde-apps/kdialog x11-apps/xmessage x11-libs/libnotify ) + >=sys-libs/ncurses-5.9-r3:5/5[tinfo] + >=sys-libs/zlib-1.2.8-r1 + >=x11-libs/libX11-1.6.2 + >=x11-libs/libXau-1.0.7-r1 + >=x11-libs/libXdamage-1.1.4-r1 + >=x11-libs/libXdmcp-1.1.1-r1 + >=x11-libs/libXext-1.3.2 + >=x11-libs/libXfixes-5.0.1 + >=x11-libs/libXrender-0.9.8 + >=x11-libs/libXxf86vm-1.1.3 + >=x11-libs/libdrm-2.4.46 + >=x11-libs/libxcb-1.9.1 + >=x11-libs/libxshmfence-1.1" +BDEPEND="dev-util/patchelf" +S=${WORKDIR}/${PN} +PATCHES=( "${FILESDIR}/0001-use-java-home-before-bundled.patch" ) + +src_prepare() { + eapply "${PATCHES[@]}" + eapply_user + + # This is really a bundled jdk not a jre + # If custom-jdk is not set bundled jre is replaced with system vm/jdk + if use custom-jdk; then + mv -f "${S}/jre" "${S}/custom-jdk" || die "Could not move bundled jdk" + else + rm -rf "${S}/jre" || die "Could not remove bundled jdk" + fi + # Replace bundled jars with system + # has problems with newer jdom:0 not updated to jdom:2 + cd "${S}/lib" || die + local JARS="commons-logging log4j" + local j + for j in ${JARS}; do + rm -v ${j/:*/}*.jar || die + java-pkg_jar-from ${j} + done + + cd "${S}" || die + + # bug 629404 + echo "-Djdk.util.zip.ensureTrailingSlash=false" >> bin/studio64.vmoptions || die + echo "-Djdk.util.zip.ensureTrailingSlash=false" >> bin/studio.vmoptions || die +} + +src_compile() { + patchelf --set-rpath '$ORIGIN' bin/lldb/lib/readline.so || die "Failed to fix insecure RPATH" +} + +src_install() { + local dir="/opt/${PN}" + + insinto "${dir}" + doins -r * + + # This is really a bundled jdk not a jre + # If custom-jdk is not set bundled jre is replaced with system vm/jdk + if use custom-jdk; then + dosym "custom-jdk" "${dir}/jre" + else + dosym "../../etc/java-config-2/current-system-vm" "${dir}/jre" + fi + + fperms 755 "${dir}"/bin/{fsnotifier{,64},printenv.py,restart.py,format.sh,inspect.sh,studio.sh} + fperms -R 755 "${dir}"/bin/lldb/{android,bin} + if use custom-jdk; then + fperms -R 755 "${dir}"/jre/{bin,jre/bin} + fperms 755 ${dir}/jre/jre/lib/jexec + fi + + newicon "bin/studio.png" "${PN}.png" + make_wrapper ${PN} ${dir}/bin/studio.sh + make_desktop_entry ${PN} "Android Studio" ${PN} "Development;IDE" "StartupWMClass=jetbrains-studio" +} |