]> git.pld-linux.org Git - packages/ekg2.git/blob - ekg2.spec
perl 5.38.0 rebuild
[packages/ekg2.git] / ekg2.spec
1 #
2 # Conditional build:
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
19
20 %if %{with git}
21 %define         subver git.%(date +%Y%m%d)
22 %else
23 %define         subver 20180902
24 %endif
25
26 %define         rel 3
27
28 %if %{with sqlite}
29 %undefine sqlite3
30 %endif
31
32 Summary:        Multi-protocol instant messaging and chat client
33 Summary(pl.UTF-8):      Wieloprotokołowy komunikator internetowy
34 Name:           ekg2
35 Version:        0.4
36 Release:        0.%{subver}.%{rel}
37 Epoch:          2
38 License:        GPL v2+
39 Group:          Applications/Communications
40 %if %{without git}
41 Source0:        https://github.com/leafnode/ekg2/tarball/master?/%{name}-%{subver}.tar.gz
42 # Source0-md5:  2ce452ebcecc03532dee956c5648d890
43 %endif
44 Patch0:         %{name}-perl-install.patch
45 Patch1:         %{name}-gtk.patch
46 Patch2:         %{name}-bug-63.patch
47 Patch3:         %{name}-keepalive_irc.patch
48 Patch4:         openssl.patch
49 URL:            http://ekg2.org/
50 %{?with_aspell:BuildRequires:   aspell-devel}
51 BuildRequires:  autoconf
52 BuildRequires:  automake
53 %if %{with rss} || %{with jabber}
54 BuildRequires:  expat-devel
55 %endif
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)
82
83 %description
84 Multi-protocol instant messaging and chat client with many plugins.
85
86 %description -l pl.UTF-8
87 Wieloprotokołowy, otwarty komunikator internetowy z wieloma wtyczkami.
88
89 %package devel
90 Summary:        ekg2 header files
91 Summary(pl.UTF-8):      Pliki nagłówkowe ekg2
92 Group:          Development/Libraries
93 Requires:       %{name} = %{epoch}:%{version}-%{release}
94
95 %description devel
96 Header files for ekg2.
97
98 %description devel -l pl.UTF-8
99 Pliki nagłówkowe ekg2.
100
101 %package plugin-rss
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
107
108 %description plugin-rss
109 rss plugin for ekg2.
110
111 %description plugin-rss -l pl.UTF-8
112 Wtyczka rss dla ekg2.
113
114 %package plugin-gpg
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}
119
120 %description plugin-gpg
121 gpg plugin for ekg2.
122
123 %description plugin-gpg -l pl.UTF-8
124 Wtyczka gpg dla ekg2.
125
126 %package plugin-gtk
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
132
133 %description plugin-gtk
134 gtk plugin for ekg2.
135
136 %description plugin-gtk -l pl.UTF-8
137 Wtyczka gtk dla ekg2.
138
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}
144
145 %description plugin-jogger
146 Jogger plugin for ekg2.
147
148 %description plugin-jogger -l pl.UTF-8
149 Wtyczka jogger dla ekg2.
150
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}
156 %if %{with sqlite3}
157 Requires:       sqlite3
158 %else
159 Requires:       sqlite
160 %endif
161
162 %description plugin-logsqlite
163 SQLite log plugin for ekg2.
164
165 %description plugin-logsqlite -l pl.UTF-8
166 Wtyczka logowania do bazy SQLite dla ekg2.
167
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}
173
174 %description plugin-protocol-gg
175 Gadu-gadu protocol plugin for ekg2.
176
177 %description plugin-protocol-gg -l pl.UTF-8
178 Wtyczka protokołu gadu-gadu dla ekg2.
179
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}
185
186 %description plugin-protocol-gsm
187 GSM VoIP protocol plugin for ekg2.
188
189 %description plugin-protocol-gsm -l pl.UTF-8
190 Wtyczka protokołu GSM VoIP dla ekg2.
191
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}
197
198 %description plugin-protocol-icq
199 ICQ protocol plugin for ekg2.
200
201 %description plugin-protocol-icq -l pl.UTF-8
202 Wtyczka protokołu ICQ dla ekg2.
203
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}
209
210 %description plugin-protocol-irc
211 IRC protocol plugin for ekg2.
212
213 %description plugin-protocol-irc -l pl.UTF-8
214 Wtyczka protokołu IRC dla ekg2.
215
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}
221
222 %description plugin-protocol-jabber
223 Jabber and Tlen protocols plugin for ekg2.
224
225 %description plugin-protocol-jabber -l pl.UTF-8
226 Wtyczka protokołów Jabber i Tlen dla ekg2.
227
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}
233
234 %description plugin-protocol-polchat
235 Polchat protocol plugin for ekg2.
236
237 %description plugin-protocol-polchat -l pl.UTF-8
238 Wtyczka protokołu polchat dla ekg2.
239
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}
245
246 %description plugin-protocol-rivchat
247 Rivchat protocol plugin for ekg2.
248
249 %description plugin-protocol-rivchat -l pl.UTF-8
250 Wtyczka protokołu rivchat dla ekg2.
251
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}
257
258 %description plugin-readline
259 readline interface.
260
261 %description plugin-readline -l pl.UTF-8
262 Interfejs readline.
263
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}
269
270 %description plugin-scripting-perl
271 Python scripting Perl for ekg2.
272
273 %description plugin-scripting-perl -l pl.UTF-8
274 Wtyczka skryptów Perla dla ekg2.
275
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
282
283 %description plugin-scripting-python
284 Python scripting plugin for ekg2.
285
286 %description plugin-scripting-python -l pl.UTF-8
287 Wtyczka skryptów Pythona dla ekg2.
288
289 %package plugin-sim
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}
294
295 %description plugin-sim
296 Message encryption plugin for ekg2.
297
298 %description plugin-sim -l pl.UTF-8
299 Wtyczka szyfrująca wiadomości dla ekg2.
300
301 %package plugin-xosd
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}
306
307 %description plugin-xosd
308 xosd plugin for ekg2.
309
310 %description plugin-xosd -l pl.UTF-8
311 Wtyczka xosd dla ekg2.
312
313 %prep
314 %if %{with git}
315 %setup -q -T -c -n %{name}-%{subver}
316 repo="%ekg2repo"
317 branch="%ekg2branch"
318 if [ "$repo" = "%%ekg2repo" ]; then
319 repo="git://github.com/leafnode/ekg2.git"
320 fi
321 if [ "$branch" = "%%ekg2branch" ]; then
322 branch="master"
323 fi
324 git init
325 git fetch $repo $branch
326 git checkout FETCH_HEAD
327 %else
328 %setup -q -c -n %{name}-%{subver}
329 %{__mv} ekg2-ekg2-*/* .
330 %endif
331
332 %patch0 -p1
333 %patch1 -p1
334 %patch2 -p0
335
336 %if %{with irckeepalive}
337 %patch3 -p1
338 %endif
339
340 %patch4 -p1
341
342 touch po/Makefile.in.in
343 find -name *.c > po/POTFILES.in
344
345 %build
346 %{__gettextize}
347 %{__libtoolize}
348 %{__aclocal} -I m4
349 %{__autoheader}
350 %{__automake}
351 %{__autoconf}
352
353 # for hostent.h_addr (should be in CPPFLAGS, but it's overridden in plugins/jabber)
354 CFLAGS="%{rpmcflags} -D_GNU_SOURCE"
355 %configure \
356         --enable-unicode \
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}
363                 --with-expat \
364 %else
365                 --without-expat \
366 %endif
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 \
374         --disable-nntp
375
376 %{__make}
377
378 %install
379 rm -rf $RPM_BUILD_ROOT
380 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts
381
382 %{__make} install \
383         DESTDIR=$RPM_BUILD_ROOT
384
385 %find_lang %{name}
386
387 %clean
388 rm -rf $RPM_BUILD_ROOT
389
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
419
420 %files plugin-rss
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
424
425 %if %{with gpg}
426 %files plugin-gpg
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
433 %endif
434
435 %if %{with gtk}
436 %files plugin-gtk
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
440 %endif
441
442 %files plugin-jogger
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
446
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
453 %endif
454
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
460
461 %if %{with libgsm}
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
466 %endif
467
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
472
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
478
479 %if %{with jabber}
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
485 %endif
486
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
491
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
496
497 %if %{with readline}
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
503 %endif
504
505 %if %{with perl}
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
518 %endif
519
520 %if %{with python}
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
529 %endif
530
531 %files plugin-sim
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
536
537 %if %{with xosd}
538 %files plugin-xosd
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
543 %endif
This page took 0.110118 seconds and 3 git commands to generate.