1
Fork 0
copr/clion/clion.spec

108 lines
3.5 KiB
RPMSpec
Raw Normal View History

2023-10-03 20:05:13 -04:00
# setting some global constants
%global appname clion
# 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 __provides_exclude_from %{_javadir}/%{name}/bin/.*|%{_javadir}/%{name}/jbr/.*|%{_javadir}/%{name}/lib/.*|%{_javadir}/%{name}/plugins/.*
%global __requires_exclude_from %{_javadir}/%{name}/bin/.*|%{_javadir}/%{name}/jbr/.*|%{_javadir}/%{name}/lib/.*|%{_javadir}/%{name}/plugins/.*
Name: clion
2024-10-16 17:46:33 -04:00
Version: 2024.2.2
2023-10-03 20:05:13 -04:00
Release: 1%{?dist}
Summary: A cross-platform IDE for C and C++
License: Commercial
URL: https://www.jetbrains.com/%{appname}/
Source0: https://download.jetbrains.com/cpp/CLion-%{version}.tar.gz
Source101: %{name}.desktop
BuildRequires: desktop-file-utils
BuildRequires: librsvg2-tools
BuildRequires: python3-devel
BuildRequires: javapackages-filesystem
Requires: hicolor-icon-theme
Requires: javapackages-filesystem
%description
CLion is designed for native cross-platform development in C and C++.
%package doc
Summary: Documentation for CLion
BuildArch: noarch
%description doc
This package contains documentation for CLion
%prep
%setup -q -n %{name}-%{version}
%py3_shebang_fix bin
2024-05-08 22:03:05 -04:00
%py3_shebang_fix plugins
2023-10-03 20:05:13 -04:00
%install
# Installing application...
install -d %{buildroot}%{_javadir}/%{name}
cp -arf ./{bin,jbr,lib,plugins,build.txt,product-info.json} %{buildroot}%{_javadir}/%{name}/
# Installing icons...
install -d %{buildroot}%{_datadir}/pixmaps
install -m 0644 -p bin/%{appname}.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
install -d %{buildroot}%{_datadir}/icons/hicolor/scalable/apps
install -m 0644 -p bin/%{appname}.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
# Creating additional PNG icons on the fly...
for size in 16 22 24 32 48 64 128 256; do
dest=%{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps
install -d ${dest}
rsvg-convert -w ${size} -h ${size} bin/%{appname}.svg -o ${dest}/%{name}.png
chmod 0644 ${dest}/%{name}.png
touch -r bin/%{appname}.svg ${dest}/%{name}.png
done
# Installing launcher...
install -d %{buildroot}%{_bindir}
ln -s %{_javadir}/%{name}/bin/%{appname}.sh %{buildroot}%{_bindir}/%{name}
# Installing desktop file...
install -d %{buildroot}%{_datadir}/applications
install -m 0644 -p %{SOURCE101} %{buildroot}%{_datadir}/applications/%{name}.desktop
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
%files
%license license/*
%{_javadir}/%{name}
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}.png
%{_datadir}/icons/hicolor/*/apps/%{name}.*
%files doc
%doc help/
%doc *.txt
%changelog
2024-05-08 22:03:05 -04:00
* Wed May 8 2024 Joshua Goins <josh@redstrate.com> - 2024.1.1
- Update to 2024.1.1
2023-10-03 20:05:13 -04:00
* Thu Sep 14 2023 M3DZIK <me@medzik.dev> - 2023.2.2
- Update to 2023.2.2
* Sat Sep 02 2023 M3DZIK <me@medzik.dev> - 2023.2.1
- Initial release