# TODO
-# - fix broken linking, see filterout_ld
-# - fix unref symbols:
-# Unresolved symbols found in: /usr/lib64/purple-2/libjabber.so.0
-# Unresolved symbols found in: /usr/lib64/purple-2/liboscar.so.0
-# Unresolved symbols found in: /usr/lib64/purple-2/libymsg.so.0
-# - perl is installed to wrong dir on x8664:
-# /usr/lib/perl5/x86_64-pld-linux-thread-multi/perllocal.pod
+# - revise Requires for cyrus-sasl plugins (what is used in 2021? use Suggests instead?)
# - subpackages for
# - huge deps (mono...)
-# - kerberos 4 with zephyr support?
-# - external zephyr?
-# http://packages.qa.debian.org/z/zephyr.html
-# - unity? (unity >= 6.8, messaging-menu >= 12.10)
# - gtk3 status: http://developer.pidgin.im/wiki/GTK3
#
%bcond_without doc # Doxygen generated documentation
%bcond_without vv # Voice and Video support
%bcond_without meanwhile # meanwhile (Sametime protocol) support
%bcond_without silc # SILC protocol support
-%bcond_with evolution # Pidgin-Evolution plugin
+%bcond_without evolution # Pidgin-Evolution plugin
+%bcond_without system_zephyr # system installed Zephyr
+%bcond_with unity # Unity interface
%if %{without dbus}
%undefine with_nm
%endif
%define gtk2_ver 2.10.6
-%define glib2_ver 2.26.0
+%define glib2_ver 2.68.0
Summary: A GTK+ based multiprotocol instant messaging client
Summary(de.UTF-8): Pidgin ist ein Instant Messenger
Summary(pl.UTF-8): Oparty na GTK+ klient komunikatorów obsługujący wiele protokołów
Summary(pt_BR.UTF-8): Um cliente para o AOL Instant Messenger (AIM)
Name: pidgin
-Version: 2.14.1
-Release: 2
+Version: 2.14.5
+Release: 1
License: GPL v2+
Group: Applications/Communications
Source0: https://downloads.sourceforge.net/pidgin/%{name}-%{version}.tar.bz2
-# Source0-md5: e135798bcf952ddb3c9e030c4b160c3e
+# Source0-md5: 324a2f0ee9e05c8b0ab00837c3034b99
Patch0: %{name}-nolibs.patch
Patch1: %{name}-dbus-dir.patch
Patch2: %{name}-ca_file.patch
%{?with_sasl:BuildRequires: cyrus-sasl-devel}
%{?with_dbus:BuildRequires: dbus-devel >= 0.60}
%{?with_dbus:BuildRequires: dbus-glib-devel >= 0.71}
-%{?with_evolution:BuildRequires: evolution-data-server-devel >= 1.8.1}
-%{?with_evolution:BuildRequires: evolution-data-server-devel < 3.6}
+%{?with_evolution:BuildRequires: evolution-data-server-devel >= 3.6}
BuildRequires: farstream-devel >= 0.2.7
BuildRequires: gettext-tools
BuildRequires: glib2-devel >= 1:%{glib2_ver}
%{?with_gnutls:BuildRequires: gnutls-devel}
BuildRequires: gstreamer-devel >= 1.0
+BuildRequires: gstreamer-plugins-base-devel >= 1.0
BuildRequires: gtk+2-devel >= 2:%{gtk2_ver}
%{?with_gtkspell:BuildRequires: gtkspell-devel >= 1:2.0.16-2}
+%{?with_unity:BuildRequires: indicator-messages-devel >= 12.10}
BuildRequires: intltool
BuildRequires: libgadu-devel >= 4:1.12.0
%{?with_text:BuildRequires: libgnt-devel >= 2.14.0}
BuildRequires: libidn-devel
BuildRequires: libtool
+%{?with_unity:BuildRequires: libunity-devel >= 6.8}
BuildRequires: libxml2-devel >= 1:2.6.26
%{?with_meanwhile:BuildRequires: meanwhile-devel >= 1.0.0}
BuildRequires: pango-devel >= 1:1.4.0
%{?with_perl:BuildRequires: perl-devel}
BuildRequires: pkgconfig
BuildRequires: protobuf-c-devel
-BuildRequires: python-modules >= 1:2.4
+BuildRequires: python3-modules >= 1:3.2
%{?with_perl:BuildRequires: rpm-perlprov}
BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.583
+BuildRequires: rpmbuild(macros) >= 1.745
%{?with_silc:BuildRequires: silc-toolkit-devel >= 1.1}
BuildRequires: startup-notification-devel >= 0.5
BuildRequires: tcl-devel >= 8.3
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXext-devel
BuildRequires: xorg-lib-libXScrnSaver-devel
+%{?with_system_zephyr:BuildRequires: zephyr-devel}
%if %{with doc}
BuildRequires: doxygen
BuildRequires: graphviz
Requires: libpurple-protocol
Requires: pango >= 1:1.4.0
Suggests: enchant-myspell
-Obsoletes: gaim
-Obsoletes: gaim-ui
-Obsoletes: gaim-ui-gtk
+Obsoletes: gaim < 2.0.1
+Obsoletes: gaim-ui < 2.0.0
+Obsoletes: gaim-ui-gtk < 2.0.1
# discontinued gaim plugins
-Obsoletes: gaim-encryption
-Obsoletes: gaim-plugin-tlen
-Obsoletes: gaim-plugin-xmms-remote
-Obsoletes: libpurple-protocol-msn
-Obsoletes: libpurple-protocol-mxit
-Obsoletes: libpurple-protocol-myspace
-Obsoletes: libpurple-protocol-yahoo
+Obsoletes: gaim-encryption < 2.0.1
+Obsoletes: gaim-plugin-tlen < 2.0.1
+Obsoletes: gaim-plugin-xmms-remote < 2.0.1
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# keep in sync ca-certificates
%define openssldir /var/lib/openssl/certs
%endif
-# /usr/bin/ld: gntaccount.o: undefined reference to symbol 'cur_term'
-# /usr/bin/ld: note: 'cur_term' is defined in DSO /lib64/libtinfow.so.6 so try adding it to the linker command line
-# /lib64/libtinfow.so.6: could not read symbols: Invalid operation
-%define filterout_ld -Wl,--no-copy-dt-needed-entries
-
-# lots of purple and libxml syms
-%define skip_post_check_so libjabber.so.0 libymsg.so.0 liboscar.so.0
+# internal libraries for plugins loaded by libpurple, use libpurple symbols (purple_*, xmlnode_*)
+%define skip_post_check_so libjabber.so.0
%description
Pidgin allows you to talk to anyone using a variety of messaging
Group: Development/Libraries
Requires: gtk+2-devel >= 2:%{gtk2_ver}
Requires: libpurple-devel = %{version}-%{release}
-Obsoletes: gaim-devel
+Obsoletes: gaim-devel < 2.0.1
%description devel
Development files for Pidgin.
Summary(hu.UTF-8): Pidgin dokumentáció fejlesztőknek (HTML formában)
Summary(pl.UTF-8): Dokumentacja Pidgina dla programistów (format HTML)
Group: Documentation
-Obsoletes: gaim-doc
+Obsoletes: gaim-doc < 2.0.1
BuildArch: noarch
%description doc
Group: Libraries
Requires: libpurple = %{version}-%{release}
Requires: libpurple-perl = %{version}-%{release}
-Obsoletes: gaim-perl
+Obsoletes: gaim-perl < 2.0.1
%description perl
This package gives you ability to extend Pidgin functionality with
Summary(pl.UTF-8): Wtyczka do integracji z Evolution
Group: Libraries
Requires: %{name} = %{version}-%{release}
-Obsoletes: gaim-plugin-evolution
+Requires: evolution-data-server >= 3.6
+Obsoletes: gaim-plugin-evolution < 2.0.1
%description plugin-evolution
Provides integration with Ximian Evolution.
Summary(pl.UTF-8): Zdalne sterowanie Pidginem
Group: Libraries
Requires: %{name} = %{version}-%{release}
-Obsoletes: gaim-plugin-remote
+Requires: python3-dbus
+Obsoletes: gaim-plugin-remote < 2.0.1
%description plugin-remote
This package gives Pidgin the ability to be remote-controlled through
Summary: Header files and similar for Finch stuffs
Summary(pl.UTF-8): Pliki nagłówkowe do elementów Fincha
Group: Applications/Networking
-Requires: finch = %{version}-%{release}
+Requires: libgnt-devel >= 2.14.0
Requires: libpurple-devel = %{version}-%{release}
-Requires: ncurses-devel
%description -n finch-devel
The finch-devel package contains the header files and other
Summary(pl.UTF-8): Biblioteka libpurple dla klientów komunikatorów, takich jak Pidgin czy Finch
Group: Applications/Networking
Requires: ca-certificates
-%{?with_sasl:Requires: cyrus-sasl-digest-md5}
-%{?with_sasl:Requires: cyrus-sasl-plain}
Requires: farstream >= 0.2.7
Requires: glib2 >= 1:%{glib2_ver}
Requires: libxml2 >= 1:2.6.26
Obsoletes: libpurple-protocol-dir < 2.6.6-2
+Obsoletes: libpurple-protocol-msn < 2.12
+Obsoletes: libpurple-protocol-mtix < 2.6.6-5
+Obsoletes: libpurple-protocol-mxit < 2.12
+Obsoletes: libpurple-protocol-myspace < 2.12
+Obsoletes: libpurple-protocol-oscar < 2.14.4
+Obsoletes: libpurple-protocol-qq < 2.8
+Obsoletes: libpurple-protocol-yahoo < 2.12
Obsoletes: pidgin-libs < 2.6.6-2
%description -n libpurple
Requires: dbus-glib-devel >= 0.70
%endif
Requires: farstream-devel >= 0.2.7
+Requires: glib2-devel >= 1:%{glib2_ver}
+Requires: gstreamer-devel >= 1.0
+Requires: gstreamer-plugins-base-devel >= 1.0
+Requires: libidn-devel
Requires: libxml2-devel >= 1:2.6.26
Obsoletes: pidgin-devel < 2.6.6-2
Summary(pl.UTF-8): Obsługa skryptów Tcl-a dla libpurple
Group: Libraries
Requires: libpurple = %{version}-%{release}
-Obsoletes: gaim-tcl
-Obsoletes: pidgin-tcl
+Obsoletes: gaim-tcl < 2.0.1
+Obsoletes: pidgin-tcl < 2.6.6-2
%description -n libpurple-tcl
Tcl plugin loader for libpurple. This package will allow you to write
Summary(pl.UTF-8): Obsługa protokołu IRC dla biblioteki libpurple
Group: Applications/Communications
Requires: libpurple = %{version}-%{release}
+%if %{with sasl}
+# most common SASL mechanisms for IRC are EXTERNAL (not supported), PLAIN and SCRAM-SHA-256
+Requires: cyrus-sasl-plain
+Requires: cyrus-sasl-scram
+%endif
Provides: libpurple-protocol
%description -n libpurple-protocol-irc
%description -n libpurple-protocol-irc -l pl.UTF-8
Obsługa protokołu IRC dla biblioteki libpurple.
-%package -n libpurple-protocol-oscar
-Summary: Oscar protocol (AIM/ICQ Networks) support for libpurple
-Summary(pl.UTF-8): Obsługa protokołu Oscar (sieci AIM/ICQ) dla biblioteki libpurple
-Group: Applications/Communications
-Requires: libpurple = %{version}-%{release}
-Provides: libpurple-protocol
-Obsoletes: libpurple-protocol-aim
-Obsoletes: libpurple-protocol-icq
-
-%description -n libpurple-protocol-oscar
-Oscar protocol (AIM/ICQ Networks) support for libpurple.
-
-%description -n libpurple-protocol-oscar -l pl.UTF-8
-Obsługa protokołu Oscar (sieci AIM/ICQ) dla biblioteki libpurple.
-
%package -n libpurple-protocol-sametime
Summary: Lotus Sametime protocol support for libpurple
Summary(pl.UTF-8): Obsługa protokołu Lotus Sametime dla libpurple
Group: Applications/Communications
URL: http://meanwhile.sourceforge.net/
Requires: libpurple = %{version}-%{release}
-Requires: meanwhile>= 1.0.0}
+Requires: meanwhile >= 1.0.0
Provides: libpurple-protocol
%description -n libpurple-protocol-sametime
Summary(pl.UTF-8): Obsługa protokołu XMPP (Jabber, GTalk) dla libpurple
Group: Applications/Communications
Requires: libpurple = %{version}-%{release}
+%if %{with sasl}
+# most common SASL mechanisms for XMPP (beside EXTERNAL, which is not supported)
+# (is it up to date? DIGEST-MD5 is obsolete SASL mechanism now)
+Requires: cyrus-sasl-digest-md5
+Requires: cyrus-sasl-plain
+%endif
Provides: libpurple-protocol
-Obsoletes: libpurple-protocol-jabber
+Obsoletes: libpurple-protocol-jabber < 2.6.6-5
%description -n libpurple-protocol-xmpp
Extensible Messaging and Presence Protocol (XMPP) protocol support for
%patch1 -p1
%patch2 -p1
-%{__sed} -i -e '1s|#!/usr/bin/env python$|#!%{__python3}|' libpurple/purple-{remote,url-handler}
+%{__sed} -i -e '1s|#!/usr/bin/env python3$|#!%{__python3}|' libpurple/purple-{remote,url-handler}
%build
%{__libtoolize}
--enable-perl%{!?with_perl:=no} \
--disable-schemas-install \
--disable-silent-rules \
+ %{?with_unity:--enable-unity} \
--enable-vv%{!?with_vv:=no} \
--with-extraversion=%{release} \
%{!?with_silc:--with-silc-includes=not_existent_directory} \
- --with-system-ssl-certs=%{openssldir}
+ --with-system-ssl-certs=%{openssldir} \
+ --with-zephyr%{!?with_system_zephyr:=no}
%{__make}
%attr(755,root,root) %{_libdir}/pidgin/timestamp.so
%attr(755,root,root) %{_libdir}/pidgin/timestamp_format.so
%attr(755,root,root) %{_libdir}/pidgin/transparency.so
+%if %{with unity}
+%attr(755,root,root) %{_libdir}/pidgin/unity.so
+%endif
%if %{with vv}
%attr(755,root,root) %{_libdir}/pidgin/vvconfig.so
%endif
%attr(755,root,root) %{_libdir}/pidgin/xmppdisco.so
%{_mandir}/man1/pidgin.1*
-%{_datadir}/appdata/pidgin.appdata.xml
+%{_datadir}/metainfo/pidgin.appdata.xml
%{_desktopdir}/pidgin.desktop
%{_pixmapsdir}/pidgin
%{_iconsdir}/hicolor/*x*/apps/pidgin.png
%files perl
%defattr(644,root,root,755)
%dir %{_libdir}/pidgin/perl
-%{_libdir}/pidgin/perl/*.pm
+%{_libdir}/pidgin/perl/Pidgin.pm
%dir %{_libdir}/pidgin/perl/auto
%dir %{_libdir}/pidgin/perl/auto/Pidgin
-%attr(755,root,root) %{_libdir}/pidgin/perl/auto/Pidgin/*.so
+%attr(755,root,root) %{_libdir}/pidgin/perl/auto/Pidgin/Pidgin.so
%{_mandir}/man3/Pidgin.3pm*
%endif
%attr(755,root,root) %{_libdir}/finch/gntlastlog.so
%attr(755,root,root) %{_libdir}/finch/gnttinyurl.so
%attr(755,root,root) %{_libdir}/finch/grouping.so
-%{_mandir}/man1/finch.*
+%{_mandir}/man1/finch.1*
%files -n finch-devel
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/purple-2/perl.so
%dir %{_libdir}/purple-2/perl
-%{_libdir}/purple-2/perl/*.pm
+%{_libdir}/purple-2/perl/Purple.pm
%dir %{_libdir}/purple-2/perl/auto
%dir %{_libdir}/purple-2/perl/auto/Purple
-%{_libdir}/purple-2/perl/auto/Purple/*.ix
-%attr(755,root,root) %{_libdir}/purple-2/perl/auto/Purple/*.so
+%{_libdir}/purple-2/perl/auto/Purple/autosplit.ix
+%attr(755,root,root) %{_libdir}/purple-2/perl/auto/Purple/Purple.so
%{_mandir}/man3/Purple.3pm*
%endif
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/purple-2/libirc.so
-%files -n libpurple-protocol-oscar
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/purple-2/libaim.so
-%attr(755,root,root) %{_libdir}/purple-2/libicq.so
-# shared library for aim/icq protocols
-%attr(755,root,root) %{_libdir}/purple-2/liboscar.so.0
-
%if %{with meanwhile}
%files -n libpurple-protocol-sametime
%defattr(644,root,root,755)