]>
Commit | Line | Data |
---|---|---|
cf6bfaea ER |
1 | %define product clion |
2 | %include /usr/lib/rpm/macros.java | |
3 | Summary: C/C++ IDE | |
4 | Name: clion | |
fbaad988 | 5 | Version: 2016.2 |
88718275 | 6 | Release: 1 |
cf6bfaea ER |
7 | # TODO: figure out what's the licensing and redistribution |
8 | License: ? | |
9 | Group: Development/Tools | |
fbaad988 ER |
10 | Source0: https://download.jetbrains.com/cpp/CLion-%{version}.tar.gz |
11 | # NoSource0-md5: 3188ed0cde65018b95d3257081bad000 | |
cf6bfaea | 12 | NoSource: 0 |
109e0602 | 13 | Source1: %{product}.desktop |
597c60d9 | 14 | Patch0: pld.patch |
cf6bfaea ER |
15 | URL: http://www.jetbrains.com/clion/ |
16 | BuildRequires: jpackage-utils | |
17 | BuildRequires: rpm-javaprov | |
5336ca4e | 18 | BuildRequires: rpmbuild(macros) >= 1.734 |
cf6bfaea ER |
19 | BuildRequires: unzip |
20 | Requires: jre >= 1.6 | |
ffad0d3f ER |
21 | Suggests: %{name}-cmake |
22 | Suggests: %{name}-gdb | |
90f69c4e ER |
23 | Suggests: cmake >= 2.8 |
24 | Suggests: gdb >= 7.8 | |
cf6bfaea ER |
25 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
26 | ||
27 | # don't strip fsnotifier, it's size is checked for "outdated binary" | |
28 | # https://bugs.archlinux.org/task/34703 | |
29 | # 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 | |
30 | %define _noautostrip .*/fsnotifier.* | |
31 | ||
32 | # use /usr/lib, 64bit files do not conflict with 32bit files (64 suffix) | |
33 | # this allows to install both arch files and to use 32bit jdk on 64bit os | |
34 | %define _appdir %{_prefix}/lib/%{product} | |
35 | ||
36 | %description | |
37 | Smart Editor. Code better, refactor easily | |
38 | ||
39 | Knowing your code through and through, CLion can take care of the | |
40 | routine while you focus on the important things. Boost your | |
41 | productivity with the keyboard-centric approach (Vim-emulation plugin | |
42 | is also available in plugin repository), full coding assistance, smart | |
43 | and relevant code completion, fast project navigation, intelligent | |
44 | intention actions, and reliable refactorings. | |
45 | ||
ffad0d3f ER |
46 | %package cmake |
47 | Summary: Cross-platform, open-source make system | |
48 | Summary(pl.UTF-8): Wieloplatformowy system make o otwartych źródłach | |
49 | Group: Development/Building | |
50 | Requires: %{name} = %{version}-%{release} | |
51 | ||
52 | %description cmake | |
4d0f39f5 | 53 | This package contains bundled CMake 3.5.1. |
ffad0d3f ER |
54 | |
55 | %package gdb | |
56 | Summary: A GNU source-level debugger for C, C++ and Fortran | |
57 | Summary(pl.UTF-8): Symboliczny odpluskwiacz dla C i innych języków | |
58 | Group: Development/Building | |
59 | Requires: %{name} = %{version}-%{release} | |
60 | ||
61 | %description gdb | |
62 | This package contains bundled GDB 7.8 | |
63 | ||
fbaad988 ER |
64 | %package lldb |
65 | Summary: Next generation high-performance debugger | |
66 | Summary(pl.UTF-8): Wydajny debugger nowej generacji | |
67 | Group: Development/Debuggers | |
68 | URL: http://lldb.llvm.org/ | |
69 | Requires: %{name} = %{version}-%{release} | |
70 | ||
71 | %description lldb | |
72 | LLDB is a next generation, high-performance debugger. It is built as a | |
73 | set of reusable components which highly leverage existing libraries in | |
74 | the larger LLVM Project, such as the Clang expression parser and LLVM | |
75 | disassembler. | |
76 | ||
77 | %description lldb -l pl.UTF-8 | |
78 | LLDB to wydajny debugger nowej generacji. Jest zbudowany w oparciu o | |
79 | komponenty wielokrotnego użytku, wykorzystujące istniejące biblioteki | |
80 | w projekcie LLVM, takie jak analizator wyrażeń kompilatora Clang oraz | |
81 | disasembler LLVM. | |
82 | ||
cf6bfaea | 83 | %prep |
88718275 | 84 | %setup -qn %{product}-%{version} |
cf6bfaea ER |
85 | |
86 | # keep only single arch files (don't want to pull 32bit deps by default), | |
87 | # if you want to mix, install rpm from both arch | |
88718275 | 88 | %ifnarch %{x8664} |
cf6bfaea ER |
89 | rm bin/fsnotifier64 |
90 | rm bin/libyjpagent-linux64.so | |
91 | rm bin/libbreakgen64.so | |
92 | rm bin/%{product}64.vmoptions | |
93 | rm -r lib/libpty/linux/x86_64 | |
88718275 | 94 | rm -r plugins/tfsIntegration/lib/native/linux/x86_64 |
cf6bfaea | 95 | %endif |
88718275 | 96 | %ifnarch %{ix86} |
cf6bfaea ER |
97 | rm bin/fsnotifier |
98 | rm bin/libyjpagent-linux.so | |
99 | rm bin/libbreakgen.so | |
100 | #rm bin/%{product}.vmoptions | |
101 | rm -r lib/libpty/linux/x86 | |
88718275 ER |
102 | rm -r plugins/tfsIntegration/lib/native/linux/x86 |
103 | %endif | |
104 | %ifnarch arm | |
105 | rm bin/fsnotifier-arm | |
106 | rm -r plugins/tfsIntegration/lib/native/linux/arm | |
107 | %endif | |
108 | %ifnarch ppc | |
109 | rm -r plugins/tfsIntegration/lib/native/linux/ppc | |
cf6bfaea | 110 | %endif |
88718275 | 111 | %ifos Linux |
cf6bfaea | 112 | rm -r lib/libpty/{macosx,win} |
88718275 ER |
113 | rm -r plugins/tfsIntegration/lib/native/{aix,freebsd,hpux,macosx,solaris,win32} |
114 | chmod a+rx plugins/tfsIntegration/lib/native/linux/*/*.so | |
115 | %endif | |
116 | chmod a+rx bin/*.so bin/fsnotifier* lib/libpty/linux/*/*.so | |
117 | ||
cf6bfaea ER |
118 | mv bin/%{product}.svg . |
119 | ||
597c60d9 ER |
120 | %patch0 -p1 |
121 | ||
cf6bfaea ER |
122 | # cleanup backups after patching |
123 | find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f | |
124 | ||
125 | %install | |
126 | rm -rf $RPM_BUILD_ROOT | |
127 | install -d $RPM_BUILD_ROOT{%{_appdir},%{_bindir},%{_pixmapsdir},%{_desktopdir}} | |
128 | cp -l build.txt $RPM_BUILD_ROOT/cp-test && l=l && rm -f $RPM_BUILD_ROOT/cp-test | |
129 | cp -a$l bin help lib license plugins $RPM_BUILD_ROOT%{_appdir} | |
130 | ln -s %{_pixmapsdir}/%{product}.svg $RPM_BUILD_ROOT%{_appdir}/bin | |
109e0602 | 131 | cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir} |
cf6bfaea | 132 | cp -p %{product}.svg $RPM_BUILD_ROOT%{_pixmapsdir} |
b4f57b33 | 133 | ln -s %{_appdir}/bin/%{product}.sh $RPM_BUILD_ROOT%{_bindir}/%{product} |
cf6bfaea ER |
134 | |
135 | %clean | |
136 | rm -rf $RPM_BUILD_ROOT | |
137 | ||
138 | %files | |
139 | %defattr(644,root,root,755) | |
b4f57b33 | 140 | %attr(755,root,root) %{_bindir}/%{product} |
cf6bfaea ER |
141 | %dir %{_appdir} |
142 | %{_appdir}/help | |
143 | %{_appdir}/license | |
144 | %{_appdir}/plugins | |
145 | %dir %{_appdir}/bin | |
d113ef60 | 146 | %ifnarch %{ix86} |
cf6bfaea | 147 | %{_appdir}/bin/%{product}*.vmoptions |
d113ef60 | 148 | %endif |
cf6bfaea ER |
149 | %{_appdir}/bin/%{product}.svg |
150 | %{_appdir}/bin/idea.properties | |
151 | %{_appdir}/bin/log.xml | |
152 | %attr(755,root,root) %{_appdir}/bin/%{product}.sh | |
153 | %attr(755,root,root) %{_appdir}/bin/inspect.sh | |
154 | %attr(755,root,root) %{_appdir}/bin/fsnotifier* | |
155 | %attr(755,root,root) %{_appdir}/bin/libbreakgen*.so | |
156 | %attr(755,root,root) %{_appdir}/bin/libyjpagent-linux*.so | |
157 | %dir %{_appdir}/lib | |
158 | %{_appdir}/lib/*.jar | |
159 | %dir %{_appdir}/lib/libpty | |
160 | %dir %{_appdir}/lib/libpty/linux | |
161 | %dir %{_appdir}/lib/libpty/linux/x86* | |
162 | %attr(755,root,root) %{_appdir}/lib/libpty/linux/x86*/libpty.so | |
109e0602 | 163 | %{_desktopdir}/%{product}.desktop |
cf6bfaea ER |
164 | %{_pixmapsdir}/%{product}.svg |
165 | ||
ffad0d3f ER |
166 | %files cmake |
167 | %defattr(644,root,root,755) | |
cf6bfaea ER |
168 | %defattr(-,root,root,-) |
169 | %{_appdir}/bin/cmake | |
ffad0d3f ER |
170 | |
171 | %files gdb | |
172 | %defattr(644,root,root,755) | |
173 | %defattr(-,root,root,-) | |
cf6bfaea | 174 | %{_appdir}/bin/gdb |
fbaad988 ER |
175 | |
176 | %files lldb | |
177 | %defattr(644,root,root,755) | |
178 | %dir %{_appdir}/bin/lldb | |
179 | %dir %{_appdir}/bin/lldb/bin | |
180 | %dir %{_appdir}/bin/lldb/lib | |
181 | %attr(755,root,root) %{_appdir}/bin/lldb/LLDBFrontend | |
182 | %attr(755,root,root) %{_appdir}/bin/lldb/bin/lldb-server | |
183 | %attr(755,root,root) %{_appdir}/bin/lldb/lib/liblldb.so.3 | |
184 | ||
185 | %dir %{_appdir}/bin/lldb/lib/python2.7 | |
186 | %dir %{_appdir}/bin/lldb/lib/python2.7/site-packages | |
187 | %dir %{_appdir}/bin/lldb/lib/python2.7/site-packages/lldb | |
188 | %dir %{_appdir}/bin/lldb/lib/python2.7/site-packages/lldb/formatters | |
189 | %dir %{_appdir}/bin/lldb/lib/python2.7/site-packages/lldb/formatters/cpp | |
190 | %dir %{_appdir}/bin/lldb/lib/python2.7/site-packages/lldb/runtime | |
191 | %dir %{_appdir}/bin/lldb/lib/python2.7/site-packages/lldb/utils | |
192 | %{_appdir}/bin/lldb/lib/python2.7/site-packages/*.py | |
193 | %{_appdir}/bin/lldb/lib/python2.7/site-packages/lldb/*.py | |
194 | %{_appdir}/bin/lldb/lib/python2.7/site-packages/lldb/formatters/*.py | |
195 | %{_appdir}/bin/lldb/lib/python2.7/site-packages/lldb/formatters/cpp/*.py | |
196 | %{_appdir}/bin/lldb/lib/python2.7/site-packages/lldb/lldb-argdumper | |
197 | %{_appdir}/bin/lldb/lib/python2.7/site-packages/lldb/runtime/*.py | |
198 | %{_appdir}/bin/lldb/lib/python2.7/site-packages/lldb/utils/*.py | |
199 | ||
200 | %dir %{_appdir}/bin/lldb/renderers | |
201 | %dir %{_appdir}/bin/lldb/renderers/lldb_formatters | |
202 | %{_appdir}/bin/lldb/renderers/lldb_formatters/*.py |