# setting some global constants %global appname studio # disable debuginfo subpackage %global debug_package %{nil} # Disable build-id symlinks to avoid conflicts %global _build_id_links none # don't strip bundled binaries because pycharm checks length (!!!) of binary fsnotif # and if you strip debug stuff from it, it will complain %global __strip /bin/true # dont repack jars %global __jar_repack %{nil} # disable rpath checks %define __brp_check_rpaths %{nil} # there are some python 2 and python 3 scripts so there is no way out to bytecompile them ^_^ %global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') # do not automatically detect and export provides and dependencies on bundled libraries and executables %global _exclude_from %{_datadir}/%{name}/bin/.*|%{_datadir}/%{name}/lib/.*|%{_datadir}/%{name}/plugins/.*|%{_datadir}/%{name}/jbr/.* %global __provides_exclude_from %{_exclude_from} %global __requires_exclude_from %{_exclude_from} Name: android-studio Version: 2025.1.1.14 Release: 1%{?dist} Summary: The official IDE for Google's Android platform License: Apache-2.0 URL: https://developer.android.com/%{appname}/ Source0: https://dl.google.com/android/studio/ide-zips/%{version}/android-studio-%{version}-linux.tar.gz Source101: %{name}.desktop Source102: %{name}.metainfo.xml BuildRequires: desktop-file-utils BuildRequires: libappstream-glib BuildRequires: python3-devel BuildRequires: javapackages-filesystem Requires: hicolor-icon-theme Requires: javapackages-filesystem Requires: %{name}-jbr = %{version}-%{release} %description The official IDE for Android app development now accelerates your productivity with Gemini in Android Studio, your AI-powered coding companion. %package jbr Summary: JetBrains Runtime Requires: %{name} = %{version}-%{release} %global __provides_exclude_from %{_exclude_from} %global __requires_exclude_from %{_exclude_from} %description jbr JetBrains Runtime - a patched Java Runtime Environment (JRE). %prep %setup -q -n android-studio # Patching shebangs... %if 0%{?fedora} %py3_shebang_fix bin %else find bin -type f -name "*.py" -exec sed -e 's@/usr/bin/env python.*@%{__python3}@g' -i "{}" \; %endif %install # Installing application... install -d %{buildroot}%{_datadir}/%{name} cp -arf ./{bin,jbr,lib,plugins,build.txt,product-info.json} %{buildroot}%{_datadir}/%{name}/ # Installing icons... install -d %{buildroot}%{_datadir}/pixmaps install -m 0644 -p bin/%{appname}.png %{buildroot}%{_datadir}/pixmaps/com.google.AndroidStudio.png install -d %{buildroot}%{_datadir}/icons/hicolor/scalable/apps install -m 0644 -p bin/%{appname}.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/com.google.AndroidStudio.svg # Installing launcher... install -d %{buildroot}%{_bindir} ln -s %{_datadir}/%{name}/bin/%{appname} %{buildroot}%{_bindir}/%{name} # Installing desktop file... install -d %{buildroot}%{_datadir}/applications install -m 0644 -p %{SOURCE101} %{buildroot}%{_datadir}/applications/%{name}.desktop # Installing metainfo... install -d %{buildroot}%{_metainfodir} install -m 0644 -p %{SOURCE102} %{buildroot}%{_metainfodir}/%{name}.metainfo.xml %check appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{name}.metainfo.xml desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %files %license license/* %{_datadir}/%{name} %{_bindir}/%{name} %{_datadir}/applications/%{name}.desktop %{_datadir}/pixmaps/com.google.AndroidStudio.png %{_datadir}/icons/hicolor/scalable/apps/com.google.AndroidStudio.svg %{_metainfodir}/%{name}.metainfo.xml %files jbr %{_datadir}/%{name}/jbr