unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add rhythmbox.
@ 2015-06-18  5:07 David Hashe
  2015-06-18 13:45 ` Ricardo Wurmus
  0 siblings, 1 reply; 21+ messages in thread
From: David Hashe @ 2015-06-18  5:07 UTC (permalink / raw)
  To: guix-devel

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

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 4af1d13..bfe4b30 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2444,3 +2444,51 @@ which are easy to play with the aid of a mouse.")
 natively with GTK-Doc (the API reference system developed for GTK+ and used
 throughout GNOME for API documentation).")
     (license license:gpl2+)))
+
+(define-public rhythmbox
+ (package
+   (name "rhythmbox")
+   (version "3.2.1")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append "mirror://gnome/sources/rhythmbox/3.2/"
+                                "rhythmbox-" version ".tar.xz"))
+            (sha256
+             (base32
+              "0f3radhlji7rxl760yl2vm49fvfslympxrpm8497acbmbd7wlhxz"))))
+   (build-system glib-or-gtk-build-system)
+  (native-inputs
+    `(("intltool" ,intltool)
+      ("glib" ,glib "bin")
+      ("gobject-introspection" ,gobject-introspection)
+      ("pkg-config" ,pkg-config)))
+   (inputs
+    `(("json-glib" ,json-glib)
+      ("libpeas" ,libpeas)
+      ("tdb" ,tdb)
+      ("totem-pl-parser" ,totem-pl-parser)
+      ("webkitgtk" ,webkitgtk)
+      ("gnome-desktop" ,gnome-desktop)
+      ("python" ,python)
+      ("gmime" ,gmime)
+      ("nettle" ,nettle)
+      ("itstool" ,itstool)
+      ("adwaita-icon-theme" ,adwaita-icon-theme)
+      ("gst-plugins-base" ,gst-plugins-base)
+      ("gst-plugins-good" ,gst-plugins-good)
+      ("gstreamer" ,gstreamer)
+      ("gudev" ,eudev)
+      ("libmtp" ,libmtp)
+      ("libsecret" ,libsecret)
+      ("libnotify" ,libnotify)
+      ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+      ("atk" ,atk)
+      ("pango" ,pango)
+      ("desktop-file-utils" ,desktop-file-utils)
+      ("brasero" ,brasero)))
+   (home-page "https://projects.gnome.org/totem")
+   (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

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add rhythmbox.
  2015-06-18  5:07 [PATCH] gnu: Add rhythmbox David Hashe
@ 2015-06-18 13:45 ` Ricardo Wurmus
  2015-06-19  2:09   ` David Hashe
  0 siblings, 1 reply; 21+ messages in thread
From: Ricardo Wurmus @ 2015-06-18 13:45 UTC (permalink / raw)
  To: David Hashe; +Cc: guix-devel


David Hashe <david.hashe@dhashe.com> writes:

> * gnu/packages/gnome.scm (rhythmbox): New variable.

[...]

> +(define-public rhythmbox
> + (package
> +   (name "rhythmbox")
> +   (version "3.2.1")
> +   (source (origin
> +            (method url-fetch)
> +            (uri (string-append "mirror://gnome/sources/rhythmbox/3.2/"

Can you use (version-major+minor version) instead of “3.2” here?

> +                                "rhythmbox-" version ".tar.xz"))
> +            (sha256
> +             (base32
> +              "0f3radhlji7rxl760yl2vm49fvfslympxrpm8497acbmbd7wlhxz"))))
> +   (build-system glib-or-gtk-build-system)
> +  (native-inputs
> +    `(("intltool" ,intltool)
> +      ("glib" ,glib "bin")
> +      ("gobject-introspection" ,gobject-introspection)
> +      ("pkg-config" ,pkg-config)))

The indentation of (native-inputs ...) is wrong.

> +   (inputs
> +    `(("json-glib" ,json-glib)

[...]

> +      ("brasero" ,brasero)))

Is Brasero an optional input?  It’s a CD burning application, which
seems unrelated to a music player.  Will Totem work even if Brasero is
not available at build time?  Or does it integrate more deeply with
Brasero?

> +   (description "Rhythmbox is a music playing application for GNOME. It supports
> +playlists, song ratings, and any codecs installed through
> gstreamer.")

Please use two spaces at the end of a sentence.

~~ Ricardo

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add rhythmbox.
  2015-06-18 13:45 ` Ricardo Wurmus
@ 2015-06-19  2:09   ` David Hashe
  2015-06-26 17:13     ` Ricardo Wurmus
  0 siblings, 1 reply; 21+ messages in thread
From: David Hashe @ 2015-06-19  2:09 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 1954 bytes --]

Thanks for the review.

On Thu, Jun 18, 2015 at 8:45 AM, Ricardo Wurmus <rekado@elephly.net> wrote:

