guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCHES] Add totem


From: Mark H Weaver
Subject: [PATCHES] Add totem
Date: Sun, 21 Jun 2015 00:21:24 -0400

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 <address@hidden>
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 <address@hidden>
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 <address@hidden>
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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]