2 %define proddir %{product}-IU
3 Summary: IntelliJ IDEA - The Most Intelligent Java IDE
4 Name: intellij-idea-ultimate
7 License: IntelliJ IDEA Commercial
8 Group: Development/Tools
9 Source0: http://download.jetbrains.com/idea/ideaIU-%{version}.tar.gz
10 # NoSource0-md5: d0431fd46c26e0d870a399b4940b6e17
12 Source1: %{product}.desktop
13 Patch0: xdg-paths.patch
14 URL: http://www.jetbrains.org/
15 BuildRequires: desktop-file-utils
16 BuildRequires: rpm-javaprov
17 BuildRequires: rpmbuild(macros) >= 1.596
18 Requires: %{name}-libs = %{version}-%{release}
19 Requires: desktop-file-utils
22 Suggests: %{name}-jre = %{version}-%{release}
24 Suggests: java-jdbc-mysql
28 Conflicts: intellij-idea
29 Conflicts: java-jdbc-mysql < 5.1.22
30 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32 # disable debuginfo package, not useful
33 %define _enable_debug_packages 0
35 # don't strip fsnotifier, it's size is checked for "outdated binary"
36 # https://bugs.archlinux.org/task/34703
37 # http://git.jetbrains.org/?p=idea/community.git;a=blob;f=platform/platform-impl/src/com/intellij/openapi/vfs/impl/local/FileWatcher.java;h=004311b96a35df1ffc2c87baba78a8b2a8809f7d;hb=376b939fd6d6ec4c12191a5f90503d9d62c501da#l173
38 %define _noautostrip .*/fsnotifier.*
40 # use /usr/lib, 64bit files do not conflict with 32bit files (64 suffix)
41 # this allows to install both arch files and to use 32bit jdk on 64bit os
42 %define _appdir %{_prefix}/lib/%{proddir}
44 # rpm5 is so damn slow, so i use this for development:
45 %define _noautoreqfiles .*\.jar
48 IntelliJ IDEA is a code-centric IDE focused on developer productivity.
49 The editor deeply understands your code and knows its way around the
50 codebase, makes great suggestions right when you need them, and is
51 always ready to help you shape your code.
54 Summary: Libraries for IntelliJ IDEA
56 %if "%{_rpmversion}" >= "5"
61 Libraries for IntelliJ IDEA.
64 Summary: Bundled JRE recommended for running IntelliJ IDEA
66 Requires: %{name} = %{version}-%{release}
69 Bundled JRE recommended for running IntelliJ IDEA.
76 # keep only single arch files (don't want to pull 32bit deps by default),
77 # if you want to mix, install rpm from both arch
79 rm bin/%{product}64.vmoptions
83 rm bin/%{product}.vmoptions
86 chmod a+rx bin/*.so bin/fsnotifier*
87 mv bin/%{product}.png .
89 # cleanup backups after patching
90 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
92 grep -r '#!.*env bash' -l plugins/Kotlin/kotlinc/bin | xargs %{__sed} -i -e '1 s,#!.*env bash.*,#!/bin/bash,'
93 grep -r '#!.*env python' -l bin | xargs %{__sed} -i -e '1 s,#!.*env python.*,#!%{__python},'
96 rm -rf $RPM_BUILD_ROOT
97 install -d $RPM_BUILD_ROOT{%{_appdir},%{_bindir},%{_pixmapsdir},%{_desktopdir}}
98 cp -l build.txt $RPM_BUILD_ROOT/cp-test && l=l && rm -f $RPM_BUILD_ROOT/cp-test
99 cp -a$l bin build.txt help lib license plugins $RPM_BUILD_ROOT%{_appdir}
101 cp -a$l jbr $RPM_BUILD_ROOT%{_appdir}
103 cp -p %{product}.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{product}.png
104 ln -s %{_pixmapsdir}/%{product}.png $RPM_BUILD_ROOT%{_appdir}/bin/%{product}.png
105 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}/%{product}.desktop
106 ln -s %{_appdir}/bin/%{product}.sh $RPM_BUILD_ROOT%{_bindir}/%{product}
107 rm -r $RPM_BUILD_ROOT%{_appdir}/lib/pty4j-native/linux/ppc64le
109 desktop-file-validate $RPM_BUILD_ROOT%{_desktopdir}/%{product}.desktop
112 rm -rf $RPM_BUILD_ROOT
115 %update_desktop_database
118 %update_desktop_database
120 # base package contains arch specific files
122 %defattr(644,root,root,755)
123 %doc Install-Linux-tar.txt
124 %attr(755,root,root) %{_bindir}/%{product}
126 %{_appdir}/bin/%{product}*.vmoptions
127 %{_appdir}/bin/%{product}.png
128 %{_appdir}/bin/%{product}.properties
129 %{_appdir}/bin/%{product}.svg
130 %{_appdir}/bin/appletviewer.policy
131 %{_appdir}/bin/log.xml
132 %attr(755,root,root) %{_appdir}/bin/%{product}.sh
133 %attr(755,root,root) %{_appdir}/bin/format.sh
134 %attr(755,root,root) %{_appdir}/bin/inspect.sh
135 %attr(755,root,root) %{_appdir}/bin/fsnotifier*
136 %attr(755,root,root) %{_appdir}/bin/printenv.py
137 %attr(755,root,root) %{_appdir}/bin/restart.py
139 %attr(755,root,root) %{_appdir}/bin/libdbm64.so
141 %{_desktopdir}/%{product}.desktop
142 %{_pixmapsdir}/%{product}.png
144 # this package contains arch independant files
146 %defattr(644,root,root,755)
156 %defattr(644,root,root,755)
158 %dir %{_appdir}/jbr/bin
159 %attr(755,root,root) %{_appdir}/jbr/bin/jaotc
160 %attr(755,root,root) %{_appdir}/jbr/bin/java
161 %attr(755,root,root) %{_appdir}/jbr/bin/javac
162 %attr(755,root,root) %{_appdir}/jbr/bin/jdb
163 %attr(755,root,root) %{_appdir}/jbr/bin/jfr
164 %attr(755,root,root) %{_appdir}/jbr/bin/jhsdb
165 %attr(755,root,root) %{_appdir}/jbr/bin/jjs
166 %attr(755,root,root) %{_appdir}/jbr/bin/jrunscript
167 %attr(755,root,root) %{_appdir}/jbr/bin/keytool
168 %attr(755,root,root) %{_appdir}/jbr/bin/pack200
169 %attr(755,root,root) %{_appdir}/jbr/bin/rmid
170 %attr(755,root,root) %{_appdir}/jbr/bin/rmiregistry
171 %attr(755,root,root) %{_appdir}/jbr/bin/serialver
172 %attr(755,root,root) %{_appdir}/jbr/bin/unpack200
174 %{_appdir}/jbr/include
177 %{_appdir}/jbr/release