diff --git a/dev-util/android-studio/Manifest b/dev-util/android-studio/Manifest index 79d8b0b3f4c86..9f7803ac68a6c 100644 --- a/dev-util/android-studio/Manifest +++ b/dev-util/android-studio/Manifest @@ -1,2 +1,3 @@ DIST android-studio-2025.1.2.12-linux.tar.gz 1534030355 BLAKE2B 2665d82630024e1b3fadeca7b9e76f408230870e0eb7a0f4c85d5e5dfb4ffcae84926d4099bacdc543d63fa95424ba70a73e9b33c44f42ce989dde530ea770ba SHA512 d2d58becb92c24a81c7f1533becda7bd77e71c1de06fadc66768c1d4dffa5edb2a9549b53286b0e492e06e1b988cd583d8fe91d8e0a2ddf4025fff40b582bf1e DIST android-studio-2025.1.2.13-linux.tar.gz 1533983547 BLAKE2B 10895f4ddf8aa8c455d68eccee18f3843a19f3ba7966ba8f4f5a97a1a6f8b52794ee76e5bd22fb56503779931f86df65900b7e108e0db1ec2505bb4fd7d615d5 SHA512 19f0089e0dc9684a462727f37683229ecada114038cabd6248f5a54f2f47985eabc1eda4c2e451d09cbae5e9a14dbf691a626f3e40fce509714da0129beaa919 +DIST android-studio-2025.1.3.7-linux.tar.gz 1470452324 BLAKE2B e57b41cad8ffaa446bb1ce5d0a8f4f02b22786dbdf2c31500c921957f2b70cae2079e5334c173acaaab226a01239955c24aa7cfd298796a0447eacde209f7e52 SHA512 cf810db0c862f12479ba074f2f42c4328b5f5bc752550a45d16b3b338eb4dfc972705fd9f1f4a2c2548c64b74a2130e40a8d15e9d88840a0e521aa7ea05dce20 diff --git a/dev-util/android-studio/android-studio-2025.1.3.7.ebuild b/dev-util/android-studio/android-studio-2025.1.3.7.ebuild new file mode 100644 index 0000000000000..97641f2834227 --- /dev/null +++ b/dev-util/android-studio/android-studio-2025.1.3.7.ebuild @@ -0,0 +1,130 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop wrapper + +QA_PREBUILT=" + opt/${PN}/bin/* + opt/${PN}/jbr/bin/* + opt/${PN}/jbr/lib/* + opt/${PN}/jbr/lib/jli/* + opt/${PN}/jbr/lib/server/* + opt/${PN}/lib/pty4j-native/linux/*/* + opt/${PN}/plugins/android/resources/installer/*/* + opt/${PN}/plugins/android/resources/native/* + opt/${PN}/plugins/android/resources/perfetto/*/* + opt/${PN}/plugins/android/resources/screen-sharing-agent/*/* + opt/${PN}/plugins/android/resources/simpleperf/*/* + opt/${PN}/plugins/android/resources/trace_processor_daemon/* + opt/${PN}/plugins/android/resources/transport/*/* + opt/${PN}/plugins/android/resources/transport/native/agent/*/* + opt/${PN}/plugins/android-ndk/resources/lldb/android/*/* + opt/${PN}/plugins/android-ndk/resources/lldb/bin/* + opt/${PN}/plugins/android-ndk/resources/lldb/lib/python3.9/lib-dynload/* + opt/${PN}/plugins/android-ndk/resources/lldb/lib64/* + opt/${PN}/plugins/design-tools/resources/layoutlib/data/linux/lib64/* + opt/${PN}/plugins/c-clangd/bin/clang/linux/*/* + opt/${PN}/plugins/webp/lib/libwebp/linux/* +" + +DESCRIPTION="Android development environment based on IntelliJ IDEA" +HOMEPAGE="https://developer.android.com/studio" +SRC_URI="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/${PV}/${P}-linux.tar.gz" +S=${WORKDIR}/${PN} +LICENSE="Apache-2.0 android BSD BSD-2 CDDL-1.1 CPL-0.5 + EPL-1.0 GPL-2 GPL-2+ JDOM IJG LGPL-2.1 MIT + MPL-1.1 MPL-2.0 NPL-1.1 OFL-1.1 ZLIB" +SLOT="0" +KEYWORDS="~amd64" +IUSE="selinux" +RESTRICT="bindist mirror strip" + +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-android ) + >=app-arch/bzip2-1.0.8-r4 + >=dev-libs/expat-2.5.0 + >=dev-libs/libffi-3.4.4 + >=media-libs/fontconfig-2.14.0-r1 + >=media-libs/freetype-2.12.1-r1 + >=media-libs/libpng-1.6.39 + >=media-libs/mesa-22.2.5[X(+)] + || ( gnome-extra/zenity kde-apps/kdialog x11-apps/xmessage x11-libs/libnotify ) + sys-libs/ncurses-compat:5[tinfo] + >=sys-libs/zlib-1.2.13-r1 + >=x11-libs/libX11-1.8.1 + >=x11-libs/libXau-1.0.11 + >=x11-libs/libXdamage-1.1.6 + >=x11-libs/libXdmcp-1.1.4-r2 + >=x11-libs/libXext-1.3.5 + >=x11-libs/libXfixes-6.0.0 + >=x11-libs/libXrender-0.9.11 + >=x11-libs/libXxf86vm-1.1.5 + >=x11-libs/libdrm-2.4.114 + >=x11-libs/libxcb-1.15-r1 + sys-libs/libxcrypt[compat] + dev-libs/wayland + >=x11-libs/libxshmfence-1.3.2 + virtual/libcrypt:= +" + +src_prepare() { + + default + + cat <<-EOF >> bin/idea.properties || die + #----------------------------------------------------------------------- + # Disable automatic updates as these are handled through Gentoo's + # package manager. + #----------------------------------------------------------------------- + ide.no.platform.update=Gentoo + EOF +} + +src_compile() { + :; +} + +src_install() { + local dir="/opt/${PN}" + insinto "${dir}" + doins -r * + + fperms 755 "${dir}"/bin/{fsnotifier,format.sh,game-tools.sh,inspect.sh,ltedit.sh,profiler.sh,studio,studio.sh} + fperms -R 755 "${dir}"/bin/{helpers,lldb} + fperms -R 755 "${dir}"/jbr/bin + fperms 755 "${dir}"/jbr/lib/{jexec,jspawnhelper} + fperms -R 755 "${dir}"/plugins/Kotlin/kotlinc/bin + fperms -R 755 "${dir}"/plugins/android/resources/installer + fperms -R 755 "${dir}"/plugins/android/resources/perfetto + fperms -R 755 "${dir}"/plugins/android/resources/simpleperf + fperms -R 755 "${dir}"/plugins/android/resources/trace_processor_daemon + fperms -R 755 "${dir}"/plugins/android-ndk/resources/lldb/{android,bin,lib,shared} + fperms 755 "${dir}"/plugins/c-clangd/bin/clang/linux/x64/bin/clangd + fperms -R 755 "${dir}"/plugins/terminal/shell-integrations/{,fish} + + newicon "bin/studio.png" "${PN}.png" + make_wrapper ${PN} ${dir}/bin/studio + make_desktop_entry ${PN} "Android Studio" ${PN} "Development;IDE" "StartupWMClass=jetbrains-studio" + + # recommended by: https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit + mkdir -p "${D}/etc/sysctl.d/" || die + echo "fs.inotify.max_user_watches = 524288" > "${D}/etc/sysctl.d/30-android-studio-inotify-watches.conf" || die +} + +pkg_postrm() { + elog "Android Studio data files were not removed." + elog "If there will be no other programs using them anymore" + elog "(especially another flavor of Android Studio)" + elog "remove manually following folders:" + elog "" + elog " ~/.android/" + elog " ~/.config/Google/AndroidStudio*/" + elog " ~/.local/share/Google/AndroidStudio*/" + elog " ~/Android/" + elog "" + elog "Also, if there are no other programs using Gradle, remove:" + elog "" + elog " ~/.gradle/" +}