Re: [PATCH] gnu: Add gst-plugins-ugly

2015-07-12 Thread Mark H Weaver
David Hashe david.ha...@dhashe.com writes:

 I've attached an updated patch making the modifications you suggested.

 In addition, I also wrapped GI_TYPELIB_PATH, which is required in
 order for plugins (like cd burning and libre.fm integration) to work.

Looks good.  Pushed, thanks!

 Mark



Re: [PATCH] gnu: Add gst-plugins-ugly

2015-07-12 Thread David Hashe
I've attached an updated patch making the modifications you suggested.

In addition, I also wrapped GI_TYPELIB_PATH, which is required in order for
plugins (like cd burning and libre.fm integration) to work.

Thanks,
David

On Fri, Jul 10, 2015 at 12:17 AM, Mark H Weaver m...@netris.org wrote:

 David Hashe david.ha...@dhashe.com writes:

  From c3ec7cf01a6c1bf9013a2819c2c5ec7181724947 Mon Sep 17 00:00:00 2001
  From: David Hashe david.ha...@dhashe.com
  Date: Tue, 7 Jul 2015 23:40:01 -0500
  Subject: [PATCH] gnu: Add rhythmbox.
 
  * gnu/packages/gnome.scm (rhythmbox): New variable.
  ---
   gnu/packages/gnome.scm | 74
 ++
   1 file changed, 74 insertions(+)
 
  diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
  index 0ec5ea2..6d238af 100644
  --- a/gnu/packages/gnome.scm
  +++ b/gnu/packages/gnome.scm
  @@ -56,6 +56,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 image)
 #:use-module (gnu packages perl)
 #:use-module (gnu packages pkg-config)

 I've since added (gnu packages lirc) here as part of the Totem patch, so
 this hunk should be removed.

  @@ -2718,3 +2719,76 @@ the patterned block to the area bordered by green
 markers.  To do so, you will
   need to slide other blocks out of the way.  Complete each puzzle in as
 few moves
   as possible!)
   (license license:gpl2+)))
  +
  +(define-public rhythmbox
  + (package
  +   (name rhythmbox)
  +   (version 3.2.1)
  +   (source (origin
  +(method url-fetch)
  +(uri (string-append mirror://gnome/sources/ name /
  +(version-major+minor version) /
  +name - version .tar.xz))
  +(sha256
  + (base32
  +  0f3radhlji7rxl760yl2vm49fvfslympxrpm8497acbmbd7wlhxz
  +   (build-system glib-or-gtk-build-system)
  +   (arguments
  +`(#:configure-flags
  +  (list --enable-lirc
  +--enable-python
  +--enable-vala
  +--with-brasero
  +--with-gudev
  +--with-libsecret)))
  +   (propagated-inputs
  +`((dconf ,dconf)
  +  (gobject-introspection ,gobject-introspection)
  +  (gst-libav ,gst-libav)
  +  (gst-plugins-base ,gst-plugins-base)
  +  (gst-plugins-good ,gst-plugins-good)
  +  (gst-plugins-ugly ,gst-plugins-ugly)
  +  (totem-pl-parser ,totem-pl-parser)))

 I agree that 'dconf' should be a propagated-input.

 'gobject-introspection' should be moved to 'native-inputs'.

 'gst-libav' and 'gst-plugins-ugly' should be removed entirely.  Users
 can add them to their profile if they wish.

 As for 'gst-plugins-base' and 'gst-plugins-good': I think it would be
 better to make them normal inputs, and add a wrapper for rhythmbox that
 adds a prefix to GST_PLUGIN_SYSTEM_PATH, similar to what we do in the
 Totem package.

 What about 'totem-pl-parser'?  Does that need to be a propagated-input?
 If so, why?

  +   (native-inputs
  +`((intltool ,intltool)
  +  (glib ,glib bin)
  +  (desktop-file-utils ,desktop-file-utils)
  +  (pkg-config ,pkg-config)))
  +   (inputs
  +`((json-glib ,json-glib)
  +  (tdb ,tdb)
  +  (gnome-desktop ,gnome-desktop)
  +  (python ,python)
  +  (python-pygobject ,python2-pygobject)
  +  (vala ,vala)
  +  (gmime ,gmime)
  +  (nettle ,nettle)
  +  (itstool ,itstool)
  +  (adwaita-icon-theme ,adwaita-icon-theme)
  +  (gstreamer ,gstreamer)
  +  (gudev ,eudev)

 Does 'eudev' provide 'gudev'?  This seems mismatched, but perhaps I'm
 mistaken.

  +  ;(libmtp ,libmtp) FIXME Not detected

 Please use two semicolons here.  In general, use one semicolon for
 margin comments (on the right), and two semicolons for comments that are
 in the same column as the surrounding code.  Emacs decides how to
 auto-indent Lisp/Scheme comments based on the number of semicolons.

  +  (libsecret ,libsecret)
  +  (libsoup ,libsoup)
  +  (libnotify ,libnotify)
  +  (libpeas ,libpeas)
  +  (lirc ,lirc)
  +  ; TODO Unused without mx

 Two semicolons, and it's not clear which input the comment above refers
 to.  Please make it more clear.

  +  ;(clutter ,clutter)
  +  ;(clutter-gtk ,clutter-gtk)
  +  ;(clutter-gst ,clutter-gst)

 Two semicolons.

  +  (gsettings-desktop-schemas ,gsettings-desktop-schemas)
  +  (atk ,atk)
  +  (pango ,pango)
  +  (gtk+ ,gtk+)
  +  ;; TODO:
  +  ;;  * grilo

 We have grilo now.  You should probably add both 'grilo' and
 'grilo-plugins' as inputs and then set GRL_PLUGIN_PATH in the wrapper,
 like we do in the Totem package.

  +  ;;  * libgpod
  +  ;;  * mx
  +  ;;  * webkit
  +  (brasero ,brasero)))
  +   (home-page https://wiki.gnome.org/Apps/Rhythmbox;)
  +   (synopsis 

Re: [PATCH] gnu: Add gst-plugins-ugly

2015-07-09 Thread Mark H Weaver
Mark H Weaver m...@netris.org writes:

 Mark H Weaver m...@netris.org writes:

 I looked in Parabola's blacklist
 https://projects.parabola.nu/blacklist.git/tree/ and didn't find
 issues listed with gst-plugins-ugly, so I guess that's a good sign.

 I've attached a preliminary 'gst-plugins-ugly' package for Guix.  Note
 that this depends on commit 23da88f61e82e2b32d6dedb3af467f665cd03bf5
 gnu: liba52: Build shared library, which I pushed to master just a few
 minutes ago.

 I've since added libmpeg2 (commit e088410984) and noticed that we
 already have libdvdread and libdvdnav (which I just updated).

 Here's an updated version of my preliminary 'gst-plugins-ugly' patch.

I went ahead and pushed this.

 Mark



Re: [PATCH] gnu: Add gst-plugins-ugly

2015-07-09 Thread Mark H Weaver
David Hashe david.ha...@dhashe.com writes:

 From c3ec7cf01a6c1bf9013a2819c2c5ec7181724947 Mon Sep 17 00:00:00 2001
 From: David Hashe david.ha...@dhashe.com
 Date: Tue, 7 Jul 2015 23:40:01 -0500
 Subject: [PATCH] gnu: Add rhythmbox.

 * gnu/packages/gnome.scm (rhythmbox): New variable.
 ---
  gnu/packages/gnome.scm | 74 
 ++
  1 file changed, 74 insertions(+)

 diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
 index 0ec5ea2..6d238af 100644
 --- a/gnu/packages/gnome.scm
 +++ b/gnu/packages/gnome.scm
 @@ -56,6 +56,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 image)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)

I've since added (gnu packages lirc) here as part of the Totem patch, so
this hunk should be removed.

 @@ -2718,3 +2719,76 @@ the patterned block to the area bordered by green 
 markers.  To do so, you will
  need to slide other blocks out of the way.  Complete each puzzle in as few 
 moves
  as possible!)
  (license license:gpl2+)))
 +
 +(define-public rhythmbox
 + (package
 +   (name rhythmbox)
 +   (version 3.2.1)
 +   (source (origin
 +(method url-fetch)
 +(uri (string-append mirror://gnome/sources/ name /
 +(version-major+minor version) /
 +name - version .tar.xz))
 +(sha256
 + (base32
 +  0f3radhlji7rxl760yl2vm49fvfslympxrpm8497acbmbd7wlhxz
 +   (build-system glib-or-gtk-build-system)
 +   (arguments
 +`(#:configure-flags
 +  (list --enable-lirc
 +--enable-python
 +--enable-vala
 +--with-brasero
 +--with-gudev
 +--with-libsecret)))
 +   (propagated-inputs
 +`((dconf ,dconf)
 +  (gobject-introspection ,gobject-introspection)
 +  (gst-libav ,gst-libav)
 +  (gst-plugins-base ,gst-plugins-base)
 +  (gst-plugins-good ,gst-plugins-good)
 +  (gst-plugins-ugly ,gst-plugins-ugly)
 +  (totem-pl-parser ,totem-pl-parser)))

I agree that 'dconf' should be a propagated-input.

'gobject-introspection' should be moved to 'native-inputs'.

'gst-libav' and 'gst-plugins-ugly' should be removed entirely.  Users
can add them to their profile if they wish.

As for 'gst-plugins-base' and 'gst-plugins-good': I think it would be
better to make them normal inputs, and add a wrapper for rhythmbox that
adds a prefix to GST_PLUGIN_SYSTEM_PATH, similar to what we do in the
Totem package.

What about 'totem-pl-parser'?  Does that need to be a propagated-input?
If so, why?

 +   (native-inputs
 +`((intltool ,intltool)
 +  (glib ,glib bin)
 +  (desktop-file-utils ,desktop-file-utils)
 +  (pkg-config ,pkg-config)))
 +   (inputs
 +`((json-glib ,json-glib)
 +  (tdb ,tdb)
 +  (gnome-desktop ,gnome-desktop)
 +  (python ,python)
 +  (python-pygobject ,python2-pygobject)
 +  (vala ,vala)
 +  (gmime ,gmime)
 +  (nettle ,nettle)
 +  (itstool ,itstool)
 +  (adwaita-icon-theme ,adwaita-icon-theme)
 +  (gstreamer ,gstreamer)
 +  (gudev ,eudev)

Does 'eudev' provide 'gudev'?  This seems mismatched, but perhaps I'm
mistaken.

 +  ;(libmtp ,libmtp) FIXME Not detected

Please use two semicolons here.  In general, use one semicolon for
margin comments (on the right), and two semicolons for comments that are
in the same column as the surrounding code.  Emacs decides how to
auto-indent Lisp/Scheme comments based on the number of semicolons.

 +  (libsecret ,libsecret)
 +  (libsoup ,libsoup)
 +  (libnotify ,libnotify)
 +  (libpeas ,libpeas)
 +  (lirc ,lirc)
 +  ; TODO Unused without mx

Two semicolons, and it's not clear which input the comment above refers
to.  Please make it more clear.

 +  ;(clutter ,clutter)
 +  ;(clutter-gtk ,clutter-gtk)
 +  ;(clutter-gst ,clutter-gst)

Two semicolons.

 +  (gsettings-desktop-schemas ,gsettings-desktop-schemas)
 +  (atk ,atk)
 +  (pango ,pango)
 +  (gtk+ ,gtk+)
 +  ;; TODO:
 +  ;;  * grilo

We have grilo now.  You should probably add both 'grilo' and
'grilo-plugins' as inputs and then set GRL_PLUGIN_PATH in the wrapper,
like we do in the Totem package.

 +  ;;  * libgpod
 +  ;;  * mx
 +  ;;  * webkit
 +  (brasero ,brasero)))
 +   (home-page https://wiki.gnome.org/Apps/Rhythmbox;)
 +   (synopsis Music player for GNOME)
 +   (description Rhythmbox is a music playing application for GNOME.  It
 +supports playlists, song ratings, and any codecs installed through 
 gstreamer.)
 +   (license license:gpl2+)))

Can you send an updated patch?

 Thanks,
   Mark



Re: [PATCH] gnu: Add gst-plugins-ugly

2015-07-08 Thread Mark H Weaver
David Hashe david.ha...@dhashe.com writes:

 +(home-page http://gstreamer.freedesktop.org/;;)

 There's an extraneous semicolon here,

I'm not sure where that semicolon came from, but it wasn't in the patch
that I posted here.

 but once I removed that everything worked fine and I was able to play
 mp3s without issue.

That's good.

 I've attached an updated rhythmbox patch adding gst-plugins-ugly as a
 dependency along with some useful configure flags.

I don't think we should add optional plugins as propagated-inputs to all
programs that might use plugins.  Instead, each user should decide which
plugins to install in their profile, based on what formats they wish to
support.

   (propagated-inputs
`((dconf ,dconf)
  (gobject-introspection ,gobject-introspection)
  (gst-libav ,gst-libav)
  (gst-plugins-base ,gst-plugins-base)
  (gst-plugins-good ,gst-plugins-good)
  (gst-plugins-ugly ,gst-plugins-ugly)
  (totem-pl-parser ,totem-pl-parser)))

I wonder about all of those propagated-inputs.  At the very least,
gst-libav and gst-plugins-{good,ugly} should be removed.  I wonder if
the others really need to be propagated-inputs.  This is a thorny
question, I confess, and we're still trying to hash it out in another
thread entitled How to handle required plugins and dbus services for
GNOME Programs?

 Mark



Re: [PATCH] gnu: Add gst-plugins-ugly

2015-07-07 Thread Mark H Weaver
Mark H Weaver m...@netris.org writes:

 David Hashe david.ha...@dhashe.com writes:

 Thanks for clarifying. Besides patents, my other concern was
 licensing. Specifically, the page I linked about gst-plugins-ugly
 includes the following:

 The license on either the plug-ins or the supporting libraries might
 not be how we'd like.

 Yes, we'll need to investigate this.

 Rather vague, but a bit worrying. However, you're right that Debian
 includes it, as do Trisquel and Parabola (both free distributions), so
 I agree that this is probably something we can include.

 I looked in Parabola's blacklist
 https://projects.parabola.nu/blacklist.git/tree/ and didn't find
 issues listed with gst-plugins-ugly, so I guess that's a good sign.

 I've attached a preliminary 'gst-plugins-ugly' package for Guix.  Note
 that this depends on commit 23da88f61e82e2b32d6dedb3af467f665cd03bf5
 gnu: liba52: Build shared library, which I pushed to master just a few
 minutes ago.

I've since added libmpeg2 (commit e088410984) and noticed that we
already have libdvdread and libdvdnav (which I just updated).

Here's an updated version of my preliminary 'gst-plugins-ugly' patch.

 Mark


From 60e3d1398cf058b10947727dcb8c97b11332c8e3 Mon Sep 17 00:00:00 2001
From: Mark H Weaver m...@netris.org
Date: Tue, 7 Jul 2015 02:36:18 -0400
Subject: [PATCH] gnu: Add gst-plugins-ugly.

* gnu/packages/gstreamer.scm (gst-plugins-ugly): New variable.
---
 gnu/packages/gstreamer.scm | 40 
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 0f3a0fb..7ab96d2 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -243,6 +243,46 @@ GStreamer multimedia library.  This set contains those plug-ins which the
 developers consider to have good quality code and correct functionality.)
 (license lgpl2.0+)))
 
+(define-public gst-plugins-ugly
+  (package
+(name gst-plugins-ugly)
+(version 1.4.5)
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append http://gstreamer.freedesktop.org/src/;
+   name / name - version .tar.xz))
+   (sha256
+(base32
+ 0rwhljn3f8mp2pfchzfcx4pvps1546dndw9mr56lz50qyqffimaw
+(build-system gnu-build-system)
+(inputs
+ `((gst-plugins-base ,gst-plugins-base)
+   (liba52 ,liba52)
+   (libmad ,libmad)
+   (lame ,lame)
+   (libcdio ,libcdio)
+   (twolame ,twolame)
+   (libmpeg2 ,libmpeg2)
+   (libdvdread ,libdvdread)
+   ;; TODO:
+   ;; * opencore-amr (for the AMR-NB decoder and encoder and the
+   ;;   AMR-WB decoder) http://sourceforge.net/projects/opencore-amr/
+   ;; * x264 (for the x264enc H.264 encoder)
+   ;;   http://www.videolan.org/developers/x264.html
+   (orc ,orc)))
+(native-inputs
+ `((glib:bin ,glib bin)
+   (pkg-config ,pkg-config)
+   (python-wrapper ,python-wrapper)))
+(home-page http://gstreamer.freedesktop.org/;)
+(synopsis
+ GStreamer plugins from the \ugly\ set.)
+(description GStreamer Ugly Plug-ins.  This set contains those plug-ins
+which the developers consider to have good quality code but that might pose
+distribution problems in some jurisdictions, e.g. due to patent threats.)
+(license lgpl2.0+)))
+
 (define-public gst-libav
   (package
 (name gst-libav)
-- 
2.4.3



Re: [PATCH] gnu: Add gst-plugins-ugly

2015-07-07 Thread David Hashe
 +(home-page http://gstreamer.freedesktop.org/;;)

There's an extraneous semicolon here, but once I removed that
everything worked fine and I was able to play mp3s without issue.

I've attached an updated rhythmbox patch adding gst-plugins-ugly as a
dependency along with some useful configure flags.

- David


On Tue, Jul 7, 2015 at 1:50 PM, Mark H Weaver m...@netris.org wrote:

 Mark H Weaver m...@netris.org writes:

  David Hashe david.ha...@dhashe.com writes:
 
  Thanks for clarifying. Besides patents, my other concern was
  licensing. Specifically, the page I linked about gst-plugins-ugly
  includes the following:
 
  The license on either the plug-ins or the supporting libraries might
  not be how we'd like.
 
  Yes, we'll need to investigate this.
 
  Rather vague, but a bit worrying. However, you're right that Debian
  includes it, as do Trisquel and Parabola (both free distributions), so
  I agree that this is probably something we can include.
 
  I looked in Parabola's blacklist
  https://projects.parabola.nu/blacklist.git/tree/ and didn't find
  issues listed with gst-plugins-ugly, so I guess that's a good sign.
 
  I've attached a preliminary 'gst-plugins-ugly' package for Guix.  Note
  that this depends on commit 23da88f61e82e2b32d6dedb3af467f665cd03bf5
  gnu: liba52: Build shared library, which I pushed to master just a few
  minutes ago.

 I've since added libmpeg2 (commit e088410984) and noticed that we
 already have libdvdread and libdvdnav (which I just updated).

 Here's an updated version of my preliminary 'gst-plugins-ugly' patch.

  Mark



From c3ec7cf01a6c1bf9013a2819c2c5ec7181724947 Mon Sep 17 00:00:00 2001
From: David Hashe david.ha...@dhashe.com
Date: Tue, 7 Jul 2015 23:40:01 -0500
Subject: [PATCH] gnu: Add rhythmbox.

* gnu/packages/gnome.scm (rhythmbox): New variable.
---
 gnu/packages/gnome.scm | 74 ++
 1 file changed, 74 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0ec5ea2..6d238af 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -56,6 +56,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 image)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -2718,3 +2719,76 @@ the patterned block to the area bordered by green markers.  To do so, you will
 need to slide other blocks out of the way.  Complete each puzzle in as few moves
 as possible!)
 (license license:gpl2+)))
+
+(define-public rhythmbox
+ (package
+   (name rhythmbox)
+   (version 3.2.1)
+   (source (origin
+(method url-fetch)
+(uri (string-append mirror://gnome/sources/ name /
+(version-major+minor version) /
+name - version .tar.xz))
+(sha256
+ (base32
+  0f3radhlji7rxl760yl2vm49fvfslympxrpm8497acbmbd7wlhxz
+   (build-system glib-or-gtk-build-system)
+   (arguments
+`(#:configure-flags
+  (list --enable-lirc
+--enable-python
+--enable-vala
+--with-brasero
+--with-gudev
+--with-libsecret)))
+   (propagated-inputs
+`((dconf ,dconf)
+  (gobject-introspection ,gobject-introspection)
+  (gst-libav ,gst-libav)
+  (gst-plugins-base ,gst-plugins-base)
+  (gst-plugins-good ,gst-plugins-good)
+  (gst-plugins-ugly ,gst-plugins-ugly)
+  (totem-pl-parser ,totem-pl-parser)))
+   (native-inputs
+`((intltool ,intltool)
+  (glib ,glib bin)
+  (desktop-file-utils ,desktop-file-utils)
+  (pkg-config ,pkg-config)))
+   (inputs
+`((json-glib ,json-glib)
+  (tdb ,tdb)
+  (gnome-desktop ,gnome-desktop)
+  (python ,python)
+  (python-pygobject ,python2-pygobject)
+  (vala ,vala)
+  (gmime ,gmime)
+  (nettle ,nettle)
+  (itstool ,itstool)
+  (adwaita-icon-theme ,adwaita-icon-theme)
+  (gstreamer ,gstreamer)
+  (gudev ,eudev)
+  ;(libmtp ,libmtp) FIXME Not detected
+  (libsecret ,libsecret)
+  (libsoup ,libsoup)
+  (libnotify ,libnotify)
+  (libpeas ,libpeas)
+  (lirc ,lirc)
+  ; TODO Unused without mx
+  ;(clutter ,clutter)
+  ;(clutter-gtk ,clutter-gtk)
+  ;(clutter-gst ,clutter-gst)
+  (gsettings-desktop-schemas ,gsettings-desktop-schemas)
+  (atk ,atk)
+  (pango ,pango)
+  (gtk+ ,gtk+)
+  ;; TODO:
+  ;;  * grilo
+  ;;  * libgpod
+  ;;  * mx
+  ;;  * webkit
+  (brasero ,brasero)))
+   (home-page https://wiki.gnome.org/Apps/Rhythmbox;)
+   (synopsis Music player for GNOME)
+   (description Rhythmbox is a music playing application for GNOME.  It
+supports playlists, song ratings, and any codecs installed through gstreamer.)
+   (license license:gpl2+)))
-- 
1.9.1