gnu: pidgin: Enable MultiMedia and A/V support.
authorRaghav Gururajan <rg@raghavgururajan.name>
Thu, 31 Dec 2020 05:30:09 +0000 (00:30 -0500)
committerDanny Milosavljevic <dannym@scratchpost.org>
Sun, 3 Jan 2021 16:30:30 +0000 (17:30 +0100)
* 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 and gstreamer. Move gtk+-2 to ...
[propagated-inputs]: ... here.
* gnu/packages/patches/pidgin-vv-gst.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add entry.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
gnu/local.mk
gnu/packages/messaging.scm
gnu/packages/patches/pidgin-vv-gst.patch [new file with mode: 0644]

index 0aad157..53a67e6 100644 (file)
@@ -1471,6 +1471,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                \
index 99cb3e8..4a368c0 100644 (file)
@@ -729,7 +729,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
@@ -752,10 +753,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)
        ;; ("gtkspell2" ,gtkspell2)
        ("libgadu" ,libgadu)
        ("libgcrypt" ,libgcrypt)
@@ -786,16 +786,18 @@ authentication.")
        ("tcl" ,tcl)
        ("tk" ,tk)))
     (propagated-inputs
-     `(("glib" ,glib)))
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+-2)))
     (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")
diff --git a/gnu/packages/patches/pidgin-vv-gst.patch b/gnu/packages/patches/pidgin-vv-gst.patch
new file mode 100644 (file)
index 0000000..e0553dd
--- /dev/null
@@ -0,0 +1,48 @@
+Name: Gary Kramlich
+Date: 2020-07-12
+Source: https://keep.imfreedom.org/pidgin/pidgin/rev/39ac50435cfb
+
+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;
+ }