# # spec file for package pidgin # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define _name Pidgin Name: pidgin Version: 2.11.0 Release: 0 Summary: Multiprotocol Instant Messaging Client License: GPL-2.0+ Group: Productivity/Networking/Instant Messenger Url: https://pidgin.im/ Source: http://downloads.sf.net/%{name}/%{name}-%{version}.tar.bz2 Source1: http://downloads.sf.net/%{name}/%{name}-%{version}.tar.bz2.asc Source2: pidgin.keyring Source3: pidgin-prefs.xml # PATCH-FIX-OPENSUSE pidgin-nonblock-common.patch Patch0: pidgin-nonblock-common.patch # PATCH-FIX-OPENSUSE pidgin-nonblock-gwim.patch Patch1: pidgin-nonblock-gwim.patch # PATCH-FIX-OPENSUSE pidgin-nonblock-common2.patch Patch2: pidgin-nonblock-common2.patch # PATCH-FEATURE-SLE pidgin-gnome-keyring.patch Patch3: pidgin-gnome-keyring.patch # PATCH-FIX-OPENSUSE pidgin-fix-perl-build.patch vuntz@opensuse.org -- Revert http://developer.pidgin.im/viewmtn/revision/info/f32151852a00fb5abd3fdccdd8df2419031666de as it breaks the build. Patch4: pidgin-fix-perl-build.patch # PATCH-FIX-UPSTREAM pidgin-crash-missing-gst-registry.patch boo#866455 pidgin.im#16224 cxiong@suse.com -- Fix crash when GST registry cache file is missing. Patch5: pidgin-crash-missing-gst-registry.patch # PATCH-FIX-UPSTREAM pidgin-ncurses-6.0-accessors.patch pidgin.im#16764 dimstar@opensuse.org -- Fix build with NCurses 6.0 with WINDOW_OPAQUE set to 1 Patch6: pidgin-ncurses-6.0-accessors.patch BuildRequires: NetworkManager-devel # Can use external libzephyr. BuildRequires: cyrus-sasl-devel BuildRequires: dbus-1-devel BuildRequires: dbus-1-glib-devel BuildRequires: doxygen BuildRequires: fdupes BuildRequires: graphviz BuildRequires: gtk-doc BuildRequires: gtkspell-devel BuildRequires: intltool BuildRequires: libavahi-glib-devel BuildRequires: libgadu-devel BuildRequires: libgnutls-devel BuildRequires: libidn-devel BuildRequires: libnotify-devel BuildRequires: libstdc++-devel BuildRequires: libtool BuildRequires: libxml2-devel BuildRequires: libxslt BuildRequires: meanwhile-devel BuildRequires: mozilla-nspr-devel BuildRequires: ncurses-devel BuildRequires: pkg-config BuildRequires: python-devel BuildRequires: silc-toolkit-devel BuildRequires: startup-notification-devel BuildRequires: tk-devel BuildRequires: update-desktop-files Requires: perl-base >= %{perl_version} BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} > 1320 || (0%{?sle_version} >= 120100 && 0%{?is_opensuse}) BuildRequires: farstream-devel >= 0.2.7 BuildRequires: gstreamer-devel BuildRequires: gstreamer-plugins-base-devel Recommends: gstreamer-plugins-good %else BuildRequires: gstreamer-0_10-devel BuildRequires: gstreamer-0_10-plugins-base-devel Recommends: gstreamer-0_10-plugins-good %endif %if 0%{?suse_version} < 1120 Recommends: %{name}-emoticons-nld Recommends: %{name}-emoticons-tango %endif # gnome-keyring support summary (boo#566286): # 11.1 & SLE11: patch present and active (boo#569025) # 11.2 and above: patch not applied # For openSUSE, it's better to avoid this patch: # + does not work well outside GNOME # - passwords are stored in readable form %if 0%{?suse_version} < 1120 BuildRequires: gnome-keyring-devel %endif %if 0%{?suse_version} > 1210 BuildRequires: libSM-devel BuildRequires: libX11-devel BuildRequires: libXScrnSaver-devel BuildRequires: libXext-devel BuildRequires: mozilla-nss-devel %endif %if 0%{?suse_version} >= 1230 BuildRequires: ca-certificates-mozilla Requires: ca-certificates-mozilla %else BuildRequires: openssl-certs Requires: openssl-certs %endif %if 0%{?suse_version} >= 1120 BuildRequires: translation-update-upstream %else # Missing in silc-toolkit-devel. BuildRequires: pam-devel %endif %description Pidgin is a chat program which lets you log in to accounts on multiple chat networks simultaneously. Pidgin is compatible with the following chat networks out of the box: Jabber/XMPP, AIM, ICQ, Yahoo!, Bonjour, Gadu-Gadu, IRC, SILC, SIMPLE, Novell GroupWise Messenger, Lotus Sametime, MXit, MySpaceIM, and Zephyr. It can support many more with plugins. %package devel Summary: Development Headers, Documentation, and Libraries for Pidgin Group: Development/Libraries/C and C++ Requires: %{name} = %{version} Requires: glib2-devel Requires: gtk2-devel Requires: libpurple-devel = %{version} %description devel The pidgin-devel package contains the header files, developer documentation, and libraries required for development of Pidgin scripts and plugins. %package -n libpurple Summary: GLib-based Instant Messenger Library Group: System/Libraries # Not really required, but standard XMPP accounts require it, if compiled with SASL support. Requires: cyrus-sasl-digestmd5 Requires: cyrus-sasl-plain # Needed for purple-url-handler. Requires: dbus-1-python Requires: perl >= %{perl_version} Recommends: libpurple-lang %if 0%{?suse_version} >= 1230 Requires: ca-certificates-mozilla %else Requires: openssl-certs %endif %description -n libpurple libpurple is a library intended to be used by programmers seeking to write an IM client that connects to many IM networks. libpurple is compatible with the following chat networks out of the box: Jabber/XMPP, AIM, ICQ, Yahoo!, Bonjour, Gadu-Gadu, IRC, SILC, SIMPLE, Novell GroupWise Messenger, Lotus Sametime, MXit, MySpaceIM, and Zephyr. It can support many more with plugins. %lang_package -n libpurple %if 0%{?suse_version} > 1140 %package -n libpurple-branding-upstream Summary: GLib-based Instant Messenger Library -- Upstream default configuration Group: System/Libraries Requires: libpurple = %{version} Supplements: packageand(libpurple:branding-upstream) Conflicts: otherproviders(libpurple-branding) Provides: libpurple-branding = %{version} BuildArch: noarch #BRAND: Provides /etc/purple/prefs.xml, the default configuration for #BRAND: libpurple, and libpurple-based clients. %description -n libpurple-branding-upstream libpurple is a library intended to be used by programmers seeking to write an IM client that connects to many IM networks. libpurple is compatible with the following chat networks out of the box: Jabber/XMPP, AIM, ICQ, Yahoo!, Bonjour, Gadu-Gadu, IRC, SILC, SIMPLE, Novell GroupWise Messenger, Lotus Sametime, MXit, MySpaceIM, and Zephyr. It can support many more with plugins. This package provides the openSUSE default configuration for Pidgin. %endif %package -n libpurple-devel Summary: Development Headers, Documentation, and Libraries for libpurple Group: Development/Libraries/C and C++ Requires: NetworkManager-devel Requires: NetworkManager-glib Requires: glib2-devel Requires: libpurple = %{version} Requires: libxml2-devel %description -n libpurple-devel The libpurple-devel package contains the header files, developer documentation, and libraries required for development of libpurple based instant messaging clients or plugins for any libpurple based client. %package -n libpurple-meanwhile Summary: Sametime Plugin for Pidgin using the Meanwhile Library Group: Productivity/Networking/Instant Messenger Requires: libpurple = %{version} %description -n libpurple-meanwhile Lotus Sametime plugin for Pidgin using the Meanwhile library. %package -n libpurple-tcl Summary: TCL Plugin Support for Pidgin Group: Productivity/Networking/Instant Messenger Requires: libpurple = %{version} Supplements: packageand(libpurple:tcl) %description -n libpurple-tcl TCL plugin loader for Pidgin. This package will allow you to write or use Pidgin plugins written in the TCL programming language. %package -n finch Summary: Text-Based User Interface for Pidgin Instant Messaging Client Group: Productivity/Networking/Instant Messenger Requires: libpurple = %{version} %description -n finch A text-based user interface for using libpurple. This can be run from a standard text console or from a terminal within X Windows. It uses ncurses and our homegrown gnt library for drawing windows and text. %package -n finch-devel Summary: Headers etc. for finch Stuffs Group: Development/Libraries/C and C++ Requires: finch = %{version} Requires: glib2-devel Requires: glibc-devel Requires: libpurple-devel = %{version} Requires: ncurses-devel %description -n finch-devel The finch-devel package contains the header files, developer documentation, and libraries required for development of Finch scripts and plugins. %prep %setup -q %if 0%{?suse_version} >= 1120 translation-update-upstream %endif %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 cp -f %{SOURCE3} %{name}-prefs.xml # Change Myanmar/Myanmar to Myanmar. mv -f po/my_MM.po po/my.po sed -i "/ALL_LINGUAS/s/ my_MM / my /" configure.ac %build export CFLAGS="%{optflags} -fstack-protector -fPIC" export CXXFLAGS="%{optflags} -fstack-protector -fPIC" export FFLAGS="%{optflags} -fstack-protector -fPIC" export LDFLAGS="-pie" autoreconf -fi %configure \ --disable-static \ --enable-plugins \ --enable-cyrus-sasl \ --enable-dbus \ --enable-gstreamer \ %if 0%{?suse_version} > 1320 || (0%{?sle_version} >= 120100 && 0%{?is_opensuse}) --with-gstreamer=1.0 \ --enable-vv \ %else --with-gstreamer=0.10 \ --disable-vv \ %endif %if 0%{?suse_version} < 1120 --enable-gnome-keyring \ %endif --enable-nm \ --enable-dbus \ --enable-devhelp \ --with-tclconfig=%{_libdir} \ --with-tkconfig=%{_libdir} \ --with-system-ssl-certs=%{_sysconfdir}/ssl/certs/ make %{?_smp_mflags} %install %make_install %if 0%{?suse_version} > 1140 install -Dm 0644 %{name}-prefs.xml %{buildroot}%{_sysconfdir}/purple/prefs.xml %else mkdir -p %{buildroot}%{_sysconfdir}/purple/ rm -f %{buildroot}%{_sysconfdir}/gconf/schemas/purple.schemas %endif %perl_process_packlist find %{buildroot} -type f -name "perllocal.pod" -delete -print find %{buildroot} -type f -name ".packlist" -delete -print find %{buildroot} -type f -name "*.bs" -empty -delete -print find %{buildroot} -type f -name "*.la" -delete -print # FIXME: Should be nonversioned name. ls %{buildroot}%{_libdir}/purple-2/*.so | while read libim; do if [ -L %{buildroot}%{_libdir}/purple-2/$libim ]; then rm -f %{buildroot}%{_libdir}/purple-2/$libim fi done find %{buildroot}%{_libdir}/purple-2/ -xtype f -print | \ sed -e "s|^%{buildroot}||g;/\libsametime.so/d;/\/tcl.so/d" \ > %{name}-%{version}-purpleplugins find %{buildroot}%{_libdir}/finch/ -maxdepth 1 -xtype f -print | \ sed -e "s|^%{buildroot}||g" > %{name}-%{version}-finchplugins %fdupes %{buildroot} %suse_update_desktop_file -N %{_name} -G "Instant Messenger" %{name} %find_lang %{name} %{?no_lang_C} %if 0%{?suse_version} > 1130 %post %desktop_database_post %icon_theme_cache_post %postun %desktop_database_postun %icon_theme_cache_postun %endif %post -n libpurple -p /sbin/ldconfig %postun -n libpurple -p /sbin/ldconfig %post -n finch -p /sbin/ldconfig %postun -n finch -p /sbin/ldconfig %files %defattr(-,root,root) %doc AUTHORS COPYING COPYRIGHT ChangeLog README doc/the_penguin.txt %{_bindir}/%{name} %{_libdir}/%{name}/ %dir %{_datadir}/appdata/ %{_datadir}/appdata/pidgin.appdata.xml %{_datadir}/pixmaps/%{name}/ %{_datadir}/icons/hicolor/*/apps/* %{_datadir}/applications/*.desktop %{_datadir}/sounds/purple/ %{_mandir}/man1/%{name}.1%{?ext_man} %files devel %defattr(-,root,root) %{_includedir}/%{name} %{_libdir}/pkgconfig/%{name}.pc %{_mandir}/man3/%{_name}.3*%{?ext_man} %files -n libpurple -f %{name}-%{version}-purpleplugins %defattr(-,root,root) %dir %{_sysconfdir}/purple/ %{_bindir}/purple-client-example %{_bindir}/purple-remote %{_bindir}/purple-send %{_bindir}/purple-send-async %{_bindir}/purple-url-handler %{_libdir}/libpurple.so.* %{_libdir}/libpurple-client.so.* %dir %{_libdir}/purple-2/ %dir %{_libdir}/purple-2/perl/ %dir %{_libdir}/purple-2/perl/*/ %dir %{_libdir}/purple-2/perl/*/*/ %files -n libpurple-lang -f %{name}.lang %defattr(-,root,root) %if 0%{?suse_version} < 1140 # These locales are not included in respective products. # See https://bugzilla.opensuse.org/show_bug.cgi?id=659001 %dir %{_datadir}/locale/brx/ %dir %{_datadir}/locale/brx/LC_MESSAGES/ %dir %{_datadir}/locale/ku_IQ/ %dir %{_datadir}/locale/ku_IQ/LC_MESSAGES/ %dir %{_datadir}/locale/mhr/ %dir %{_datadir}/locale/mhr/LC_MESSAGES/ %dir %{_datadir}/locale/ms_MY/ %dir %{_datadir}/locale/ms_MY/LC_MESSAGES/ %dir %{_datadir}/locale/sd/ %dir %{_datadir}/locale/sd/LC_MESSAGES/ %endif %if 0%{?suse_version} > 1140 %files -n libpurple-branding-upstream %defattr(-,root,root) %config %{_sysconfdir}/purple/prefs.xml %endif %files -n libpurple-meanwhile %defattr(-,root,root) %{_libdir}/purple-2/libsametime.* %files -n libpurple-tcl %defattr(-,root,root) %{_libdir}/purple-2/tcl.so %files -n libpurple-devel %defattr(-,root,root) %doc ChangeLog.API HACKING PLUGIN_HOWTO %doc libpurple/purple-notifications-example %{_includedir}/libpurple/ %{_datadir}/aclocal/purple.m4 %{_libdir}/libpurple.so %{_libdir}/libpurple-client.so %{_libdir}/pkgconfig/purple.pc %{_mandir}/man3/Purple.3* %files -n finch -f %{name}-%{version}-finchplugins %defattr(-,root,root) %{_bindir}/finch %{_libdir}/libgnt.so.* %{_libdir}/gnt/ %dir %{_libdir}/finch/ %{_mandir}/man1/finch.1* %files -n finch-devel %defattr(-,root,root) %{_includedir}/finch/ %{_includedir}/gnt/ %{_libdir}/libgnt.so %{_libdir}/pkgconfig/finch.pc %{_libdir}/pkgconfig/gnt.pc %changelog