From d81bbdd3924f63fb6e5453147b2d1ad0e09b5476 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Tue, 26 Jan 2021 05:09:16 -0500 Subject: [pidgin]: upgrade to v2.14.1 --- nonprism/pidgin/PKGBUILD | 118 ++++++++++---------- nonprism/pidgin/nonprism.patch | 50 --------- nonprism/pidgin/pidgin-nm-1.0.patch | 52 --------- nonprism/pidgin/pidgin-python-3.8.patch | 13 --- nonprism/pidgin/purple-remote-python3.patch | 34 ------ nonprism/pidgin/remove-services.patch | 160 ++++++++++++++++++++++++++++ 6 files changed, 217 insertions(+), 210 deletions(-) delete mode 100644 nonprism/pidgin/nonprism.patch delete mode 100644 nonprism/pidgin/pidgin-nm-1.0.patch delete mode 100644 nonprism/pidgin/pidgin-python-3.8.patch delete mode 100644 nonprism/pidgin/purple-remote-python3.patch create mode 100644 nonprism/pidgin/remove-services.patch diff --git a/nonprism/pidgin/PKGBUILD b/nonprism/pidgin/PKGBUILD index 3baaaae49..255bc75b1 100644 --- a/nonprism/pidgin/PKGBUILD +++ b/nonprism/pidgin/PKGBUILD @@ -1,58 +1,69 @@ -# $Id: PKGBUILD 290450 2017-03-10 02:57:28Z foutrelis $ -# Maintainer (Arch): Evangelos Foutras -# Contributor (Arch): Ionut Biru -# Contributor (Arch): Andrea Scarpino -# Contributor (Arch): Alexander Fehr -# Contributor (Arch): Lucien Immink -# Maintainer: André Silva +# Maintainer (arch): Evangelos Foutras +# Contributor: Ionut Biru +# Contributor: Andrea Scarpino +# Contributor: Alexander Fehr +# Contributor: Lucien Immink +# Contributor: André Silva # Contributor: Márcio Silva +# Contributor: bill-auger + + +# parabola changes and rationale: +# - remove modules for non-privacy-respecting services + pkgname=('pidgin' 'libpurple' 'finch') -pkgver=2.13.0 -pkgrel=9.nonprism1 -arch=('i686' 'x86_64' 'armv7h') +pkgver=2.14.1 +pkgrel=3 +pkgrel+=.nonprism1 +arch=('x86_64') +arch+=('armv7h' 'i686') url="https://pidgin.im/" license=('GPL') makedepends=('startup-notification' 'gtkspell' 'libxss' 'nss' 'libsasl' 'libsm' - 'libidn' 'python' 'hicolor-icon-theme' 'farstream' 'tk' - 'libnsl' 'avahi' 'ca-certificates' 'intltool' 'libnm' 'dbus-glib') -source=(https://bitbucket.org/pidgin/main/downloads/$pkgname-$pkgver.tar.bz2{,.asc} - purple-remote-python3.patch - pidgin-python-3.8.patch - pidgin-nm-1.0.patch - nonprism.patch) - -sha256sums=('2747150c6f711146bddd333c496870bfd55058bab22ffb7e4eb784018ec46d8f' - 'SKIP' - '4eb6be9310e4d5d1b906b1d579c395000ee0af6d6f5056307233512151d1f4b1' - 'afc824771b7409859f06b18f88ed9db97e90e3a5b10e5bab60f880c19f058c4f' - 'ca00ab0f502690f7a1551020dfc9a0119edf1eabaae9127658313d6635acda33' - '7024ead994efd4fe0fb404db92ff4358ba2dfa83d31a1871818faf2894744f97') -validpgpkeys=('364E2EB38EA6A8D61FB963AD75FE259AA8AC8032') # Gary Kramlich (grim) + 'libidn' 'libgadu' 'python' 'hicolor-icon-theme' 'farstream' 'tk' + 'libnsl' 'avahi' 'ca-certificates' 'intltool' 'libnm' 'dbus-glib' + 'libgnt' 'libxcrypt') +makedepends=(${makedepends[*]/libgadu}) +source=(https://downloads.sourceforge.net/project/pidgin/Pidgin/$pkgver/$pkgname-$pkgver.tar.bz2{,.asc}) +source+=(remove-services.patch) +sha256sums=('f132e18d551117d9e46acce29ba4f40892a86746c366999166a3862b51060780' + 'SKIP') +sha256sums+=('25dd0f14b58939dbf9bcc4b95f1471f2a2438b5c9e5f9aca717d48c337229981') +validpgpkeys=('40DE1DC7288FE3F50AB938C548F66AFFD9BDB729') # Gary Kramlich + prepare() { cd $pkgbase-$pkgver - # https://developer.pidgin.im/ticket/17065 - patch -Np1 -i ../purple-remote-python3.patch - # Fix networkmanager 1.0 detection (Fedora) - patch -p1 -i ../pidgin-nm-1.0.patch - # Fix build with python 3.8 - patch -p1 -i ../pidgin-python-3.8.patch - msg "Remove Google Talk and Facebook protocols" - patch -Np1 -i "$srcdir/nonprism.patch" + echo "applying remove-services.patch" + patch -Np1 -i "${srcdir}"/remove-services.patch - msg "Remove wrong OS term" + # replace 'Linux' with 'GNU/Linux' in doc strings + sed -i 's|on Linux|on GNU/Linux|' doc/pidgin.1.in sed -i 's|on Linux|on GNU/Linux|' libpurple/valgrind.h sed -i 's|On Linux|On GNU/Linux|' libpurple/connection.h - autoreconf -vi + # delete icons for removed services + # ASSERT: these correspond to the remove-services.patch changes to pidgin/pixmaps/Makefile.am + local remove_imgs_rx='aim\.|facebook\.|gadu-gadu\.|google-talk\.|icq\.|meanwhile\.|novell\.' + local remove_imgs=$(find pidgin/pixmaps/protocols/ -name '*.png' -or -name '*.svg' | \ + grep -E "${remove_imgs_rx}" ) + rm ${remove_imgs} + rm pidgin/pixmaps/Makefile.in ; automake ; + + # delete references to removed services + local desktop_file=pidgin/data/pidgin.desktop.in + rm ${desktop_file} + sed -i 's|^\(_Comment=\).*|\1Chat over IRC, Jabber/XMPP, and more|' ${desktop_file}.in } build() { cd $pkgbase-$pkgver + local available_protocols='bonjour,irc,jabber,silc,simple,zephyr' ./configure \ + --with-dynamic-prpls=${available_protocols} \ --prefix=/usr \ --sysconfdir=/etc \ --disable-schemas-install \ @@ -61,18 +72,16 @@ build() { --enable-cyrus-sasl \ --disable-doxygen \ --enable-nm \ - --with-system-ssl-certs=/etc/ssl/certs \ - --with-dynamic-prpls=bonjour,irc,jabber,silc,simple,zephyr + --with-system-ssl-certs=/etc/ssl/certs make } package_pidgin(){ - pkgdesc="Multi-protocol instant messaging client, without support for unsafe and dangerous for privacy protocols" + pkgdesc="Multi-protocol instant messaging client" + pkgdesc+=", without support for non-privacy-respecting services" depends=('libpurple' 'startup-notification' 'gtkspell' 'libxss' 'libsm' 'gst-plugins-base' 'gst-plugins-good' 'hicolor-icon-theme') optdepends=('aspell: for spelling correction') - conflicts=(${pkgname}-nonprism) - replaces=(${pkgname}-nonprism) cd $pkgbase-$pkgver @@ -86,28 +95,18 @@ package_pidgin(){ make -C libpurple DESTDIR="$pkgdir" uninstall-libLTLIBRARIES rm "$pkgdir/usr/share/man/man1/finch.1" - - msg "Removing PRISM images" - rm -v "$pkgdir"/usr/share/pixmaps/pidgin/emblems/{16/aol-client.png,scalable/aol-client.svg} - rm -v "$pkgdir"/usr/share/pixmaps/pidgin/protocols/{16,22}/google-talk.png - rm -v "$pkgdir"/usr/share/pixmaps/pidgin/protocols/{16,22,48}/{aim,facebook,gadu-gadu,icq,meanwhile,novell}.png - rm -v "$pkgdir"/usr/share/pixmaps/pidgin/protocols/scalable/{aim,gadu-gadu,google-talk,icq,meanwhile,novell}.svg - - msg "Pidgin desktop patching" - sed -i "\|Comment\[|d - s|Supports AIM, Google Talk, Jabber/XMPP, and more|Supports Jabber/XMPP and more| - " "$pkgdir"/usr/share/applications/pidgin.desktop } package_libpurple(){ - pkgdesc="IM library extracted from Pidgin, without support for unsafe and dangerous for privacy protocols" - depends=('farstream' 'libsasl' 'libidn' 'libnsl' 'dbus-glib' 'nss') + pkgdesc="IM library extracted from Pidgin" + pkgdesc+=", without support for non-privacy-respecting services" + depends=('farstream' 'libsasl' 'libidn' 'libnsl' 'libgadu' 'dbus-glib' 'nss' + 'libnm' 'libxcrypt') + depends=(${depends[*]/libgadu}) optdepends=('avahi: Bonjour protocol support' 'ca-certificates: SSL CA certificates' 'python-dbus: for purple-remote and purple-url-handler' 'tk: Tcl/Tk scripting support') - conflicts=(${pkgname}-nonprism) - replaces=(${pkgname}-nonprism) cd $pkgbase-$pkgver @@ -117,10 +116,9 @@ package_libpurple(){ } package_finch(){ - pkgdesc="A ncurses-based messaging client, without support for unsafe and dangerous for privacy protocols" - depends=('libpurple' 'libx11' 'python') - conflicts=(${pkgname}-nonprism) - replaces=(${pkgname}-nonprism) + pkgdesc="A ncurses-based messaging client" + pkgdesc+=", without support for non-privacy-respecting services" + depends=('libpurple' 'libgnt' 'libx11') cd $pkgbase-$pkgver @@ -135,5 +133,3 @@ package_finch(){ rm "$pkgdir"/usr/share/man/man1/pidgin.1 } - -# vim:set ts=2 sw=2 et: diff --git a/nonprism/pidgin/nonprism.patch b/nonprism/pidgin/nonprism.patch deleted file mode 100644 index f42f83227..000000000 --- a/nonprism/pidgin/nonprism.patch +++ /dev/null @@ -1,50 +0,0 @@ ---- pidgin-2.13.0.orig/pidgin/gtkutils.c 2018-03-06 01:00:49.000000000 -0500 -+++ pidgin-2.13.0/pidgin/gtkutils.c 2018-07-03 19:15:12.211571089 -0500 -@@ -677,7 +677,6 @@ - GdkPixbuf *pixbuf = NULL; - GtkSizeGroup *sg; - GList *p; -- const char *gtalk_name = NULL; - int i; - - aop_menu = g_malloc0(sizeof(AopMenu)); -@@ -686,39 +685,12 @@ - gtk_widget_show(aop_menu->menu); - sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); - -- if (purple_find_prpl("prpl-jabber")) { -- gtalk_name = _("Google Talk"); -- } -- - for (p = purple_plugins_get_protocols(), i = 0; - p != NULL; - p = p->next, i++) { - - plugin = (PurplePlugin *)p->data; - -- if (gtalk_name && strcmp(gtalk_name, plugin->info->name) < 0) { -- char *filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "protocols", -- "16", "google-talk.png", NULL); -- GtkWidget *item; -- -- pixbuf = pidgin_pixbuf_new_from_file(filename); -- g_free(filename); -- -- gtk_menu_shell_append(GTK_MENU_SHELL(aop_menu->menu), -- item = aop_menu_item_new(sg, pixbuf, gtalk_name, "prpl-jabber", "protocol")); -- g_object_set_data(G_OBJECT(item), "fakegoogle", GINT_TO_POINTER(1)); -- -- if (pixbuf) -- g_object_unref(pixbuf); -- -- /* libpurple3 compatibility */ -- if (purple_strequal(default_proto_id, "prpl-gtalk")) -- aop_menu->default_item = i; -- -- gtalk_name = NULL; -- i++; -- } -- - pixbuf = pidgin_create_prpl_icon_from_prpl(plugin, PIDGIN_PRPL_ICON_SMALL, NULL); - - gtk_menu_shell_append(GTK_MENU_SHELL(aop_menu->menu), diff --git a/nonprism/pidgin/pidgin-nm-1.0.patch b/nonprism/pidgin/pidgin-nm-1.0.patch deleted file mode 100644 index 781612f24..000000000 --- a/nonprism/pidgin/pidgin-nm-1.0.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index 04836fa..0a2d451 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1423,18 +1423,24 @@ fi - dnl Check for NetworkManager.h; if we don't have it, oh well - if test "x$enable_dbus" = "xyes" ; then - if test "x$enable_nm" = "xyes" ; then -- PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [ -+ PKG_CHECK_MODULES(NETWORKMANAGER, [libnm], [ - AC_SUBST(NETWORKMANAGER_CFLAGS) - AC_SUBST(NETWORKMANAGER_LIBS) - AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.]) - ], [ -- enable_nm=no -- if test "x$force_deps" = "xyes" ; then -- AC_MSG_ERROR([ -+ PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [ -+ AC_SUBST(NETWORKMANAGER_CFLAGS) -+ AC_SUBST(NETWORKMANAGER_LIBS) -+ AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.]) -+ ], [ -+ enable_nm=no -+ if test "x$force_deps" = "xyes" ; then -+ AC_MSG_ERROR([ - NetworkManager development headers not found. - Use --disable-nm if you do not need NetworkManager support. - ]) -- fi]) -+ fi]) -+ ]) - fi - else - enable_nm=no -diff --git a/libpurple/network.c b/libpurple/network.c -index c43e3c7..b17e439 100644 ---- a/libpurple/network.c -+++ b/libpurple/network.c -@@ -939,8 +939,13 @@ nm_update_state(NMState state) - #if NM_CHECK_VERSION(0,8,992) - case NM_STATE_DISCONNECTING: - #endif -+#if NM_CHECK_VERSION(1,0,0) -+ if (prev != NM_STATE_CONNECTED_GLOBAL && prev != NM_STATE_UNKNOWN) -+ break; -+#else - if (prev != NM_STATE_CONNECTED && prev != NM_STATE_UNKNOWN) - break; -+#endif - if (ui_ops != NULL && ui_ops->network_disconnected != NULL) - ui_ops->network_disconnected(); - break; diff --git a/nonprism/pidgin/pidgin-python-3.8.patch b/nonprism/pidgin/pidgin-python-3.8.patch deleted file mode 100644 index 06063ad56..000000000 --- a/nonprism/pidgin/pidgin-python-3.8.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index d916891..d8c39a0 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1565,7 +1565,7 @@ if test "x$enable_consoleui" = "xyes" -a ! -z "$PYTHON" -a x"$PYTHON" != x"no" ; - AC_MSG_CHECKING(for Python compile flags) - if test -f ${PYTHON}-config; then - PY_CFLAGS=`${PYTHON}-config --includes` -- PY_LIBS=`${PYTHON}-config --libs` -+ PY_LIBS=`${PYTHON}-config --libs --embed` || PY_LIBS=`${PYTHON}-config --libs` - AC_DEFINE(USE_PYTHON, [1], [Define if python headers are available.]) - AC_MSG_RESULT(ok) - else diff --git a/nonprism/pidgin/purple-remote-python3.patch b/nonprism/pidgin/purple-remote-python3.patch deleted file mode 100644 index 4bcf5c9cf..000000000 --- a/nonprism/pidgin/purple-remote-python3.patch +++ /dev/null @@ -1,34 +0,0 @@ -# HG changeset patch -# User Evangelos Foutras -# Date 1520583640 -7200 -# Fri Mar 09 10:20:40 2018 +0200 -# Branch release-2.x.y -# Node ID ac2e05444162f1dc0fd60e4d5c8b4cbe2969b695 -# Parent 02df346d26d00cb9a1420c11a59fccb35d92f04e -Adjust purple-remote to work with Python 3 - -Fixes the following error: - - Traceback (most recent call last): - File "./libpurple/purple-remote", line 241, in - print("No existing libpurple instance detected.") - File "/usr/lib/python3.6/codecs.py", line 377, in write - self.stream.write(data) - TypeError: write() argument must be str, not bytes - -diff -r 02df346d26d0 -r ac2e05444162 libpurple/purple-remote ---- a/libpurple/purple-remote Thu Mar 08 22:51:37 2018 -0600 -+++ b/libpurple/purple-remote Fri Mar 09 10:20:40 2018 +0200 -@@ -13,8 +13,10 @@ - - import xml.dom.minidom - --sys.stdin = codecs.getwriter('utf-8')(sys.stdin); --sys.stdout = codecs.getwriter('utf-8')(sys.stdout); -+if hasattr(sys.stdout, 'buffer'): -+ sys.stdout = codecs.getwriter('utf-8')(sys.stdout.buffer) -+else: -+ sys.stdout = codecs.getwriter('utf-8')(sys.stdout) - - xml.dom.minidom.Element.all = xml.dom.minidom.Element.getElementsByTagName - diff --git a/nonprism/pidgin/remove-services.patch b/nonprism/pidgin/remove-services.patch new file mode 100644 index 000000000..f7e4e0264 --- /dev/null +++ b/nonprism/pidgin/remove-services.patch @@ -0,0 +1,160 @@ +diff --git a/pidgin/gtkutils.c b/pidgin/gtkutils.c +index 8ae28e1..7c94cbf 100644 +--- a/pidgin/gtkutils.c ++++ b/pidgin/gtkutils.c +@@ -677,7 +677,6 @@ create_protocols_menu(const char *default_proto_id) + GdkPixbuf *pixbuf = NULL; + GtkSizeGroup *sg; + GList *p; +- const char *gtalk_name = NULL; + int i; + + aop_menu = g_malloc0(sizeof(AopMenu)); +@@ -686,39 +685,12 @@ create_protocols_menu(const char *default_proto_id) + gtk_widget_show(aop_menu->menu); + sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); + +- if (purple_find_prpl("prpl-jabber")) { +- gtalk_name = _("Google Talk"); +- } +- + for (p = purple_plugins_get_protocols(), i = 0; + p != NULL; + p = p->next, i++) { + + plugin = (PurplePlugin *)p->data; + +- if (gtalk_name && strcmp(gtalk_name, plugin->info->name) < 0) { +- char *filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "protocols", +- "16", "google-talk.png", NULL); +- GtkWidget *item; +- +- pixbuf = pidgin_pixbuf_new_from_file(filename); +- g_free(filename); +- +- gtk_menu_shell_append(GTK_MENU_SHELL(aop_menu->menu), +- item = aop_menu_item_new(sg, pixbuf, gtalk_name, "prpl-jabber", "protocol")); +- g_object_set_data(G_OBJECT(item), "fakegoogle", GINT_TO_POINTER(1)); +- +- if (pixbuf) +- g_object_unref(pixbuf); +- +- /* libpurple3 compatibility */ +- if (purple_strequal(default_proto_id, "prpl-gtalk")) +- aop_menu->default_item = i; +- +- gtalk_name = NULL; +- i++; +- } +- + pixbuf = pidgin_create_prpl_icon_from_prpl(plugin, PIDGIN_PRPL_ICON_SMALL, NULL); + + gtk_menu_shell_append(GTK_MENU_SHELL(aop_menu->menu), +diff --git a/pidgin/pixmaps/Makefile.am b/pidgin/pixmaps/Makefile.am +index 8c24469..77f8469 100644 +--- a/pidgin/pixmaps/Makefile.am ++++ b/pidgin/pixmaps/Makefile.am +@@ -89,7 +89,6 @@ DIALOGS_SCALABLE = \ + dialogs/scalable/warning.svg + + EMBLEMS_16 = \ +- emblems/16/aol-client.png \ + emblems/16/birthday.png \ + emblems/16/blocked.png \ + emblems/16/bot.png \ +@@ -110,7 +109,6 @@ EMBLEMS_16 = \ + emblems/16/voice.png + + EMBLEMS_SCALABLE = \ +- emblems/scalable/aol-client.svg \ + emblems/scalable/blocked.svg \ + emblems/scalable/bot.svg \ + emblems/scalable/external.svg \ +@@ -201,29 +199,17 @@ EMOTES_SMALL_16_SCALABLE = \ + emotes/small/16/scalable/pidgin-emotes.svg + + PROTOCOLS_16_SCALABLE = \ +- protocols/16/scalable/aim.svg \ + protocols/16/scalable/bonjour.svg \ +- protocols/16/scalable/gadu-gadu.svg \ +- protocols/16/scalable/novell.svg \ +- protocols/16/scalable/icq.svg \ + protocols/16/scalable/irc.svg \ + protocols/16/scalable/jabber.svg \ +- protocols/16/scalable/meanwhile.svg \ + protocols/16/scalable/silc.svg \ + protocols/16/scalable/simple.svg \ + protocols/16/scalable/zephyr.svg + + PROTOCOLS_16 = \ +- protocols/16/aim.png \ + protocols/16/bonjour.png \ +- protocols/16/facebook.png \ +- protocols/16/gadu-gadu.png \ +- protocols/16/google-talk.png \ +- protocols/16/novell.png \ +- protocols/16/icq.png \ + protocols/16/irc.png \ + protocols/16/jabber.png \ +- protocols/16/meanwhile.png \ + protocols/16/silc.png \ + protocols/16/simple.png \ + protocols/16/zephyr.png +@@ -250,57 +236,33 @@ ICONS_48 = icons/hicolor/48x48/apps/pidgin.png + ICONS_SCALABLE = icons/hicolor/scalable/apps/pidgin.svg + + PROTOCOLS_22_SCALABLE = \ +- protocols/22/scalable/aim.svg \ + protocols/22/scalable/bonjour.svg \ +- protocols/22/scalable/gadu-gadu.svg \ +- protocols/22/scalable/novell.svg \ +- protocols/22/scalable/icq.svg \ + protocols/22/scalable/irc.svg \ + protocols/22/scalable/jabber.svg \ +- protocols/22/scalable/meanwhile.svg \ + protocols/22/scalable/silc.svg \ + protocols/22/scalable/simple.svg \ + protocols/22/scalable/zephyr.svg + + PROTOCOLS_22 = \ +- protocols/22/aim.png \ + protocols/22/bonjour.png \ +- protocols/22/facebook.png \ +- protocols/22/gadu-gadu.png \ +- protocols/22/google-talk.png \ +- protocols/22/novell.png \ +- protocols/22/icq.png \ + protocols/22/irc.png \ + protocols/22/jabber.png \ +- protocols/22/meanwhile.png \ + protocols/22/silc.png \ + protocols/22/simple.png \ + protocols/22/zephyr.png + + PROTOCOLS_48 = \ +- protocols/48/aim.png \ + protocols/48/bonjour.png \ +- protocols/48/facebook.png \ +- protocols/48/gadu-gadu.png \ +- protocols/48/novell.png \ +- protocols/48/icq.png \ + protocols/48/irc.png \ + protocols/48/jabber.png \ +- protocols/48/meanwhile.png \ + protocols/48/silc.png \ + protocols/48/simple.png \ + protocols/48/zephyr.png + + PROTOCOLS_SCALABLE = \ +- protocols/scalable/aim.svg \ + protocols/scalable/bonjour.svg \ +- protocols/scalable/gadu-gadu.svg \ +- protocols/scalable/google-talk.svg \ +- protocols/scalable/novell.svg \ +- protocols/scalable/icq.svg \ + protocols/scalable/irc.svg \ + protocols/scalable/jabber.svg \ +- protocols/scalable/meanwhile.svg \ + protocols/scalable/silc.svg \ + protocols/scalable/simple.svg \ + protocols/scalable/zephyr.svg -- cgit v1.2.3