aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/gnome.scm17
-rw-r--r--gnu/packages/patches/totem-meson-easy-codec.patch65
3 files changed, 77 insertions, 6 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 3af8e6779d..bb47244261 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1058,6 +1058,7 @@ dist_patch_DATA = \
%D%/packages/patches/ttf2eot-cstddef.patch \
%D%/packages/patches/ttfautohint-source-date-epoch.patch \
%D%/packages/patches/tophat-build-with-later-seqan.patch \
+ %D%/packages/patches/totem-meson-easy-codec.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/unrtf-CVE-2016-10091.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \
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");
+