@ -1,139 +1,45 @@
@@ -1,139 +1,45 @@
# OVERRIDE RHEL VERSION HERE, RHEL BUILDSYSTEM DOESN'T HAVE DIST TAG
#%%global rhel 4
# Define Variables that must exist
%{?!rhel:%global rhel 0}
%{?!fedora:%global fedora 0}
# Map RHEL to Fedora version
%if 0%{?rhel} == 7
%global fedora 19
%endif
# Define variables to use in conditionals
%global force_sound_aplay 0
%global dbus_integration 0
%global gstreamer_integration 0
%global nm_integration 0
%global modular_x 0
%global dbus_glib_splt 0
%global bonjour_support 0
%global meanwhile_integration 0
%global use_gnome_open 0
%global perl_devel_separated 0
%global perl_embed_separated 0
%global api_docs 0
%global krb4_removed 0
%global nss_md2_disabled 0
%global vv_support 0
%global libidn_support 0
%global disable_evolution 0
%global split_evolution 0
%global use_system_certs 0
%global use_system_libgadu 0
%global build_only_libs 0
%global gstreamer_version 0.10
%global farstream_version 0.1
# RHEL4: Use ALSA aplay to output sounds because it lacks gstreamer
%if 0%{?fedora} < 5
%global force_sound_aplay 1
%endif
# RHEL4+ and FC5+: dbus, gstreamer, NetworkManager, modular X
%if 0%{?fedora} >= 5
%global dbus_integration 1
%global gstreamer_integration 1
%global nm_integration 1
%global nm_libnm_integration 1
%global modular_x 1
%endif
# RHEL4+ and FC6+: dbus-glib split, bonjour, meanwhile
%if 0%{?fedora} >= 6
%global dbus_glib_splt 1
%global bonjour_support 1
%global meanwhile_integration 1
%endif
# RHEL4 and RHEL5: Use gnome-open instead of xdg-open (RHEL4 and RHEL5)
%if 0%{?fedora} <= 6
%global use_gnome_open 1
%endif
# F7+: Perl devel separated out
%if 0%{?fedora} >= 7
%global perl_devel_separated 1
%endif
# F8+: Perl embed separated out, generate pidgin API documentation
%if 0%{?fedora} >= 8
%global perl_embed_separated 1
%global api_docs 1
%endif
# F10+: New NSS (3.12.3) disables weaker MD2 algorithm
%if 0%{?fedora} >= 10
%global krb4_removed 1
%global nss_md2_disabled 1
%endif
# F11+: libidn for punycode domain support, voice and video support,
# use system SSL certificates
%if 0%{?fedora} >= 11
%global vv_support 1
%global libidn_support 1
%global use_system_certs 1
%endif
# F12+: krb4 removed
%if 0%{?fedora} >= 12
%global krb4_removed 1
%endif
# F13+ Split Evolution plugin to separate package (#581144)
%if 0%{?fedora} >= 13
%global split_evolution 1
%endif
# F16+ Use system libgadu (#713888)
%if 0%{?fedora} >= 16
%global use_system_libgadu 1
%endif
# RHEL does not have libgadu
%if 0%{?rhel}
%global use_system_libgadu 0
%endif
%if 0%{?rhel} >= 7
%global api_docs 0
%endif
# F18+ Disable evolution integration (temporarily?)
# due to evolution-data-server 3.6 API changes
%if 0%{?fedora} >= 18
%global disable_evolution 1
%global split_evolution 0
%endif
# F2+ Build against GStreamer 1.x
%if 0%{?fedora} >= 22
%global use_system_certs 1
%global use_system_libgadu 0
%global build_only_libs 0
%global gstreamer_version 1.0
%global farstream_version 0.2
%global gst1 1
%endif
# F29 doesn't support nm-glib anymore.
%if 0%{?fedora} >= 29 || 0%{?rhel} >= 8
%global nm_integration 0
%endif
# valgrind available only on selected arches
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
%global has_valgrind 1
%endif
Name: pidgin
Version: 2.13.0
Version: 2.14.1
Release: 1%{?dist}
License: GPLv2+ and GPLv2 and MIT
# GPLv2+ - libpurple, gnt, finch, pidgin, most prpls
License: BSD and GPLv2+ and GPLv2 and LGPLv2+ and MIT
# GPLv2+ - libpurple, finch, pidgin, most prpls
# GPLv2 - novell prpls
# MIT - Zephyr prpl
Group: Applications/Internet
URL: http://pidgin.im/
Source0: http://downloads.sourceforge.net/pidgin/pidgin-%{version}.tar.bz2
Obsoletes: gaim < 999:1
Provides: gaim = 999:1
%if %{split_evolution}
Obsoletes: pidgin <= 2.7.1-1%{?dist}
%else %if %{disable_evolution}
Obsoletes: pidgin-evolution <= 2.10.6%{?dist}
%endif
Obsoletes: pidgin-evolution <= 2.10.6%{?dist}
## Fedora pidgin defaults
# Only needs regenerating if Pidgin breaks backwards compatibility with prefs.xml
@ -153,15 +59,14 @@ Source1: purple-fedora-prefs.xml
@@ -153,15 +59,14 @@ Source1: purple-fedora-prefs.xml
## Patches 0-99: Fedora specific or upstream wont accept
Patch0: pidgin-NOT-UPSTREAM-2.5.2-rhel4-sound-migration.patch
Patch1: pidgin-2.10.9-valgrind.patch
Patch2: pidgin-2.10.11-purple-remote-python3.patch
Patch1: pidgin-2.14.1-valgrind.patch
Patch3: pidgin-2.13.0-drop-aim.patch
## Patches 100+: To be Included in Future Upstream
Patch100: pidgin-2.10.1-fix-msn-ft-crashes.patch
Patch100: pidgin-2.13.0-fix-msn-ft-crashes.patch
# upstream ticket https://developer.pidgin.im/ticket/16593
Patch102: pidgin-2.10.11-do-not-disable-wall.patch
Patch102: pidgin-2.14.1-do-not-disable-wall.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-root
Summary: A Gtk+ based multiprotocol instant messaging client
# Require Binary Compatible glib
@ -173,11 +78,6 @@ Requires: glib2 >= %{glib_ver}
@@ -173,11 +78,6 @@ Requires: glib2 >= %{glib_ver}
# Require exact libpurple
Requires: libpurple%{?_isa} = %{version}-%{release}
Requires(pre): GConf2
Requires(post): GConf2
Requires(preun): GConf2
BuildRequires: GConf2
# Basic Library Requirements
BuildRequires: autoconf
BuildRequires: libtool
@ -206,6 +106,7 @@ BuildRequires: intltool
@@ -206,6 +106,7 @@ BuildRequires: intltool
BuildRequires: tcl-devel
BuildRequires: tk-devel
BuildRequires: libxml2-devel
BuildRequires: libgnt-devel
%if ! %{krb4_removed}
# krb5 needed for Zephyr (FC1+)
@ -215,6 +116,7 @@ BuildRequires: krb5-devel
@@ -215,6 +116,7 @@ BuildRequires: krb5-devel
%if %{dbus_integration}
BuildRequires: dbus-devel >= 0.60
BuildRequires: python3
BuildRequires: python3-devel
%endif
# GStreamer integration (FC5+)
%if %{gstreamer_integration}
@ -222,8 +124,12 @@ BuildRequires: pkgconfig(gstreamer-%{gstreamer_version})
@@ -222,8 +124,12 @@ BuildRequires: pkgconfig(gstreamer-%{gstreamer_version})
%endif
# NetworkManager integration (FC5+)
%if %{nm_integration}
%if %{nm_libnm_integration}
BuildRequires: NetworkManager-libnm-devel >= 1.0.0
%else
BuildRequires: NetworkManager-glib-devel
%endif
%endif
# Modular X (FC5+)
%if %{modular_x}
BuildRequires: libSM-devel
@ -295,10 +201,9 @@ BuildRequires: valgrind-devel
@@ -295,10 +201,9 @@ BuildRequires: valgrind-devel
%description
Pidgin allows you to talk to anyone using a variety of messaging
protocols including AIM, MSN, Yahoo!, Jabber, Bonjour, Gadu-Gadu,
ICQ, IRC, Novell Groupwise, QQ, Lotus Sametime, SILC, Simple and
Zephyr. These protocols are implemented using a modular, easy to
use design. To use a protocol, just add an account using the
account editor.
ICQ, IRC, Novell Groupwise, QQ, Lotus Sametime, Simple and Zephyr.
These protocols are implemented using a modular, easy to use design.
To use a protocol, just add an account using the account editor.
Pidgin supports many common features of other clients, as well as many
unique features, such as perl scripting, TCL scripting and C plugins.
@ -309,7 +214,6 @@ Microsoft Corporation, Yahoo! Inc., or ICQ Inc.
@@ -309,7 +214,6 @@ Microsoft Corporation, Yahoo! Inc., or ICQ Inc.
%if %{split_evolution}
%package evolution
Summary: Pidgin Evolution integration plugin
Group: Applications/Internet
Requires: %{name} = %{version}-%{release}
Obsoletes: pidgin <= 2.7.1-1%{?dist}
@ -321,7 +225,6 @@ This package contains the Evolution integration plugin for Pidgin.
@@ -321,7 +225,6 @@ This package contains the Evolution integration plugin for Pidgin.
%package devel
Summary: Development headers and libraries for pidgin
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: libpurple-devel = %{version}-%{release}
Requires: pkgconfig
@ -337,7 +240,6 @@ and plugins.
@@ -337,7 +240,6 @@ and plugins.
%package perl
Summary: Perl scripting support for Pidgin
Group: Applications/Internet
Requires: libpurple = %{version}-%{release}
Requires: libpurple-perl = %{version}-%{release}
@ -348,7 +250,6 @@ use Pidgin plugins written in the Perl programming language.
@@ -348,7 +250,6 @@ use Pidgin plugins written in the Perl programming language.
%package -n libpurple
Summary: libpurple library for IM clients like Pidgin and Finch
Group: Applications/Internet
# Ensure elimination of gaim.i386 on x86_64
Obsoletes: gaim < 999:1
%if %{meanwhile_integration}
@ -379,12 +280,11 @@ and Finch.
@@ -379,12 +280,11 @@ and Finch.
libpurple supports a variety of messaging protocols including AIM, MSN,
Yahoo!, Jabber, Bonjour, Gadu-Gadu, ICQ, IRC, Novell Groupwise, QQ,
Lotus Sametime, SILC, Simple and Zephyr.
Lotus Sametime, Simple and Zephyr.
%package -n libpurple-devel
Summary: Development headers, documentation, and libraries for libpurple
Group: Applications/Internet
Requires: libpurple = %{version}-%{release}
Requires: pkgconfig
%if %{dbus_integration}
@ -401,7 +301,6 @@ instant messaging clients or plugins for any libpurple based client.
@@ -401,7 +301,6 @@ instant messaging clients or plugins for any libpurple based client.
%package -n libpurple-perl
Summary: Perl scripting support for libpurple
Group: Applications/Internet
Requires: libpurple = %{version}-%{release}
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
@ -412,7 +311,6 @@ use libpurple plugins written in the Perl programming language.
@@ -412,7 +311,6 @@ use libpurple plugins written in the Perl programming language.
%package -n libpurple-tcl
Summary: Tcl scripting support for libpurple
Group: Applications/Internet
Requires: libpurple = %{version}-%{release}
%description -n libpurple-tcl
@ -422,7 +320,6 @@ use libpurple plugins written in the Tcl programming language.
@@ -422,7 +320,6 @@ use libpurple plugins written in the Tcl programming language.
%package -n finch
Summary: A text-based user interface for Pidgin
Group: Applications/Internet
Requires: glib2 >= %{glib_ver}
Requires: libpurple = %{version}-%{release}
@ -435,7 +332,6 @@ and text.
@@ -435,7 +332,6 @@ and text.
%package -n finch-devel
Summary: Headers etc. for finch stuffs
Group: Applications/Internet
Requires: finch = %{version}-%{release}
Requires: libpurple-devel = %{version}-%{release}
Requires: pkgconfig
@ -449,7 +345,6 @@ and plugins.
@@ -449,7 +345,6 @@ and plugins.
%if %{api_docs}
%package -n pidgin-docs
Summary: API docs for pidgin and libpurple
Group: Applications/Internet
Requires: pidgin = %{version}-%{release}
Provides: libpurple-docs = %{version}-%{release}
@ -465,15 +360,15 @@ echo "FEDORA=%{fedora} RHEL=%{rhel}"
@@ -465,15 +360,15 @@ echo "FEDORA=%{fedora} RHEL=%{rhel}"
%if %{force_sound_aplay}
%patch0 -p1 -b .aplay
%endif
%patch1 -p1
%patch2 -p1
%patch1 -p1 -b .valgrind
%patch3 -p1 -b .drop-aim
## Patches 100+: To be Included in Future Upstream
# http://pidgin.im/pipermail/devel/2011-November/010477.html
%patch100 -p0 -R -b .ftcrash
%patch100 -p1 -b .ftcrash
# https://developer.pidgin.im/ticket/16593
%patch102 -p1
%patch102 -p1 -b .do-not-disable-wall
# Our preferences
cp %{SOURCE1} prefs.xml
@ -509,6 +404,9 @@ SWITCHES="--with-extraversion=%{release}"
@@ -509,6 +404,9 @@ SWITCHES="--with-extraversion=%{release}"
%endif
%if %{dbus_integration}
SWITCHES="$SWITCHES --enable-dbus"
%if 0%{?fedora} >= 27
SWITCHES="$SWITCHES --with-python=%{__python3}"
%endif
%else
SWITCHES="$SWITCHES --disable-dbus"
%endif
@ -549,11 +447,11 @@ autoreconf --force --install
@@ -549,11 +447,11 @@ autoreconf --force --install
--enable-tcl --enable-tk \
--disable-schemas-install $SWITCHES
make %{?_smp_mflags} LIBTOOL=/usr/bin/libtool
make %{?_smp_mflags} V=1 LIBTOOL=/usr/bin/libtool
# one_time_password plugin, included upstream but not built by default
cd libpurple/plugins/
make one_time_password.so LIBTOOL=/usr/bin/libtool
make one_time_password.so V=1 LIBTOOL=/usr/bin/libtool
cd -
%if %{api_docs}
@ -613,61 +511,13 @@ ln -sf ../../doc/pidgin-docs/html/ \
@@ -613,61 +511,13 @@ ln -sf ../../doc/pidgin-docs/html/ \
$RPM_BUILD_ROOT%{_datadir}/gtk-doc/html/pidgin
%endif
%if %{build_only_libs}
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/gconf/schemas/purple.schemas
%endif
# Create list of plugins for __requires_exclude
find %{buildroot}/%{_libdir}/purple-2 -name \*.so\* -printf '%f|' | sed -e 's/|$//' > plugins.list
%if ! %{build_only_libs}
%pre
if [ "$1" -gt 1 ]; then
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-uninstall-rule \
%{_sysconfdir}/gconf/schemas/purple.schemas >/dev/null || :
killall -HUP gconfd-2 &> /dev/null || :
fi
%post
touch --no-create %{_datadir}/icons/hicolor || :
[ -x %{_bindir}/gtk-update-icon-cache ] && \
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-install-rule \
%{_sysconfdir}/gconf/schemas/purple.schemas > /dev/null || :
killall -HUP gconfd-2 &> /dev/null || :
%post -n finch -p /sbin/ldconfig
%endif
%post -n libpurple -p /sbin/ldconfig
%if ! %{build_only_libs}
%preun
if [ "$1" -eq 0 ]; then
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-uninstall-rule \
%{_sysconfdir}/gconf/schemas/purple.schemas > /dev/null || :
killall -HUP gconfd-2 &> /dev/null || :
fi
%postun
touch --no-create %{_datadir}/icons/hicolor || :
[ -x %{_bindir}/gtk-update-icon-cache ] && \
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
%postun -n finch -p /sbin/ldconfig
%endif
%postun -n libpurple -p /sbin/ldconfig
%clean
rm -rf $RPM_BUILD_ROOT
%if ! %{build_only_libs}
%files
%defattr(-,root,root,-)
%doc NEWS COPYING AUTHORS README ChangeLog doc/PERL-HOWTO.dox
%{_bindir}/pidgin
%{_bindir}/gaim
@ -681,27 +531,22 @@ rm -rf $RPM_BUILD_ROOT
@@ -681,27 +531,22 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/pixmaps/pidgin/
%{_datadir}/icons/hicolor/*/apps/pidgin.*
%{_datadir}/appdata/pidgin.appdata.xml
%{_sysconfdir}/gconf/schemas/purple.schemas
%if %{split_evolution}
%files evolution
%defattr(-,root,root,-)
%{_libdir}/pidgin/gevolution.so
%endif
%files perl
%defattr(-,root,root,-)
%{_mandir}/man3/Pidgin*
%{_libdir}/pidgin/perl/
%files devel
%defattr(-,root,root,-)
%{_includedir}/pidgin/
%{_libdir}/pkgconfig/pidgin.pc
%endif
%files -f pidgin.lang -n libpurple
%defattr(-,root,root,-)
%doc COPYING
%{_libdir}/purple-2/
%exclude %{_libdir}/purple-2/perl
@ -724,7 +569,6 @@ rm -rf $RPM_BUILD_ROOT
@@ -724,7 +569,6 @@ rm -rf $RPM_BUILD_ROOT
%exclude %{_libdir}/purple-2/perl/
%files -n libpurple-devel
%defattr(-,root,root,-)
%{_datadir}/aclocal/purple.m4
%{_libdir}/libpurple.so
%{_includedir}/libpurple/
@ -734,45 +578,123 @@ rm -rf $RPM_BUILD_ROOT
@@ -734,45 +578,123 @@ rm -rf $RPM_BUILD_ROOT
%endif
%files -n libpurple-perl
%defattr(-,root,root,-)
%{_mandir}/man3/Purple*
%{_libdir}/purple-2/perl.so
%{_libdir}/purple-2/perl/
%files -n libpurple-tcl
%defattr(-,root,root,-)
%{_libdir}/purple-2/tcl.so
%if ! %{build_only_libs}
%files -n finch
%defattr(-,root,root,-)
%{_bindir}/finch
%{_libdir}/finch/
%{_libdir}/gnt/
%{_libdir}/libgnt.so.*
%{_mandir}/man1/finch.*
%files -n finch-devel
%defattr(-,root,root,-)
%{_includedir}/finch/
%{_includedir}/gnt/
%{_libdir}/libgnt.so
%{_libdir}/pkgconfig/gnt.pc
%{_libdir}/pkgconfig/finch.pc
%endif
%if %{api_docs}
%files -n pidgin-docs
%defattr(-,root,root,-)
%doc html
%{_datadir}/gtk-doc/html/*
%endif
%changelog
* Mon Jul 20 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 2.14.1-1
- New version
Resolves: rhbz#1856866
- Dropped purple-remote-python3, python-3.8-fix patches (not needed)
- Dropped fix-build-against-nm-1.0 patch (upstreamed)
- Split libgnt to separate package
* Thu Jun 25 2020 Jitka Plesnikova <jplesnik@redhat.com> - 2.13.0-21
- Perl 5.32 rebuild
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.13.0-20
- Rebuilt for Python 3.9
* Mon May 4 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 2.13.0-19
- Fixed spec syntax error in the evolution integration conditional
* Wed Apr 22 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 2.13.0-18
- Dropped gconf
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.13.0-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.13.0-16
- Rebuilt for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.13.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jul 04 2019 Stefan Becker <chemobejk@gmail.com> - 2.13.0-14
- add support for NetworkManager-libnm integration (#1726938)
* Fri Jun 07 2019 Debarshi Ray <rishi@fedoraproject.org> - 2.13.0-13
- Drop AIM support
* Tue Jun 04 2019 Jitka Plesnikova <jplesnik@redhat.com> - 2.13.0-12
- Perl 5.30 re-rebuild updated packages
* Tue Jun 4 2019 Jaroslav Škarvada <jskarvad@redhat.com> - 2.13.0-11
- Fixed FTBFS with python-3.8
Resolves: rhbz#1716480
- Made build more verbose (V=1)
- De-fuzzified patches
* Sat Jun 01 2019 Jitka Plesnikova <jplesnik@redhat.com> - 2.13.0-10
- Perl 5.30 rebuild
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.13.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 14 2019 Björn Esser <besser82@fedoraproject.org> - 2.13.0-8
- Rebuilt for libcrypt.so.2 (#1666033)
* Tue Oct 09 2018 Debarshi Ray <rishi@fedoraproject.org> - 2.13.0-7
- Honor %%{valgrind_arches}
* Tue Jul 31 2018 Debarshi Ray <rishi@fedoraproject.org> - 2.13.0-6
- Update License
* Mon Jul 30 2018 Debarshi Ray <rishi@fedoraproject.org> - 2.13.0-5
- Make python3-config available during the build
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.13.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Jun 29 2018 Jitka Plesnikova <jplesnik@redhat.com> - 2.13.0-3
- Perl 5.28 rebuild
* Fri May 25 2018 Adam Jackson <ajax@redhat.com> - 2.13.0-2
- Rebuild for new libidn
* Mon Apr 16 2018 Björn Esser <besser82@fedoraproject.org> - 2.13.0-1
- Update to 2.13.0 (#1553811)
- Drop nm-glib on Fedora 29+ (#1530657)
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.12.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 2.12.0-7
- Rebuilt for switch to libxcrypt
* Thu Dec 21 2017 Merlin Mathesius <mmathesi@redhat.com> - 2.12.0-6
- Cleanup spec file conditionals
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.12.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.12.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sun Jun 04 2017 Jitka Plesnikova <jplesnik@redhat.com> - 2.12.0-3
- Perl 5.26 rebuild
* Wed Apr 26 2017 Debarshi Ray <rishi@fedoraproject.org> - 2.12.0-2
- Avoid a use-after-free in an error path (#1445915)