]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # Conditional build: | |
3 | %bcond_with gtk2 # GTK+ 2.x instead of 3.x | |
4 | ||
5 | Summary: An open source, cross platform, free C++ IDE | |
6 | Summary(pl.UTF-8): Wieloplatformowe, darmowe IDE do C++ o otwartych źródłach | |
7 | Name: codeblocks | |
8 | %define snap svn13361 | |
9 | Version: 20.03 | |
10 | Release: 1.%{snap}.1 | |
11 | License: GPL v3 | |
12 | Group: X11/Development/Tools | |
13 | #Source0: http://download.sourceforge.net/codeblocks/%{name}-%{version}%{snap}.tar.xz | |
14 | Source0: %{name}-%{version}%{snap}.tar.xz | |
15 | # Source0-md5: 4f856967ec38135cebc09adc8db93294 | |
16 | Patch0: %{name}-FHS-plugins.patch | |
17 | Patch1: no-parallel.patch | |
18 | Patch2: %{name}-ac.patch | |
19 | URL: http://www.codeblocks.org/ | |
20 | BuildRequires: astyle-devel >= 3.0 | |
21 | BuildRequires: autoconf >= 2.50 | |
22 | BuildRequires: automake | |
23 | BuildRequires: boost-devel | |
24 | BuildRequires: bzip2-devel | |
25 | BuildRequires: fontconfig-devel | |
26 | BuildRequires: gamin-devel | |
27 | BuildRequires: glib2-devel >= 2.0 | |
28 | %{?with_gtk2:BuildRequires: gtk+2-devel >= 1:2.0.0} | |
29 | %{!?with_gtk2:BuildRequires: gtk+3-devel >= 3.0.0} | |
30 | BuildRequires: libstdc++-devel >= 6:4.7 | |
31 | BuildRequires: libtool >= 2:2 | |
32 | BuildRequires: pkgconfig | |
33 | BuildRequires: sed >= 4.0 | |
34 | # pkgconfig(squirrel) | |
35 | BuildRequires: squirrel-devel >= 2.2.5 | |
36 | BuildRequires: hunspell-devel | |
37 | BuildRequires: unixODBC-devel | |
38 | BuildRequires: tar >= 1:1.22 | |
39 | # pkgconfig(tinyxml) | |
40 | BuildRequires: tinyxml-devel >= 2.6.2-8 | |
41 | %{?with_gtk2:BuildRequires: wxGTK2-unicode-devel >= 2.8.12} | |
42 | %{!?with_gtk2:BuildRequires: wxGTK3-unicode-devel >= 2.8.12} | |
43 | BuildRequires: xorg-lib-libX11-devel | |
44 | BuildRequires: xz | |
45 | BuildRequires: zip | |
46 | BuildRequires: zlib-devel | |
47 | Requires(post,postun): desktop-file-utils | |
48 | Requires(post,postun): gtk-update-icon-cache | |
49 | Requires(post,postun): shared-mime-info | |
50 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
51 | ||
52 | %description | |
53 | Code::Blocks is a free C++ IDE built specifically to meet the most | |
54 | demanding needs of its users. It was designed, right from the start, | |
55 | to be extensible and configurable. Built around a plugin framework, | |
56 | Code::Blocks can be extended with plugin DLLs. It includes a plugin | |
57 | wizard so you can compile your own plugins! | |
58 | ||
59 | Highlights: | |
60 | - Open Source! GPL 3, no hidden costs | |
61 | - Cross-platform; runs on Linux or Windows (uses wxWidgets) | |
62 | - Made in GNU C++; no interpreted languages or proprietary libs needed | |
63 | - Extensible thru plugins | |
64 | ||
65 | Compiler-related features: | |
66 | - Multiple compiler support: GCC (MingW / Linux), MSVC++, Digital | |
67 | Mars, Borland C++ 5.5, Open Watcom | |
68 | - Compiles directly or with makefiles | |
69 | - Predefined project templates | |
70 | - Custom template support | |
71 | - Uses XML format for project files | |
72 | - Multi-target projects | |
73 | - Workspaces support | |
74 | - Imports MSVC projects and workspaces (NOTE: assembly code and | |
75 | inter-project dependencies not supported yet) | |
76 | - Imports Dev-C++ projects | |
77 | - Integrates with GDB for debugging | |
78 | ||
79 | Interface Features: | |
80 | - Syntax highlighting, customizable and extensible | |
81 | - Code folding for C++ and XML files | |
82 | - Tabbed interface | |
83 | - Code completion plugin | |
84 | - Class Browser | |
85 | - Smart indent | |
86 | - One-key swap between .h and .c/.cpp files | |
87 | - Open files list for quick switching between files (optional) | |
88 | - External customizable "Tools" | |
89 | - To-do list management with different users | |
90 | ||
91 | %description -l pl.UTF-8 | |
92 | Code::Blocks to darmowe IDE dla C++ tworzone specjalnie w celu | |
93 | zaspokojenia największych potrzeb swoich użytkowników. Zostało | |
94 | zaprojektowane od początku aby było rozszerzalne i konfigurowalne. | |
95 | Code::Blocks, jako zbudowane w oparciu o szkielet wtyczek, można | |
96 | rozszerzać. Zawiera czarodzieja dla wtyczek, więc można kompilować | |
97 | własne. | |
98 | ||
99 | Główne cechy: | |
100 | - otwarte źródła na licencji GPL 3, bez ukrytych kosztów | |
101 | - wieloplatformowość - działa na Linuksie i Windows (przy użyciu | |
102 | wxWidgets) | |
103 | - stworzone w GNU C++, nie wymaga języków interpretowanych ani | |
104 | własnościowych bibliotek | |
105 | - rozszerzalne poprzez wtyczki | |
106 | ||
107 | Cechy związane z kompilatorami: | |
108 | - obsługa wielu kompilatorów: GCC (MingW / Linux), MSVC++, Digital | |
109 | Mars, Borland C++ 5.5, Open Watcom | |
110 | - kompiluje bezpośrednio lub z użyciem plików Makefile | |
111 | - predefiniowane szablony projektów | |
112 | - obsługa własnych szablonów | |
113 | - używa formatu XML dla plików projektów | |
114 | - projekty z wieloma celami | |
115 | - obsługa przestrzeni zadań (workspace) | |
116 | - import projektów i przestrzeni zadań MSVC (uwaga: kdo w asemblerze i | |
117 | zależności między projektami nie są jeszcze obsługiwane) | |
118 | - import projektów Dev-C++ | |
119 | - integracja z GDB do odpluskwiania | |
120 | ||
121 | Cechy interfejsu: | |
122 | - podświetlanie składni - konfigurowalne i rozszerzalne | |
123 | - zwijanie kodu w plikach C++ i XML | |
124 | - interfejs z zakładkami | |
125 | - wtyczka dopełniania kodu | |
126 | - przeglądarka klas | |
127 | - inteligentne wcięcia | |
128 | - przełączanie jednym klawiszem między plikami .h i .c/.cpp | |
129 | - lista otwartych plików do szybkiego przełączania między nimi (opcja) | |
130 | - zewnętrzne, konfigurowalne "narzędzia" | |
131 | - zarządzanie listą rzeczy do zrobienia ("To-do") przez różnych | |
132 | użytkowników | |
133 | ||
134 | %package devel | |
135 | Summary: Development files for Code::Blocks | |
136 | Summary(pl.UTF-8): Pliki nagłówkowe Code::Blocks | |
137 | Group: X11/Development/Libraries | |
138 | Requires: %{name} = %{version}-%{release} | |
139 | ||
140 | %description devel | |
141 | This package provides development files for Code::Blocks. Install this | |
142 | package only if you plan to write plugins for Code::Blocks. | |
143 | ||
144 | %description devel -l pl.UTF-8 | |
145 | Ten pakiet dostarcza plików nagłówkowych Code::Blocks. Należy | |
146 | instalować ten pakiet tylko w celu pisania wtyczek do Code::Blocks. | |
147 | ||
148 | %prep | |
149 | %setup -q -n %{name}-%{version}%{snap} | |
150 | %patch0 -p1 | |
151 | %patch1 -p1 | |
152 | %patch2 -p1 | |
153 | ||
154 | # hardcode libdir, continue of patch0 | |
155 | sed -i 's|@libdir@|%{_libdir}|' src/sdk/configmanager.cpp | |
156 | ||
157 | # fix version inside the configure script | |
158 | sed -i 's/svn[0-9]\+//g' revision.m4 | |
159 | ||
160 | %build | |
161 | %{__libtoolize} | |
162 | %{__aclocal} -I m4 | |
163 | %{__autoconf} | |
164 | %{__autoheader} | |
165 | %{__automake} | |
166 | #CXXFLAGS="%{rpmcxxflags} -std=c++11" | |
167 | %configure \ | |
168 | --with-boost-system=boost_system \ | |
169 | --with-contrib-plugins=all \ | |
170 | %if %{with gtk2} | |
171 | --with-wx-config=wx-gtk2-unicode-config \ | |
172 | %else | |
173 | --with-wx-config=wx-gtk3-unicode-config | |
174 | %endif | |
175 | ||
176 | %{__make} | |
177 | ||
178 | %install | |
179 | rm -rf $RPM_BUILD_ROOT | |
180 | ||
181 | %{__make} install \ | |
182 | DESTDIR=$RPM_BUILD_ROOT \ | |
183 | mimeicondir=%{_iconsdir}/hicolor/48x48/mimetypes | |
184 | ||
185 | # loadable plugins | |
186 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/codeblocks/plugins/*.la | |
187 | # private libraries | |
188 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/codeblocks/wxContribItems/*.la | |
189 | # obsoleted by pkg-config | |
190 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la | |
191 | ||
192 | %clean | |
193 | rm -rf $RPM_BUILD_ROOT | |
194 | ||
195 | %post | |
196 | /sbin/ldconfig | |
197 | %update_icon_cache hicolor | |
198 | %update_desktop_database_post | |
199 | %update_mime_database | |
200 | ||
201 | %postun | |
202 | /sbin/ldconfig | |
203 | %update_icon_cache hicolor | |
204 | %update_desktop_database_postun | |
205 | %update_mime_database | |
206 | ||
207 | %files | |
208 | %defattr(644,root,root,755) | |
209 | %doc AUTHORS BUGS COMPILERS README TODO ChangeLog | |
210 | %attr(755,root,root) %{_bindir}/cb_share_config | |
211 | %attr(755,root,root) %{_bindir}/cb_console_runner | |
212 | %attr(755,root,root) %{_bindir}/codeblocks | |
213 | %attr(755,root,root) %{_libdir}/libwxsmithlib.so.*.*.* | |
214 | %attr(755,root,root) %ghost %{_libdir}/libwxsmithlib.so.0 | |
215 | %attr(755,root,root) %{_libdir}/libcodeblocks.so.*.*.* | |
216 | %attr(755,root,root) %ghost %{_libdir}/libcodeblocks.so.0 | |
217 | %{_desktopdir}/codeblocks.desktop | |
218 | %{_pixmapsdir}/codeblocks.png | |
219 | %{_iconsdir}/hicolor/48x48/mimetypes/application-x-codeblocks*.png | |
220 | %{_metainfodir}/codeblocks.appdata.xml | |
221 | %{_metainfodir}/codeblocks-contrib.metainfo.xml | |
222 | %{_datadir}/mime/packages/codeblocks.xml | |
223 | %dir %{_datadir}/%{name} | |
224 | %dir %{_datadir}/%{name}/scripts | |
225 | %{_datadir}/%{name}/scripts/* | |
226 | %{_datadir}/%{name}/*.zip | |
227 | %{_datadir}/%{name}/*.txt | |
228 | %{_datadir}/%{name}/SpellChecker | |
229 | %{_datadir}/%{name}/compilers | |
230 | %{_datadir}/%{name}/icons | |
231 | %{_datadir}/%{name}/images | |
232 | %{_datadir}/%{name}/lexers | |
233 | %{_datadir}/%{name}/lib_finder | |
234 | %{_datadir}/%{name}/templates | |
235 | %dir %{_libdir}/%{name} | |
236 | %dir %{_libdir}/%{name}/plugins | |
237 | %attr(755,root,root) %{_libdir}/%{name}/plugins/*.so | |
238 | %dir %{_libdir}/%{name}/wxContribItems | |
239 | %attr(755,root,root) %{_libdir}/%{name}/wxContribItems/libwx*.so.* | |
240 | %{_mandir}/man1/cb_console_runner.1* | |
241 | %{_mandir}/man1/cb_share_config.1* | |
242 | %{_mandir}/man1/codeblocks.1* | |
243 | %{_mandir}/man1/codesnippets.1* | |
244 | ||
245 | %files devel | |
246 | %defattr(644,root,root,755) | |
247 | %attr(755,root,root) %{_libdir}/libcodeblocks.so | |
248 | %attr(755,root,root) %{_libdir}/libwxsmithlib.so | |
249 | %attr(755,root,root) %{_libdir}/%{name}/wxContribItems/libwx*.so | |
250 | %{_pkgconfigdir}/cb_wx*.pc | |
251 | %{_pkgconfigdir}/codeblocks.pc | |
252 | %{_pkgconfigdir}/wxsmith*.pc | |
253 | %{_includedir}/codeblocks | |
254 | %{_includedir}/wxsmith |