+# TODO:
+# - warning: Installed (but unpackaged) file(s) found:
+# /usr/lib/perl5/5.10.0/i686-pld-linux-thread-multi/perllocal.pod
+# /usr/lib/perl5/vendor_perl/5.10.0/i686-pld-linux-thread-multi/auto/Ekg2/.packlist
+# /usr/lib/perl5/vendor_perl/5.10.0/i686-pld-linux-thread-multi/auto/Ekg2/Irc/.packlist
#
# Conditional build:
-%bcond_with yesterday_snapshot # Build most current ekg2 snapshot
- # (must use ./builder -n5 or plain rpmbuild)
%bcond_without aspell # build without spell-checking support with aspell
+%bcond_without feed # don't build feed plugin
%bcond_without gadugadu # don't build gg plugin
%bcond_without gpg # don't build gpg plugin
-%bcond_without gtk # don't build gtk plugin
+%bcond_with gtk # don't build gtk plugin
%bcond_without jabber # don't build jabber plugin
%bcond_without gnutls # build jabber plugin without libgnutls
%bcond_without libgsm # don't build libgsm plugin
%bcond_without perl # don't build Perl plugin
%bcond_without python # don't build Python plugin
%bcond_without readline # don't build readline interface
-%bcond_without sqlite # don't build logsqlite plugin based on sqlite (conflicts with sqlite3)
-%bcond_with sqlite3 # build logsqlite plugin based on sqlite3
+%bcond_with sqlite # build logsqlite plugin based on sqlite (conflicts with sqlite3)
+%bcond_without sqlite3 # don't build logsqlite plugin based on sqlite3
%bcond_without xosd # don't build xosd plugin
+%bcond_with svn # checkout svn trunk instead of Source0 - requested by ekg2 developer
-%if %{with yesterday_snapshot}
-%define _snap %(date +%%Y%%m%%d -d yesterday)
-%define _ver 0.0.%{_snap}
+%if %{with svn}
+%define subver svn.%(date +%Y%m%d)
%else
-%define _snap 0.1.1
-%define _ver 0.1.1
+%define subver 20101110
%endif
-%if %{without jabber}
-%undefine with_gnutls
-%endif
+%define rel 1
-%if %{with sqlite3}
-%undefine sqlite
+%if %{with sqlite}
+%undefine sqlite3
%endif
Summary: Multi-protocol instant messaging and chat client
Summary(pl.UTF-8): Wieloprotokołowy komunikator internetowy
Name: ekg2
-Version: %{_ver}
-Release: 2
+Version: 0.3
+Release: 0.%{subver}.%{rel}
Epoch: 2
License: GPL v2+
Group: Applications/Communications
-Source0: http://pl.ekg2.org/%{name}-%{_snap}.tar.gz
-# Source0-md5: 8c64ab909687b9ac3798caa7736d7b2a
+%if %{without svn}
+Source0: http://pl.ekg2.org/%{name}-%{subver}.tar.bz2
+# Source0-md5: 908ae66c4ab677671423316ed8eb7793
+%endif
Patch0: %{name}-perl-install.patch
-#Patch1: %{name}-no_scripts.patch
+Patch1: %{name}-gtk.patch
URL: http://ekg2.org/
%{?with_aspell:BuildRequires: aspell-devel}
BuildRequires: autoconf
BuildRequires: automake
-%{?with_jabber:BuildRequires: expat-devel}
-BuildRequires: gettext-devel
+%if %{with feed} || %{with jabber}
+BuildRequires: expat-devel
+%endif
+BuildRequires: gettext-devel >= 0.17-8
%{?with_gadugadu:BuildRequires: giflib-devel}
%{?with_gnutls:BuildRequires: gnutls-devel >= 1.2.5}
%{?with_gpg:BuildRequires: gpgme-devel}
BuildRequires: gpm-devel
-%{?with_gtk:BuildRequires: gtk+2-devel}
+%{?with_gtk:BuildRequires: gtk+2-devel >= 2:2.14.1}
%{?with_gadugadu:BuildRequires: libgadu-devel}
%{?with_libgsm:BuildRequires: libgsm-devel}
%{?with_gadugadu:BuildRequires: libjpeg-devel}
BuildRequires: pkgconfig
%{?with_python:BuildRequires: python-devel}
%{?with_readline:BuildRequires: readline-devel}
-%{?with_perl:BuildRequires: rpm-perlprov}
%{?with_python:BuildRequires: rpm-pythonprov}
BuildRequires: sed >= 4.0
%{?with_sqlite:BuildRequires: sqlite-devel}
%{?with_sqlite3:BuildRequires: sqlite3-devel}
+%{?with_svn:BuildRequires: subversion}
%{?with_xosd:BuildRequires: xosd-devel}
BuildRequires: zlib-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description devel -l pl.UTF-8
Pliki nagłówkowe ekg2.
+%package plugin-feed
+Summary: feed plugin for ekg2
+Summary(pl.UTF-8): Wtyczka feed dla ekg2
+Group: Applications/Communications
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description plugin-feed
+feed plugin for ekg2.
+
+%description plugin-feed -l pl.UTF-8
+Wtyczka feed dla ekg2.
+
%package plugin-gpg
Summary: gpg plugin for ekg2
Summary(pl.UTF-8): Wtyczka gpg dla ekg2
Summary(pl.UTF-8): Wtyczka gtk dla ekg2
Group: Applications/Communications
Requires: %{name} = %{epoch}:%{version}-%{release}
-Requires: gtk+2
+Requires: gtk+2 >= 2:2.14.1
%description plugin-gtk
gtk plugin for ekg2.
%description plugin-ioctld -l pl.UTF-8
Wtyczka ioctld dla ekg2 (zawiera program z ustawionym suid root!).
+%package plugin-jogger
+Summary: Jogger plugin for ekg2
+Summary(pl.UTF-8): Wtyczka jogger dla ekg2
+Group: Applications/Communications
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description plugin-jogger
+Jogger plugin for ekg2.
+
+%description plugin-jogger -l pl.UTF-8
+Wtyczka jogger dla ekg2.
+
%package plugin-logsqlite
Summary: SQLite log plugin for ekg2
Summary(pl.UTF-8): Wtyczka logowania do SQLite dla ekg2
%description plugin-protocol-gsm -l pl.UTF-8
Wtyczka protokołu GSM VoIP dla ekg2.
+%package plugin-protocol-icq
+Summary: ICQ protocol plugin for ekg2
+Summary(pl.UTF-8): Wtyczka protokołu ICQ dla ekg2
+Group: Applications/Communications
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description plugin-protocol-icq
+ICQ protocol plugin for ekg2.
+
+%description plugin-protocol-icq -l pl.UTF-8
+Wtyczka protokołu ICQ dla ekg2.
+
%package plugin-protocol-irc
Summary: IRC protocol plugin for ekg2
Summary(pl.UTF-8): Wtyczka protokołu IRC dla ekg2
Wtyczka protokołu IRC dla ekg2.
%package plugin-protocol-jabber
-Summary: Jabber protocol plugin for ekg2
-Summary(pl.UTF-8): Wtyczka protokołu Jabber dla ekg2
+Summary: Jabber and Tlen protocols plugin for ekg2
+Summary(pl.UTF-8): Wtyczka protokołów Jabber i Tlen dla ekg2
Group: Applications/Communications
Requires: %{name} = %{epoch}:%{version}-%{release}
%description plugin-protocol-jabber
-Jabber protocol plugin for ekg2.
+Jabber and Tlen protocols plugin for ekg2.
%description plugin-protocol-jabber -l pl.UTF-8
-Wtyczka protokołu Jabber dla ekg2.
+Wtyczka protokołów Jabber i Tlen dla ekg2.
+
+%package plugin-protocol-polchat
+Summary: Polchat protocol plugin for ekg2
+Summary(pl.UTF-8): Wtyczka protokołu polchat dla ekg2
+Group: Applications/Communications
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description plugin-protocol-polchat
+Polchat protocol plugin for ekg2.
+
+%description plugin-protocol-polchat -l pl.UTF-8
+Wtyczka protokołu polchat dla ekg2.
+
+%package plugin-protocol-rivchat
+Summary: Rivchat protocol plugin for ekg2
+Summary(pl.UTF-8): Wtyczka protokołu rivchat dla ekg2
+Group: Applications/Communications
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description plugin-protocol-rivchat
+Rivchat protocol plugin for ekg2.
+
+%description plugin-protocol-rivchat -l pl.UTF-8
+Wtyczka protokołu rivchat dla ekg2.
%package plugin-readline
Summary: readline interface
%description plugin-readline -l pl.UTF-8
Interfejs readline.
+%package plugin-remote
+Summary: Remote contol interface
+Summary(pl.UTF-8): Zdalne sterowanie ekg2
+Group: Applications/Communications
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description plugin-remote
+Remote control interface.
+
+%description plugin-remote -l pl.UTF-8
+Zdalne sterowanie ekg2.
+
%package plugin-scripting-perl
Summary: Perl scripting plugin for ekg2
Summary(pl.UTF-8): Wtyczka języka Perl dla ekg2
Wtyczka xosd dla ekg2.
%prep
-%setup -q -n %{name}-%{_snap}
+%if %{without svn}
+%setup -q -n %{name}-%{subver}
+%else
+%setup -qcT
+cd ..
+repo="http://toxygen.net/svn/ekg2/trunk"
+svn -q export --force $repo %{name}-%{version}
+cd -
+v=$(LANG=C svn info $repo/INSTALL 2>/dev/null|sed -n 's/^Revision: \([0-9]\+\)$/\1/p')
+if [ "$v" ]; then
+ echo SVN-rev.$v
+ v="SVN rev.$v"
+ sed -i "s/AM_INIT_AUTOMAKE(ekg2, CVS)/AM_INIT_AUTOMAKE(ekg2, \"$v\")/" configure.ac
+fi
+
+%endif
+
%patch0 -p1
-#%patch1 -p1
-sed -i -e 's/AC_LIBLTDL_CONVENIENCE/AC_LIBLTDL_INSTALLABLE/' configure.ac
-sed -i -e '\#/opt/sqlite/lib#s#"$# /usr/lib64"#' m4/sqlite.m4
+%patch1 -p1
+
+sed -i -e '\#/opt/sqlite/lib#s#"$# %{_libdir}"#' m4/sqlite.m4
+
+touch po/Makefile.in.in
+find -name *.c > po/POTFILES.in
%build
-%{__libtoolize} --ltdl
-cd libltdl
-%{__aclocal}
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-cd ..
+%{__gettextize}
+%{__libtoolize}
%{__aclocal} -I m4
-%{__autoconf}
%{__autoheader}
%{__automake}
+%{__autoconf}
+
+# for hostent.h_addr (should be in CPPFLAGS, but it's overridden in plugins/jabber)
+CFLAGS="%{rpmcflags} -D_GNU_SOURCE"
%configure \
+ --enable-unicode \
--with%{!?with_aspell:out}-aspell \
--with%{!?with_gadugadu:out}-libgadu \
%{!?with_gpg:--without-gpg} \
--with%{!?with_gtk:out}-gtk \
--with%{!?with_gnutls:out}-libgnutls \
- --with%{!?with_jabber:out}-expat \
+%if %{with feed} || %{with jabber}
+ --with-expat \
+%else
+ --without-expat \
+%endif
--with%{!?with_libgsm:out}-libgsm \
%{!?with_perl:--without-perl} \
--with%{!?with_python:out}-python \
%dir %{_datadir}/%{name}/scripts
%{_datadir}/%{name}/themes
-%files devel
+%files plugin-feed
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/ekg2-config
-%{_includedir}/ekg2
+%attr(755,root,root) %{_libdir}/%{name}/plugins/feed.so
%if %{with gpg}
%files plugin-gpg
%{_datadir}/%{name}/plugins/ioctld
%attr(4755,root,root) %{_libexecdir}/ioctld
+%files plugin-jogger
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/jogger.so
+
%if %{with sqlite} || %{with sqlite3}
%files plugin-logsqlite
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/gsm.so
%endif
+%files plugin-protocol-icq
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/icq.so
+
%files plugin-protocol-irc
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/irc.so
%{_datadir}/%{name}/plugins/jabber
%endif
+%files plugin-protocol-polchat
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/polchat.so
+
+%files plugin-protocol-rivchat
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/rivchat.so
+
%if %{with readline}
%files plugin-readline
%defattr(644,root,root,755)
%{_datadir}/%{name}/plugins/readline
%endif
+%if %{with readline}
+%files plugin-remote
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/remote.so
+%endif
+
%if %{with perl}
%files plugin-scripting-perl
%defattr(644,root,root,755)