summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-10-11 22:58:36 +0200
committerLudovic Courtès <ludo@gnu.org>2017-10-11 23:00:46 +0200
commit7ad81b8b67ce60a5dbf95cd480cfdd9dacf3b462 (patch)
tree09ad8b7ada591b196a1452afbc26f75468fdf250 /gnu/packages
parentb27ce4164a18e1451eb1d5edc189331fe6df34c1 (diff)
downloadguix-7ad81b8b67ce60a5dbf95cd480cfdd9dacf3b462.tar.gz
gnu: totem: Update to 3.26.0.
* gnu/packages/gnome.scm (totem): Update to 3.26.0.
[source]: Add 'patches' field.
[build-system]: Switch to MESON-BUILD-SYSTEM.
[native-inputs]: Add GTK+:bin and GLIB:bin.
[arguments]: Pass #:glib-or-gtk?.  Adjust #:configure-flags to new
syntax.
* gnu/packages/patches/totem-meson-easy-codec.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/gnome.scm17
-rw-r--r--gnu/packages/patches/totem-meson-easy-codec.patch65
2 files changed, 76 insertions, 6 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 85b5fb3f44..1ceba162b4 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3581,7 +3581,7 @@ for application developers.")
 (define-public totem
   (package
     (name "totem")
-    (version "3.24.0")
+    (version "3.26.0")
     (source
      (origin
        (method url-fetch)
@@ -3590,12 +3590,15 @@ for application developers.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "00cdlll5b0wj5ckl1pc0a3g39a0hlq0gxkcsh1f6p20fjixqzmwv"))))
-    (build-system glib-or-gtk-build-system)
+         "04zfx47mgyd0f4p3pjrxl6iaw0awgwbvilbsr1smw14ph2kbjbz3"))
+       (patches (search-patches "totem-meson-easy-codec.patch"))))
+    (build-system meson-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("desktop-file-utils" ,desktop-file-utils)
        ("gobject-introspection" ,gobject-introspection)
+       ("glib:bin" ,glib "bin")                   ;for 'glib-mkenums'
+       ("gtk:bin" ,gtk+ "bin")                    ;for 'gtk-update-icon-cache'
        ("intltool" ,intltool)
        ("itstool" ,itstool)
        ("xmllint" ,libxml2)))
@@ -3636,13 +3639,15 @@ for application developers.")
        ("nettle" ,nettle)
        ("vala" ,vala)))
     (arguments
-     `(;; Disable automatic GStreamer plugin installation via PackageKit and
+     `(#:glib-or-gtk? #t
+
+       ;; Disable automatic GStreamer plugin installation via PackageKit and
        ;; all that.
-       #:configure-flags '("--disable-easy-codec-installation"
+       #:configure-flags '("-D" "enable-easy-codec-installation=no"
 
                            ;; Do not build .a files for the plugins, it's
                            ;; completely useless.  This saves 2 MiB.
-                           "--disable-static")
+                           "--default-library" "shared")
 
        #:phases
        (modify-phases %standard-phases
diff --git a/gnu/packages/patches/totem-meson-easy-codec.patch b/gnu/packages/patches/totem-meson-easy-codec.patch
new file mode 100644
index 0000000000..b97d555c1a
--- /dev/null
+++ b/gnu/packages/patches/totem-meson-easy-codec.patch
@@ -0,0 +1,65 @@
+Fix a bug whereby the 'have_easy_codec' would be left undefined
+when passing '-D enable-easy-codec-installation=no'.  Likewise,
+don't rely on GStreamer's plug-in support when it's disabled.
+
+--- totem-3.26.0/meson.build	2017-10-11 22:29:44.506280919 +0200
++++ totem-3.26.0/meson.build	2017-10-11 22:29:50.902252058 +0200
+@@ -203,6 +203,8 @@ if easy_codec_option != 'no'
+   missing_plugins_deps += gst_pbutils_dep
+   config_h.set('ENABLE_MISSING_PLUGIN_INSTALLATION', have_easy_codec,
+                description: 'Whether we can and want to do installation of missing plugins')
++else
++  have_easy_codec = false
+ endif
+ 
+ # python support
+
+--- totem-3.26.0/src/backend/bacon-video-widget.c	2017-10-11 22:40:52.531217356 +0200
++++ totem-3.26.0/src/backend/bacon-video-widget.c	2017-10-11 22:45:44.973847231 +0200
+@@ -341,6 +341,22 @@ get_type_name (GType class_type, int typ
+   return value->value_nick;
+ }
+ 
++#ifndef ENABLE_MISSING_PLUGIN_INSTALLATION
++
++gchar *
++gst_missing_plugin_message_get_installer_detail (GstMessage *message)
++{
++  return NULL;
++}
++
++char *
++gst_missing_plugin_message_get_description (GstMessage *message)
++{
++  return NULL;
++}
++
++#endif
++
+ static gchar **
+ bvw_get_missing_plugins_foo (const GList * missing_plugins, MsgToStrFunc func)
+ {
+@@ -1654,10 +1670,12 @@ bvw_handle_element_message (BaconVideoWi
+       }
+     }
+     goto done;
++#ifdef ENABLE_MISSING_PLUGIN_INSTALLATION
+   } else if (gst_is_missing_plugin_message (msg)) {
+     bvw->priv->missing_plugins =
+       g_list_prepend (bvw->priv->missing_plugins, gst_message_ref (msg));
+     goto done;
++#endif
+   } else if (strcmp (type_name, "not-mounted") == 0) {
+     const GValue *val;
+     GFile *file;
+@@ -6109,7 +6127,9 @@ bacon_video_widget_initable_init (GInita
+   GST_DEBUG ("Initialised %s", version_str);
+   g_free (version_str);
+ 
++#ifdef ENABLE_MISSING_PLUGIN_INSTALLATION
+   gst_pb_utils_init ();
++#endif
+ 
+   /* Instantiate all the fallible plugins */
+   bvw->priv->play = element_make_or_warn ("playbin", "play");
+