]>
Commit | Line | Data |
---|---|---|
2bcfc6bc | 1 | # TODO: |
2bcfc6bc | 2 | # - consider doing subpackages for all those plugins (which one should be in main package ?) |
cb1359d3 | 3 | # - desktop file (icon exists, but no desktop file?) |
bf2eabf0 JB |
4 | # |
5 | # Conditional build: | |
875a60b1 | 6 | # Features |
dae692bf | 7 | %bcond_without aspell # don't build aspell support |
1e6a4966 | 8 | %bcond_without doc # don't build docs |
875a60b1 | 9 | # Bindings |
de60b6ba | 10 | %bcond_without guile # don't enable Scheme (guile) scripting language |
875a60b1 ER |
11 | %bcond_without lua # don't enable Lua scripting language |
12 | %bcond_without perl # don't enable Perl scripting language | |
de60b6ba | 13 | %bcond_with php # don't enable PHP scripting language |
875a60b1 ER |
14 | %bcond_without python # don't enable Python scripting language |
15 | %bcond_without ruby # don't enable Ruby scripting language | |
16 | %bcond_without tcl # don't enable Tcl scripting language | |
9fc5e4a1 | 17 | %bcond_without js # don't enable JavaScript scripting language (V8 engine) |
d4846710 | 18 | |
93f2c1d6 ER |
19 | %ifnarch %{ix86} %{x8664} arm mips |
20 | %undefine with_js | |
21 | %endif | |
22 | ||
de60b6ba JP |
23 | %define php_name php%{?php_suffix} |
24 | ||
bf2eabf0 JB |
25 | Summary: WeeChat - fast and light chat environment |
26 | Summary(pl.UTF-8): WeeChat - szybkie i lekkie środowisko do rozmów | |
88c48961 | 27 | Name: weechat |
507069f9 | 28 | Version: 3.8 |
a3706506 | 29 | Release: 2 |
ccd085cc | 30 | License: GPL v3+ |
740c529c | 31 | Group: Applications/Communications |
1b328212 | 32 | Source0: https://www.weechat.org/files/src/%{name}-%{version}.tar.xz |
507069f9 | 33 | # Source0-md5: 6eb1d4f64f9c7e385fcabb2098ef40a9 |
46ecdc76 | 34 | URL: http://www.weechat.org/ |
bf2eabf0 | 35 | %{?with_aspell:BuildRequires: aspell-devel} |
de60b6ba | 36 | BuildRequires: cmake >= 3.0 |
ccac3bc6 | 37 | BuildRequires: curl-devel |
8131d0d8 | 38 | BuildRequires: gettext-tools |
113c8f6d | 39 | BuildRequires: gnutls-devel |
875a60b1 | 40 | %{?with_guile:BuildRequires: guile-devel} |
6c113da7 | 41 | BuildRequires: libgcrypt-devel |
ca796d8a | 42 | %{?with_lua:BuildRequires: lua-devel} |
387a8b12 | 43 | BuildRequires: ncurses-devel |
9aa8ff7b | 44 | %{?with_perl:BuildRequires: perl-devel} |
de60b6ba | 45 | %{?with_php:BuildRequires: %{php_name}-devel >= 4:7} |
6757fa8b KK |
46 | BuildRequires: pkgconfig |
47 | %if %{with python} | |
113c8f6d JP |
48 | BuildRequires: python3-devel |
49 | BuildRequires: python3-modules | |
6757fa8b | 50 | %endif |
ead211ff | 51 | BuildRequires: rpm-build >= 4.6 |
8f33c8f1 | 52 | BuildRequires: rpmbuild(macros) >= 1.752 |
7a0f89d0 | 53 | %{?with_doc:BuildRequires: ruby-asciidoctor} |
113c8f6d | 54 | %{?with_ruby:BuildRequires: ruby-devel >= 1:1.9} |
7a0f89d0 | 55 | BuildRequires: sed >= 4.0 |
13717296 | 56 | BuildRequires: tar >= 1:1.22 |
aea7cf80 | 57 | %{?with_tcl:BuildRequires: tcl-devel} |
7a0f89d0 | 58 | %{?with_js:BuildRequires: v8-devel} |
13717296 | 59 | BuildRequires: xz |
113c8f6d | 60 | BuildRequires: zlib-devel |
1339b86e | 61 | BuildRequires: zstd-devel |
de60b6ba | 62 | Requires(post,postun): desktop-file-utils |
ead211ff | 63 | Suggests: %{name}-icons |
f118d56e | 64 | Suggests: %{name}-plugin-irc |
9fb88636 | 65 | Obsoletes: weechat-common |
88c48961 | 66 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
67 | ||
18c4530e ER |
68 | %define skip_post_check_so ruby.so.0.0.0 |
69 | ||
88c48961 | 70 | %description |
71 | WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat | |
228b94b3 | 72 | environment for many operating systems. Everything can be done with a |
73 | keyboard. It is customizable and extensible with scripts. | |
88c48961 | 74 | |
bf2eabf0 JB |
75 | %description -l pl.UTF-8 |
76 | WeeChat (Wee Ehanced Environment for Chat) to szybkie i lekkie | |
77 | środowisko do rozmów dla wielu systemów operacyjnych. Pozwala wszystko | |
78 | zrobić przy pomocy klawiatury. Jest konfigurowalne i rozszerzalne za | |
79 | pomocą skryptów. | |
88c48961 | 80 | |
875a60b1 ER |
81 | %package doc |
82 | Summary: Manual for weechat | |
83 | Group: Documentation | |
4a6303d1 | 84 | BuildArch: noarch |
875a60b1 ER |
85 | |
86 | %description doc | |
87 | HTML documentation for weechat. | |
88 | ||
ead211ff JP |
89 | %package icons |
90 | Summary: Icon files for weechat | |
91 | Group: Applications | |
92 | BuildArch: noarch | |
93 | Requires(post,postun): gtk-update-icon-cache | |
94 | ||
95 | %description icons | |
96 | Icon files for weechat. | |
97 | ||
6c402603 JP |
98 | %package plugin-guile |
99 | Summary: Guile scripting plugin for weechat | |
100 | Group: Applications/Communications | |
101 | Requires: %{name} = %{version}-%{release} | |
102 | ||
103 | %description plugin-guile | |
104 | Guile scripting plugin for weechat. | |
105 | ||
f118d56e JP |
106 | %package plugin-irc |
107 | Summary: IRC chat protocol plugin for weechat | |
108 | Group: Applications/Communications | |
109 | Requires: %{name} = %{version}-%{release} | |
110 | ||
111 | %description plugin-irc | |
112 | IRC chat protocol plugin for weechat. | |
113 | ||
6c402603 JP |
114 | %package plugin-javascript |
115 | Summary: JavaScript scripting plugin for weechat | |
116 | Group: Applications/Communications | |
117 | Requires: %{name} = %{version}-%{release} | |
118 | ||
119 | %description plugin-javascript | |
120 | JavaScript scripting plugin for weechat. | |
121 | ||
122 | %package plugin-lua | |
123 | Summary: Lua scripting plugin for weechat | |
124 | Group: Applications/Communications | |
125 | Requires: %{name} = %{version}-%{release} | |
126 | ||
127 | %description plugin-lua | |
128 | Lua scripting plugin for weechat. | |
129 | ||
130 | %package plugin-perl | |
131 | Summary: Perl scripting plugin for weechat | |
132 | Group: Applications/Communications | |
133 | Requires: %{name} = %{version}-%{release} | |
134 | ||
135 | %description plugin-perl | |
136 | Perl scripting plugin for weechat. | |
137 | ||
138 | %package plugin-python | |
139 | Summary: Python scripting plugin for weechat | |
140 | Group: Applications/Communications | |
141 | Requires: %{name} = %{version}-%{release} | |
142 | ||
143 | %description plugin-python | |
144 | Python scripting plugin for weechat. | |
145 | ||
f118d56e JP |
146 | %package plugin-relay |
147 | Summary: Relay data via network plugin for weechat | |
148 | Group: Applications/Communications | |
149 | Requires: %{name} = %{version}-%{release} | |
150 | ||
151 | %description plugin-relay | |
152 | Relay data via network plugin for weechat used by alternative | |
153 | frontends. | |
154 | ||
6c402603 JP |
155 | %package plugin-ruby |
156 | Summary: Ruby scripting plugin for weechat | |
157 | Group: Applications/Communications | |
158 | Requires: %{name} = %{version}-%{release} | |
159 | ||
160 | %description plugin-ruby | |
161 | Ruby scripting plugin for weechat. | |
162 | ||
163 | %package plugin-spell | |
164 | Summary: Spell checking plugin for weechat | |
165 | Group: Applications/Communications | |
166 | Requires: %{name} = %{version}-%{release} | |
167 | ||
168 | %description plugin-spell | |
169 | Spell checking plugin for weechat. | |
170 | ||
171 | %package plugin-tcl | |
172 | Summary: Tcl scripting plugin for weechat | |
173 | Group: Applications/Communications | |
174 | Requires: %{name} = %{version}-%{release} | |
175 | ||
176 | %description plugin-tcl | |
177 | Tcl scripting plugin for weechat. | |
178 | ||
f118d56e JP |
179 | %package plugin-xfer |
180 | Summary: File transfer and direct chat plugin for weechat | |
181 | Group: Applications/Communications | |
182 | Requires: %{name} = %{version}-%{release} | |
183 | ||
184 | %description plugin-xfer | |
185 | File transfer and direct chat plugin for weechat. | |
186 | ||
88c48961 | 187 | %prep |
188 | %setup -q | |
189 | ||
190 | %build | |
875a60b1 ER |
191 | install -d build |
192 | cd build | |
193 | %cmake \ | |
194 | -DPREFIX=%{_prefix} \ | |
195 | -DLIBDIR=%{_libdir} \ | |
113c8f6d | 196 | -DENABLE_HEADLESS=OFF \ |
875a60b1 | 197 | -DENABLE_NCURSES=ON \ |
113c8f6d JP |
198 | %{cmake_on_off aspell ENABLE_SPELL} \ |
199 | %{cmake_on_off doc ENABLE_DOC} \ | |
200 | %{cmake_on_off perl ENABLE_PERL} \ | |
201 | %{cmake_on_off php ENABLE_PHP} \ | |
202 | %{cmake_on_off python ENABLE_PYTHON} \ | |
203 | %{cmake_on_off ruby ENABLE_RUBY} \ | |
204 | %{cmake_on_off lua ENABLE_LUA} \ | |
205 | %{cmake_on_off guile ENABLE_GUILE} \ | |
206 | %{cmake_on_off tcl ENABLE_TCL} \ | |
207 | %{cmake_on_off doc ENABLE_MAN} \ | |
208 | %{cmake_on_off js ENABLE_JAVASCRIPT} \ | |
875a60b1 ER |
209 | .. |
210 | ||
211 | %{__make} VERBOSE=1 | |
88c48961 | 212 | |
213 | %install | |
214 | rm -rf $RPM_BUILD_ROOT | |
875a60b1 | 215 | %{__make} -C build install \ |
88c48961 | 216 | DESTDIR=$RPM_BUILD_ROOT |
217 | ||
cb1359d3 ER |
218 | # symlink to "weechat" |
219 | %{__rm} $RPM_BUILD_ROOT%{_bindir}/weechat-curses | |
220 | ||
875a60b1 ER |
221 | # no -devel, drop |
222 | %{__rm} -r $RPM_BUILD_ROOT%{_includedir}/%{name} | |
223 | %{__rm} $RPM_BUILD_ROOT%{_pkgconfigdir}/%{name}.pc | |
9165132c | 224 | |
225 | %find_lang %{name} | |
226 | ||
88c48961 | 227 | %clean |
228 | rm -rf $RPM_BUILD_ROOT | |
229 | ||
de60b6ba JP |
230 | %post |
231 | %update_desktop_database | |
de60b6ba JP |
232 | %update_mime_database |
233 | ||
ead211ff JP |
234 | %post icons |
235 | %update_icon_cache hicolor | |
236 | ||
de60b6ba JP |
237 | %postun |
238 | %update_desktop_database_postun | |
de60b6ba JP |
239 | %update_mime_database |
240 | ||
ead211ff JP |
241 | %postun icons |
242 | %update_icon_cache hicolor | |
243 | ||
9fb88636 | 244 | %files -f %{name}.lang |
7f12170a | 245 | %defattr(644,root,root,755) |
c2372aac | 246 | %doc AUTHORS.adoc ChangeLog.adoc README.adoc ReleaseNotes.adoc |
7c82dcb8 | 247 | %attr(755,root,root) %{_bindir}/weechat |
c2372aac | 248 | %if %{with doc} |
7c82dcb8 | 249 | %{_mandir}/man1/weechat.1* |
5fb273c2 | 250 | %lang(cs) %{_mandir}/cs/man1/weechat.1* |
be004e51 AS |
251 | %lang(de) %{_mandir}/de/man1/weechat.1* |
252 | %lang(fr) %{_mandir}/fr/man1/weechat.1* | |
253 | %lang(it) %{_mandir}/it/man1/weechat.1* | |
254 | %lang(ja) %{_mandir}/ja/man1/weechat.1* | |
cb1359d3 ER |
255 | %lang(pl) %{_mandir}/pl/man1/weechat.1* |
256 | %lang(ru) %{_mandir}/ru/man1/weechat.1* | |
c2372aac | 257 | %endif |
de60b6ba | 258 | %{_desktopdir}/%{name}.desktop |
7f12170a | 259 | |
cb1359d3 ER |
260 | %dir %{_libdir}/%{name} |
261 | %dir %{_libdir}/%{name}/plugins | |
262 | %attr(755,root,root) %{_libdir}/%{name}/plugins/alias.so | |
c2372aac | 263 | %attr(755,root,root) %{_libdir}/%{name}/plugins/buflist.so |
cb1359d3 ER |
264 | %attr(755,root,root) %{_libdir}/%{name}/plugins/charset.so |
265 | %attr(755,root,root) %{_libdir}/%{name}/plugins/exec.so | |
266 | %attr(755,root,root) %{_libdir}/%{name}/plugins/fifo.so | |
c2372aac | 267 | %attr(755,root,root) %{_libdir}/%{name}/plugins/fset.so |
cb1359d3 | 268 | %attr(755,root,root) %{_libdir}/%{name}/plugins/logger.so |
cb1359d3 ER |
269 | %attr(755,root,root) %{_libdir}/%{name}/plugins/script.so |
270 | %attr(755,root,root) %{_libdir}/%{name}/plugins/trigger.so | |
67248240 | 271 | %attr(755,root,root) %{_libdir}/%{name}/plugins/typing.so |
875a60b1 | 272 | |
ead211ff JP |
273 | %files icons |
274 | %defattr(644,root,root,755) | |
275 | %{_iconsdir}/hicolor/*/apps/weechat.png | |
276 | ||
875a60b1 ER |
277 | %if %{with doc} |
278 | %files doc | |
279 | %defattr(644,root,root,755) | |
280 | %dir %{_docdir}/%{name} | |
5fb273c2 | 281 | %lang(cs) %{_docdir}/%{name}/*.cs.html |
875a60b1 ER |
282 | %lang(de) %{_docdir}/%{name}/*.de.html |
283 | %lang(en) %{_docdir}/%{name}/*.en.html | |
284 | %lang(es) %{_docdir}/%{name}/*.es.html | |
285 | %lang(fr) %{_docdir}/%{name}/*.fr.html | |
286 | %lang(it) %{_docdir}/%{name}/*.it.html | |
287 | %lang(ja) %{_docdir}/%{name}/*.ja.html | |
288 | %lang(pl) %{_docdir}/%{name}/*.pl.html | |
289 | %lang(ru) %{_docdir}/%{name}/*.ru.html | |
290 | %endif | |
6c402603 JP |
291 | |
292 | %if %{with guile} | |
293 | %files plugin-guile | |
294 | %defattr(644,root,root,755) | |
295 | %attr(755,root,root) %{_libdir}/%{name}/plugins/guile.so | |
296 | %endif | |
297 | ||
f118d56e JP |
298 | %files plugin-irc |
299 | %defattr(644,root,root,755) | |
300 | %attr(755,root,root) %{_libdir}/%{name}/plugins/irc.so | |
301 | ||
6c402603 JP |
302 | %if %{with js} |
303 | %files plugin-javascript | |
304 | %defattr(644,root,root,755) | |
305 | %attr(755,root,root) %{_libdir}/%{name}/plugins/javascript.so | |
306 | %endif | |
307 | ||
308 | %if %{with lua} | |
309 | %files plugin-lua | |
310 | %defattr(644,root,root,755) | |
311 | %attr(755,root,root) %{_libdir}/%{name}/plugins/lua.so | |
312 | %endif | |
313 | ||
314 | %if %{with perl} | |
315 | %files plugin-perl | |
316 | %defattr(644,root,root,755) | |
317 | %attr(755,root,root) %{_libdir}/%{name}/plugins/perl.so | |
318 | %endif | |
319 | ||
320 | %if %{with python} | |
321 | %files plugin-python | |
322 | %defattr(644,root,root,755) | |
323 | %attr(755,root,root) %{_libdir}/%{name}/plugins/python.so | |
324 | %endif | |
325 | ||
f118d56e JP |
326 | %files plugin-relay |
327 | %defattr(644,root,root,755) | |
328 | %attr(755,root,root) %{_libdir}/%{name}/plugins/relay.so | |
329 | ||
6c402603 JP |
330 | %if %{with ruby} |
331 | %files plugin-ruby | |
332 | %defattr(644,root,root,755) | |
333 | %attr(755,root,root) %{_libdir}/%{name}/plugins/ruby.so | |
334 | %endif | |
335 | ||
336 | %if %{with aspell} | |
337 | %files plugin-spell | |
338 | %defattr(644,root,root,755) | |
339 | %attr(755,root,root) %{_libdir}/%{name}/plugins/spell.so | |
340 | %endif | |
341 | ||
342 | %if %{with tcl} | |
343 | %files plugin-tcl | |
344 | %defattr(644,root,root,755) | |
345 | %attr(755,root,root) %{_libdir}/%{name}/plugins/tcl.so | |
346 | %endif | |
f118d56e JP |
347 | |
348 | %files plugin-xfer | |
349 | %defattr(644,root,root,755) | |
350 | %attr(755,root,root) %{_libdir}/%{name}/plugins/xfer.so |