~ruther/guix-local

7ad81b8b67ce60a5dbf95cd480cfdd9dacf3b462 — Ludovic Courtès 8 years ago b27ce41
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.
3 files changed, 77 insertions(+), 6 deletions(-)

M gnu/local.mk
M gnu/packages/gnome.scm
A gnu/packages/patches/totem-meson-easy-codec.patch
M gnu/local.mk => gnu/local.mk +1 -0
@@ 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		\

M gnu/packages/gnome.scm => gnu/packages/gnome.scm +11 -6
@@ 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

A gnu/packages/patches/totem-meson-easy-codec.patch => gnu/packages/patches/totem-meson-easy-codec.patch +65 -0
@@ 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");