>
> David Hashe <david.hashe@dhashe.com> writes:
>
> > * gnu/packages/gnome.scm (rhythmbox): New variable.
>
> [...]
>
> > +(define-public rhythmbox
> > + (package
> > +   (name "rhythmbox")
> > +   (version "3.2.1")
> > +   (source (origin
> > +            (method url-fetch)
> > +            (uri (string-append "mirror://gnome/sources/rhythmbox/3.2/"
>
> Can you use (version-major+minor version) instead of “3.2” here?
>
>
I also replaced each instance of "rhythmbox" with name.


> > +                                "rhythmbox-" version ".tar.xz"))
> > +            (sha256
> > +             (base32
> > +              "0f3radhlji7rxl760yl2vm49fvfslympxrpm8497acbmbd7wlhxz"))))
> > +   (build-system glib-or-gtk-build-system)
> > +  (native-inputs
> > +    `(("intltool" ,intltool)
> > +      ("glib" ,glib "bin")
> > +      ("gobject-introspection" ,gobject-introspection)
> > +      ("pkg-config" ,pkg-config)))
>
> The indentation of (native-inputs ...) is wrong.
>

> +   (inputs
> > +    `(("json-glib" ,json-glib)
>
> [...]
>
> > +      ("brasero" ,brasero)))
>
> Is Brasero an optional input?  It’s a CD burning application, which
> seems unrelated to a music player.  Will Totem work even if Brasero is
> not available at build time?  Or does it integrate more deeply with
> Brasero?
>
>
It's an optional input. Rhythmbox uses it (specifically libbrasero-media)
to allow burning playlists straight to CD.

Your comment also made me realize that I had the home-page wrong; I've
fixed that.


> > +   (description "Rhythmbox is a music playing application for GNOME. It
> supports
> > +playlists, song ratings, and any codecs installed through
> > gstreamer.")
>
> Please use two spaces at the end of a sentence.
>
> ~~ Ricardo
>
>
Updated patch attached.

David

[-- Attachment #1.2: Type: text/html, Size: 3463 bytes --]

[-- Attachment #2: 0001-gnu-Add-rhythmbox.patch --]
[-- Type: text/x-patch, Size: 2479 bytes --]

From eda2e8e75c0f21dae5ebfec1a2376830d8104d71 Mon Sep 17 00:00:00 2001
From: David Hashe <david.hashe@dhashe.com>
Date: Wed, 17 Jun 2015 23:59:11 -0500
Subject: [PATCH] gnu: Add rhythmbox.

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

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 4af1d13..ee2bf47 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2444,3 +2444,52 @@ which are easy to play with the aid of a mouse.")
 natively with GTK-Doc (the API reference system developed for GTK+ and used
 throughout GNOME for API documentation).")
     (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)
+   (native-inputs
+    `(("intltool" ,intltool)
+      ("glib" ,glib "bin")
+      ("gobject-introspection" ,gobject-introspection)
+      ("pkg-config" ,pkg-config)))
+   (inputs
+    `(("json-glib" ,json-glib)
+      ("libpeas" ,libpeas)
+      ("tdb" ,tdb)
+      ("totem-pl-parser" ,totem-pl-parser)
+      ("webkitgtk" ,webkitgtk)
+      ("gnome-desktop" ,gnome-desktop)
+      ("python" ,python)
+      ("gmime" ,gmime)
+      ("nettle" ,nettle)
+      ("itstool" ,itstool)
+      ("adwaita-icon-theme" ,adwaita-icon-theme)
+      ("gst-plugins-base" ,gst-plugins-base)
+      ("gst-plugins-good" ,gst-plugins-good)
+      ("gstreamer" ,gstreamer)
+      ("gudev" ,eudev)
+      ("libmtp" ,libmtp)
+      ("libsecret" ,libsecret)
+      ("libnotify" ,libnotify)
+      ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+      ("atk" ,atk)
+      ("pango" ,pango)
+      ("desktop-file-utils" ,desktop-file-utils)
+      ("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


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add rhythmbox.
  2015-06-19  2:09   ` David Hashe
@ 2015-06-26 17:13     ` Ricardo Wurmus
  2015-07-05 10:13       ` Ludovic Courtès
  0 siblings, 1 reply; 21+ messages in thread
From: Ricardo Wurmus @ 2015-06-26 17:13 UTC (permalink / raw)
  To: David Hashe; +Cc: guix-devel

> Updated patch attached.

So, I applied the patch, built rhythmbox, and installed it into a
separate profile.  It starts up fine and begins importing files from
~/Music but I get a *lot* of import errors:

   “Couldn’t create ‘uridecodebin’ element”

I see this for a great many ogg and mp3 files in my ~/Music directory
under “Import Errors”.  In fact, none of my audio files in ~/Music were
imported at all.

Do you happen to know what this is about?  This looks like a gstreamer
error message to me.

I don’t have any further comments about the patch itself.  It looks fine
to me, but I’d be happier if it actually worked.

~~ Ricardo

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add rhythmbox.
  2015-06-26 17:13     ` Ricardo Wurmus
@ 2015-07-05 10:13       ` Ludovic Courtès
  2015-07-05 11:44         ` Ricardo Wurmus
  0 siblings, 1 reply; 21+ messages in thread
From: Ludovic Courtès @ 2015-07-05 10:13 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Hi David, Ricardo,

Ricardo Wurmus <rekado@elephly.net> skribis:

> So, I applied the patch, built rhythmbox, and installed it into a
> separate profile.  It starts up fine and begins importing files from
> ~/Music but I get a *lot* of import errors:
>
>    “Couldn’t create ‘uridecodebin’ element”
>
> I see this for a great many ogg and mp3 files in my ~/Music directory
> under “Import Errors”.  In fact, none of my audio files in ~/Music were
> imported at all.

Any update on this one?

Ludo’.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add rhythmbox.
  2015-07-05 10:13       ` Ludovic Courtès
@ 2015-07-05 11:44         ` Ricardo Wurmus
  2015-07-05 15:28           ` David Hashe
  0 siblings, 1 reply; 21+ messages in thread
From: Ricardo Wurmus @ 2015-07-05 11:44 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel


>> So, I applied the patch, built rhythmbox, and installed it into a
>> separate profile.  It starts up fine and begins importing files from
>> ~/Music but I get a *lot* of import errors:
>>
>>    “Couldn’t create ‘uridecodebin’ element”
>>
>> I see this for a great many ogg and mp3 files in my ~/Music directory
>> under “Import Errors”.  In fact, none of my audio files in ~/Music were
>> imported at all.
>
> Any update on this one?

Well, I still get this error and I don’t know if I need to do anything
after installation to make this work.  It very much looks like a
gstreamer error to me, but I don’t have the time to investigate this
soon.

David, is Rhythmbox working for without any such errors?  Are you using
GuixSD?

~~ Ricardo

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add rhythmbox.
  2015-07-05 11:44         ` Ricardo Wurmus
@ 2015-07-05 15:28           ` David Hashe
  2015-07-05 17:45             ` Amirouche Boubekki
  0 siblings, 1 reply; 21+ messages in thread
From: David Hashe @ 2015-07-05 15:28 UTC (permalink / raw)
  To: Ricardo Wurmus, Ludovic Courtès; +Cc: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 1536 bytes --]

Hi Ludo and Ricardo,

The 'uridecodebin' error is a result of GST_PLUGIN_SYSTEM_PATH not being
set. However, the recent patch to gstreamer adds that to its native search
paths, so that error should be resolved now on an updated system. I had a
line defining GST_PLUGIN_SYSTEM_PATH in my .bashrc, but I was able to
remove it after that patch was applied. Rhythmbox is working without errors
for me.

I've also realized that some of the packages I put under inputs should
probably be propagated inputs, so I'm attaching an updated patch which
changes that.

I am currently using guix over ubuntu.

Thanks,
David

On Sun, Jul 5, 2015 at 6:44 AM, Ricardo Wurmus <rekado@elephly.net> wrote:

>
> >> So, I applied the patch, built rhythmbox, and installed it into a
> >> separate profile.  It starts up fine and begins importing files from
> >> ~/Music but I get a *lot* of import errors:
> >>
> >>    “Couldn’t create ‘uridecodebin’ element”
> >>
> >> I see this for a great many ogg and mp3 files in my ~/Music directory
> >> under “Import Errors”.  In fact, none of my audio files in ~/Music were
> >> imported at all.
> >
> > Any update on this one?
>
> Well, I still get this error and I don’t know if I need to do anything
> after installation to make this work.  It very much looks like a
> gstreamer error to me, but I don’t have the time to investigate this
> soon.
>
> David, is Rhythmbox working for without any such errors?  Are you using
> GuixSD?
>
> ~~ Ricardo
>
>

[-- Attachment #1.2: Type: text/html, Size: 2104 bytes --]

[-- Attachment #2: 0001-gnu-Add-rhythmbox.patch --]
[-- Type: text/x-patch, Size: 2691 bytes --]

From 91d42139d7344ddb812e12a3c0a67647b51271d8 Mon Sep 17 00:00:00 2001
From: David Hashe <david.hashe@dhashe.com>
Date: Sun, 5 Jul 2015 10:24:22 -0500
Subject: [PATCH] gnu: Add rhythmbox.

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

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3882a7a..103c078 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2718,3 +2718,59 @@ 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)
+   (propagated-inputs
+    `(("dconf" ,dconf)
+      ("gst-libav" ,gst-libav)
+      ("gst-plugins-base" ,gst-plugins-base)
+      ("gst-plugins-good" ,gst-plugins-good)))
+   (native-inputs
+    `(("intltool" ,intltool)
+      ("glib" ,glib "bin")
+      ("gobject-introspection" ,gobject-introspection)
+      ("pkg-config" ,pkg-config)))
+   (inputs
+    `(("json-glib" ,json-glib)
+      ("libpeas" ,libpeas)
+      ("tdb" ,tdb)
+      ("totem-pl-parser" ,totem-pl-parser)
+      ("webkitgtk" ,webkitgtk)
+      ("gnome-desktop" ,gnome-desktop)
+      ("python" ,python)
+      ("gmime" ,gmime)
+      ("nettle" ,nettle)
+      ("itstool" ,itstool)
+      ("adwaita-icon-theme" ,adwaita-icon-theme)
+      ("gstreamer" ,gstreamer)
+      ("gudev" ,eudev)
+      ("libmtp" ,libmtp)
+      ("libsecret" ,libsecret)
+      ("libnotify" ,libnotify)
+      ("clutter" ,clutter)
+      ("clutter-gtk" ,clutter-gtk)
+      ("clutter-gst" ,clutter-gst)
+      ;("grilo" ,grilo)
+      ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+      ("atk" ,atk)
+      ("pango" ,pango)
+      ("desktop-file-utils" ,desktop-file-utils)
+      ("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


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add rhythmbox.
  2015-07-05 15:28           ` David Hashe
@ 2015-07-05 17:45             ` Amirouche Boubekki
  2015-07-05 19:24               ` Amirouche Boubekki
  2015-07-06 19:27               ` [PATCH] gnu: Add rhythmbox Mark H Weaver
  0 siblings, 2 replies; 21+ messages in thread
From: Amirouche Boubekki @ 2015-07-05 17:45 UTC (permalink / raw)
  To: David Hashe; +Cc: guix-devel, guix-devel-bounces+amirouche=hypermove.net

On 2015-07-05 17:28, David Hashe wrote:
> Hi Ludo and Ricardo,
> 
> The 'uridecodebin' error is a result of GST_PLUGIN_SYSTEM_PATH not
> being set. However, the recent patch to gstreamer adds that to its
> native search paths, so that error should be resolved now on an
> updated system. I had a line defining GST_PLUGIN_SYSTEM_PATH in my
> .bashrc, but I was able to remove it after that patch was applied.
> Rhythmbox is working without errors for me.
> 
> I've also realized that some of the packages I put under inputs should
> probably be propagated inputs, so I'm attaching an updated patch which
> changes that.
> 
> I am currently using guix over ubuntu.

I use GuixSD. I patched my guix git repository just after they were 
published.

It works, or more precisly it can work:

- I have the following in my .bashrc:

export GST_PLUGIN_SYSTEM_PATH=$HOME/.guix-profile/lib/gstreamer-1.0
export GRL_PLUGIN_PATH=$HOME/.guix-profile/lib/grilo-0.2

- Also I installed several gstreamer packages.

I only tried to play mp3 and ogg. Ogg works. I did not try burning audio 
cds.
I will try later today or tomorrow.



> 
> Thanks,
> 
> David
> 
> On Sun, Jul 5, 2015 at 6:44 AM, Ricardo Wurmus <rekado@elephly.net>
> wrote:
> 
>>>> So, I applied the patch, built rhythmbox, and installed it into a
>>>> separate profile. It starts up fine and begins importing files
>> from
>>>> ~/Music but I get a *lot* of import errors:
>>>> 
>>>> “Couldn’t create ‘uridecodebin’ element”
>>>> 
>>>> I see this for a great many ogg and mp3 files in my ~/Music
>> directory
>>>> under “Import Errors”. In fact, none of my audio files in
>> ~/Music were
>>>> imported at all.
>>> 
>>> Any update on this one?
>> 
>> Well, I still get this error and I don’t know if I need to do
>> anything
>> after installation to make this work. It very much looks like a
>> gstreamer error to me, but I don’t have the time to investigate
>> this
>> soon.
>> 
>> David, is Rhythmbox working for without any such errors? Are you
>> using
>> GuixSD?
>> 
>> ~~ Ricardo

-- 
Amirouche ~ amz3 ~ http://www.hyperdev.fr

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add rhythmbox.
  2015-07-05 17:45             ` Amirouche Boubekki
@ 2015-07-05 19:24               ` Amirouche Boubekki
  2015-07-05 21:42                 ` David Hashe
  2015-07-06 19:27               ` [PATCH] gnu: Add rhythmbox Mark H Weaver
  1 sibling, 1 reply; 21+ messages in thread
From: Amirouche Boubekki @ 2015-07-05 19:24 UTC (permalink / raw)
  To: David Hashe; +Cc: guix-devel, guix-devel-bounces+amirouche=hypermove.net

On 2015-07-05 19:45, Amirouche Boubekki wrote:
> On 2015-07-05 17:28, David Hashe wrote:
>> Hi Ludo and Ricardo,
>> 
>> The 'uridecodebin' error is a result of GST_PLUGIN_SYSTEM_PATH not
>> being set. However, the recent patch to gstreamer adds that to its
>> native search paths, so that error should be resolved now on an
>> updated system. I had a line defining GST_PLUGIN_SYSTEM_PATH in my
>> .bashrc, but I was able to remove it after that patch was applied.
>> Rhythmbox is working without errors for me.
>> 
>> I've also realized that some of the packages I put under inputs should
>> probably be propagated inputs, so I'm attaching an updated patch which
>> changes that.
>> 
>> I am currently using guix over ubuntu.
> 
> I use GuixSD. I patched my guix git repository just after they were 
> published.
> 
> It works, or more precisly it can work:
> 
> - I have the following in my .bashrc:
> 
> export GST_PLUGIN_SYSTEM_PATH=$HOME/.guix-profile/lib/gstreamer-1.0
> export GRL_PLUGIN_PATH=$HOME/.guix-profile/lib/grilo-0.2
> 
> - Also I installed several gstreamer packages.
> 
> I only tried to play mp3 and ogg. Ogg works. I did not try burning 
> audio cds.
> I will try later today or tomorrow.

Both cd burning and ripping doesn't work:

- audio burn: the plugin appears in the list of plugins and can be 
activated. When activated it doesn't appear in the player UI to actually 
burn playlists
- ripping: no mention of it at all in the UI

> 
> 
> 
>> 
>> Thanks,
>> 
>> David
>> 
>> On Sun, Jul 5, 2015 at 6:44 AM, Ricardo Wurmus <rekado@elephly.net>
>> wrote:
>> 
>>>>> So, I applied the patch, built rhythmbox, and installed it into a
>>>>> separate profile. It starts up fine and begins importing files
>>> from
>>>>> ~/Music but I get a *lot* of import errors:
>>>>> 
>>>>> “Couldn’t create ‘uridecodebin’ element”
>>>>> 
>>>>> I see this for a great many ogg and mp3 files in my ~/Music
>>> directory
>>>>> under “Import Errors”. In fact, none of my audio files in
>>> ~/Music were
>>>>> imported at all.
>>>> 

I used to have errors when I did not install gstreamer plugins.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add rhythmbox.
  2015-07-05 19:24               ` Amirouche Boubekki
@ 2015-07-05 21:42                 ` David Hashe
  2015-07-06 19:34                   ` Mark H Weaver
  0 siblings, 1 reply; 21+ messages in thread
From: David Hashe @ 2015-07-05 21:42 UTC (permalink / raw)
  To: Amirouche Boubekki; +Cc: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 3597 bytes --]

On Sun, Jul 5, 2015 at 2:24 PM, Amirouche Boubekki <amirouche@hypermove.net>
wrote:

> On 2015-07-05 19:45, Amirouche Boubekki wrote:
>
>> On 2015-07-05 17:28, David Hashe wrote:
>>
>>> Hi Ludo and Ricardo,
>>>
>>> The 'uridecodebin' error is a result of GST_PLUGIN_SYSTEM_PATH not
>>> being set. However, the recent patch to gstreamer adds that to its
>>> native search paths, so that error should be resolved now on an
>>> updated system. I had a line defining GST_PLUGIN_SYSTEM_PATH in my
>>> .bashrc, but I was able to remove it after that patch was applied.
>>> Rhythmbox is working without errors for me.
>>>
>>> I've also realized that some of the packages I put under inputs should
>>> probably be propagated inputs, so I'm attaching an updated patch which
>>> changes that.
>>>
>>> I am currently using guix over ubuntu.
>>>
>>
>> I use GuixSD. I patched my guix git repository just after they were
>> published.
>>
>> It works, or more precisly it can work:
>>
>> - I have the following in my .bashrc:
>>
>> export GST_PLUGIN_SYSTEM_PATH=$HOME/.guix-profile/lib/gstreamer-1.0
>> export GRL_PLUGIN_PATH=$HOME/.guix-profile/lib/grilo-0.2
>>
>> - Also I installed several gstreamer packages.
>>
>> I only tried to play mp3 and ogg. Ogg works. I did not try burning audio
>> cds.
>> I will try later today or tomorrow.
>>
>
mp3 support requires gst-plugins-ugly, which includes nonfree and
patent-encumbered codecs. More information at
http://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html

As a side note, it appears that we do package some patent-encumbered
software, such as LAME, so I'm not sure what our stance is on software
patents themselves.


>
> Both cd burning and ripping doesn't work:
>
> - audio burn: the plugin appears in the list of plugins and can be
> activated. When activated it doesn't appear in the player UI to actually
> burn playlists
> - ripping: no mention of it at all in the UI
>

You're right. I don't usually use CDs, so I wasn't able to test it very
well. I'll try to figure out why this is.


>
>
>>
>>
>>
>>> Thanks,
>>>
>>> David
>>>
>>> On Sun, Jul 5, 2015 at 6:44 AM, Ricardo Wurmus <rekado@elephly.net>
>>> wrote:
>>>
>>>  So, I applied the patch, built rhythmbox, and installed it into a
>>>>>> separate profile. It starts up fine and begins importing files
>>>>>>
>>>>> from
>>>>
>>>>> ~/Music but I get a *lot* of import errors:
>>>>>>
>>>>>> “Couldn’t create ‘uridecodebin’ element”
>>>>>>
>>>>>> I see this for a great many ogg and mp3 files in my ~/Music
>>>>>>
>>>>> directory
>>>>
>>>>> under “Import Errors”. In fact, none of my audio files in
>>>>>>
>>>>> ~/Music were
>>>>
>>>>> imported at all.
>>>>>>
>>>>>
>>>>>
> I used to have errors when I did not install gstreamer plugins.
>
>
>
My bad on saying that GST_PLUGIN_SYSTEM_PATH is not required; I resourced
my .bashrc but left the path in my environment. I'm currently using the
following variables to make things work:

export GST_PLUGIN_SYSTEM_PATH=/home/dhashe/.guix-profile/lib/gstreamer-1.0
# needed for importing music
export GIO_EXTRA_MODULES=/home/dhashe/.guix-profile/lib/gio/modules #
needed for playlist support

I don't have GRL_PLUGIN_PATH set yet because the patch adding grilo hasn't
been committed yet (grilo is also commented out in this patch) but you're
right that we will probably need it in the future.

I've also moved totem-pl-parser to propagated inputs for playlist support
in the attached, updated patch.

Thanks,
David

[-- Attachment #1.2: Type: text/html, Size: 6554 bytes --]

[-- Attachment #2: 0001-gnu-Add-rhythmbox.patch --]
[-- Type: text/x-patch, Size: 2691 bytes --]

From e544b1d2e2689225d447ec38e3f41b44a6f9311b Mon Sep 17 00:00:00 2001
From: David Hashe <david.hashe@dhashe.com>
Date: Sun, 5 Jul 2015 10:24:22 -0500
Subject: [PATCH] gnu: Add rhythmbox.

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

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3882a7a..ffd83e8 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2718,3 +2718,59 @@ 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)
+   (propagated-inputs
+    `(("dconf" ,dconf)
+      ("gst-libav" ,gst-libav)
+      ("gst-plugins-base" ,gst-plugins-base)
+      ("gst-plugins-good" ,gst-plugins-good)
+      ("totem-pl-parser" ,totem-pl-parser)))
+   (native-inputs
+    `(("intltool" ,intltool)
+      ("glib" ,glib "bin")
+      ("gobject-introspection" ,gobject-introspection)
+      ("pkg-config" ,pkg-config)))
+   (inputs
+    `(("json-glib" ,json-glib)
+      ("libpeas" ,libpeas)
+      ("tdb" ,tdb)
+      ("webkitgtk" ,webkitgtk)
+      ("gnome-desktop" ,gnome-desktop)
+      ("python" ,python)
+      ("gmime" ,gmime)
+      ("nettle" ,nettle)
+      ("itstool" ,itstool)
+      ("adwaita-icon-theme" ,adwaita-icon-theme)
+      ("gstreamer" ,gstreamer)
+      ("gudev" ,eudev)
+      ("libmtp" ,libmtp)
+      ("libsecret" ,libsecret)
+      ("libnotify" ,libnotify)
+      ("clutter" ,clutter)
+      ("clutter-gtk" ,clutter-gtk)
+      ("clutter-gst" ,clutter-gst)
+      ;("grilo" ,grilo)
+      ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+      ("atk" ,atk)
+      ("pango" ,pango)
+      ("brasero" ,brasero)
+      ("desktop-file-utils" ,desktop-file-utils)))
+   (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


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add rhythmbox.
  2015-07-05 17:45             ` Amirouche Boubekki
  2015-07-05 19:24               ` Amirouche Boubekki
@ 2015-07-06 19:27               ` Mark H Weaver
  1 sibling, 0 replies; 21+ messages in thread
From: Mark H Weaver @ 2015-07-06 19:27 UTC (permalink / raw)
  To: Amirouche Boubekki; +Cc: guix-devel, guix-devel-bounces+amirouche=hypermove.net

Amirouche Boubekki <amirouche@hypermove.net> writes:

> On 2015-07-05 17:28, David Hashe wrote:
>> Hi Ludo and Ricardo,
>>
>> The 'uridecodebin' error is a result of GST_PLUGIN_SYSTEM_PATH not
>> being set. However, the recent patch to gstreamer adds that to its
>> native search paths, so that error should be resolved now on an
>> updated system. I had a line defining GST_PLUGIN_SYSTEM_PATH in my
>> .bashrc, but I was able to remove it after that patch was applied.
>> Rhythmbox is working without errors for me.
>>
>> I've also realized that some of the packages I put under inputs should
>> probably be propagated inputs, so I'm attaching an updated patch which
>> changes that.
>>
>> I am currently using guix over ubuntu.
>
> I use GuixSD. I patched my guix git repository just after they were
> published.
>
> It works, or more precisly it can work:
>
> - I have the following in my .bashrc:
>
> export GST_PLUGIN_SYSTEM_PATH=$HOME/.guix-profile/lib/gstreamer-1.0
> export GRL_PLUGIN_PATH=$HOME/.guix-profile/lib/grilo-0.2

Environment variable settings should go in .bash_profile instead of
.bashrc, so that they are only set in your login shell.  Otherwise, when
you spawn shells within an alternative environment (e.g. created by
'guix environment') the .bashrc will overwrite those environment
settings.

To include plugins from both my user profile and system profile, here's
what I put in my .bash_profile:

export GRL_PLUGIN_PATH=$HOME/.guix-profile/lib/grilo-0.2:/run/current-system/profile/lib/grilo-0.2
export GST_PLUGIN_SYSTEM_PATH=$HOME/.guix-profile/lib/gstreamer-1.0:/run/current-system/lib/gstreamer-1.0

     Mark

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add rhythmbox.
  2015-07-05 21:42                 ` David Hashe
@ 2015-07-06 19:34                   ` Mark H Weaver
  2015-07-07  3:39                     ` David Hashe
  0 siblings, 1 reply; 21+ messages in thread
From: Mark H Weaver @ 2015-07-06 19:34 UTC (permalink / raw)
  To: David Hashe; +Cc: guix-devel

David Hashe <david.hashe@dhashe.com> writes:

> On Sun, Jul 5, 2015 at 2:24 PM, Amirouche Boubekki
> <amirouche@hypermove.net> wrote:
>
>         I only tried to play mp3 and ogg. Ogg works. I did not try
>         burning audio cds.
>         I will try later today or tomorrow.
>         
>
> mp3 support requires gst-plugins-ugly, which includes nonfree and
> patent-encumbered codecs. More information at
> http://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html

There are MP3 decoders that are free software.  We should be able to
support this, just like Debian does.  What about the gst-libav package?

> As a side note, it appears that we do package some patent-encumbered
> software, such as LAME, so I'm not sure what our stance is on software
> patents themselves.

See the section on "Patents" in the GNU FSDG
<https://gnu.org/distros/free-system-distribution-guidelines.html>:

  It is effectively impossible for free software developers and
  distributors to know whether or not a given piece of software
  infringes any patents: there are too many of them, they vary from
  country to country, they're often worded so as to make it hard to tell
  what they do or don't cover, and it isn't easy to tell which ones are
  valid. Therefore, we don't generally ask free system distributions to
  exclude software because of possible threats from patents. On the
  other hand, we also don't object if a distributor chooses to omit some
  software in order to avoid patent risk.

We can include free software in GNU Guix, even if it faces possible
patent threats in some countries.

      Mark

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add rhythmbox.
  2015-07-06 19:34                   ` Mark H Weaver
@ 2015-07-07  3:39                     ` David Hashe
  2015-07-07 14:59                       ` [PATCH] gnu: Add gst-plugins-ugly Mark H Weaver
  0 siblings, 1 reply; 21+ messages in thread
From: David Hashe @ 2015-07-07  3:39 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2201 bytes --]

On Mon, Jul 6, 2015 at 2:34 PM, Mark H Weaver <mhw@netris.org> wrote:

> David Hashe <david.hashe@dhashe.com> writes:
>
> > On Sun, Jul 5, 2015 at 2:24 PM, Amirouche Boubekki
> > <amirouche@hypermove.net> wrote:
> >
> >         I only tried to play mp3 and ogg. Ogg works. I did not try
> >         burning audio cds.
> >         I will try later today or tomorrow.
> >
> >
> > mp3 support requires gst-plugins-ugly, which includes nonfree and
> > patent-encumbered codecs. More information at
> > http://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html
>
> There are MP3 decoders that are free software.  We should be able to
> support this, just like Debian does.  What about the gst-libav package?
>
> > As a side note, it appears that we do package some patent-encumbered
> > software, such as LAME, so I'm not sure what our stance is on software
> > patents themselves.
>
> See the section on "Patents" in the GNU FSDG
> <https://gnu.org/distros/free-system-distribution-guidelines.html>:
>
>   It is effectively impossible for free software developers and
>   distributors to know whether or not a given piece of software
>   infringes any patents: there are too many of them, they vary from
>   country to country, they're often worded so as to make it hard to tell
>   what they do or don't cover, and it isn't easy to tell which ones are
>   valid. Therefore, we don't generally ask free system distributions to
>   exclude software because of possible threats from patents. On the
>   other hand, we also don't object if a distributor chooses to omit some
>   software in order to avoid patent risk.
>
> We can include free software in GNU Guix, even if it faces possible
> patent threats in some countries.
>
>       Mark
>

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.

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.

Thanks,
David

[-- Attachment #2: Type: text/html, Size: 3284 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH] gnu: Add gst-plugins-ugly
  2015-07-07  3:39                     ` David Hashe
@ 2015-07-07 14:59                       ` Mark H Weaver
  2015-07-07 18:50                         ` Mark H Weaver
  0 siblings, 1 reply; 21+ messages in thread
From: Mark H Weaver @ 2015-07-07 14:59 UTC (permalink / raw)
  To: David Hashe; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 950 bytes --]

David Hashe <david.hashe@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.

      Mark



[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: [PATCH] gnu: Add gst-plugins-ugly --]
[-- Type: text/x-patch, Size: 2567 bytes --]

From d50c79a3e4dd416e8ac747e1375b987500783d34 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@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 | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 0f3a0fb..2130678 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -243,6 +243,50 @@ 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/gst-plugins-ugly/gst-plugins-ugly-"
+             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)             ; XXX what about libcdio-paranoia(?)
+       ("twolame" ,twolame)
+       ;; TODO:
+       ;; * opencore-amr (for the AMR-NB decoder and encoder and the
+       ;;   AMR-WB decoder) <http://sourceforge.net/projects/opencore-amr/>
+       ;; * libdvdread (for the dvdreadsrc)
+       ;;   <http://www.dtek.chalmers.se/groups/dvd/>
+       ;;   (optional: libcss for encrypted DVDs)
+       ;; * mpeg2dec (for mpeg2 related plugins and dvd playback)
+       ;;   <http://libmpeg2.sourceforge.net/>
+       ;; * 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


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add gst-plugins-ugly
  2015-07-07 14:59                       ` [PATCH] gnu: Add gst-plugins-ugly Mark H Weaver
@ 2015-07-07 18:50                         ` Mark H Weaver
  2015-07-08  5:06                           ` David Hashe
  2015-07-09 16:21                           ` Mark H Weaver
  0 siblings, 2 replies; 21+ messages in thread
From: Mark H Weaver @ 2015-07-07 18:50 UTC (permalink / raw)
  To: David Hashe; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1221 bytes --]

Mark H Weaver <mhw@netris.org> writes:

> David Hashe <david.hashe@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



[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: [PATCH] gnu: Add gst-plugins-ugly --]
[-- Type: text/x-patch, Size: 2297 bytes --]

From 60e3d1398cf058b10947727dcb8c97b11332c8e3 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@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


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add gst-plugins-ugly
  2015-07-07 18:50                         ` Mark H Weaver
@ 2015-07-08  5:06                           ` David Hashe
  2015-07-08 18:16                             ` Mark H Weaver
  2015-07-10  5:17                             ` Mark H Weaver
  2015-07-09 16:21                           ` Mark H Weaver
  1 sibling, 2 replies; 21+ messages in thread
From: David Hashe @ 2015-07-08  5:06 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 1674 bytes --]

> +    (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 <mhw@netris.org> wrote:

> Mark H Weaver <mhw@netris.org> writes:
>
> > David Hashe <david.hashe@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
>
>
>

[-- Attachment #1.2: Type: text/html, Size: 2678 bytes --]

[-- Attachment #2: 0001-gnu-Add-rhythmbox.patch --]
[-- Type: text/x-patch, Size: 3475 bytes --]

From c3ec7cf01a6c1bf9013a2819c2c5ec7181724947 Mon Sep 17 00:00:00 2001
From: David Hashe <david.hashe@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


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add gst-plugins-ugly
  2015-07-08  5:06                           ` David Hashe
@ 2015-07-08 18:16                             ` Mark H Weaver
  2015-07-10  5:17                             ` Mark H Weaver
  1 sibling, 0 replies; 21+ messages in thread
From: Mark H Weaver @ 2015-07-08 18:16 UTC (permalink / raw)
  To: David Hashe; +Cc: guix-devel

David Hashe <david.hashe@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

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add gst-plugins-ugly
  2015-07-07 18:50                         ` Mark H Weaver
  2015-07-08  5:06                           ` David Hashe
@ 2015-07-09 16:21                           ` Mark H Weaver
  1 sibling, 0 replies; 21+ messages in thread
From: Mark H Weaver @ 2015-07-09 16:21 UTC (permalink / raw)
  To: David Hashe; +Cc: guix-devel

Mark H Weaver <mhw@netris.org> writes:

> Mark H Weaver <mhw@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

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add gst-plugins-ugly
  2015-07-08  5:06                           ` David Hashe
  2015-07-08 18:16                             ` Mark H Weaver
@ 2015-07-10  5:17                             ` Mark H Weaver
  2015-07-12 19:42                               ` David Hashe
  1 sibling, 1 reply; 21+ messages in thread
From: Mark H Weaver @ 2015-07-10  5:17 UTC (permalink / raw)
  To: David Hashe; +Cc: guix-devel

David Hashe <david.hashe@dhashe.com> writes:

> From c3ec7cf01a6c1bf9013a2819c2c5ec7181724947 Mon Sep 17 00:00:00 2001
> From: David Hashe <david.hashe@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

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add gst-plugins-ugly
  2015-07-10  5:17                             ` Mark H Weaver
@ 2015-07-12 19:42                               ` David Hashe
  2015-07-13  3:29                                 ` Mark H Weaver
  0 siblings, 1 reply; 21+ messages in thread
From: David Hashe @ 2015-07-12 19:42 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 5641 bytes --]

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 <mhw@netris.org> wrote:

> David Hashe <david.hashe@dhashe.com> writes:
>
> > From c3ec7cf01a6c1bf9013a2819c2c5ec7181724947 Mon Sep 17 00:00:00 2001
> > From: David Hashe <david.hashe@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
>

[-- Attachment #1.2: Type: text/html, Size: 8110 bytes --]

[-- Attachment #2: 0001-gnu-Add-rhythmbox.patch --]
[-- Type: text/x-patch, Size: 3963 bytes --]

From 3ddd7b8d0744e3d7a105e6ea613df269c8c587a6 Mon Sep 17 00:00:00 2001
From: David Hashe <david.hashe@dhashe.com>
Date: Thu, 9 Jul 2015 23:43:56 -0500
Subject: [PATCH] gnu: Add rhythmbox.

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

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3142506..64c078e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2902,3 +2902,89 @@ which can read a large number of file formats.")
     ;; to be used and distributed together with GStreamer and Totem.  See
     ;; file://COPYING in the source distribution for details.
     (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")
+      #:phases
+      (modify-phases %standard-phases
+        (add-after
+         'install 'wrap-rhythmbox
+         (lambda* (#:key inputs outputs #:allow-other-keys)
+           (let ((out               (assoc-ref outputs "out"))
+                 (gi-typelib-path   (getenv "GI_TYPELIB_PATH"))
+                 (gst-plugin-path   (getenv "GST_PLUGIN_SYSTEM_PATH"))
+                 (grl-plugin-path   (getenv "GRL_PLUGIN_PATH")))
+             (wrap-program (string-append out "/bin/rhythmbox")
+               `("GI_TYPELIB_PATH"        ":" prefix (,gi-typelib-path))
+               `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
+               `("GRL_PLUGIN_PATH"        ":" prefix (,grl-plugin-path))))
+           #t)))))
+   (propagated-inputs
+    `(("dconf" ,dconf)))
+   (native-inputs
+    `(("intltool" ,intltool)
+      ("glib" ,glib "bin")
+      ("gobject-introspection" ,gobject-introspection)
+      ("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)
+      ("grilo" ,grilo)
+      ("grilo-plugins" ,grilo-plugins)
+      ("gstreamer" ,gstreamer)
+      ("gst-plugins-base" ,gst-plugins-base)
+      ("gst-plugins-good" ,gst-plugins-good)
+      ("eudev" ,eudev)
+      ("totem-pl-parser" ,totem-pl-parser)
+      ;;("libmtp" ,libmtp) FIXME: Not detected
+      ("libsecret" ,libsecret)
+      ("libsoup" ,libsoup)
+      ("libnotify" ,libnotify)
+      ("libpeas" ,libpeas)
+      ("lirc" ,lirc)
+      ;; TODO: clutter* only used by visualizer plugin, which also requires mx
+      ;;("clutter" ,clutter)
+      ;;("clutter-gtk" ,clutter-gtk)
+      ;;("clutter-gst" ,clutter-gst)
+      ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+      ("atk" ,atk)
+      ("pango" ,pango)
+      ("gtk+" ,gtk+)
+      ;; TODO:
+      ;;  * 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


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH] gnu: Add gst-plugins-ugly
  2015-07-12 19:42                               ` David Hashe
@ 2015-07-13  3:29                                 ` Mark H Weaver
  0 siblings, 0 replies; 21+ messages in thread
From: Mark H Weaver @ 2015-07-13  3:29 UTC (permalink / raw)
  To: David Hashe; +Cc: guix-devel

David Hashe <david.hashe@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

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2015-07-13  3:29 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-18  5:07 [PATCH] gnu: Add rhythmbox David Hashe
2015-06-18 13:45 ` Ricardo Wurmus
2015-06-19  2:09   ` David Hashe
2015-06-26 17:13     ` Ricardo Wurmus
2015-07-05 10:13       ` Ludovic Courtès
2015-07-05 11:44         ` Ricardo Wurmus
2015-07-05 15:28           ` David Hashe
2015-07-05 17:45             ` Amirouche Boubekki
2015-07-05 19:24               ` Amirouche Boubekki
2015-07-05 21:42                 ` David Hashe
2015-07-06 19:34                   ` Mark H Weaver
2015-07-07  3:39                     ` David Hashe
2015-07-07 14:59                       ` [PATCH] gnu: Add gst-plugins-ugly Mark H Weaver
2015-07-07 18:50                         ` Mark H Weaver
2015-07-08  5:06                           ` David Hashe
2015-07-08 18:16                             ` Mark H Weaver
2015-07-10  5:17                             ` Mark H Weaver
2015-07-12 19:42                               ` David Hashe
2015-07-13  3:29                                 ` Mark H Weaver
2015-07-09 16:21                           ` Mark H Weaver
2015-07-06 19:27               ` [PATCH] gnu: Add rhythmbox Mark H Weaver

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).