Hello Guix, These patches add totem, a.k.a. GNOME Videos, and its prerequisites grilo and grilo-plugins. This patch set also depends on the 'clutter' and 'gom' patch sets which I posted recently.
A few caveats: in order for totem to work properly, you must have several other packages installed in your profile. I'm not entirely sure of the full set needed, but I guess it includes: grilo grilo-plugins gstreamer gst-plugins-base gst-plugins-good dconf You will also need to set the GRL_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH environment variables as advised by "guix package --search-paths". Obviously it would be nice for this to work more seamlessly. Comments and suggestions welcome. Mark
>From 4bdac7f9e1ffeec6e3a2b26d366bfe8d71cd5ae2 Mon Sep 17 00:00:00 2001 From: Mark H Weaver <m...@netris.org> Date: Sat, 20 Jun 2015 19:34:50 -0400 Subject: [PATCH 1/3] gnu: Add grilo. * gnu/packages/gnome.scm (grilo): New variable. --- gnu/packages/gnome.scm | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 3342ed6..9dcfc17 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2686,3 +2686,54 @@ presentations, kiosk style applications and so on.") write applications that need to store structured data as well as make complex queries upon that data.") (license license:lgpl2.1+))) + +(define-public grilo + (package + (name "grilo") + (version "0.2.12") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "11bvc7rsrjjwz8hp67p3fn8zmywrpawrcbi3vgw8b0dwa0sndd2m")))) + (build-system gnu-build-system) + (native-inputs + `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal + ("intltool" ,intltool) + ("pkg-config" ,pkg-config) + ("gobject-introspection" ,gobject-introspection))) + (inputs + `(("glib" ,glib) + ("gtk+" ,gtk+) + ("libxml2" ,libxml2) + ;; XXX TODO: Add oauth + ("libsoup" ,libsoup) + ("totem-pl-parser" ,totem-pl-parser))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-introspection-install-dir + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* '("src/Makefile.in" + "libs/pls/Makefile.in" + "libs/net/Makefile.in") + (("@INTROSPECTION_GIRDIR@") + (string-append out "/share/gir-1.0/")) + (("@INTROSPECTION_TYPELIBDIR@") + (string-append out "/lib/girepository-1.0/"))))))))) + (native-search-paths + (list (search-path-specification + (variable "GRL_PLUGIN_PATH") + (files (list (string-append "lib/grilo-" + (version-major+minor version))))))) + (home-page "http://live.gnome.org/Grilo") + (synopsis "Framework for discovering and browsing media") + (description + "Grilo is a framework focused on making media discovery and browsing easy +for application developers.") + (license license:lgpl2.1+))) -- 2.4.3
>From ba786fa3d1d7896336dca3b364bb630142c30fa1 Mon Sep 17 00:00:00 2001 From: Mark H Weaver <m...@netris.org> Date: Sat, 20 Jun 2015 21:09:54 -0400 Subject: [PATCH 2/3] gnu: Add grilo-plugins. * gnu/packages/gnome.scm (grilo-plugins): New variable. --- gnu/packages/gnome.scm | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 9dcfc17..fa24e83 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -34,6 +34,7 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages avahi) #:use-module (gnu packages base) #:use-module (gnu packages bison) #:use-module (gnu packages cups) @@ -57,6 +58,7 @@ #:use-module (gnu packages libcanberra) #:use-module (gnu packages linux) #:use-module (gnu packages libusb) + #:use-module (gnu packages lua) #:use-module (gnu packages image) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -2737,3 +2739,56 @@ queries upon that data.") "Grilo is a framework focused on making media discovery and browsing easy for application developers.") (license license:lgpl2.1+))) + +(define-public grilo-plugins + (package + (name "grilo-plugins") + (version "0.2.14") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1aykhc679pwn2qxsg19g8nh9hffpsqkgxcbqq7lcfn2hcwb83wfh")))) + (build-system gnu-build-system) + (native-inputs + `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal + ("intltool" ,intltool) + ("itstool" ,itstool) + ("pkg-config" ,pkg-config))) + (inputs + `(("grilo" ,grilo) + ("glib" ,glib) + ("libxml2" ,libxml2) + ("sqlite" ,sqlite) + ("gom" ,gom) + ;; XXX TODO: Add oauth + ;; XXX TODO: Add goa + ;; XXX TODO: Add gdata (e.g. needed for youtube plugin) + ;; XXX TODO: Add lua (needs help finding it) + ("json-glib" ,json-glib) + ("avahi" ,avahi) + ("gmime" ,gmime) + ("libsoup" ,libsoup) + ("libarchive" ,libarchive) + ("totem-pl-parser" ,totem-pl-parser))) + (arguments + `(#:make-flags (list (string-append "GRL_PLUGINS_DIR=" + %output + "/lib/grilo-" + ,(version-major+minor version))) + ;; XXX FIXME: Investigate test failure: + ;; TEST: test_apple_trailers... (pid=8718) + ;; /apple-trailers/browse/count: + ;; ERROR:test_apple_trailers.c:88:test_browse_count: assertion failed: (source) + ;; FAIL + #:tests? #f)) + (home-page "http://live.gnome.org/Grilo") + (synopsis "Framework for discovering and browsing media - Plugins") + (description + "Grilo is a framework focused on making media discovery and browsing easy +for application developers.") + (license license:lgpl2.1+))) -- 2.4.3
>From 2bbcefc85149fa4d6b8513de26fc4ba749e4111b Mon Sep 17 00:00:00 2001 From: Mark H Weaver <m...@netris.org> Date: Sat, 20 Jun 2015 18:26:34 -0400 Subject: [PATCH 3/3] gnu: Add totem. * gnu/packages/gnome.scm (totem): New variable. --- gnu/packages/gnome.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index fa24e83..308a7e2 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -58,6 +58,7 @@ #:use-module (gnu packages libcanberra) #:use-module (gnu packages linux) #:use-module (gnu packages libusb) + #:use-module (gnu packages lirc) #:use-module (gnu packages lua) #:use-module (gnu packages image) #:use-module (gnu packages perl) @@ -2792,3 +2793,66 @@ for application developers.") "Grilo is a framework focused on making media discovery and browsing easy for application developers.") (license license:lgpl2.1+))) + +(define-public totem + (package + (name "totem") + (version "3.16.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1nkm2i271ivq40hryrl6px39gbbvhmlx4vmvwvw4h3z8xh3013f9")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("desktop-file-utils" ,desktop-file-utils) + ("intltool" ,intltool) + ("itstool" ,itstool))) + (inputs + `(("gtk+" ,gtk+) + ("gdk-pixbuf" ,gdk-pixbuf) + ("atk" ,atk) + ("cairo" ,cairo) + ("dbus-glib" ,dbus-glib) + ("clutter" ,clutter) + ("clutter-gtk" ,clutter-gtk) + ("clutter-gst" ,clutter-gst) + ("xproto" ,xproto) + ("libxxf86vm" ,libxxf86vm) + ("libxtst" ,libxtst) + ("libxrandr" ,libxrandr) + ("libxml2" ,libxml2) + ("libsoup" ,libsoup) + ("libpeas" ,libpeas) + ("librsvg" ,librsvg) + ("lirc" ,lirc) + ("gnome-desktop" ,gnome-desktop) + ("gstreamer" ,gstreamer) + ("gst-plugins-base" ,gst-plugins-base) + ("gst-plugins-good" ,gst-plugins-good) + ("dconf" ,dconf) + ("gobject-introspection" ,gobject-introspection) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("adwaita-icon-theme" ,adwaita-icon-theme) + ;; XXX We use python-2 because libxml2 because itstool (which needs + ;; libxml) currently uses python-2. + ("python" ,python-2) + ("python-pygobject" ,python2-pygobject) + ;; XXX TODO pylint needed for python support + ("totem-pl-parser" ,totem-pl-parser) + ("grilo" ,grilo) + ("nettle" ,nettle) + ("vala" ,vala))) + (home-page "https://wiki.gnome.org/Apps/Videos") + (synopsis "Simple media player for GNOME based on GStreamer") + (description "Totem is a simple yet featureful media player for GNOME +which can read a large number of file formats.") + ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins + ;; to be used and distributed together with GStreamer and Totem. See + ;; file://COPYING in the source distribution for details. + (license license:gpl2+))) -- 2.4.3