[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