From 91e1567f447ccdbffcdc6c16def25b779b0a0ad0 Mon Sep 17 00:00:00 2001 From: Mike Pagano Date: Fri, 11 Jul 2025 07:43:30 -0400 Subject: [PATCH] dev-util/android-studio: add 2025.1.1.14 Signed-off-by: Mike Pagano --- dev-util/android-studio/Manifest | 1 + .../android-studio-2025.1.1.14.ebuild | 141 ++++++++++++++++++ 2 files changed, 142 insertions(+) create mode 100644 dev-util/android-studio/android-studio-2025.1.1.14.ebuild diff --git a/dev-util/android-studio/Manifest b/dev-util/android-studio/Manifest index a060c4227ab89..baa546de5299f 100644 --- a/dev-util/android-studio/Manifest +++ b/dev-util/android-studio/Manifest @@ -1 +1,2 @@ DIST android-studio-2025.1.1.13-linux.tar.gz 1515271146 BLAKE2B ec861cab1e2e7a655c4b0f2f6c1a952ffa6b21c6d697959ea036e4d65c2cb03dac44bf3d7c428c7ef958a78645c2e266f5dc9a358e15d1ddc69fc7538a696f9e SHA512 2ee9abc5778277fa726d8864c78bcba6df4a4d8a9c7f23e25614d1cab2aa90b109efb6eb1b18f6cda8152711ebfa9983f3d738418c130559566a6e1c76fcad50 +DIST android-studio-2025.1.1.14-linux.tar.gz 1515280560 BLAKE2B 23720f535a560866ad577b737b783dc5bb8186f995aac06ecb895ab1395aa99c0c353deb5f06cf9056a9035ce6395e79a870c1f965556b8ad79bc76241da0879 SHA512 7be4af905fe611e7ac00190ea4cd32093fda3d7242d0e36d0d399ad609a7cb009d4274ca0cafd2df4ae4c4538bd62cb0d75f7f6aca5ccbb1ec78f6443afc8378 diff --git a/dev-util/android-studio/android-studio-2025.1.1.14.ebuild b/dev-util/android-studio/android-studio-2025.1.1.14.ebuild new file mode 100644 index 0000000000000..809fe78fe3a81 --- /dev/null +++ b/dev-util/android-studio/android-studio-2025.1.1.14.ebuild @@ -0,0 +1,141 @@ +# 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 + >=x11-libs/libxshmfence-1.3.2 + virtual/libcrypt:= +" + +src_prepare() { + + default + + rm "${S}"/plugins/android/resources/installer/{arm64-v8a,armeabi-v7a,x86}/* + rm "${S}"/plugins/android/resources/perfetto/{arm64-v8a,armeabi-v7a,x86}/* + rm "${S}"/plugins/android/resources/process-tracker-agent/native/{arm64-v8a,armeabi-v7a,x86}/* + rm "${S}"/plugins/android/resources/transport/{arm64-v8a,armeabi-v7a,x86}/* + rm "${S}"/plugins/android/resources/transport/native/agent/{arm64-v8a,armeabi-v7a,x86}/* + + 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,studio_safe.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/resources/transport/{arm64-v8a,armeabi-v7a,x86,x86_64} + 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" + + # https://developer.android.com/studio/command-line/variables + newenvd - 99android-studio <<-EOF + # Configuration file android-studio + STUDIO_JDK="${dir}/jbr" + EOF + + # 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/" +}