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-ln.jetbrains.com/idea/ideaIU-%{version}.tar.gz
11 # NoSource0-md5: 5b3519fb962d720cd671b858dee1fbb4
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
22 Suggests: java-jdbc-mysql
24 Conflicts: intellij-idea
25 Conflicts: java-jdbc-mysql < 5.1.22
26 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
28 # disable debuginfo package, not useful
29 %define _enable_debug_packages 0
31 # don't strip fsnotifier, it's size is checked for "outdated binary"
32 # https://bugs.archlinux.org/task/34703
33 # 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
34 %define _noautostrip .*/fsnotifier.*
36 # use /usr/lib, 64bit files do not conflict with 32bit files (64 suffix)
37 # this allows to install both arch files and to use 32bit jdk on 64bit os
38 %define _appdir %{_prefix}/lib/%{proddir}
40 # rpm5 is so damn slow, so i use this for development:
41 %define _noautoreqfiles .*\.jar
44 IntelliJ IDEA is a code-centric IDE focused on developer productivity.
45 The editor deeply understands your code and knows its way around the
46 codebase, makes great suggestions right when you need them, and is
47 always ready to help you shape your code.
50 Summary: Libraries for IntelliJ IDEA
52 %if "%{_rpmversion}" >= "5"
57 Libraries for IntelliJ IDEA.
64 # keep only single arch files (don't want to pull 32bit deps by default),
65 # if you want to mix, install rpm from both arch
67 rm bin/%{product}64.vmoptions
69 rm bin/libbreakgen64.so
70 rm bin/libyjpagent-linux64.so
73 rm bin/%{product}.vmoptions
76 rm bin/libyjpagent-linux.so
78 chmod a+rx bin/*.so bin/fsnotifier*
79 mv bin/%{product}.png .
81 # cleanup backups after patching
82 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
85 rm -rf $RPM_BUILD_ROOT
86 install -d $RPM_BUILD_ROOT{%{_appdir},%{_bindir},%{_pixmapsdir},%{_desktopdir}}
87 cp -l build.txt $RPM_BUILD_ROOT/cp-test && l=l && rm -f $RPM_BUILD_ROOT/cp-test
88 cp -a$l bin help lib license plugins $RPM_BUILD_ROOT%{_appdir}
89 cp -p %{product}.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{product}.png
90 ln -s %{_pixmapsdir}/%{product}.png $RPM_BUILD_ROOT%{_appdir}/bin/%{product}.png
91 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}/%{product}.desktop
92 ln -s %{_appdir}/bin/%{product}.sh $RPM_BUILD_ROOT%{_bindir}/%{product}
94 desktop-file-validate $RPM_BUILD_ROOT%{_desktopdir}/%{product}.desktop
97 rm -rf $RPM_BUILD_ROOT
100 %update_desktop_database
103 %update_desktop_database
105 # base package contains arch specific files
107 %defattr(644,root,root,755)
108 %doc Install-Linux-tar.txt
109 %attr(755,root,root) %{_bindir}/%{product}
111 %{_appdir}/bin/%{product}*.vmoptions
112 %{_appdir}/bin/%{product}.png
113 %{_appdir}/bin/%{product}.properties
114 %{_appdir}/bin/appletviewer.policy
115 %{_appdir}/bin/log.xml
116 %attr(755,root,root) %{_appdir}/bin/%{product}.sh
117 %attr(755,root,root) %{_appdir}/bin/inspect.sh
118 %attr(755,root,root) %{_appdir}/bin/fsnotifier*
119 %attr(755,root,root) %{_appdir}/bin/libbreakgen*.so
120 %attr(755,root,root) %{_appdir}/bin/libyjpagent*.so
121 %{_desktopdir}/%{product}.desktop
122 %{_pixmapsdir}/%{product}.png
124 # this package contains arch independant files
126 %defattr(644,root,root,755)