-# TODO:
-# - autotools (call it directly, or fix autogen.sh)
-# - 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
-# - Is missing-xwcslen.patch needed?
#
# Conditional build:
%bcond_without aspell # build without spell-checking support with aspell
-%bcond_without feed # don't build feed plugin
+%bcond_without rss # don't build rss 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_without jabber # don't build jabber plugin
%bcond_without gnutls # build jabber plugin without libgnutls
-%bcond_without libgsm # don't build libgsm plugin
+%bcond_with 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_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 xosd # don't build xosd plugin
+%bcond_with git # checkout git master instead of Source0 - requested by ekg2 developer
+%bcond_with irckeepalive # adds patch that check irc connection and disconnect when server dies
-# Please, test all modules before updating. If you want just try new version,
-# use DEVEL branch.
-%define _snap 20090622
-
-%if %{without jabber}
-%undefine with_gnutls
+%if %{with git}
+%define subver git.%(date +%Y%m%d)
+%else
+%define subver 20180902
%endif
+%define rel 7
+
%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: 0.1.3
-Release: 0.%{_snap}.1
+Version: 0.4
+Release: 0.%{subver}.%{rel}
Epoch: 2
License: GPL v2+
Group: Applications/Communications
-Source0: http://pl.ekg2.org/%{name}-%{_snap}.tar.bz2
-# Source0-md5: 3ac6f70fdf92daf05d6975763eda460f
+%if %{without git}
+Source0: https://github.com/leafnode/ekg2/tarball/master?/%{name}-%{subver}.tar.gz
+# Source0-md5: 2ce452ebcecc03532dee956c5648d890
+%endif
Patch0: %{name}-perl-install.patch
-# Is it really needed?
-# Patch1: %{name}-missing-xwcslen.patch
-Patch2: %{name}-gtk.patch
+Patch1: %{name}-gtk.patch
+Patch2: %{name}-bug-63.patch
+Patch3: %{name}-keepalive_irc.patch
+Patch4: openssl.patch
URL: http://ekg2.org/
%{?with_aspell:BuildRequires: aspell-devel}
BuildRequires: autoconf
BuildRequires: automake
-%if %{with feed} || %{with jabber}
+%if %{with rss} || %{with jabber}
BuildRequires: expat-devel
%endif
-BuildRequires: gettext-devel
+BuildRequires: gettext-tools >= 0.17-8
%{?with_gadugadu:BuildRequires: giflib-devel}
+%{?with_git:BuildRequires: git-core}
%{?with_gnutls:BuildRequires: gnutls-devel >= 1.2.5}
%{?with_gpg:BuildRequires: gpgme-devel}
-BuildRequires: gpm-devel
%{?with_gtk:BuildRequires: gtk+2-devel >= 2:2.14.1}
%{?with_gadugadu:BuildRequires: libgadu-devel}
%{?with_libgsm:BuildRequires: libgsm-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_xosd:BuildRequires: xosd-devel}
BuildRequires: zlib-devel
+Obsoletes: ekg2-plugin-ioctld
+Obsoletes: ekg2-plugin-remote
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
%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
+%package plugin-rss
+Summary: rss plugin for ekg2
+Summary(pl.UTF-8): Wtyczka rss dla ekg2
Group: Applications/Communications
Requires: %{name} = %{epoch}:%{version}-%{release}
+Obsoletes: ekg2-plugin-feed
-%description plugin-feed
-feed plugin for ekg2.
+%description plugin-rss
+rss plugin for ekg2.
-%description plugin-feed -l pl.UTF-8
-Wtyczka feed dla ekg2.
+%description plugin-rss -l pl.UTF-8
+Wtyczka rss dla ekg2.
%package plugin-gpg
Summary: gpg plugin for ekg2
%description plugin-gtk -l pl.UTF-8
Wtyczka gtk dla ekg2.
-%package plugin-ioctld
-Summary: Ioctld plugin for ekg2
-Summary(pl.UTF-8): Wtyczka ioctld dla ekg2
-Group: Applications/Communications
-Requires: %{name} = %{epoch}:%{version}-%{release}
-
-%description plugin-ioctld
-Ioctld plugin for ekg2 (contains suid root binary!).
-
-%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
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
%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
Summary(pl.UTF-8): Wtyczka języka Python dla ekg2
Group: Applications/Communications
Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: python-modules
%description plugin-scripting-python
Python scripting plugin for ekg2.
Wtyczka xosd dla ekg2.
%prep
-%setup -q -n %{name}-%{_snap}
+%if %{with git}
+%setup -q -T -c -n %{name}-%{subver}
+repo="%ekg2repo"
+branch="%ekg2branch"
+if [ "$repo" = "%%ekg2repo" ]; then
+repo="git://github.com/leafnode/ekg2.git"
+fi
+if [ "$branch" = "%%ekg2branch" ]; then
+branch="master"
+fi
+git init
+git fetch $repo $branch
+git checkout FETCH_HEAD
+%else
+%setup -q -c -n %{name}-%{subver}
+%{__mv} ekg2-ekg2-*/* .
+%endif
+
%patch0 -p1
-#%%patch1 -p1
-%patch2 -p1
+%patch1 -p1
+%patch2 -p0
+
+%if %{with irckeepalive}
+%patch3 -p1
+%endif
+
+%patch4 -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
+touch po/Makefile.in.in
+find -name *.c > po/POTFILES.in
%build
-NOCONFIGURE=1 ./autogen.sh || true
+%{__gettextize}
+%{__libtoolize}
+%{__aclocal} -I m4
+%{__autoheader}
+%{__automake}
+%{__autoconf}
+
# for hostent.h_addr (should be in CPPFLAGS, but it's overridden in plugins/jabber)
CFLAGS="%{rpmcflags} -D_GNU_SOURCE"
%configure \
%{!?with_gpg:--without-gpg} \
--with%{!?with_gtk:out}-gtk \
--with%{!?with_gnutls:out}-libgnutls \
-%if %{with feed} || %{with jabber}
+%if %{with rss} || %{with jabber}
--with-expat \
%else
--without-expat \
--with%{!?with_readline:out}-readline \
--with%{!?with_sqlite:out}-sqlite \
--with%{!?with_sqlite3:out}-sqlite3 \
- --with%{!?with_xosd:out}-xosd
+ --with%{!?with_xosd:out}-xosd \
+ --disable-nntp
%{__make}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-mv -f README README-main || true
-
-rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/*.la
-
%find_lang %{name}
%clean
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc NEWS* README-main docs/ekg2book* docs/README docs/TODO docs/*.txt
+%doc README.md docs/ekg2book* docs/README docs/TODO docs/*.txt
%attr(755,root,root) %{_bindir}/ekg2
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/plugins
%attr(755,root,root) %{_libdir}/%{name}/plugins/autoresponder.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/autoresponder.la
%{_datadir}/%{name}/plugins/autoresponder
-%attr(755,root,root) %{_libdir}/%{name}/plugins/httprc_xajax.so
%attr(755,root,root) %{_libdir}/%{name}/plugins/logs.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/logs.la
%attr(755,root,root) %{_libdir}/%{name}/plugins/mail.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/mail.la
%{_datadir}/%{name}/plugins/mail
%attr(755,root,root) %{_libdir}/%{name}/plugins/ncurses.so
-%attr(755,root,root) %{_libdir}/%{name}/plugins/pcm.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/ncurses.la
%attr(755,root,root) %{_libdir}/%{name}/plugins/rc.so
-%attr(755,root,root) %{_libdir}/%{name}/plugins/rot13.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/rc.la
%attr(755,root,root) %{_libdir}/%{name}/plugins/sms.so
-%attr(755,root,root) %{_libdir}/%{name}/plugins/xmsg.so
-%{_datadir}/%{name}/plugins/xmsg
+%attr(755,root,root) %{_libdir}/%{name}/plugins/sms.la
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/plugins
%{_datadir}/%{name}/*.txt
-%{_datadir}/%{name}/plugins/httprc_xajax
%{_datadir}/%{name}/plugins/logs
%{_datadir}/%{name}/plugins/ncurses
-%{_datadir}/%{name}/plugins/rc
%{_datadir}/%{name}/plugins/sms
+%{_datadir}/%{name}/plugins/rc
%dir %{_datadir}/%{name}/scripts
%{_datadir}/%{name}/themes
-%files plugin-feed
+%files plugin-rss
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/plugins/feed.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/rss.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/rss.la
%if %{with gpg}
%files plugin-gpg
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/gpg.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/gpg.la
+%dir %{_datadir}/ekg2/plugins/gpg
+%{_datadir}/ekg2/plugins/gpg/commands-en.txt
+%{_datadir}/ekg2/plugins/gpg/commands-pl.txt
%endif
%if %{with gtk}
%files plugin-gtk
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/gtk.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/gtk.la
%endif
-%files plugin-ioctld
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/plugins/ioctld.so
-%{_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
+%attr(755,root,root) %{_libdir}/%{name}/plugins/jogger.la
%if %{with sqlite} || %{with sqlite3}
%files plugin-logsqlite
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/logsqlite.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/logsqlite.la
%{_datadir}/%{name}/plugins/logsqlite
%endif
%files plugin-protocol-gg
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/gg.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/gg.la
%{_datadir}/%{name}/plugins/gg
%if %{with libgsm}
%files plugin-protocol-gsm
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/gsm.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/gsm.la
%endif
%files plugin-protocol-icq
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/icq.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/icq.la
%files plugin-protocol-irc
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/irc.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/irc.la
%{_datadir}/%{name}/plugins/irc
%if %{with jabber}
%files plugin-protocol-jabber
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/jabber.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/jabber.la
%{_datadir}/%{name}/plugins/jabber
%endif
%files plugin-protocol-polchat
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/polchat.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/polchat.la
%files plugin-protocol-rivchat
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/rivchat.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/rivchat.la
%if %{with readline}
%files plugin-readline
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/readline.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/readline.la
%{_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)
%attr(755,root,root) %{_libdir}/%{name}/plugins/perl.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/perl.la
%{perl_vendorarch}/Ekg2.pm
%dir %{perl_vendorarch}/Ekg2
%{perl_vendorarch}/Ekg2/Irc.pm
%dir %{perl_vendorarch}/auto/Ekg2
-%{perl_vendorarch}/auto/Ekg2/Ekg2.bs
%attr(755,root,root) %{perl_vendorarch}/auto/Ekg2/Ekg2.so
%dir %{perl_vendorarch}/auto/Ekg2/Irc
-%{perl_vendorarch}/auto/Ekg2/Irc/Irc.bs
%attr(755,root,root) %{perl_vendorarch}/auto/Ekg2/Irc/Irc.so
%{_datadir}/%{name}/scripts/*.pl
%endif
%files plugin-scripting-python
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/python.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/python.la
%{_datadir}/%{name}/scripts/*.py
+%dir %{_datadir}/ekg2/plugins/python
+%{_datadir}/ekg2/plugins/python/commands-en.txt
+%{_datadir}/ekg2/plugins/python/commands-pl.txt
%endif
%files plugin-sim
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/sim.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/sim.la
%{_datadir}/%{name}/plugins/sim
%if %{with xosd}
%files plugin-xosd
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/plugins/xosd.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/xosd.la
%{_datadir}/%{name}/plugins/xosd
%endif