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