From 6e3a0f648f4ce427187d20cc7e52c4723056df1d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 29 Nov 2020 17:45:19 -0500
Subject: [PATCH 9/9] gnu: pidgin: Enable MultiMedia and A/V support.
* gnu/packages/messaging.scm (pidgin) [patches]<search-patches>
[pidgin-vv-gst.patch]: New patch.
[arguments]<#:configure-flags>[--diable-vv]: Remove flag.
[--disable-gstreamer]: Remove flag.
[CFLAGS]: New flag.
[inputs]: Add farstream, gstreamer and gst-plugins-base.
* gnu/packages/patches/pidgin-vv-gst.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add entry.
---
gnu/local.mk | 1 +
gnu/packages/messaging.scm | 16 +++++----
gnu/packages/patches/pidgin-vv-gst.patch | 44 ++++++++++++++++++++++++
3 files changed, 54 insertions(+), 7 deletions(-)
create mode 100644 gnu/packages/patches/pidgin-vv-gst.patch
@@ -1461,6 +1461,7 @@ dist_patch_DATA = \
%D%/packages/patches/picard-fix-id3-rename-test.patch \
%D%/packages/patches/picprog-non-intel-support.patch \
%D%/packages/patches/pidgin-add-search-path.patch \
+ %D%/packages/patches/pidgin-vv-gst.patch \
%D%/packages/patches/pinball-const-fix.patch \
%D%/packages/patches/pinball-cstddef.patch \
%D%/packages/patches/pinball-missing-separators.patch \
@@ -728,7 +728,8 @@ authentication.")
(base32 "1c4dzxg9c3d9zfqqa7jwijj9rv9fm6w95igmpljwy88lxq7v5w11"))
(patches
(search-patches
- "pidgin-add-search-path.patch"))
+ "pidgin-add-search-path.patch"
+ "pidgin-vv-gst.patch"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -739,12 +740,13 @@ authentication.")
(arguments
`(#:configure-flags
(list
+ (string-append "CFLAGS=-I"
+ (assoc-ref %build-inputs "gst-plugins-base")
+ "/include/gstreamer-1.0")
"--disable-gtkspell"
;; "--enable-gevolution"
"--enable-cap"
"--enable-mono"
- "--disable-vv" ; XXX remove when we have farstream and gstreamer
- "--disable-gstreamer" ; XXX patches needed to support gstreamer-1.0
"--enable-cyrus-sasl"
(string-append "--with-ncurses-headers="
(assoc-ref %build-inputs "ncurses")
@@ -771,10 +773,9 @@ authentication.")
("dbus" ,dbus)
("dbus-glib" ,dbus-glib)
;; ("evolution-data-server" ,evolution-data-server)
- ;; ("farstream" ,farstream)
+ ("farstream" ,farstream)
("gnutls" ,gnutls)
- ;; ("gstreamer" ,gstreamer)
- ("gtk+" ,gtk+-2)
+ ("gstreamer" ,gstreamer)
;; gtkspell
("libgadu" ,libgadu)
("libgcrypt" ,libgcrypt)
@@ -805,7 +806,8 @@ authentication.")
("tcl" ,tcl)
("tk" ,tk)))
(propagated-inputs
- `(("glib" ,glib)))
+ `(("glib" ,glib)
+ ("gtk+" ,gtk+-2)))
(native-search-paths
(list
(search-path-specification
new file mode 100644
@@ -0,0 +1,44 @@
+diff --git a/libpurple/mediamanager.c b/libpurple/mediamanager.c
+--- a/libpurple/mediamanager.c
++++ b/libpurple/mediamanager.c
+@@ -2231,6 +2231,7 @@
+ purple_media_manager_unregister_gst_device(PurpleMediaManager *manager,
+ GstDevice *device)
+ {
++#ifdef USE_VV
+ GList *i;
+ gchar *name;
+ gchar *device_class;
+@@ -2277,6 +2278,7 @@
+
+ g_free(name);
+ g_free(device_class);
++#endif /* USE_VV */
+ }
+
+ static gboolean
+@@ -2304,7 +2306,7 @@
+ static void
+ purple_media_manager_init_device_monitor(PurpleMediaManager *manager)
+ {
+-#if GST_CHECK_VERSION(1, 4, 0)
++#if GST_CHECK_VERSION(1, 4, 0) && defined(USE_VV)
+ GstBus *bus;
+ GList *i;
+
+@@ -2334,6 +2336,7 @@
+ PurpleMediaElementType type)
+ {
+ GList *result = NULL;
++#ifdef USE_VV
+ GList *i;
+
+ for (i = manager->priv->elements; i; i = i->next) {
+@@ -2347,6 +2350,7 @@
+ result = g_list_prepend(result, info);
+ }
+ }
++#endif /* USE_VV */
+
+ return result;
+ }
--
2.29.2