2 %define proddir %{product}-IU
3 %include /usr/lib/rpm/macros.java
4 Summary: IntelliJ IDEA - The Most Intelligent Java IDE
5 Name: intellij-idea-ultimate
8 License: IntelliJ IDEA Commercial
9 Group: Development/Tools
10 Source0: http://download.jetbrains.com/idea/ideaIU-%{version}.tar.gz
11 # NoSource0-md5: efcd728deb8063ebafa56ed643c7ddfa
13 Source1: %{product}.desktop
14 Patch0: xdg-paths.patch
15 URL: http://www.jetbrains.org/
16 BuildRequires: desktop-file-utils
17 BuildRequires: rpm-javaprov
18 BuildRequires: rpmbuild(macros) >= 1.596
19 Requires: %{name}-libs = %{version}-%{release}
20 Requires: desktop-file-utils
23 Suggests: %{name}-jre = %{version}-%{release}
25 Suggests: java-jdbc-mysql
29 Conflicts: intellij-idea
30 Conflicts: java-jdbc-mysql < 5.1.22
31 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33 # disable debuginfo package, not useful
34 %define _enable_debug_packages 0
36 # don't strip fsnotifier, it's size is checked for "outdated binary"
37 # https://bugs.archlinux.org/task/34703
38 # 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
39 %define _noautostrip .*/fsnotifier.*
41 # use /usr/lib, 64bit files do not conflict with 32bit files (64 suffix)
42 # this allows to install both arch files and to use 32bit jdk on 64bit os
43 %define _appdir %{_prefix}/lib/%{proddir}
45 # rpm5 is so damn slow, so i use this for development:
46 %define _noautoreqfiles .*\.jar
49 IntelliJ IDEA is a code-centric IDE focused on developer productivity.
50 The editor deeply understands your code and knows its way around the
51 codebase, makes great suggestions right when you need them, and is
52 always ready to help you shape your code.
55 Summary: Libraries for IntelliJ IDEA
57 %if "%{_rpmversion}" >= "5"
62 Libraries for IntelliJ IDEA.
65 Summary: Bundled JRE recommended for running IntelliJ IDEA
67 Requires: %{name} = %{version}-%{release}
70 Bundled JRE recommended for running IntelliJ IDEA.
77 # keep only single arch files (don't want to pull 32bit deps by default),
78 # if you want to mix, install rpm from both arch
80 rm bin/%{product}64.vmoptions
82 rm bin/libyjpagent-linux64.so
85 rm bin/%{product}.vmoptions
87 rm bin/libyjpagent-linux.so
90 chmod a+rx bin/*.so bin/fsnotifier*
91 mv bin/%{product}.png .
93 # cleanup backups after patching
94 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
97 rm -rf $RPM_BUILD_ROOT
98 install -d $RPM_BUILD_ROOT{%{_appdir},%{_bindir},%{_pixmapsdir},%{_desktopdir}}
99 cp -l build.txt $RPM_BUILD_ROOT/cp-test && l=l && rm -f $RPM_BUILD_ROOT/cp-test
100 cp -a$l bin help lib license plugins $RPM_BUILD_ROOT%{_appdir}
102 cp -a$l jre64 $RPM_BUILD_ROOT%{_appdir}
104 cp -p %{product}.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{product}.png
105 ln -s %{_pixmapsdir}/%{product}.png $RPM_BUILD_ROOT%{_appdir}/bin/%{product}.png
106 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}/%{product}.desktop
107 ln -s %{_appdir}/bin/%{product}.sh $RPM_BUILD_ROOT%{_bindir}/%{product}
108 rm -r $RPM_BUILD_ROOT%{_appdir}/plugins/gradle/lib/native-platform-{freebsd,osx,windows}*
109 rm -r $RPM_BUILD_ROOT%{_appdir}/plugins/tfsIntegration/lib/native/{aix,freebsd,hpux,macosx,solaris,win32}
110 rm -r $RPM_BUILD_ROOT%{_appdir}/plugins/tfsIntegration/lib/native/linux/{arm,ppc}
112 desktop-file-validate $RPM_BUILD_ROOT%{_desktopdir}/%{product}.desktop
115 rm -rf $RPM_BUILD_ROOT
118 %update_desktop_database
121 %update_desktop_database
123 # base package contains arch specific files
125 %defattr(644,root,root,755)
126 %doc Install-Linux-tar.txt
127 %attr(755,root,root) %{_bindir}/%{product}
129 %{_appdir}/bin/%{product}*.vmoptions
130 %{_appdir}/bin/%{product}.png
131 %{_appdir}/bin/%{product}.properties
132 %{_appdir}/bin/appletviewer.policy
133 %{_appdir}/bin/log.xml
134 %attr(755,root,root) %{_appdir}/bin/%{product}.sh
135 %attr(755,root,root) %{_appdir}/bin/format.sh
136 %attr(755,root,root) %{_appdir}/bin/inspect.sh
137 %attr(755,root,root) %{_appdir}/bin/fsnotifier*
138 %attr(755,root,root) %{_appdir}/bin/libyjpagent*.so
139 %attr(755,root,root) %{_appdir}/bin/printenv.py
140 %attr(755,root,root) %{_appdir}/bin/restart.py
141 %{_desktopdir}/%{product}.desktop
142 %{_pixmapsdir}/%{product}.png
144 # this package contains arch independant files
146 %defattr(644,root,root,755)
155 %defattr(644,root,root,755)
156 %dir %{_appdir}/jre64
157 %dir %{_appdir}/jre64/bin
158 %attr(755,root,root) %{_appdir}/jre64/bin/java
159 %attr(755,root,root) %{_appdir}/jre64/bin/jjs
160 %attr(755,root,root) %{_appdir}/jre64/bin/keytool
161 %attr(755,root,root) %{_appdir}/jre64/bin/orbd
162 %attr(755,root,root) %{_appdir}/jre64/bin/pack200
163 %attr(755,root,root) %{_appdir}/jre64/bin/policytool
164 %attr(755,root,root) %{_appdir}/jre64/bin/rmid
165 %attr(755,root,root) %{_appdir}/jre64/bin/rmiregistry
166 %attr(755,root,root) %{_appdir}/jre64/bin/servertool
167 %attr(755,root,root) %{_appdir}/jre64/bin/tnameserv
168 %attr(755,root,root) %{_appdir}/jre64/bin/unpack200
170 %{_appdir}/jre64/ASSEMBLY_EXCEPTION
171 %{_appdir}/jre64/LICENSE
172 %{_appdir}/jre64/release
173 %{_appdir}/jre64/THIRD_PARTY_README