3 %bcond_without aspell # build without spell-checking support with aspell
4 %bcond_without rss # don't build rss plugin
5 %bcond_without gadugadu # don't build gg plugin
6 %bcond_without gpg # don't build gpg plugin
7 %bcond_without gtk # don't build gtk plugin
8 %bcond_without jabber # don't build jabber plugin
9 %bcond_without gnutls # build jabber plugin without libgnutls
10 %bcond_with libgsm # don't build libgsm plugin
11 %bcond_without perl # don't build Perl plugin
12 %bcond_without python # don't build Python plugin
13 %bcond_without readline # don't build readline interface
14 %bcond_with sqlite # build logsqlite plugin based on sqlite (conflicts with sqlite3)
15 %bcond_without sqlite3 # don't build logsqlite plugin based on sqlite3
16 %bcond_with xosd # don't build xosd plugin
17 %bcond_with git # checkout git master instead of Source0 - requested by ekg2 developer
18 %bcond_with irckeepalive # adds patch that check irc connection and disconnect when server dies
21 %define subver git.%(date +%Y%m%d)
23 %define subver 20180902
32 Summary: Multi-protocol instant messaging and chat client
33 Summary(pl.UTF-8): Wieloprotokołowy komunikator internetowy
36 Release: 0.%{subver}.%{rel}
39 Group: Applications/Communications
41 Source0: https://github.com/leafnode/ekg2/tarball/master?/%{name}-%{subver}.tar.gz
42 # Source0-md5: 2ce452ebcecc03532dee956c5648d890
44 Patch0: %{name}-perl-install.patch
45 Patch1: %{name}-gtk.patch
46 Patch2: %{name}-bug-63.patch
47 Patch3: %{name}-keepalive_irc.patch
50 %{?with_aspell:BuildRequires: aspell-devel}
51 BuildRequires: autoconf
52 BuildRequires: automake
53 %if %{with rss} || %{with jabber}
54 BuildRequires: expat-devel
56 BuildRequires: gettext-tools >= 0.17-8
57 %{?with_gadugadu:BuildRequires: giflib-devel}
58 %{?with_git:BuildRequires: git-core}
59 %{?with_gnutls:BuildRequires: gnutls-devel >= 1.2.5}
60 %{?with_gpg:BuildRequires: gpgme-devel}
61 %{?with_gtk:BuildRequires: gtk+2-devel >= 2:2.14.1}
62 %{?with_gadugadu:BuildRequires: libgadu-devel}
63 %{?with_libgsm:BuildRequires: libgsm-devel}
64 %{?with_gadugadu:BuildRequires: libjpeg-devel}
65 BuildRequires: libltdl-devel
66 BuildRequires: libtool
67 BuildRequires: ncurses-devel
68 BuildRequires: openssl-devel >= 0.9.7d
69 %{?with_perl:BuildRequires: perl-devel}
70 BuildRequires: pkgconfig
71 %{?with_python:BuildRequires: python-devel}
72 %{?with_readline:BuildRequires: readline-devel}
73 %{?with_python:BuildRequires: rpm-pythonprov}
74 BuildRequires: sed >= 4.0
75 %{?with_sqlite:BuildRequires: sqlite-devel}
76 %{?with_sqlite3:BuildRequires: sqlite3-devel}
77 %{?with_xosd:BuildRequires: xosd-devel}
78 BuildRequires: zlib-devel
79 Obsoletes: ekg2-plugin-ioctld
80 Obsoletes: ekg2-plugin-remote
81 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
84 Multi-protocol instant messaging and chat client with many plugins.
86 %description -l pl.UTF-8
87 Wieloprotokołowy, otwarty komunikator internetowy z wieloma wtyczkami.
90 Summary: ekg2 header files
91 Summary(pl.UTF-8): Pliki nagłówkowe ekg2
92 Group: Development/Libraries
93 Requires: %{name} = %{epoch}:%{version}-%{release}
96 Header files for ekg2.
98 %description devel -l pl.UTF-8
99 Pliki nagłówkowe ekg2.
102 Summary: rss plugin for ekg2
103 Summary(pl.UTF-8): Wtyczka rss dla ekg2
104 Group: Applications/Communications
105 Requires: %{name} = %{epoch}:%{version}-%{release}
106 Obsoletes: ekg2-plugin-feed
108 %description plugin-rss
111 %description plugin-rss -l pl.UTF-8
112 Wtyczka rss dla ekg2.
115 Summary: gpg plugin for ekg2
116 Summary(pl.UTF-8): Wtyczka gpg dla ekg2
117 Group: Applications/Communications
118 Requires: %{name} = %{epoch}:%{version}-%{release}
120 %description plugin-gpg
123 %description plugin-gpg -l pl.UTF-8
124 Wtyczka gpg dla ekg2.
127 Summary: gtk plugin for ekg2
128 Summary(pl.UTF-8): Wtyczka gtk dla ekg2
129 Group: Applications/Communications
130 Requires: %{name} = %{epoch}:%{version}-%{release}
131 Requires: gtk+2 >= 2:2.14.1
133 %description plugin-gtk
136 %description plugin-gtk -l pl.UTF-8
137 Wtyczka gtk dla ekg2.
139 %package plugin-jogger
140 Summary: Jogger plugin for ekg2
141 Summary(pl.UTF-8): Wtyczka jogger dla ekg2
142 Group: Applications/Communications
143 Requires: %{name} = %{epoch}:%{version}-%{release}
145 %description plugin-jogger
146 Jogger plugin for ekg2.
148 %description plugin-jogger -l pl.UTF-8
149 Wtyczka jogger dla ekg2.
151 %package plugin-logsqlite
152 Summary: SQLite log plugin for ekg2
153 Summary(pl.UTF-8): Wtyczka logowania do SQLite dla ekg2
154 Group: Applications/Communications
155 Requires: %{name} = %{epoch}:%{version}-%{release}
162 %description plugin-logsqlite
163 SQLite log plugin for ekg2.
165 %description plugin-logsqlite -l pl.UTF-8
166 Wtyczka logowania do bazy SQLite dla ekg2.
168 %package plugin-protocol-gg
169 Summary: Gadu-gadu protocol plugin for ekg2
170 Summary(pl.UTF-8): Wtyczka protokołu Gadu-gadu dla ekg2
171 Group: Applications/Communications
172 Requires: %{name} = %{epoch}:%{version}-%{release}
174 %description plugin-protocol-gg
175 Gadu-gadu protocol plugin for ekg2.
177 %description plugin-protocol-gg -l pl.UTF-8
178 Wtyczka protokołu gadu-gadu dla ekg2.
180 %package plugin-protocol-gsm
181 Summary: GSM VoIP protocol plugin for ekg2
182 Summary(pl.UTF-8): Wtyczka protokołu GSM VoIP dla ekg2
183 Group: Applications/Communications
184 Requires: %{name} = %{epoch}:%{version}-%{release}
186 %description plugin-protocol-gsm
187 GSM VoIP protocol plugin for ekg2.
189 %description plugin-protocol-gsm -l pl.UTF-8
190 Wtyczka protokołu GSM VoIP dla ekg2.
192 %package plugin-protocol-icq
193 Summary: ICQ protocol plugin for ekg2
194 Summary(pl.UTF-8): Wtyczka protokołu ICQ dla ekg2
195 Group: Applications/Communications
196 Requires: %{name} = %{epoch}:%{version}-%{release}
198 %description plugin-protocol-icq
199 ICQ protocol plugin for ekg2.
201 %description plugin-protocol-icq -l pl.UTF-8
202 Wtyczka protokołu ICQ dla ekg2.
204 %package plugin-protocol-irc
205 Summary: IRC protocol plugin for ekg2
206 Summary(pl.UTF-8): Wtyczka protokołu IRC dla ekg2
207 Group: Applications/Communications
208 Requires: %{name} = %{epoch}:%{version}-%{release}
210 %description plugin-protocol-irc
211 IRC protocol plugin for ekg2.
213 %description plugin-protocol-irc -l pl.UTF-8
214 Wtyczka protokołu IRC dla ekg2.
216 %package plugin-protocol-jabber
217 Summary: Jabber and Tlen protocols plugin for ekg2
218 Summary(pl.UTF-8): Wtyczka protokołów Jabber i Tlen dla ekg2
219 Group: Applications/Communications
220 Requires: %{name} = %{epoch}:%{version}-%{release}
222 %description plugin-protocol-jabber
223 Jabber and Tlen protocols plugin for ekg2.
225 %description plugin-protocol-jabber -l pl.UTF-8
226 Wtyczka protokołów Jabber i Tlen dla ekg2.
228 %package plugin-protocol-polchat
229 Summary: Polchat protocol plugin for ekg2
230 Summary(pl.UTF-8): Wtyczka protokołu polchat dla ekg2
231 Group: Applications/Communications
232 Requires: %{name} = %{epoch}:%{version}-%{release}
234 %description plugin-protocol-polchat
235 Polchat protocol plugin for ekg2.
237 %description plugin-protocol-polchat -l pl.UTF-8
238 Wtyczka protokołu polchat dla ekg2.
240 %package plugin-protocol-rivchat
241 Summary: Rivchat protocol plugin for ekg2
242 Summary(pl.UTF-8): Wtyczka protokołu rivchat dla ekg2
243 Group: Applications/Communications
244 Requires: %{name} = %{epoch}:%{version}-%{release}
246 %description plugin-protocol-rivchat
247 Rivchat protocol plugin for ekg2.
249 %description plugin-protocol-rivchat -l pl.UTF-8
250 Wtyczka protokołu rivchat dla ekg2.
252 %package plugin-readline
253 Summary: readline interface
254 Summary(pl.UTF-8): Interfejs readline
255 Group: Applications/Communications
256 Requires: %{name} = %{epoch}:%{version}-%{release}
258 %description plugin-readline
261 %description plugin-readline -l pl.UTF-8
264 %package plugin-scripting-perl
265 Summary: Perl scripting plugin for ekg2
266 Summary(pl.UTF-8): Wtyczka języka Perl dla ekg2
267 Group: Applications/Communications
268 Requires: %{name} = %{epoch}:%{version}-%{release}
270 %description plugin-scripting-perl
271 Python scripting Perl for ekg2.
273 %description plugin-scripting-perl -l pl.UTF-8
274 Wtyczka skryptów Perla dla ekg2.
276 %package plugin-scripting-python
277 Summary: Python scripting plugin for ekg2
278 Summary(pl.UTF-8): Wtyczka języka Python dla ekg2
279 Group: Applications/Communications
280 Requires: %{name} = %{epoch}:%{version}-%{release}
281 Requires: python-modules
283 %description plugin-scripting-python
284 Python scripting plugin for ekg2.
286 %description plugin-scripting-python -l pl.UTF-8
287 Wtyczka skryptów Pythona dla ekg2.
290 Summary: Encryption plugin for ekg2
291 Summary(pl.UTF-8): Wtyczka szyfrująca dla ekg2
292 Group: Applications/Communications
293 Requires: %{name} = %{epoch}:%{version}-%{release}
295 %description plugin-sim
296 Message encryption plugin for ekg2.
298 %description plugin-sim -l pl.UTF-8
299 Wtyczka szyfrująca wiadomości dla ekg2.
302 Summary: xosd plugin for ekg2
303 Summary(pl.UTF-8): Wtyczka xosd dla ekg2
304 Group: Applications/Communications
305 Requires: %{name} = %{epoch}:%{version}-%{release}
307 %description plugin-xosd
308 xosd plugin for ekg2.
310 %description plugin-xosd -l pl.UTF-8
311 Wtyczka xosd dla ekg2.
315 %setup -q -T -c -n %{name}-%{subver}
318 if [ "$repo" = "%%ekg2repo" ]; then
319 repo="git://github.com/leafnode/ekg2.git"
321 if [ "$branch" = "%%ekg2branch" ]; then
325 git fetch $repo $branch
326 git checkout FETCH_HEAD
328 %setup -q -c -n %{name}-%{subver}
329 %{__mv} ekg2-ekg2-*/* .
336 %if %{with irckeepalive}
342 touch po/Makefile.in.in
343 find -name *.c > po/POTFILES.in
353 # for hostent.h_addr (should be in CPPFLAGS, but it's overridden in plugins/jabber)
354 CFLAGS="%{rpmcflags} -D_GNU_SOURCE"
357 --with%{!?with_aspell:out}-aspell \
358 --with%{!?with_gadugadu:out}-libgadu \
359 %{!?with_gpg:--without-gpg} \
360 --with%{!?with_gtk:out}-gtk \
361 --with%{!?with_gnutls:out}-libgnutls \
362 %if %{with rss} || %{with jabber}
367 --with%{!?with_libgsm:out}-libgsm \
368 %{!?with_perl:--without-perl} \
369 --with%{!?with_python:out}-python \
370 --with%{!?with_readline:out}-readline \
371 --with%{!?with_sqlite:out}-sqlite \
372 --with%{!?with_sqlite3:out}-sqlite3 \
373 --with%{!?with_xosd:out}-xosd \
379 rm -rf $RPM_BUILD_ROOT
380 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts
383 DESTDIR=$RPM_BUILD_ROOT
388 rm -rf $RPM_BUILD_ROOT
390 %files -f %{name}.lang
391 %defattr(644,root,root,755)
392 %doc README.md docs/ekg2book* docs/README docs/TODO docs/*.txt
393 %attr(755,root,root) %{_bindir}/ekg2
394 %dir %{_libdir}/%{name}
395 %dir %{_libdir}/%{name}/plugins
396 %attr(755,root,root) %{_libdir}/%{name}/plugins/autoresponder.so
397 %attr(755,root,root) %{_libdir}/%{name}/plugins/autoresponder.la
398 %{_datadir}/%{name}/plugins/autoresponder
399 %attr(755,root,root) %{_libdir}/%{name}/plugins/logs.so
400 %attr(755,root,root) %{_libdir}/%{name}/plugins/logs.la
401 %attr(755,root,root) %{_libdir}/%{name}/plugins/mail.so
402 %attr(755,root,root) %{_libdir}/%{name}/plugins/mail.la
403 %{_datadir}/%{name}/plugins/mail
404 %attr(755,root,root) %{_libdir}/%{name}/plugins/ncurses.so
405 %attr(755,root,root) %{_libdir}/%{name}/plugins/ncurses.la
406 %attr(755,root,root) %{_libdir}/%{name}/plugins/rc.so
407 %attr(755,root,root) %{_libdir}/%{name}/plugins/rc.la
408 %attr(755,root,root) %{_libdir}/%{name}/plugins/sms.so
409 %attr(755,root,root) %{_libdir}/%{name}/plugins/sms.la
410 %dir %{_datadir}/%{name}
411 %dir %{_datadir}/%{name}/plugins
412 %{_datadir}/%{name}/*.txt
413 %{_datadir}/%{name}/plugins/logs
414 %{_datadir}/%{name}/plugins/ncurses
415 %{_datadir}/%{name}/plugins/sms
416 %{_datadir}/%{name}/plugins/rc
417 %dir %{_datadir}/%{name}/scripts
418 %{_datadir}/%{name}/themes
421 %defattr(644,root,root,755)
422 %attr(755,root,root) %{_libdir}/%{name}/plugins/rss.so
423 %attr(755,root,root) %{_libdir}/%{name}/plugins/rss.la
427 %defattr(644,root,root,755)
428 %attr(755,root,root) %{_libdir}/%{name}/plugins/gpg.so
429 %attr(755,root,root) %{_libdir}/%{name}/plugins/gpg.la
430 %dir %{_datadir}/ekg2/plugins/gpg
431 %{_datadir}/ekg2/plugins/gpg/commands-en.txt
432 %{_datadir}/ekg2/plugins/gpg/commands-pl.txt
437 %defattr(644,root,root,755)
438 %attr(755,root,root) %{_libdir}/%{name}/plugins/gtk.so
439 %attr(755,root,root) %{_libdir}/%{name}/plugins/gtk.la
443 %defattr(644,root,root,755)
444 %attr(755,root,root) %{_libdir}/%{name}/plugins/jogger.so
445 %attr(755,root,root) %{_libdir}/%{name}/plugins/jogger.la
447 %if %{with sqlite} || %{with sqlite3}
448 %files plugin-logsqlite
449 %defattr(644,root,root,755)
450 %attr(755,root,root) %{_libdir}/%{name}/plugins/logsqlite.so
451 %attr(755,root,root) %{_libdir}/%{name}/plugins/logsqlite.la
452 %{_datadir}/%{name}/plugins/logsqlite
455 %files plugin-protocol-gg
456 %defattr(644,root,root,755)
457 %attr(755,root,root) %{_libdir}/%{name}/plugins/gg.so
458 %attr(755,root,root) %{_libdir}/%{name}/plugins/gg.la
459 %{_datadir}/%{name}/plugins/gg
462 %files plugin-protocol-gsm
463 %defattr(644,root,root,755)
464 %attr(755,root,root) %{_libdir}/%{name}/plugins/gsm.so
465 %attr(755,root,root) %{_libdir}/%{name}/plugins/gsm.la
468 %files plugin-protocol-icq
469 %defattr(644,root,root,755)
470 %attr(755,root,root) %{_libdir}/%{name}/plugins/icq.so
471 %attr(755,root,root) %{_libdir}/%{name}/plugins/icq.la
473 %files plugin-protocol-irc
474 %defattr(644,root,root,755)
475 %attr(755,root,root) %{_libdir}/%{name}/plugins/irc.so
476 %attr(755,root,root) %{_libdir}/%{name}/plugins/irc.la
477 %{_datadir}/%{name}/plugins/irc
480 %files plugin-protocol-jabber
481 %defattr(644,root,root,755)
482 %attr(755,root,root) %{_libdir}/%{name}/plugins/jabber.so
483 %attr(755,root,root) %{_libdir}/%{name}/plugins/jabber.la
484 %{_datadir}/%{name}/plugins/jabber
487 %files plugin-protocol-polchat
488 %defattr(644,root,root,755)
489 %attr(755,root,root) %{_libdir}/%{name}/plugins/polchat.so
490 %attr(755,root,root) %{_libdir}/%{name}/plugins/polchat.la
492 %files plugin-protocol-rivchat
493 %defattr(644,root,root,755)
494 %attr(755,root,root) %{_libdir}/%{name}/plugins/rivchat.so
495 %attr(755,root,root) %{_libdir}/%{name}/plugins/rivchat.la
498 %files plugin-readline
499 %defattr(644,root,root,755)
500 %attr(755,root,root) %{_libdir}/%{name}/plugins/readline.so
501 %attr(755,root,root) %{_libdir}/%{name}/plugins/readline.la
502 %{_datadir}/%{name}/plugins/readline
506 %files plugin-scripting-perl
507 %defattr(644,root,root,755)
508 %attr(755,root,root) %{_libdir}/%{name}/plugins/perl.so
509 %attr(755,root,root) %{_libdir}/%{name}/plugins/perl.la
510 %{perl_vendorarch}/Ekg2.pm
511 %dir %{perl_vendorarch}/Ekg2
512 %{perl_vendorarch}/Ekg2/Irc.pm
513 %dir %{perl_vendorarch}/auto/Ekg2
514 %attr(755,root,root) %{perl_vendorarch}/auto/Ekg2/Ekg2.so
515 %dir %{perl_vendorarch}/auto/Ekg2/Irc
516 %attr(755,root,root) %{perl_vendorarch}/auto/Ekg2/Irc/Irc.so
517 %{_datadir}/%{name}/scripts/*.pl
521 %files plugin-scripting-python
522 %defattr(644,root,root,755)
523 %attr(755,root,root) %{_libdir}/%{name}/plugins/python.so
524 %attr(755,root,root) %{_libdir}/%{name}/plugins/python.la
525 %{_datadir}/%{name}/scripts/*.py
526 %dir %{_datadir}/ekg2/plugins/python
527 %{_datadir}/ekg2/plugins/python/commands-en.txt
528 %{_datadir}/ekg2/plugins/python/commands-pl.txt
532 %defattr(644,root,root,755)
533 %attr(755,root,root) %{_libdir}/%{name}/plugins/sim.so
534 %attr(755,root,root) %{_libdir}/%{name}/plugins/sim.la
535 %{_datadir}/%{name}/plugins/sim
539 %defattr(644,root,root,755)
540 %attr(755,root,root) %{_libdir}/%{name}/plugins/xosd.so
541 %attr(755,root,root) %{_libdir}/%{name}/plugins/xosd.la
542 %{_datadir}/%{name}/plugins/xosd