]> git.pld-linux.org Git - packages/ekg2.git/blob - ekg2.spec
- --with git: allow to specify branch (as %ekg2branch macro)
[packages/ekg2.git] / ekg2.spec
1 # TODO:
2 # - warning: Installed (but unpackaged) file(s) found:
3 #   /usr/lib/perl5/5.10.0/i686-pld-linux-thread-multi/perllocal.pod
4 #   /usr/lib/perl5/vendor_perl/5.10.0/i686-pld-linux-thread-multi/auto/Ekg2/.packlist
5 #   /usr/lib/perl5/vendor_perl/5.10.0/i686-pld-linux-thread-multi/auto/Ekg2/Irc/.packlist
6 #
7 # Conditional build:
8 %bcond_without  aspell                  # build without spell-checking support with aspell
9 %bcond_without  feed                    # don't build feed plugin
10 %bcond_without  gadugadu                # don't build gg plugin
11 %bcond_without  gpg                     # don't build gpg plugin
12 %bcond_without  gtk                     # don't build gtk plugin
13 %bcond_without  jabber                  # don't build jabber plugin
14 %bcond_without  gnutls                  # build jabber plugin without libgnutls
15 %bcond_without  libgsm                  # don't build libgsm plugin
16 %bcond_without  perl                    # don't build Perl plugin
17 %bcond_without  python                  # don't build Python plugin
18 %bcond_without  readline                # don't build readline interface
19 %bcond_with     sqlite                  # build logsqlite plugin based on sqlite (conflicts with sqlite3)
20 %bcond_without  sqlite3                 # don't build logsqlite plugin based on sqlite3
21 %bcond_without  xosd                    # don't build xosd plugin
22 %bcond_with     git                     # checkout svn trunk instead of Source0 - requested by ekg2 developer
23
24 %if %{with git}
25 %define         subver git.%(date +%Y%m%d)
26 %else
27 %define         subver 20101210
28 %endif
29
30 %define         rel 3
31
32 %if %{with sqlite}
33 %undefine sqlite3
34 %endif
35
36 Summary:        Multi-protocol instant messaging and chat client
37 Summary(pl.UTF-8):      Wieloprotokołowy komunikator internetowy
38 Name:           ekg2
39 Version:        0.4
40 Release:        0.%{subver}.%{rel}
41 Epoch:          1
42 License:        GPL v2+
43 Group:          Applications/Communications
44 %if %{without git}
45 Source0:        https://github.com/leafnode/ekg2/tarball/master#/%{name}-%{subver}.tar.bz2
46 # Source0-md5:  240c7203a2b8c15557710dcbc8fbf8c6
47 %endif
48 Patch0:         %{name}-perl-install.patch
49 Patch1:         %{name}-gtk.patch
50 Patch2:         %{name}-bug-63.patch
51 URL:            http://ekg2.org/
52 %{?with_aspell:BuildRequires:   aspell-devel}
53 BuildRequires:  autoconf
54 BuildRequires:  automake
55 %if %{with feed} || %{with jabber}
56 BuildRequires:  expat-devel
57 %endif
58 BuildRequires:  gettext-devel >= 0.17-8
59 %{?with_gadugadu:BuildRequires: giflib-devel}
60 %{?with_git:BuildRequires:      git-core}
61 %{?with_gnutls:BuildRequires:   gnutls-devel >= 1.2.5}
62 %{?with_gpg:BuildRequires:      gpgme-devel}
63 BuildRequires:  gpm-devel
64 %{?with_gtk:BuildRequires:      gtk+2-devel >= 2:2.14.1}
65 %{?with_gadugadu:BuildRequires: libgadu-devel}
66 %{?with_libgsm:BuildRequires:   libgsm-devel}
67 %{?with_gadugadu:BuildRequires: libjpeg-devel}
68 BuildRequires:  libltdl-devel
69 BuildRequires:  libtool
70 BuildRequires:  ncurses-devel
71 BuildRequires:  openssl-devel >= 0.9.7d
72 %{?with_perl:BuildRequires:     perl-devel}
73 BuildRequires:  pkgconfig
74 %{?with_python:BuildRequires:   python-devel}
75 %{?with_readline:BuildRequires: readline-devel}
76 %{?with_python:BuildRequires:   rpm-pythonprov}
77 BuildRequires:  sed >= 4.0
78 %{?with_sqlite:BuildRequires:   sqlite-devel}
79 %{?with_sqlite3:BuildRequires:  sqlite3-devel}
80 %{?with_xosd:BuildRequires:     xosd-devel}
81 BuildRequires:  zlib-devel
82 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
83
84 %description
85 Multi-protocol instant messaging and chat client with many plugins.
86
87 %description -l pl.UTF-8
88 Wieloprotokołowy, otwarty komunikator internetowy z wieloma wtyczkami.
89
90 %package devel
91 Summary:        ekg2 header files
92 Summary(pl.UTF-8):      Pliki nagłówkowe ekg2
93 Group:          Development/Libraries
94 Requires:       %{name} = %{epoch}:%{version}-%{release}
95
96 %description devel
97 Header files for ekg2.
98
99 %description devel -l pl.UTF-8
100 Pliki nagłówkowe ekg2.
101
102 %package plugin-feed
103 Summary:        feed plugin for ekg2
104 Summary(pl.UTF-8):      Wtyczka feed dla ekg2
105 Group:          Applications/Communications
106 Requires:       %{name} = %{epoch}:%{version}-%{release}
107
108 %description plugin-feed
109 feed plugin for ekg2.
110
111 %description plugin-feed -l pl.UTF-8
112 Wtyczka feed 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-ioctld
140 Summary:        Ioctld plugin for ekg2
141 Summary(pl.UTF-8):      Wtyczka ioctld dla ekg2
142 Group:          Applications/Communications
143 Requires:       %{name} = %{epoch}:%{version}-%{release}
144
145 %description plugin-ioctld
146 Ioctld plugin for ekg2 (contains suid root binary!).
147
148 %description plugin-ioctld -l pl.UTF-8
149 Wtyczka ioctld dla ekg2 (zawiera program z ustawionym suid root!).
150
151 %package plugin-jogger
152 Summary:        Jogger plugin for ekg2
153 Summary(pl.UTF-8):      Wtyczka jogger dla ekg2
154 Group:          Applications/Communications
155 Requires:       %{name} = %{epoch}:%{version}-%{release}
156
157 %description plugin-jogger
158 Jogger plugin for ekg2.
159
160 %description plugin-jogger -l pl.UTF-8
161 Wtyczka jogger dla ekg2.
162
163 %package plugin-logsqlite
164 Summary:        SQLite log plugin for ekg2
165 Summary(pl.UTF-8):      Wtyczka logowania do SQLite dla ekg2
166 Group:          Applications/Communications
167 Requires:       %{name} = %{epoch}:%{version}-%{release}
168 %if %{with sqlite3}
169 Requires:       sqlite3
170 %else
171 Requires:       sqlite
172 %endif
173
174 %description plugin-logsqlite
175 SQLite log plugin for ekg2.
176
177 %description plugin-logsqlite -l pl.UTF-8
178 Wtyczka logowania do bazy SQLite dla ekg2.
179
180 %package plugin-protocol-gg
181 Summary:        Gadu-gadu protocol plugin for ekg2
182 Summary(pl.UTF-8):      Wtyczka protokołu Gadu-gadu dla ekg2
183 Group:          Applications/Communications
184 Requires:       %{name} = %{epoch}:%{version}-%{release}
185
186 %description plugin-protocol-gg
187 Gadu-gadu protocol plugin for ekg2.
188
189 %description plugin-protocol-gg -l pl.UTF-8
190 Wtyczka protokołu gadu-gadu dla ekg2.
191
192 %package plugin-protocol-gsm
193 Summary:        GSM VoIP protocol plugin for ekg2
194 Summary(pl.UTF-8):      Wtyczka protokołu GSM VoIP dla ekg2
195 Group:          Applications/Communications
196 Requires:       %{name} = %{epoch}:%{version}-%{release}
197
198 %description plugin-protocol-gsm
199 GSM VoIP protocol plugin for ekg2.
200
201 %description plugin-protocol-gsm -l pl.UTF-8
202 Wtyczka protokołu GSM VoIP dla ekg2.
203
204 %package plugin-protocol-icq
205 Summary:        ICQ protocol plugin for ekg2
206 Summary(pl.UTF-8):      Wtyczka protokołu ICQ dla ekg2
207 Group:          Applications/Communications
208 Requires:       %{name} = %{epoch}:%{version}-%{release}
209
210 %description plugin-protocol-icq
211 ICQ protocol plugin for ekg2.
212
213 %description plugin-protocol-icq -l pl.UTF-8
214 Wtyczka protokołu ICQ dla ekg2.
215
216 %package plugin-protocol-irc
217 Summary:        IRC protocol plugin for ekg2
218 Summary(pl.UTF-8):      Wtyczka protokołu IRC dla ekg2
219 Group:          Applications/Communications
220 Requires:       %{name} = %{epoch}:%{version}-%{release}
221
222 %description plugin-protocol-irc
223 IRC protocol plugin for ekg2.
224
225 %description plugin-protocol-irc -l pl.UTF-8
226 Wtyczka protokołu IRC dla ekg2.
227
228 %package plugin-protocol-jabber
229 Summary:        Jabber and Tlen protocols plugin for ekg2
230 Summary(pl.UTF-8):      Wtyczka protokołów Jabber i Tlen dla ekg2
231 Group:          Applications/Communications
232 Requires:       %{name} = %{epoch}:%{version}-%{release}
233
234 %description plugin-protocol-jabber
235 Jabber and Tlen protocols plugin for ekg2.
236
237 %description plugin-protocol-jabber -l pl.UTF-8
238 Wtyczka protokołów Jabber i Tlen dla ekg2.
239
240 %package plugin-protocol-polchat
241 Summary:        Polchat protocol plugin for ekg2
242 Summary(pl.UTF-8):      Wtyczka protokołu polchat dla ekg2
243 Group:          Applications/Communications
244 Requires:       %{name} = %{epoch}:%{version}-%{release}
245
246 %description plugin-protocol-polchat
247 Polchat protocol plugin for ekg2.
248
249 %description plugin-protocol-polchat -l pl.UTF-8
250 Wtyczka protokołu polchat dla ekg2.
251
252 %package plugin-protocol-rivchat
253 Summary:        Rivchat protocol plugin for ekg2
254 Summary(pl.UTF-8):      Wtyczka protokołu rivchat dla ekg2
255 Group:          Applications/Communications
256 Requires:       %{name} = %{epoch}:%{version}-%{release}
257
258 %description plugin-protocol-rivchat
259 Rivchat protocol plugin for ekg2.
260
261 %description plugin-protocol-rivchat -l pl.UTF-8
262 Wtyczka protokołu rivchat dla ekg2.
263
264 %package plugin-readline
265 Summary:        readline interface
266 Summary(pl.UTF-8):      Interfejs readline
267 Group:          Applications/Communications
268 Requires:       %{name} = %{epoch}:%{version}-%{release}
269
270 %description plugin-readline
271 readline interface.
272
273 %description plugin-readline -l pl.UTF-8
274 Interfejs readline.
275
276 %package plugin-remote
277 Summary:        Remote contol interface
278 Summary(pl.UTF-8):      Zdalne sterowanie ekg2
279 Group:          Applications/Communications
280 Requires:       %{name} = %{epoch}:%{version}-%{release}
281
282 %description plugin-remote
283 Remote control interface.
284
285 %description plugin-remote -l pl.UTF-8
286 Zdalne sterowanie ekg2.
287
288 %package plugin-scripting-perl
289 Summary:        Perl scripting plugin for ekg2
290 Summary(pl.UTF-8):      Wtyczka języka Perl dla ekg2
291 Group:          Applications/Communications
292 Requires:       %{name} = %{epoch}:%{version}-%{release}
293
294 %description plugin-scripting-perl
295 Python scripting Perl for ekg2.
296
297 %description plugin-scripting-perl -l pl.UTF-8
298 Wtyczka skryptów Perla dla ekg2.
299
300 %package plugin-scripting-python
301 Summary:        Python scripting plugin for ekg2
302 Summary(pl.UTF-8):      Wtyczka języka Python dla ekg2
303 Group:          Applications/Communications
304 Requires:       %{name} = %{epoch}:%{version}-%{release}
305 Requires:       python-modules
306
307 %description plugin-scripting-python
308 Python scripting plugin for ekg2.
309
310 %description plugin-scripting-python -l pl.UTF-8
311 Wtyczka skryptów Pythona dla ekg2.
312
313 %package plugin-sim
314 Summary:        Encryption plugin for ekg2
315 Summary(pl.UTF-8):      Wtyczka szyfrująca dla ekg2
316 Group:          Applications/Communications
317 Requires:       %{name} = %{epoch}:%{version}-%{release}
318
319 %description plugin-sim
320 Message encryption plugin for ekg2.
321
322 %description plugin-sim -l pl.UTF-8
323 Wtyczka szyfrująca wiadomości dla ekg2.
324
325 %package plugin-xosd
326 Summary:        xosd plugin for ekg2
327 Summary(pl.UTF-8):      Wtyczka xosd dla ekg2
328 Group:          Applications/Communications
329 Requires:       %{name} = %{epoch}:%{version}-%{release}
330
331 %description plugin-xosd
332 xosd plugin for ekg2.
333
334 %description plugin-xosd -l pl.UTF-8
335 Wtyczka xosd dla ekg2.
336
337 %prep
338 %if %{with git}
339 %setup -q -T -c -n %{name}-%{subver}
340 repo="%ekg2repo"
341 branch="%ekg2branch"
342 if [ "$repo" = "%%ekg2repo" ]; then
343 repo="git://github.com/leafnode/ekg2.git"
344 fi
345 if [ "$branch" = "%%ekg2branch" ]; then
346 repo="master"
347 fi
348 git init
349 git fetch $repo $branch
350 git checkout FETCH_HEAD
351 %else
352 %setup -q -c -n %{name}-%{subver}
353 mv leafnode-ekg2-*/* .
354 %endif
355
356 %patch0 -p1
357 %patch1 -p1
358 %patch2 -p0
359
360 sed -i -e '\#/opt/sqlite/lib#s#"$# %{_libdir}"#' m4/sqlite.m4
361
362 touch po/Makefile.in.in
363 find -name *.c > po/POTFILES.in
364
365 %build
366 %{__gettextize}
367 %{__libtoolize}
368 %{__aclocal} -I m4
369 %{__autoheader}
370 %{__automake}
371 %{__autoconf}
372
373 # for hostent.h_addr (should be in CPPFLAGS, but it's overridden in plugins/jabber)
374 CFLAGS="%{rpmcflags} -D_GNU_SOURCE"
375 %configure \
376         --enable-unicode \
377         --with%{!?with_aspell:out}-aspell \
378         --with%{!?with_gadugadu:out}-libgadu \
379         %{!?with_gpg:--without-gpg} \
380         --with%{!?with_gtk:out}-gtk \
381         --with%{!?with_gnutls:out}-libgnutls \
382 %if %{with feed} || %{with jabber}
383                 --with-expat \
384 %else
385                 --without-expat \
386 %endif
387         --with%{!?with_libgsm:out}-libgsm \
388         %{!?with_perl:--without-perl} \
389         --with%{!?with_python:out}-python \
390         --with%{!?with_readline:out}-readline \
391         --with%{!?with_sqlite:out}-sqlite \
392         --with%{!?with_sqlite3:out}-sqlite3 \
393         --with%{!?with_xosd:out}-xosd
394
395 %{__make}
396
397 %install
398 rm -rf $RPM_BUILD_ROOT
399 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts
400
401 %{__make} install \
402         DESTDIR=$RPM_BUILD_ROOT
403
404 rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/*.la
405
406 %find_lang %{name}
407
408 %clean
409 rm -rf $RPM_BUILD_ROOT
410
411 %files -f %{name}.lang
412 %defattr(644,root,root,755)
413 %doc NEWS* README.md docs/ekg2book* docs/README docs/TODO docs/*.txt
414 %attr(755,root,root) %{_bindir}/ekg2
415 %dir %{_libdir}/%{name}
416 %dir %{_libdir}/%{name}/plugins
417 %attr(755,root,root) %{_libdir}/%{name}/plugins/autoresponder.so
418 %{_datadir}/%{name}/plugins/autoresponder
419 %attr(755,root,root) %{_libdir}/%{name}/plugins/httprc_xajax.so
420 %attr(755,root,root) %{_libdir}/%{name}/plugins/logs.so
421 %attr(755,root,root) %{_libdir}/%{name}/plugins/mail.so
422 %{_datadir}/%{name}/plugins/mail
423 %attr(755,root,root) %{_libdir}/%{name}/plugins/ncurses.so
424 %attr(755,root,root) %{_libdir}/%{name}/plugins/pcm.so
425 %attr(755,root,root) %{_libdir}/%{name}/plugins/rc.so
426 %attr(755,root,root) %{_libdir}/%{name}/plugins/rot13.so
427 %attr(755,root,root) %{_libdir}/%{name}/plugins/sms.so
428 %attr(755,root,root) %{_libdir}/%{name}/plugins/xmsg.so
429 %{_datadir}/%{name}/plugins/xmsg
430 %dir %{_datadir}/%{name}
431 %dir %{_datadir}/%{name}/plugins
432 %{_datadir}/%{name}/*.txt
433 %{_datadir}/%{name}/plugins/httprc_xajax
434 %{_datadir}/%{name}/plugins/logs
435 %{_datadir}/%{name}/plugins/ncurses
436 %{_datadir}/%{name}/plugins/rc
437 %{_datadir}/%{name}/plugins/sms
438 %dir %{_datadir}/%{name}/scripts
439 %{_datadir}/%{name}/themes
440
441 %files plugin-feed
442 %defattr(644,root,root,755)
443 %attr(755,root,root) %{_libdir}/%{name}/plugins/feed.so
444
445 %if %{with gpg}
446 %files plugin-gpg
447 %defattr(644,root,root,755)
448 %attr(755,root,root) %{_libdir}/%{name}/plugins/gpg.so
449 %{_datadir}/ekg2/plugins/gpg/commands-en.txt
450 %{_datadir}/ekg2/plugins/gpg/commands-pl.txt
451 %endif
452
453 %if %{with gtk}
454 %files plugin-gtk
455 %defattr(644,root,root,755)
456 %attr(755,root,root) %{_libdir}/%{name}/plugins/gtk.so
457 %endif
458
459 %files plugin-ioctld
460 %defattr(644,root,root,755)
461 %attr(755,root,root) %{_libdir}/%{name}/plugins/ioctld.so
462 %{_datadir}/%{name}/plugins/ioctld
463 %attr(4755,root,root) %{_libexecdir}/ioctld
464
465 %files plugin-jogger
466 %defattr(644,root,root,755)
467 %attr(755,root,root) %{_libdir}/%{name}/plugins/jogger.so
468
469 %if %{with sqlite} || %{with sqlite3}
470 %files plugin-logsqlite
471 %defattr(644,root,root,755)
472 %attr(755,root,root) %{_libdir}/%{name}/plugins/logsqlite.so
473 %{_datadir}/%{name}/plugins/logsqlite
474 %endif
475
476 %files plugin-protocol-gg
477 %defattr(644,root,root,755)
478 %attr(755,root,root) %{_libdir}/%{name}/plugins/gg.so
479 %{_datadir}/%{name}/plugins/gg
480
481 %if %{with libgsm}
482 %files plugin-protocol-gsm
483 %defattr(644,root,root,755)
484 %attr(755,root,root) %{_libdir}/%{name}/plugins/gsm.so
485 %endif
486
487 %files plugin-protocol-icq
488 %defattr(644,root,root,755)
489 %attr(755,root,root) %{_libdir}/%{name}/plugins/icq.so
490
491 %files plugin-protocol-irc
492 %defattr(644,root,root,755)
493 %attr(755,root,root) %{_libdir}/%{name}/plugins/irc.so
494 %{_datadir}/%{name}/plugins/irc
495
496 %if %{with jabber}
497 %files plugin-protocol-jabber
498 %defattr(644,root,root,755)
499 %attr(755,root,root) %{_libdir}/%{name}/plugins/jabber.so
500 %{_datadir}/%{name}/plugins/jabber
501 %endif
502
503 %files plugin-protocol-polchat
504 %defattr(644,root,root,755)
505 %attr(755,root,root) %{_libdir}/%{name}/plugins/polchat.so
506
507 %files plugin-protocol-rivchat
508 %defattr(644,root,root,755)
509 %attr(755,root,root) %{_libdir}/%{name}/plugins/rivchat.so
510
511 %if %{with readline}
512 %files plugin-readline
513 %defattr(644,root,root,755)
514 %attr(755,root,root) %{_libdir}/%{name}/plugins/readline.so
515 %{_datadir}/%{name}/plugins/readline
516 %endif
517
518 %if %{with readline}
519 %files plugin-remote
520 %defattr(644,root,root,755)
521 %attr(755,root,root) %{_libdir}/%{name}/plugins/remote.so
522 %endif
523
524 %if %{with perl}
525 %files plugin-scripting-perl
526 %defattr(644,root,root,755)
527 %attr(755,root,root) %{_libdir}/%{name}/plugins/perl.so
528 %{perl_vendorarch}/Ekg2.pm
529 %dir %{perl_vendorarch}/Ekg2
530 %{perl_vendorarch}/Ekg2/Irc.pm
531 %dir %{perl_vendorarch}/auto/Ekg2
532 %{perl_vendorarch}/auto/Ekg2/Ekg2.bs
533 %attr(755,root,root) %{perl_vendorarch}/auto/Ekg2/Ekg2.so
534 %dir %{perl_vendorarch}/auto/Ekg2/Irc
535 %{perl_vendorarch}/auto/Ekg2/Irc/Irc.bs
536 %attr(755,root,root) %{perl_vendorarch}/auto/Ekg2/Irc/Irc.so
537 %{_datadir}/%{name}/scripts/*.pl
538 %endif
539
540 %if %{with python}
541 %files plugin-scripting-python
542 %defattr(644,root,root,755)
543 %attr(755,root,root) %{_libdir}/%{name}/plugins/python.so
544 %{_datadir}/%{name}/scripts/*.py
545 %dir %{_datadir}/ekg2/plugins/python
546 %{_datadir}/ekg2/plugins/python/commands-en.txt
547 %{_datadir}/ekg2/plugins/python/commands-pl.txt
548 %endif
549
550 %files plugin-sim
551 %defattr(644,root,root,755)
552 %attr(755,root,root) %{_libdir}/%{name}/plugins/sim.so
553 %{_datadir}/%{name}/plugins/sim
554
555 %if %{with xosd}
556 %files plugin-xosd
557 %defattr(644,root,root,755)
558 %attr(755,root,root) %{_libdir}/%{name}/plugins/xosd.so
559 %{_datadir}/%{name}/plugins/xosd
560 %endif
This page took 0.13676 seconds and 3 git commands to generate.