gnu: pidgin: Fix build with Meson network-manager.

This is a follow-up commit to 255ff74f3a:
building network-manager with Meson breaks users of NetworkManager.pc.

* gnu/packages/messaging.scm (pidgin)[source]: Add pidgin-libnm.patch.
Force re-bootstrapping in a new snippet.
[native-inputs]: Add autoconf, automake, and libtool.
* gnu/packages/patches/pidgin-libnm.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
This commit is contained in:
Tobias Geerinckx-Rice 2020-05-24 16:09:36 +02:00
parent dfc426582f
commit 4492981706
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79
3 changed files with 77 additions and 2 deletions

View file

@ -1363,6 +1363,7 @@ dist_patch_DATA = \
%D%/packages/patches/perl-www-curl-remove-symbol.patch \
%D%/packages/patches/picprog-non-intel-support.patch \
%D%/packages/patches/pidgin-add-search-path.patch \
%D%/packages/patches/pidgin-libnm.patch \
%D%/packages/patches/pinball-const-fix.patch \
%D%/packages/patches/pinball-cstddef.patch \
%D%/packages/patches/pinball-missing-separators.patch \

View file

@ -440,7 +440,16 @@ (define-public pidgin
version "/pidgin-" version ".tar.bz2"))
(sha256
(base32 "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7"))
(patches (search-patches "pidgin-add-search-path.patch"))))
(patches (search-patches "pidgin-add-search-path.patch"
;; Remove the snippet and bootstrapping
;; native-inputs together with this patch.
"pidgin-libnm.patch"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove stale generated file after applying pidgin-libnm.patch.
(delete-file "configure")
#t))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@ -448,7 +457,12 @@ (define-public pidgin
("intltool" ,intltool)
("gconf" ,gconf)
("python" ,python-2)
("doxygen" ,doxygen)))
("doxygen" ,doxygen)
;; For bootstrapping after applying pidgin-libnm.patch.
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(inputs
`(("gtk+" ,gtk+-2)
("libgcrypt" ,libgcrypt)

View file

@ -0,0 +1,60 @@
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Sun, 24 May 2020 16:11:01 +0200
Subject: [PATCH] gnu: pidgin: Find libnm.
Copied verbatim from[0].
[0]: https://git.archlinux.org/svntogit/packages.git/plain/trunk/pidgin-nm-1.0.patch?h=packages/pidgin
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;