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
49 %{?with_aspell:BuildRequires: aspell-devel}
50 BuildRequires: autoconf
51 BuildRequires: automake
52 %if %{with rss} || %{with jabber}
53 BuildRequires: expat-devel
55 BuildRequires: gettext-tools >= 0.17-8
56 %{?with_gadugadu:BuildRequires: giflib-devel}
57 %{?with_git:BuildRequires: git-core}
58 %{?with_gnutls:BuildRequires: gnutls-devel >= 1.2.5}
59 %{?with_gpg:BuildRequires: gpgme-devel}
60 %{?with_gtk:BuildRequires: gtk+2-devel >= 2:2.14.1}
61 %{?with_gadugadu:BuildRequires: libgadu-devel}
62 %{?with_libgsm:BuildRequires: libgsm-devel}
63 %{?with_gadugadu:BuildRequires: libjpeg-devel}
64 BuildRequires: libltdl-devel
65 BuildRequires: libtool
66 BuildRequires: ncurses-devel
67 BuildRequires: openssl-devel >= 0.9.7d
68 %{?with_perl:BuildRequires: perl-devel}
69 BuildRequires: pkgconfig
70 %{?with_python:BuildRequires: python-devel}
71 %{?with_readline:BuildRequires: readline-devel}
72 %{?with_python:BuildRequires: rpm-pythonprov}
73 BuildRequires: sed >= 4.0
74 %{?with_sqlite:BuildRequires: sqlite-devel}
75 %{?with_sqlite3:BuildRequires: sqlite3-devel}
76 %{?with_xosd:BuildRequires: xosd-devel}
77 BuildRequires: zlib-devel
78 Obsoletes: ekg2-plugin-ioctld
79 Obsoletes: ekg2-plugin-remote
80 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
83 Multi-protocol instant messaging and chat client with many plugins.
85 %description -l pl.UTF-8
86 Wieloprotokołowy, otwarty komunikator internetowy z wieloma wtyczkami.
89 Summary: ekg2 header files
90 Summary(pl.UTF-8): Pliki nagłówkowe ekg2
91 Group: Development/Libraries
92 Requires: %{name} = %{epoch}:%{version}-%{release}
95 Header files for ekg2.
97 %description devel -l pl.UTF-8
98 Pliki nagłówkowe ekg2.
101 Summary: rss plugin for ekg2
102 Summary(pl.UTF-8): Wtyczka rss dla ekg2
103 Group: Applications/Communications
104 Requires: %{name} = %{epoch}:%{version}-%{release}
105 Obsoletes: ekg2-plugin-feed
107 %description plugin-rss
110 %description plugin-rss -l pl.UTF-8
111 Wtyczka rss dla ekg2.
114 Summary: gpg plugin for ekg2
115 Summary(pl.UTF-8): Wtyczka gpg dla ekg2
116 Group: Applications/Communications
117 Requires: %{name} = %{epoch}:%{version}-%{release}
119 %description plugin-gpg
122 %description plugin-gpg -l pl.UTF-8
123 Wtyczka gpg dla ekg2.
126 Summary: gtk plugin for ekg2
127 Summary(pl.UTF-8): Wtyczka gtk dla ekg2
128 Group: Applications/Communications
129 Requires: %{name} = %{epoch}:%{version}-%{release}
130 Requires: gtk+2 >= 2:2.14.1
132 %description plugin-gtk
135 %description plugin-gtk -l pl.UTF-8
136 Wtyczka gtk dla ekg2.
138 %package plugin-jogger
139 Summary: Jogger plugin for ekg2
140 Summary(pl.UTF-8): Wtyczka jogger dla ekg2
141 Group: Applications/Communications
142 Requires: %{name} = %{epoch}:%{version}-%{release}
144 %description plugin-jogger
145 Jogger plugin for ekg2.
147 %description plugin-jogger -l pl.UTF-8
148 Wtyczka jogger dla ekg2.
150 %package plugin-logsqlite
151 Summary: SQLite log plugin for ekg2
152 Summary(pl.UTF-8): Wtyczka logowania do SQLite dla ekg2
153 Group: Applications/Communications
154 Requires: %{name} = %{epoch}:%{version}-%{release}
161 %description plugin-logsqlite
162 SQLite log plugin for ekg2.
164 %description plugin-logsqlite -l pl.UTF-8
165 Wtyczka logowania do bazy SQLite dla ekg2.
167 %package plugin-protocol-gg
168 Summary: Gadu-gadu protocol plugin for ekg2
169 Summary(pl.UTF-8): Wtyczka protokołu Gadu-gadu dla ekg2
170 Group: Applications/Communications
171 Requires: %{name} = %{epoch}:%{version}-%{release}
173 %description plugin-protocol-gg
174 Gadu-gadu protocol plugin for ekg2.
176 %description plugin-protocol-gg -l pl.UTF-8
177 Wtyczka protokołu gadu-gadu dla ekg2.
179 %package plugin-protocol-gsm
180 Summary: GSM VoIP protocol plugin for ekg2
181 Summary(pl.UTF-8): Wtyczka protokołu GSM VoIP dla ekg2
182 Group: Applications/Communications
183 Requires: %{name} = %{epoch}:%{version}-%{release}
185 %description plugin-protocol-gsm
186 GSM VoIP protocol plugin for ekg2.
188 %description plugin-protocol-gsm -l pl.UTF-8
189 Wtyczka protokołu GSM VoIP dla ekg2.
191 %package plugin-protocol-icq
192 Summary: ICQ protocol plugin for ekg2
193 Summary(pl.UTF-8): Wtyczka protokołu ICQ dla ekg2
194 Group: Applications/Communications
195 Requires: %{name} = %{epoch}:%{version}-%{release}
197 %description plugin-protocol-icq
198 ICQ protocol plugin for ekg2.
200 %description plugin-protocol-icq -l pl.UTF-8
201 Wtyczka protokołu ICQ dla ekg2.
203 %package plugin-protocol-irc
204 Summary: IRC protocol plugin for ekg2
205 Summary(pl.UTF-8): Wtyczka protokołu IRC dla ekg2
206 Group: Applications/Communications
207 Requires: %{name} = %{epoch}:%{version}-%{release}
209 %description plugin-protocol-irc
210 IRC protocol plugin for ekg2.
212 %description plugin-protocol-irc -l pl.UTF-8
213 Wtyczka protokołu IRC dla ekg2.
215 %package plugin-protocol-jabber
216 Summary: Jabber and Tlen protocols plugin for ekg2
217 Summary(pl.UTF-8): Wtyczka protokołów Jabber i Tlen dla ekg2
218 Group: Applications/Communications
219 Requires: %{name} = %{epoch}:%{version}-%{release}
221 %description plugin-protocol-jabber
222 Jabber and Tlen protocols plugin for ekg2.
224 %description plugin-protocol-jabber -l pl.UTF-8
225 Wtyczka protokołów Jabber i Tlen dla ekg2.
227 %package plugin-protocol-polchat
228 Summary: Polchat protocol plugin for ekg2
229 Summary(pl.UTF-8): Wtyczka protokołu polchat dla ekg2
230 Group: Applications/Communications
231 Requires: %{name} = %{epoch}:%{version}-%{release}
233 %description plugin-protocol-polchat
234 Polchat protocol plugin for ekg2.
236 %description plugin-protocol-polchat -l pl.UTF-8
237 Wtyczka protokołu polchat dla ekg2.
239 %package plugin-protocol-rivchat
240 Summary: Rivchat protocol plugin for ekg2
241 Summary(pl.UTF-8): Wtyczka protokołu rivchat dla ekg2
242 Group: Applications/Communications
243 Requires: %{name} = %{epoch}:%{version}-%{release}
245 %description plugin-protocol-rivchat
246 Rivchat protocol plugin for ekg2.
248 %description plugin-protocol-rivchat -l pl.UTF-8
249 Wtyczka protokołu rivchat dla ekg2.
251 %package plugin-readline
252 Summary: readline interface
253 Summary(pl.UTF-8): Interfejs readline
254 Group: Applications/Communications
255 Requires: %{name} = %{epoch}:%{version}-%{release}
257 %description plugin-readline
260 %description plugin-readline -l pl.UTF-8
263 %package plugin-scripting-perl
264 Summary: Perl scripting plugin for ekg2
265 Summary(pl.UTF-8): Wtyczka języka Perl dla ekg2
266 Group: Applications/Communications
267 Requires: %{name} = %{epoch}:%{version}-%{release}
269 %description plugin-scripting-perl
270 Python scripting Perl for ekg2.
272 %description plugin-scripting-perl -l pl.UTF-8
273 Wtyczka skryptów Perla dla ekg2.
275 %package plugin-scripting-python
276 Summary: Python scripting plugin for ekg2
277 Summary(pl.UTF-8): Wtyczka języka Python dla ekg2
278 Group: Applications/Communications
279 Requires: %{name} = %{epoch}:%{version}-%{release}
280 Requires: python-modules
282 %description plugin-scripting-python
283 Python scripting plugin for ekg2.
285 %description plugin-scripting-python -l pl.UTF-8
286 Wtyczka skryptów Pythona dla ekg2.
289 Summary: Encryption plugin for ekg2
290 Summary(pl.UTF-8): Wtyczka szyfrująca dla ekg2
291 Group: Applications/Communications
292 Requires: %{name} = %{epoch}:%{version}-%{release}
294 %description plugin-sim
295 Message encryption plugin for ekg2.
297 %description plugin-sim -l pl.UTF-8
298 Wtyczka szyfrująca wiadomości dla ekg2.
301 Summary: xosd plugin for ekg2
302 Summary(pl.UTF-8): Wtyczka xosd dla ekg2
303 Group: Applications/Communications
304 Requires: %{name} = %{epoch}:%{version}-%{release}
306 %description plugin-xosd
307 xosd plugin for ekg2.
309 %description plugin-xosd -l pl.UTF-8
310 Wtyczka xosd dla ekg2.
314 %setup -q -T -c -n %{name}-%{subver}
317 if [ "$repo" = "%%ekg2repo" ]; then
318 repo="git://github.com/leafnode/ekg2.git"
320 if [ "$branch" = "%%ekg2branch" ]; then
324 git fetch $repo $branch
325 git checkout FETCH_HEAD
327 %setup -q -c -n %{name}-%{subver}
328 %{__mv} ekg2-ekg2-*/* .
335 %if %{with irckeepalive}
340 touch po/Makefile.in.in
341 find -name *.c > po/POTFILES.in
351 # for hostent.h_addr (should be in CPPFLAGS, but it's overridden in plugins/jabber)
352 CFLAGS="%{rpmcflags} -D_GNU_SOURCE"
355 --with%{!?with_aspell:out}-aspell \
356 --with%{!?with_gadugadu:out}-libgadu \
357 %{!?with_gpg:--without-gpg} \
358 --with%{!?with_gtk:out}-gtk \
359 --with%{!?with_gnutls:out}-libgnutls \
360 %if %{with rss} || %{with jabber}
365 --with%{!?with_libgsm:out}-libgsm \
366 %{!?with_perl:--without-perl} \
367 --with%{!?with_python:out}-python \
368 --with%{!?with_readline:out}-readline \
369 --with%{!?with_sqlite:out}-sqlite \
370 --with%{!?with_sqlite3:out}-sqlite3 \
371 --with%{!?with_xosd:out}-xosd \
377 rm -rf $RPM_BUILD_ROOT
378 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts
381 DESTDIR=$RPM_BUILD_ROOT
386 rm -rf $RPM_BUILD_ROOT
388 %files -f %{name}.lang
389 %defattr(644,root,root,755)
390 %doc README.md docs/ekg2book* docs/README docs/TODO docs/*.txt
391 %attr(755,root,root) %{_bindir}/ekg2
392 %dir %{_libdir}/%{name}
393 %dir %{_libdir}/%{name}/plugins
394 %attr(755,root,root) %{_libdir}/%{name}/plugins/autoresponder.so
395 %attr(755,root,root) %{_libdir}/%{name}/plugins/autoresponder.la
396 %{_datadir}/%{name}/plugins/autoresponder
397 %attr(755,root,root) %{_libdir}/%{name}/plugins/logs.so
398 %attr(755,root,root) %{_libdir}/%{name}/plugins/logs.la
399 %attr(755,root,root) %{_libdir}/%{name}/plugins/mail.so
400 %attr(755,root,root) %{_libdir}/%{name}/plugins/mail.la
401 %{_datadir}/%{name}/plugins/mail
402 %attr(755,root,root) %{_libdir}/%{name}/plugins/ncurses.so
403 %attr(755,root,root) %{_libdir}/%{name}/plugins/ncurses.la
404 %attr(755,root,root) %{_libdir}/%{name}/plugins/rc.so
405 %attr(755,root,root) %{_libdir}/%{name}/plugins/rc.la
406 %attr(755,root,root) %{_libdir}/%{name}/plugins/sms.so
407 %attr(755,root,root) %{_libdir}/%{name}/plugins/sms.la
408 %dir %{_datadir}/%{name}
409 %dir %{_datadir}/%{name}/plugins
410 %{_datadir}/%{name}/*.txt
411 %{_datadir}/%{name}/plugins/logs
412 %{_datadir}/%{name}/plugins/ncurses
413 %{_datadir}/%{name}/plugins/sms
414 %{_datadir}/%{name}/plugins/rc
415 %dir %{_datadir}/%{name}/scripts
416 %{_datadir}/%{name}/themes
419 %defattr(644,root,root,755)
420 %attr(755,root,root) %{_libdir}/%{name}/plugins/rss.so
421 %attr(755,root,root) %{_libdir}/%{name}/plugins/rss.la
425 %defattr(644,root,root,755)
426 %attr(755,root,root) %{_libdir}/%{name}/plugins/gpg.so
427 %attr(755,root,root) %{_libdir}/%{name}/plugins/gpg.la
428 %dir %{_datadir}/ekg2/plugins/gpg
429 %{_datadir}/ekg2/plugins/gpg/commands-en.txt
430 %{_datadir}/ekg2/plugins/gpg/commands-pl.txt
435 %defattr(644,root,root,755)
436 %attr(755,root,root) %{_libdir}/%{name}/plugins/gtk.so
437 %attr(755,root,root) %{_libdir}/%{name}/plugins/gtk.la
441 %defattr(644,root,root,755)
442 %attr(755,root,root) %{_libdir}/%{name}/plugins/jogger.so
443 %attr(755,root,root) %{_libdir}/%{name}/plugins/jogger.la
445 %if %{with sqlite} || %{with sqlite3}
446 %files plugin-logsqlite
447 %defattr(644,root,root,755)
448 %attr(755,root,root) %{_libdir}/%{name}/plugins/logsqlite.so
449 %attr(755,root,root) %{_libdir}/%{name}/plugins/logsqlite.la
450 %{_datadir}/%{name}/plugins/logsqlite
453 %files plugin-protocol-gg
454 %defattr(644,root,root,755)
455 %attr(755,root,root) %{_libdir}/%{name}/plugins/gg.so
456 %attr(755,root,root) %{_libdir}/%{name}/plugins/gg.la
457 %{_datadir}/%{name}/plugins/gg
460 %files plugin-protocol-gsm
461 %defattr(644,root,root,755)
462 %attr(755,root,root) %{_libdir}/%{name}/plugins/gsm.so
463 %attr(755,root,root) %{_libdir}/%{name}/plugins/gsm.la
466 %files plugin-protocol-icq
467 %defattr(644,root,root,755)
468 %attr(755,root,root) %{_libdir}/%{name}/plugins/icq.so
469 %attr(755,root,root) %{_libdir}/%{name}/plugins/icq.la
471 %files plugin-protocol-irc
472 %defattr(644,root,root,755)
473 %attr(755,root,root) %{_libdir}/%{name}/plugins/irc.so
474 %attr(755,root,root) %{_libdir}/%{name}/plugins/irc.la
475 %{_datadir}/%{name}/plugins/irc
478 %files plugin-protocol-jabber
479 %defattr(644,root,root,755)
480 %attr(755,root,root) %{_libdir}/%{name}/plugins/jabber.so
481 %attr(755,root,root) %{_libdir}/%{name}/plugins/jabber.la
482 %{_datadir}/%{name}/plugins/jabber
485 %files plugin-protocol-polchat
486 %defattr(644,root,root,755)
487 %attr(755,root,root) %{_libdir}/%{name}/plugins/polchat.so
488 %attr(755,root,root) %{_libdir}/%{name}/plugins/polchat.la
490 %files plugin-protocol-rivchat
491 %defattr(644,root,root,755)
492 %attr(755,root,root) %{_libdir}/%{name}/plugins/rivchat.so
493 %attr(755,root,root) %{_libdir}/%{name}/plugins/rivchat.la
496 %files plugin-readline
497 %defattr(644,root,root,755)
498 %attr(755,root,root) %{_libdir}/%{name}/plugins/readline.so
499 %attr(755,root,root) %{_libdir}/%{name}/plugins/readline.la
500 %{_datadir}/%{name}/plugins/readline
504 %files plugin-scripting-perl
505 %defattr(644,root,root,755)
506 %attr(755,root,root) %{_libdir}/%{name}/plugins/perl.so
507 %attr(755,root,root) %{_libdir}/%{name}/plugins/perl.la
508 %{perl_vendorarch}/Ekg2.pm
509 %dir %{perl_vendorarch}/Ekg2
510 %{perl_vendorarch}/Ekg2/Irc.pm
511 %dir %{perl_vendorarch}/auto/Ekg2
512 %attr(755,root,root) %{perl_vendorarch}/auto/Ekg2/Ekg2.so
513 %dir %{perl_vendorarch}/auto/Ekg2/Irc
514 %attr(755,root,root) %{perl_vendorarch}/auto/Ekg2/Irc/Irc.so
515 %{_datadir}/%{name}/scripts/*.pl
519 %files plugin-scripting-python
520 %defattr(644,root,root,755)
521 %attr(755,root,root) %{_libdir}/%{name}/plugins/python.so
522 %attr(755,root,root) %{_libdir}/%{name}/plugins/python.la
523 %{_datadir}/%{name}/scripts/*.py
524 %dir %{_datadir}/ekg2/plugins/python
525 %{_datadir}/ekg2/plugins/python/commands-en.txt
526 %{_datadir}/ekg2/plugins/python/commands-pl.txt
530 %defattr(644,root,root,755)
531 %attr(755,root,root) %{_libdir}/%{name}/plugins/sim.so
532 %attr(755,root,root) %{_libdir}/%{name}/plugins/sim.la
533 %{_datadir}/%{name}/plugins/sim
537 %defattr(644,root,root,755)
538 %attr(755,root,root) %{_libdir}/%{name}/plugins/xosd.so
539 %attr(755,root,root) %{_libdir}/%{name}/plugins/xosd.la
540 %{_datadir}/%{name}/plugins/xosd