summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/android-studio/android-studio-2023.1.1.7.ebuild')
-rw-r--r--dev-util/android-studio/android-studio-2023.1.1.7.ebuild125
1 files changed, 125 insertions, 0 deletions
diff --git a/dev-util/android-studio/android-studio-2023.1.1.7.ebuild b/dev-util/android-studio/android-studio-2023.1.1.7.ebuild
new file mode 100644
index 000000000000..2b1e3ce86fba
--- /dev/null
+++ b/dev-util/android-studio/android-studio-2023.1.1.7.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop wrapper
+
+RESTRICT="bindist mirror strip"
+
+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"
+
+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 ZLIB"
+SLOT="0"
+IUSE="selinux"
+KEYWORDS="~amd64"
+
+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:=
+"
+
+S=${WORKDIR}/${PN}
+
+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,restart.py,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/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/{clang-tidy,clangd}
+ fperms -R 755 "${dir}"/plugins/terminal/{,fish}
+
+ 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"
+
+ # 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/"
+}