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.
This commit is contained in:
Ludovic Courtès 2017-10-11 22:58:36 +02:00
parent b27ce4164a
commit 7ad81b8b67
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 77 additions and 6 deletions

View file

@ -1058,6 +1058,7 @@ dist_patch_DATA = \
%D%/packages/patches/ttf2eot-cstddef.patch \ %D%/packages/patches/ttf2eot-cstddef.patch \
%D%/packages/patches/ttfautohint-source-date-epoch.patch \ %D%/packages/patches/ttfautohint-source-date-epoch.patch \
%D%/packages/patches/tophat-build-with-later-seqan.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/tuxpaint-stamps-path.patch \
%D%/packages/patches/unrtf-CVE-2016-10091.patch \ %D%/packages/patches/unrtf-CVE-2016-10091.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \

View file

@ -3581,7 +3581,7 @@ (define-public grilo-plugins
(define-public totem (define-public totem
(package (package
(name "totem") (name "totem")
(version "3.24.0") (version "3.26.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -3590,12 +3590,15 @@ (define-public totem
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"00cdlll5b0wj5ckl1pc0a3g39a0hlq0gxkcsh1f6p20fjixqzmwv")))) "04zfx47mgyd0f4p3pjrxl6iaw0awgwbvilbsr1smw14ph2kbjbz3"))
(build-system glib-or-gtk-build-system) (patches (search-patches "totem-meson-easy-codec.patch"))))
(build-system meson-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
("desktop-file-utils" ,desktop-file-utils) ("desktop-file-utils" ,desktop-file-utils)
("gobject-introspection" ,gobject-introspection) ("gobject-introspection" ,gobject-introspection)
("glib:bin" ,glib "bin") ;for 'glib-mkenums'
("gtk:bin" ,gtk+ "bin") ;for 'gtk-update-icon-cache'
("intltool" ,intltool) ("intltool" ,intltool)
("itstool" ,itstool) ("itstool" ,itstool)
("xmllint" ,libxml2))) ("xmllint" ,libxml2)))
@ -3636,13 +3639,15 @@ (define-public totem
("nettle" ,nettle) ("nettle" ,nettle)
("vala" ,vala))) ("vala" ,vala)))
(arguments (arguments
`(;; Disable automatic GStreamer plugin installation via PackageKit and `(#:glib-or-gtk? #t
;; Disable automatic GStreamer plugin installation via PackageKit and
;; all that. ;; 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 ;; Do not build .a files for the plugins, it's
;; completely useless. This saves 2 MiB. ;; completely useless. This saves 2 MiB.
"--disable-static") "--default-library" "shared")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases

View file

@ -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");