unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add pianobar.
@ 2016-02-11  7:46 Al McElrath
  2016-02-11  8:14 ` Ricardo Wurmus
  0 siblings, 1 reply; 10+ messages in thread
From: Al McElrath @ 2016-02-11  7:46 UTC (permalink / raw)
  To: guix-devel

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

Hi,

Another new package. Feedback appreciated. This is free software, but it
only works with a non-free music service, Pandora. Is that acceptable?


[-- Attachment #2: 0001-gnu-Add-pianobar.patch --]
[-- Type: text/x-diff, Size: 2886 bytes --]

From 4f477999635b4a16f19ef0833727abcf899dbb69 Mon Sep 17 00:00:00 2001
From: Al McElrath <hello@yrns.org>
Date: Fri, 11 Dec 2015 21:22:33 -0800
Subject: [PATCH] gnu: Add pianobar.

* gnu/packages/music.scm (pianobar): New variable.
---
 gnu/packages/music.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index a60ba4b..c5a6dc5 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
+;;; Copyright © 2016 Al McElrath <hello@yrns.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,6 +40,7 @@
   #:use-module (gnu packages code)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages curl)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages doxygen)
   #:use-module (gnu packages flex)
@@ -46,6 +48,7 @@
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
@@ -1078,3 +1081,36 @@ computer's keyboard.")
 JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
 follows a traditional multi-track tape recorder control paradigm.")
     (license license:gpl2+)))
+
+(define-public pianobar
+  (package
+    (name "pianobar")
+    (version "2015.11.22")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/PromyLOPh/"
+                                  name "/archive/" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no tests
+       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
+                          (string-append "PREFIX=" %output))
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure))))
+    (inputs
+     `(("ao" ,ao)
+       ("curl" ,curl)
+       ("libgcrypt" ,libgcrypt)
+       ("json-c" ,json-c)
+       ("ffmpeg" ,ffmpeg)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://6xq.net/projects/pianobar/")
+    (synopsis "Console-based pandora.com player")
+    (description "pianobar is a free/open-source, console-based client for the
+personalized online radio Pandora.")
+    (license license:x11)))
-- 
2.5.0


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

* Re: [PATCH] gnu: Add pianobar.
  2016-02-11  7:46 [PATCH] gnu: Add pianobar Al McElrath
@ 2016-02-11  8:14 ` Ricardo Wurmus
  2016-02-11 21:36   ` Al McElrath
  0 siblings, 1 reply; 10+ messages in thread
From: Ricardo Wurmus @ 2016-02-11  8:14 UTC (permalink / raw)
  To: Al McElrath; +Cc: guix-devel


Al McElrath <hello@yrns.org> writes:

> Another new package. Feedback appreciated.

Thank you for the patch!

> This is free software, but it
> only works with a non-free music service, Pandora. Is that acceptable?

The concept of “non-free” doesn’t directly apply to services.  See
“Untangling the SaaSS Issue from the Proprietary Software Issue” here:

  https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html

and also this:

  https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html

I don’t know anything about Pandora (I do know my mythology, though), so
I’m not in a position to anticipate and answer questions about it.  In
general I think that if “pianobar” itself is free software (which you
say it is) and you do not need to use non-free software to set it up in
the first place then it is probably acceptable.

Now, on to a review of the patch!

> From 4f477999635b4a16f19ef0833727abcf899dbb69 Mon Sep 17 00:00:00 2001
> From: Al McElrath <hello@yrns.org>
> Date: Fri, 11 Dec 2015 21:22:33 -0800
> Subject: [PATCH] gnu: Add pianobar.

> * gnu/packages/music.scm (pianobar): New variable.
> ---
>  gnu/packages/music.scm | 36 ++++++++++++++++++++++++++++++++++++
>  1 file changed, 36 insertions(+)

> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> index a60ba4b..c5a6dc5 100644
> --- a/gnu/packages/music.scm
> +++ b/gnu/packages/music.scm
> @@ -2,6 +2,7 @@
>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -39,6 +40,7 @@
>    #:use-module (gnu packages code)
>    #:use-module (gnu packages check)
>    #:use-module (gnu packages compression)
> +  #:use-module (gnu packages curl)
>    #:use-module (gnu packages docbook)
>    #:use-module (gnu packages doxygen)
>    #:use-module (gnu packages flex)
> @@ -46,6 +48,7 @@
>    #:use-module (gnu packages fonts)
>    #:use-module (gnu packages fontutils)
>    #:use-module (gnu packages gcc)
> +  #:use-module (gnu packages gnupg)
>    #:use-module (gnu packages gettext)
>    #:use-module (gnu packages ghostscript)
>    #:use-module (gnu packages gl)
> @@ -1078,3 +1081,36 @@ computer's keyboard.")
>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
>  follows a traditional multi-track tape recorder control paradigm.")
>      (license license:gpl2+)))
> +
> +(define-public pianobar
> +  (package
> +    (name "pianobar")
> +    (version "2015.11.22")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://github.com/PromyLOPh/"
> +                                  name "/archive/" version ".tar.gz"))
> +              (file-name (string-append name "-" version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:tests? #f ; no tests
> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
> +                          (string-append "PREFIX=" %output))
> +       #:phases (modify-phases %standard-phases
> +                  (delete 'configure))))
> +    (inputs
> +     `(("ao" ,ao)
> +       ("curl" ,curl)
> +       ("libgcrypt" ,libgcrypt)
> +       ("json-c" ,json-c)
> +       ("ffmpeg" ,ffmpeg)))
> +    (native-inputs
> +     `(("pkg-config" ,pkg-config)))
> +    (home-page "http://6xq.net/projects/pianobar/")
> +    (synopsis "Console-based pandora.com player")
> +    (description "pianobar is a free/open-source, console-based client for the
> +personalized online radio Pandora.")

Everything in Guix qualifies as free software, so we do not need to
explicitly mention that it is free software.  Maybe the description is a
little bit short — could you possibly incorporate parts of the feature
list?

> +    (license license:x11)))

I think it’s the Expat license, not X11.  I only compared these
texts:

    https://github.com/PromyLOPh/pianobar/blob/master/COPYING
    http://directory.fsf.org/wiki/License:Expat
    http://directory.fsf.org/wiki/License:X11

Thanks again and welcome!

~~ Ricardo

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

* Re: [PATCH] gnu: Add pianobar.
  2016-02-11  8:14 ` Ricardo Wurmus
@ 2016-02-11 21:36   ` Al McElrath
  2016-02-12  4:51     ` Leo Famulari
  0 siblings, 1 reply; 10+ messages in thread
From: Al McElrath @ 2016-02-11 21:36 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

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


Revised patch is attached. I updated/expanded the description and fixed
the license. Thanks!


[-- Attachment #2: 0001-gnu-Add-pianobar.patch --]
[-- Type: text/x-diff, Size: 3052 bytes --]

From 91d5c428428eed605c981a39022fe90e6f98be6d Mon Sep 17 00:00:00 2001
From: Al McElrath <hello@yrns.org>
Date: Fri, 11 Dec 2015 21:22:33 -0800
Subject: [PATCH] gnu: Add pianobar.

* gnu/packages/music.scm (pianobar): New variable.
---
 gnu/packages/music.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index a60ba4b..1382b0a 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
+;;; Copyright © 2016 Al McElrath <hello@yrns.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,6 +40,7 @@
   #:use-module (gnu packages code)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages curl)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages doxygen)
   #:use-module (gnu packages flex)
@@ -46,6 +48,7 @@
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
@@ -1078,3 +1081,38 @@ computer's keyboard.")
 JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
 follows a traditional multi-track tape recorder control paradigm.")
     (license license:gpl2+)))
+
+(define-public pianobar
+  (package
+    (name "pianobar")
+    (version "2015.11.22")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/PromyLOPh/"
+                                  name "/archive/" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no tests
+       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
+                          (string-append "PREFIX=" %output))
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure))))
+    (inputs
+     `(("ao" ,ao)
+       ("curl" ,curl)
+       ("libgcrypt" ,libgcrypt)
+       ("json-c" ,json-c)
+       ("ffmpeg" ,ffmpeg)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://6xq.net/projects/pianobar/")
+    (synopsis "Console-based pandora.com player")
+    (description "pianobar is a console-based music player for the
+personalized online radio pandora.com.  It has configurable keys for playing
+and managing stations, can be controlled remotely via fifo, and can run
+event-based scripts for scrobbling, notifications, etc.")
+    (license license:expat)))
-- 
2.5.0


[-- Attachment #3: Type: text/plain, Size: 4667 bytes --]


Ricardo Wurmus <rekado@elephly.net> writes:

> Al McElrath <hello@yrns.org> writes:
>
>> Another new package. Feedback appreciated.
>
> Thank you for the patch!
>
>> This is free software, but it
>> only works with a non-free music service, Pandora. Is that acceptable?
>
> The concept of “non-free” doesn’t directly apply to services.  See
> “Untangling the SaaSS Issue from the Proprietary Software Issue” here:
>
>   https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html
>
> and also this:
>
>   https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html
>
> I don’t know anything about Pandora (I do know my mythology, though), so
> I’m not in a position to anticipate and answer questions about it.  In
> general I think that if “pianobar” itself is free software (which you
> say it is) and you do not need to use non-free software to set it up in
> the first place then it is probably acceptable.
>
> Now, on to a review of the patch!
>
>> From 4f477999635b4a16f19ef0833727abcf899dbb69 Mon Sep 17 00:00:00 2001
>> From: Al McElrath <hello@yrns.org>
>> Date: Fri, 11 Dec 2015 21:22:33 -0800
>> Subject: [PATCH] gnu: Add pianobar.
>
>> * gnu/packages/music.scm (pianobar): New variable.
>> ---
>>  gnu/packages/music.scm | 36 ++++++++++++++++++++++++++++++++++++
>>  1 file changed, 36 insertions(+)
>
>> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
>> index a60ba4b..c5a6dc5 100644
>> --- a/gnu/packages/music.scm
>> +++ b/gnu/packages/music.scm
>> @@ -2,6 +2,7 @@
>>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
>>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
>>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
>> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
>>  ;;;
>>  ;;; This file is part of GNU Guix.
>>  ;;;
>> @@ -39,6 +40,7 @@
>>    #:use-module (gnu packages code)
>>    #:use-module (gnu packages check)
>>    #:use-module (gnu packages compression)
>> +  #:use-module (gnu packages curl)
>>    #:use-module (gnu packages docbook)
>>    #:use-module (gnu packages doxygen)
>>    #:use-module (gnu packages flex)
>> @@ -46,6 +48,7 @@
>>    #:use-module (gnu packages fonts)
>>    #:use-module (gnu packages fontutils)
>>    #:use-module (gnu packages gcc)
>> +  #:use-module (gnu packages gnupg)
>>    #:use-module (gnu packages gettext)
>>    #:use-module (gnu packages ghostscript)
>>    #:use-module (gnu packages gl)
>> @@ -1078,3 +1081,36 @@ computer's keyboard.")
>>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
>>  follows a traditional multi-track tape recorder control paradigm.")
>>      (license license:gpl2+)))
>> +
>> +(define-public pianobar
>> +  (package
>> +    (name "pianobar")
>> +    (version "2015.11.22")
>> +    (source (origin
>> +              (method url-fetch)
>> +              (uri (string-append "https://github.com/PromyLOPh/"
>> +                                  name "/archive/" version ".tar.gz"))
>> +              (file-name (string-append name "-" version ".tar.gz"))
>> +              (sha256
>> +               (base32
>> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
>> +    (build-system gnu-build-system)
>> +    (arguments
>> +     `(#:tests? #f ; no tests
>> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
>> +                          (string-append "PREFIX=" %output))
>> +       #:phases (modify-phases %standard-phases
>> +                  (delete 'configure))))
>> +    (inputs
>> +     `(("ao" ,ao)
>> +       ("curl" ,curl)
>> +       ("libgcrypt" ,libgcrypt)
>> +       ("json-c" ,json-c)
>> +       ("ffmpeg" ,ffmpeg)))
>> +    (native-inputs
>> +     `(("pkg-config" ,pkg-config)))
>> +    (home-page "http://6xq.net/projects/pianobar/")
>> +    (synopsis "Console-based pandora.com player")
>> +    (description "pianobar is a free/open-source, console-based client for the
>> +personalized online radio Pandora.")
>
> Everything in Guix qualifies as free software, so we do not need to
> explicitly mention that it is free software.  Maybe the description is a
> little bit short — could you possibly incorporate parts of the feature
> list?
>
>> +    (license license:x11)))
>
> I think it’s the Expat license, not X11.  I only compared these
> texts:
>
>     https://github.com/PromyLOPh/pianobar/blob/master/COPYING
>     http://directory.fsf.org/wiki/License:Expat
>     http://directory.fsf.org/wiki/License:X11
>
> Thanks again and welcome!
>
> ~~ Ricardo
>
>



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

* Re: [PATCH] gnu: Add pianobar.
  2016-02-11 21:36   ` Al McElrath
@ 2016-02-12  4:51     ` Leo Famulari
  2016-02-12  6:00       ` Al McElrath
  0 siblings, 1 reply; 10+ messages in thread
From: Leo Famulari @ 2016-02-12  4:51 UTC (permalink / raw)
  To: Al McElrath; +Cc: guix-devel

On Thu, Feb 11, 2016 at 01:36:13PM -0800, Al McElrath wrote:
> 
> Revised patch is attached. I updated/expanded the description and fixed
> the license. Thanks!
> 

> From 91d5c428428eed605c981a39022fe90e6f98be6d Mon Sep 17 00:00:00 2001
> From: Al McElrath <hello@yrns.org>
> Date: Fri, 11 Dec 2015 21:22:33 -0800
> Subject: [PATCH] gnu: Add pianobar.
> 
> * gnu/packages/music.scm (pianobar): New variable.

One nice thing about "real" radio stations is that you don't need an
account to listen to them ;) Anyways, I tested it as far as I could:

$ pianobar
Welcome to pianobar (2015.11.22)! Press ? for a list of commands.
[?] Email: 
[?] Password: 
(i) Login... Network error: Peer certificate cannot be authenticated with given CA certificates

That error seems to describe a problem unrelated to me not having an
account. Can you see what happens when you leave the Email and Password
fields blank? Of course, the message might be wrong, and it works if you
have an account. 

If so, then I think it's okay (but buggy). If not, then it must be
finding the certificate store in the environment and we should figure
out how to provide it reliably.

> ---
>  gnu/packages/music.scm | 38 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
> 
> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> index a60ba4b..1382b0a 100644
> --- a/gnu/packages/music.scm
> +++ b/gnu/packages/music.scm
> @@ -2,6 +2,7 @@
>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -39,6 +40,7 @@
>    #:use-module (gnu packages code)
>    #:use-module (gnu packages check)
>    #:use-module (gnu packages compression)
> +  #:use-module (gnu packages curl)
>    #:use-module (gnu packages docbook)
>    #:use-module (gnu packages doxygen)
>    #:use-module (gnu packages flex)
> @@ -46,6 +48,7 @@
>    #:use-module (gnu packages fonts)
>    #:use-module (gnu packages fontutils)
>    #:use-module (gnu packages gcc)
> +  #:use-module (gnu packages gnupg)
>    #:use-module (gnu packages gettext)
>    #:use-module (gnu packages ghostscript)
>    #:use-module (gnu packages gl)
> @@ -1078,3 +1081,38 @@ computer's keyboard.")
>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
>  follows a traditional multi-track tape recorder control paradigm.")
>      (license license:gpl2+)))
> +
> +(define-public pianobar
> +  (package
> +    (name "pianobar")
> +    (version "2015.11.22")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://github.com/PromyLOPh/"
> +                                  name "/archive/" version ".tar.gz"))
> +              (file-name (string-append name "-" version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:tests? #f ; no tests
> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
> +                          (string-append "PREFIX=" %output))
> +       #:phases (modify-phases %standard-phases
> +                  (delete 'configure))))
> +    (inputs
> +     `(("ao" ,ao)
> +       ("curl" ,curl)
> +       ("libgcrypt" ,libgcrypt)
> +       ("json-c" ,json-c)
> +       ("ffmpeg" ,ffmpeg)))
> +    (native-inputs
> +     `(("pkg-config" ,pkg-config)))
> +    (home-page "http://6xq.net/projects/pianobar/")
> +    (synopsis "Console-based pandora.com player")
> +    (description "pianobar is a console-based music player for the
> +personalized online radio pandora.com.  It has configurable keys for playing
> +and managing stations, can be controlled remotely via fifo, and can run
> +event-based scripts for scrobbling, notifications, etc.")
> +    (license license:expat)))
> -- 
> 2.5.0
> 

> 
> Ricardo Wurmus <rekado@elephly.net> writes:
> 
> > Al McElrath <hello@yrns.org> writes:
> >
> >> Another new package. Feedback appreciated.
> >
> > Thank you for the patch!
> >
> >> This is free software, but it
> >> only works with a non-free music service, Pandora. Is that acceptable?
> >
> > The concept of “non-free” doesn’t directly apply to services.  See
> > “Untangling the SaaSS Issue from the Proprietary Software Issue” here:
> >
> >   https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html
> >
> > and also this:
> >
> >   https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html
> >
> > I don’t know anything about Pandora (I do know my mythology, though), so
> > I’m not in a position to anticipate and answer questions about it.  In
> > general I think that if “pianobar” itself is free software (which you
> > say it is) and you do not need to use non-free software to set it up in
> > the first place then it is probably acceptable.
> >
> > Now, on to a review of the patch!
> >
> >> From 4f477999635b4a16f19ef0833727abcf899dbb69 Mon Sep 17 00:00:00 2001
> >> From: Al McElrath <hello@yrns.org>
> >> Date: Fri, 11 Dec 2015 21:22:33 -0800
> >> Subject: [PATCH] gnu: Add pianobar.
> >
> >> * gnu/packages/music.scm (pianobar): New variable.
> >> ---
> >>  gnu/packages/music.scm | 36 ++++++++++++++++++++++++++++++++++++
> >>  1 file changed, 36 insertions(+)
> >
> >> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> >> index a60ba4b..c5a6dc5 100644
> >> --- a/gnu/packages/music.scm
> >> +++ b/gnu/packages/music.scm
> >> @@ -2,6 +2,7 @@
> >>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
> >>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
> >>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
> >> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
> >>  ;;;
> >>  ;;; This file is part of GNU Guix.
> >>  ;;;
> >> @@ -39,6 +40,7 @@
> >>    #:use-module (gnu packages code)
> >>    #:use-module (gnu packages check)
> >>    #:use-module (gnu packages compression)
> >> +  #:use-module (gnu packages curl)
> >>    #:use-module (gnu packages docbook)
> >>    #:use-module (gnu packages doxygen)
> >>    #:use-module (gnu packages flex)
> >> @@ -46,6 +48,7 @@
> >>    #:use-module (gnu packages fonts)
> >>    #:use-module (gnu packages fontutils)
> >>    #:use-module (gnu packages gcc)
> >> +  #:use-module (gnu packages gnupg)
> >>    #:use-module (gnu packages gettext)
> >>    #:use-module (gnu packages ghostscript)
> >>    #:use-module (gnu packages gl)
> >> @@ -1078,3 +1081,36 @@ computer's keyboard.")
> >>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
> >>  follows a traditional multi-track tape recorder control paradigm.")
> >>      (license license:gpl2+)))
> >> +
> >> +(define-public pianobar
> >> +  (package
> >> +    (name "pianobar")
> >> +    (version "2015.11.22")
> >> +    (source (origin
> >> +              (method url-fetch)
> >> +              (uri (string-append "https://github.com/PromyLOPh/"
> >> +                                  name "/archive/" version ".tar.gz"))
> >> +              (file-name (string-append name "-" version ".tar.gz"))
> >> +              (sha256
> >> +               (base32
> >> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
> >> +    (build-system gnu-build-system)
> >> +    (arguments
> >> +     `(#:tests? #f ; no tests
> >> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
> >> +                          (string-append "PREFIX=" %output))
> >> +       #:phases (modify-phases %standard-phases
> >> +                  (delete 'configure))))
> >> +    (inputs
> >> +     `(("ao" ,ao)
> >> +       ("curl" ,curl)
> >> +       ("libgcrypt" ,libgcrypt)
> >> +       ("json-c" ,json-c)
> >> +       ("ffmpeg" ,ffmpeg)))
> >> +    (native-inputs
> >> +     `(("pkg-config" ,pkg-config)))
> >> +    (home-page "http://6xq.net/projects/pianobar/")
> >> +    (synopsis "Console-based pandora.com player")
> >> +    (description "pianobar is a free/open-source, console-based client for the
> >> +personalized online radio Pandora.")
> >
> > Everything in Guix qualifies as free software, so we do not need to
> > explicitly mention that it is free software.  Maybe the description is a
> > little bit short — could you possibly incorporate parts of the feature
> > list?
> >
> >> +    (license license:x11)))
> >
> > I think it’s the Expat license, not X11.  I only compared these
> > texts:
> >
> >     https://github.com/PromyLOPh/pianobar/blob/master/COPYING
> >     http://directory.fsf.org/wiki/License:Expat
> >     http://directory.fsf.org/wiki/License:X11
> >
> > Thanks again and welcome!
> >
> > ~~ Ricardo
> >
> >
> 
> 

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

* Re: [PATCH] gnu: Add pianobar.
  2016-02-12  4:51     ` Leo Famulari
@ 2016-02-12  6:00       ` Al McElrath
  2016-02-12 23:19         ` Leo Famulari
  0 siblings, 1 reply; 10+ messages in thread
From: Al McElrath @ 2016-02-12  6:00 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel


Thanks for testing and pointing this out. Real radio stations require
too much manual effort! That said...

You should be getting a different error without a login (pandora.com
requires a login): "(i) Login... Error: Wrong email address or
password." There is an outstanding issue with pianobar regarding
Pandora's certificate described here:

https://github.com/PromyLOPh/pianobar/issues/560

There is a config file option "ca_file" which I use with a pem file I
downloaded. There is also a "tls_fingerprint" option described in the
bug commentary. This broke recently when Pandora changed their
certificate. It's not specifically a Guix bug.

I realize this means pianobar simply doesn't work out of the box. I'm
open to suggestions on how to make this better.


Leo Famulari <leo@famulari.name> writes:

> On Thu, Feb 11, 2016 at 01:36:13PM -0800, Al McElrath wrote:
>>
>> Revised patch is attached. I updated/expanded the description and fixed
>> the license. Thanks!
>>
>
>> From 91d5c428428eed605c981a39022fe90e6f98be6d Mon Sep 17 00:00:00 2001
>> From: Al McElrath <hello@yrns.org>
>> Date: Fri, 11 Dec 2015 21:22:33 -0800
>> Subject: [PATCH] gnu: Add pianobar.
>>
>> * gnu/packages/music.scm (pianobar): New variable.
>
> One nice thing about "real" radio stations is that you don't need an
> account to listen to them ;) Anyways, I tested it as far as I could:
>
> $ pianobar
> Welcome to pianobar (2015.11.22)! Press ? for a list of commands.
> [?] Email:
> [?] Password:
> (i) Login... Network error: Peer certificate cannot be authenticated with given CA certificates
>
> That error seems to describe a problem unrelated to me not having an
> account. Can you see what happens when you leave the Email and Password
> fields blank? Of course, the message might be wrong, and it works if you
> have an account.
>
> If so, then I think it's okay (but buggy). If not, then it must be
> finding the certificate store in the environment and we should figure
> out how to provide it reliably.
>
>> ---
>>  gnu/packages/music.scm | 38 ++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 38 insertions(+)
>>
>> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
>> index a60ba4b..1382b0a 100644
>> --- a/gnu/packages/music.scm
>> +++ b/gnu/packages/music.scm
>> @@ -2,6 +2,7 @@
>>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
>>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
>>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
>> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
>>  ;;;
>>  ;;; This file is part of GNU Guix.
>>  ;;;
>> @@ -39,6 +40,7 @@
>>    #:use-module (gnu packages code)
>>    #:use-module (gnu packages check)
>>    #:use-module (gnu packages compression)
>> +  #:use-module (gnu packages curl)
>>    #:use-module (gnu packages docbook)
>>    #:use-module (gnu packages doxygen)
>>    #:use-module (gnu packages flex)
>> @@ -46,6 +48,7 @@
>>    #:use-module (gnu packages fonts)
>>    #:use-module (gnu packages fontutils)
>>    #:use-module (gnu packages gcc)
>> +  #:use-module (gnu packages gnupg)
>>    #:use-module (gnu packages gettext)
>>    #:use-module (gnu packages ghostscript)
>>    #:use-module (gnu packages gl)
>> @@ -1078,3 +1081,38 @@ computer's keyboard.")
>>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
>>  follows a traditional multi-track tape recorder control paradigm.")
>>      (license license:gpl2+)))
>> +
>> +(define-public pianobar
>> +  (package
>> +    (name "pianobar")
>> +    (version "2015.11.22")
>> +    (source (origin
>> +              (method url-fetch)
>> +              (uri (string-append "https://github.com/PromyLOPh/"
>> +                                  name "/archive/" version ".tar.gz"))
>> +              (file-name (string-append name "-" version ".tar.gz"))
>> +              (sha256
>> +               (base32
>> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
>> +    (build-system gnu-build-system)
>> +    (arguments
>> +     `(#:tests? #f ; no tests
>> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
>> +                          (string-append "PREFIX=" %output))
>> +       #:phases (modify-phases %standard-phases
>> +                  (delete 'configure))))
>> +    (inputs
>> +     `(("ao" ,ao)
>> +       ("curl" ,curl)
>> +       ("libgcrypt" ,libgcrypt)
>> +       ("json-c" ,json-c)
>> +       ("ffmpeg" ,ffmpeg)))
>> +    (native-inputs
>> +     `(("pkg-config" ,pkg-config)))
>> +    (home-page "http://6xq.net/projects/pianobar/")
>> +    (synopsis "Console-based pandora.com player")
>> +    (description "pianobar is a console-based music player for the
>> +personalized online radio pandora.com.  It has configurable keys for playing
>> +and managing stations, can be controlled remotely via fifo, and can run
>> +event-based scripts for scrobbling, notifications, etc.")
>> +    (license license:expat)))
>> --
>> 2.5.0
>>
>
>>
>> Ricardo Wurmus <rekado@elephly.net> writes:
>>
>> > Al McElrath <hello@yrns.org> writes:
>> >
>> >> Another new package. Feedback appreciated.
>> >
>> > Thank you for the patch!
>> >
>> >> This is free software, but it
>> >> only works with a non-free music service, Pandora. Is that acceptable?
>> >
>> > The concept of “non-free” doesn’t directly apply to services.  See
>> > “Untangling the SaaSS Issue from the Proprietary Software Issue” here:
>> >
>> >   https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html
>> >
>> > and also this:
>> >
>> >   https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html
>> >
>> > I don’t know anything about Pandora (I do know my mythology, though), so
>> > I’m not in a position to anticipate and answer questions about it.  In
>> > general I think that if “pianobar” itself is free software (which you
>> > say it is) and you do not need to use non-free software to set it up in
>> > the first place then it is probably acceptable.
>> >
>> > Now, on to a review of the patch!
>> >
>> >> From 4f477999635b4a16f19ef0833727abcf899dbb69 Mon Sep 17 00:00:00 2001
>> >> From: Al McElrath <hello@yrns.org>
>> >> Date: Fri, 11 Dec 2015 21:22:33 -0800
>> >> Subject: [PATCH] gnu: Add pianobar.
>> >
>> >> * gnu/packages/music.scm (pianobar): New variable.
>> >> ---
>> >>  gnu/packages/music.scm | 36 ++++++++++++++++++++++++++++++++++++
>> >>  1 file changed, 36 insertions(+)
>> >
>> >> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
>> >> index a60ba4b..c5a6dc5 100644
>> >> --- a/gnu/packages/music.scm
>> >> +++ b/gnu/packages/music.scm
>> >> @@ -2,6 +2,7 @@
>> >>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
>> >>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
>> >>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
>> >> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
>> >>  ;;;
>> >>  ;;; This file is part of GNU Guix.
>> >>  ;;;
>> >> @@ -39,6 +40,7 @@
>> >>    #:use-module (gnu packages code)
>> >>    #:use-module (gnu packages check)
>> >>    #:use-module (gnu packages compression)
>> >> +  #:use-module (gnu packages curl)
>> >>    #:use-module (gnu packages docbook)
>> >>    #:use-module (gnu packages doxygen)
>> >>    #:use-module (gnu packages flex)
>> >> @@ -46,6 +48,7 @@
>> >>    #:use-module (gnu packages fonts)
>> >>    #:use-module (gnu packages fontutils)
>> >>    #:use-module (gnu packages gcc)
>> >> +  #:use-module (gnu packages gnupg)
>> >>    #:use-module (gnu packages gettext)
>> >>    #:use-module (gnu packages ghostscript)
>> >>    #:use-module (gnu packages gl)
>> >> @@ -1078,3 +1081,36 @@ computer's keyboard.")
>> >>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
>> >>  follows a traditional multi-track tape recorder control paradigm.")
>> >>      (license license:gpl2+)))
>> >> +
>> >> +(define-public pianobar
>> >> +  (package
>> >> +    (name "pianobar")
>> >> +    (version "2015.11.22")
>> >> +    (source (origin
>> >> +              (method url-fetch)
>> >> +              (uri (string-append "https://github.com/PromyLOPh/"
>> >> +                                  name "/archive/" version ".tar.gz"))
>> >> +              (file-name (string-append name "-" version ".tar.gz"))
>> >> +              (sha256
>> >> +               (base32
>> >> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
>> >> +    (build-system gnu-build-system)
>> >> +    (arguments
>> >> +     `(#:tests? #f ; no tests
>> >> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
>> >> +                          (string-append "PREFIX=" %output))
>> >> +       #:phases (modify-phases %standard-phases
>> >> +                  (delete 'configure))))
>> >> +    (inputs
>> >> +     `(("ao" ,ao)
>> >> +       ("curl" ,curl)
>> >> +       ("libgcrypt" ,libgcrypt)
>> >> +       ("json-c" ,json-c)
>> >> +       ("ffmpeg" ,ffmpeg)))
>> >> +    (native-inputs
>> >> +     `(("pkg-config" ,pkg-config)))
>> >> +    (home-page "http://6xq.net/projects/pianobar/")
>> >> +    (synopsis "Console-based pandora.com player")
>> >> +    (description "pianobar is a free/open-source, console-based client for the
>> >> +personalized online radio Pandora.")
>> >
>> > Everything in Guix qualifies as free software, so we do not need to
>> > explicitly mention that it is free software.  Maybe the description is a
>> > little bit short — could you possibly incorporate parts of the feature
>> > list?
>> >
>> >> +    (license license:x11)))
>> >
>> > I think it’s the Expat license, not X11.  I only compared these
>> > texts:
>> >
>> >     https://github.com/PromyLOPh/pianobar/blob/master/COPYING
>> >     http://directory.fsf.org/wiki/License:Expat
>> >     http://directory.fsf.org/wiki/License:X11
>> >
>> > Thanks again and welcome!
>> >
>> > ~~ Ricardo
>> >
>> >
>>
>>
>

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

* Re: [PATCH] gnu: Add pianobar.
  2016-02-12  6:00       ` Al McElrath
@ 2016-02-12 23:19         ` Leo Famulari
  2016-02-13 22:37           ` Al McElrath
  0 siblings, 1 reply; 10+ messages in thread
From: Leo Famulari @ 2016-02-12 23:19 UTC (permalink / raw)
  To: Al McElrath; +Cc: guix-devel

On Thu, Feb 11, 2016 at 10:00:17PM -0800, Al McElrath wrote:
> 
> Thanks for testing and pointing this out. Real radio stations require
> too much manual effort! That said...
> 
> You should be getting a different error without a login (pandora.com
> requires a login): "(i) Login... Error: Wrong email address or
> password." There is an outstanding issue with pianobar regarding
> Pandora's certificate described here:
> 
> https://github.com/PromyLOPh/pianobar/issues/560
> 
> There is a config file option "ca_file" which I use with a pem file I
> downloaded. There is also a "tls_fingerprint" option described in the
> bug commentary. This broke recently when Pandora changed their
> certificate. It's not specifically a Guix bug.

To clarify, is my error the result of a configuration problem and a
missing .pem file?

If so, is that .pem file something we should distribute with our
package?

> 
> I realize this means pianobar simply doesn't work out of the box. I'm
> open to suggestions on how to make this better.
> 
> 
> Leo Famulari <leo@famulari.name> writes:
> 
> > On Thu, Feb 11, 2016 at 01:36:13PM -0800, Al McElrath wrote:
> >>
> >> Revised patch is attached. I updated/expanded the description and fixed
> >> the license. Thanks!
> >>
> >
> >> From 91d5c428428eed605c981a39022fe90e6f98be6d Mon Sep 17 00:00:00 2001
> >> From: Al McElrath <hello@yrns.org>
> >> Date: Fri, 11 Dec 2015 21:22:33 -0800
> >> Subject: [PATCH] gnu: Add pianobar.
> >>
> >> * gnu/packages/music.scm (pianobar): New variable.
> >
> > One nice thing about "real" radio stations is that you don't need an
> > account to listen to them ;) Anyways, I tested it as far as I could:
> >
> > $ pianobar
> > Welcome to pianobar (2015.11.22)! Press ? for a list of commands.
> > [?] Email:
> > [?] Password:
> > (i) Login... Network error: Peer certificate cannot be authenticated with given CA certificates
> >
> > That error seems to describe a problem unrelated to me not having an
> > account. Can you see what happens when you leave the Email and Password
> > fields blank? Of course, the message might be wrong, and it works if you
> > have an account.
> >
> > If so, then I think it's okay (but buggy). If not, then it must be
> > finding the certificate store in the environment and we should figure
> > out how to provide it reliably.
> >
> >> ---
> >>  gnu/packages/music.scm | 38 ++++++++++++++++++++++++++++++++++++++
> >>  1 file changed, 38 insertions(+)
> >>
> >> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> >> index a60ba4b..1382b0a 100644
> >> --- a/gnu/packages/music.scm
> >> +++ b/gnu/packages/music.scm
> >> @@ -2,6 +2,7 @@
> >>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
> >>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
> >>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
> >> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
> >>  ;;;
> >>  ;;; This file is part of GNU Guix.
> >>  ;;;
> >> @@ -39,6 +40,7 @@
> >>    #:use-module (gnu packages code)
> >>    #:use-module (gnu packages check)
> >>    #:use-module (gnu packages compression)
> >> +  #:use-module (gnu packages curl)
> >>    #:use-module (gnu packages docbook)
> >>    #:use-module (gnu packages doxygen)
> >>    #:use-module (gnu packages flex)
> >> @@ -46,6 +48,7 @@
> >>    #:use-module (gnu packages fonts)
> >>    #:use-module (gnu packages fontutils)
> >>    #:use-module (gnu packages gcc)
> >> +  #:use-module (gnu packages gnupg)
> >>    #:use-module (gnu packages gettext)
> >>    #:use-module (gnu packages ghostscript)
> >>    #:use-module (gnu packages gl)
> >> @@ -1078,3 +1081,38 @@ computer's keyboard.")
> >>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
> >>  follows a traditional multi-track tape recorder control paradigm.")
> >>      (license license:gpl2+)))
> >> +
> >> +(define-public pianobar
> >> +  (package
> >> +    (name "pianobar")
> >> +    (version "2015.11.22")
> >> +    (source (origin
> >> +              (method url-fetch)
> >> +              (uri (string-append "https://github.com/PromyLOPh/"
> >> +                                  name "/archive/" version ".tar.gz"))
> >> +              (file-name (string-append name "-" version ".tar.gz"))
> >> +              (sha256
> >> +               (base32
> >> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
> >> +    (build-system gnu-build-system)
> >> +    (arguments
> >> +     `(#:tests? #f ; no tests
> >> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
> >> +                          (string-append "PREFIX=" %output))
> >> +       #:phases (modify-phases %standard-phases
> >> +                  (delete 'configure))))
> >> +    (inputs
> >> +     `(("ao" ,ao)
> >> +       ("curl" ,curl)
> >> +       ("libgcrypt" ,libgcrypt)
> >> +       ("json-c" ,json-c)
> >> +       ("ffmpeg" ,ffmpeg)))
> >> +    (native-inputs
> >> +     `(("pkg-config" ,pkg-config)))
> >> +    (home-page "http://6xq.net/projects/pianobar/")
> >> +    (synopsis "Console-based pandora.com player")
> >> +    (description "pianobar is a console-based music player for the
> >> +personalized online radio pandora.com.  It has configurable keys for playing
> >> +and managing stations, can be controlled remotely via fifo, and can run
> >> +event-based scripts for scrobbling, notifications, etc.")
> >> +    (license license:expat)))
> >> --
> >> 2.5.0
> >>
> >
> >>
> >> Ricardo Wurmus <rekado@elephly.net> writes:
> >>
> >> > Al McElrath <hello@yrns.org> writes:
> >> >
> >> >> Another new package. Feedback appreciated.
> >> >
> >> > Thank you for the patch!
> >> >
> >> >> This is free software, but it
> >> >> only works with a non-free music service, Pandora. Is that acceptable?
> >> >
> >> > The concept of “non-free” doesn’t directly apply to services.  See
> >> > “Untangling the SaaSS Issue from the Proprietary Software Issue” here:
> >> >
> >> >   https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html
> >> >
> >> > and also this:
> >> >
> >> >   https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html
> >> >
> >> > I don’t know anything about Pandora (I do know my mythology, though), so
> >> > I’m not in a position to anticipate and answer questions about it.  In
> >> > general I think that if “pianobar” itself is free software (which you
> >> > say it is) and you do not need to use non-free software to set it up in
> >> > the first place then it is probably acceptable.
> >> >
> >> > Now, on to a review of the patch!
> >> >
> >> >> From 4f477999635b4a16f19ef0833727abcf899dbb69 Mon Sep 17 00:00:00 2001
> >> >> From: Al McElrath <hello@yrns.org>
> >> >> Date: Fri, 11 Dec 2015 21:22:33 -0800
> >> >> Subject: [PATCH] gnu: Add pianobar.
> >> >
> >> >> * gnu/packages/music.scm (pianobar): New variable.
> >> >> ---
> >> >>  gnu/packages/music.scm | 36 ++++++++++++++++++++++++++++++++++++
> >> >>  1 file changed, 36 insertions(+)
> >> >
> >> >> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> >> >> index a60ba4b..c5a6dc5 100644
> >> >> --- a/gnu/packages/music.scm
> >> >> +++ b/gnu/packages/music.scm
> >> >> @@ -2,6 +2,7 @@
> >> >>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
> >> >>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
> >> >>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
> >> >> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
> >> >>  ;;;
> >> >>  ;;; This file is part of GNU Guix.
> >> >>  ;;;
> >> >> @@ -39,6 +40,7 @@
> >> >>    #:use-module (gnu packages code)
> >> >>    #:use-module (gnu packages check)
> >> >>    #:use-module (gnu packages compression)
> >> >> +  #:use-module (gnu packages curl)
> >> >>    #:use-module (gnu packages docbook)
> >> >>    #:use-module (gnu packages doxygen)
> >> >>    #:use-module (gnu packages flex)
> >> >> @@ -46,6 +48,7 @@
> >> >>    #:use-module (gnu packages fonts)
> >> >>    #:use-module (gnu packages fontutils)
> >> >>    #:use-module (gnu packages gcc)
> >> >> +  #:use-module (gnu packages gnupg)
> >> >>    #:use-module (gnu packages gettext)
> >> >>    #:use-module (gnu packages ghostscript)
> >> >>    #:use-module (gnu packages gl)
> >> >> @@ -1078,3 +1081,36 @@ computer's keyboard.")
> >> >>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
> >> >>  follows a traditional multi-track tape recorder control paradigm.")
> >> >>      (license license:gpl2+)))
> >> >> +
> >> >> +(define-public pianobar
> >> >> +  (package
> >> >> +    (name "pianobar")
> >> >> +    (version "2015.11.22")
> >> >> +    (source (origin
> >> >> +              (method url-fetch)
> >> >> +              (uri (string-append "https://github.com/PromyLOPh/"
> >> >> +                                  name "/archive/" version ".tar.gz"))
> >> >> +              (file-name (string-append name "-" version ".tar.gz"))
> >> >> +              (sha256
> >> >> +               (base32
> >> >> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
> >> >> +    (build-system gnu-build-system)
> >> >> +    (arguments
> >> >> +     `(#:tests? #f ; no tests
> >> >> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
> >> >> +                          (string-append "PREFIX=" %output))
> >> >> +       #:phases (modify-phases %standard-phases
> >> >> +                  (delete 'configure))))
> >> >> +    (inputs
> >> >> +     `(("ao" ,ao)
> >> >> +       ("curl" ,curl)
> >> >> +       ("libgcrypt" ,libgcrypt)
> >> >> +       ("json-c" ,json-c)
> >> >> +       ("ffmpeg" ,ffmpeg)))
> >> >> +    (native-inputs
> >> >> +     `(("pkg-config" ,pkg-config)))
> >> >> +    (home-page "http://6xq.net/projects/pianobar/")
> >> >> +    (synopsis "Console-based pandora.com player")
> >> >> +    (description "pianobar is a free/open-source, console-based client for the
> >> >> +personalized online radio Pandora.")
> >> >
> >> > Everything in Guix qualifies as free software, so we do not need to
> >> > explicitly mention that it is free software.  Maybe the description is a
> >> > little bit short — could you possibly incorporate parts of the feature
> >> > list?
> >> >
> >> >> +    (license license:x11)))
> >> >
> >> > I think it’s the Expat license, not X11.  I only compared these
> >> > texts:
> >> >
> >> >     https://github.com/PromyLOPh/pianobar/blob/master/COPYING
> >> >     http://directory.fsf.org/wiki/License:Expat
> >> >     http://directory.fsf.org/wiki/License:X11
> >> >
> >> > Thanks again and welcome!
> >> >
> >> > ~~ Ricardo
> >> >
> >> >
> >>
> >>
> >
> 
> 

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

* Re: [PATCH] gnu: Add pianobar.
  2016-02-12 23:19         ` Leo Famulari
@ 2016-02-13 22:37           ` Al McElrath
  2016-02-13 22:49             ` Leo Famulari
  0 siblings, 1 reply; 10+ messages in thread
From: Al McElrath @ 2016-02-13 22:37 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel


I tracked this down a bit further. There is nothing wrong with Pandora's
cert. If I specify in pianobar's config file to use:

ca_bundle = /home/al/.guix-profile/etc/ssl/certs/ca-certificates.crt

It works. Note if I 'env | grep SSL' I get:

SSL_CERT_DIR=/home/al/.guix-profile/etc/ssl/certs
SSL_CERT_FILE=/home/al/.guix-profile/etc/ssl/certs/ca-certificates.crt

I was under the impression libcurl (which pianobar uses) would honor
these variables, but it appears it does not. Or there's something wrong
with my guix setup which is running on Arch.

I can patch pianobar to use SSL_CERT_FILE by default, but it seems like
there is a larger issue.


Leo Famulari <leo@famulari.name> writes:

> On Thu, Feb 11, 2016 at 10:00:17PM -0800, Al McElrath wrote:
>> 
>> Thanks for testing and pointing this out. Real radio stations require
>> too much manual effort! That said...
>> 
>> You should be getting a different error without a login (pandora.com
>> requires a login): "(i) Login... Error: Wrong email address or
>> password." There is an outstanding issue with pianobar regarding
>> Pandora's certificate described here:
>> 
>> https://github.com/PromyLOPh/pianobar/issues/560
>> 
>> There is a config file option "ca_file" which I use with a pem file I
>> downloaded. There is also a "tls_fingerprint" option described in the
>> bug commentary. This broke recently when Pandora changed their
>> certificate. It's not specifically a Guix bug.
>
> To clarify, is my error the result of a configuration problem and a
> missing .pem file?
>
> If so, is that .pem file something we should distribute with our
> package?
>
>> 
>> I realize this means pianobar simply doesn't work out of the box. I'm
>> open to suggestions on how to make this better.
>> 
>> 
>> Leo Famulari <leo@famulari.name> writes:
>> 
>> > On Thu, Feb 11, 2016 at 01:36:13PM -0800, Al McElrath wrote:
>> >>
>> >> Revised patch is attached. I updated/expanded the description and fixed
>> >> the license. Thanks!
>> >>
>> >
>> >> From 91d5c428428eed605c981a39022fe90e6f98be6d Mon Sep 17 00:00:00 2001
>> >> From: Al McElrath <hello@yrns.org>
>> >> Date: Fri, 11 Dec 2015 21:22:33 -0800
>> >> Subject: [PATCH] gnu: Add pianobar.
>> >>
>> >> * gnu/packages/music.scm (pianobar): New variable.
>> >
>> > One nice thing about "real" radio stations is that you don't need an
>> > account to listen to them ;) Anyways, I tested it as far as I could:
>> >
>> > $ pianobar
>> > Welcome to pianobar (2015.11.22)! Press ? for a list of commands.
>> > [?] Email:
>> > [?] Password:
>> > (i) Login... Network error: Peer certificate cannot be authenticated with given CA certificates
>> >
>> > That error seems to describe a problem unrelated to me not having an
>> > account. Can you see what happens when you leave the Email and Password
>> > fields blank? Of course, the message might be wrong, and it works if you
>> > have an account.
>> >
>> > If so, then I think it's okay (but buggy). If not, then it must be
>> > finding the certificate store in the environment and we should figure
>> > out how to provide it reliably.
>> >
>> >> ---
>> >>  gnu/packages/music.scm | 38 ++++++++++++++++++++++++++++++++++++++
>> >>  1 file changed, 38 insertions(+)
>> >>
>> >> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
>> >> index a60ba4b..1382b0a 100644
>> >> --- a/gnu/packages/music.scm
>> >> +++ b/gnu/packages/music.scm
>> >> @@ -2,6 +2,7 @@
>> >>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
>> >>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
>> >>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
>> >> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
>> >>  ;;;
>> >>  ;;; This file is part of GNU Guix.
>> >>  ;;;
>> >> @@ -39,6 +40,7 @@
>> >>    #:use-module (gnu packages code)
>> >>    #:use-module (gnu packages check)
>> >>    #:use-module (gnu packages compression)
>> >> +  #:use-module (gnu packages curl)
>> >>    #:use-module (gnu packages docbook)
>> >>    #:use-module (gnu packages doxygen)
>> >>    #:use-module (gnu packages flex)
>> >> @@ -46,6 +48,7 @@
>> >>    #:use-module (gnu packages fonts)
>> >>    #:use-module (gnu packages fontutils)
>> >>    #:use-module (gnu packages gcc)
>> >> +  #:use-module (gnu packages gnupg)
>> >>    #:use-module (gnu packages gettext)
>> >>    #:use-module (gnu packages ghostscript)
>> >>    #:use-module (gnu packages gl)
>> >> @@ -1078,3 +1081,38 @@ computer's keyboard.")
>> >>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
>> >>  follows a traditional multi-track tape recorder control paradigm.")
>> >>      (license license:gpl2+)))
>> >> +
>> >> +(define-public pianobar
>> >> +  (package
>> >> +    (name "pianobar")
>> >> +    (version "2015.11.22")
>> >> +    (source (origin
>> >> +              (method url-fetch)
>> >> +              (uri (string-append "https://github.com/PromyLOPh/"
>> >> +                                  name "/archive/" version ".tar.gz"))
>> >> +              (file-name (string-append name "-" version ".tar.gz"))
>> >> +              (sha256
>> >> +               (base32
>> >> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
>> >> +    (build-system gnu-build-system)
>> >> +    (arguments
>> >> +     `(#:tests? #f ; no tests
>> >> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
>> >> +                          (string-append "PREFIX=" %output))
>> >> +       #:phases (modify-phases %standard-phases
>> >> +                  (delete 'configure))))
>> >> +    (inputs
>> >> +     `(("ao" ,ao)
>> >> +       ("curl" ,curl)
>> >> +       ("libgcrypt" ,libgcrypt)
>> >> +       ("json-c" ,json-c)
>> >> +       ("ffmpeg" ,ffmpeg)))
>> >> +    (native-inputs
>> >> +     `(("pkg-config" ,pkg-config)))
>> >> +    (home-page "http://6xq.net/projects/pianobar/")
>> >> +    (synopsis "Console-based pandora.com player")
>> >> +    (description "pianobar is a console-based music player for the
>> >> +personalized online radio pandora.com.  It has configurable keys for playing
>> >> +and managing stations, can be controlled remotely via fifo, and can run
>> >> +event-based scripts for scrobbling, notifications, etc.")
>> >> +    (license license:expat)))
>> >> --
>> >> 2.5.0
>> >>
>> >
>> >>
>> >> Ricardo Wurmus <rekado@elephly.net> writes:
>> >>
>> >> > Al McElrath <hello@yrns.org> writes:
>> >> >
>> >> >> Another new package. Feedback appreciated.
>> >> >
>> >> > Thank you for the patch!
>> >> >
>> >> >> This is free software, but it
>> >> >> only works with a non-free music service, Pandora. Is that acceptable?
>> >> >
>> >> > The concept of “non-free” doesn’t directly apply to services.  See
>> >> > “Untangling the SaaSS Issue from the Proprietary Software Issue” here:
>> >> >
>> >> >   https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html
>> >> >
>> >> > and also this:
>> >> >
>> >> >   https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html
>> >> >
>> >> > I don’t know anything about Pandora (I do know my mythology, though), so
>> >> > I’m not in a position to anticipate and answer questions about it.  In
>> >> > general I think that if “pianobar” itself is free software (which you
>> >> > say it is) and you do not need to use non-free software to set it up in
>> >> > the first place then it is probably acceptable.
>> >> >
>> >> > Now, on to a review of the patch!
>> >> >
>> >> >> From 4f477999635b4a16f19ef0833727abcf899dbb69 Mon Sep 17 00:00:00 2001
>> >> >> From: Al McElrath <hello@yrns.org>
>> >> >> Date: Fri, 11 Dec 2015 21:22:33 -0800
>> >> >> Subject: [PATCH] gnu: Add pianobar.
>> >> >
>> >> >> * gnu/packages/music.scm (pianobar): New variable.
>> >> >> ---
>> >> >>  gnu/packages/music.scm | 36 ++++++++++++++++++++++++++++++++++++
>> >> >>  1 file changed, 36 insertions(+)
>> >> >
>> >> >> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
>> >> >> index a60ba4b..c5a6dc5 100644
>> >> >> --- a/gnu/packages/music.scm
>> >> >> +++ b/gnu/packages/music.scm
>> >> >> @@ -2,6 +2,7 @@
>> >> >>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
>> >> >>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
>> >> >>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
>> >> >> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
>> >> >>  ;;;
>> >> >>  ;;; This file is part of GNU Guix.
>> >> >>  ;;;
>> >> >> @@ -39,6 +40,7 @@
>> >> >>    #:use-module (gnu packages code)
>> >> >>    #:use-module (gnu packages check)
>> >> >>    #:use-module (gnu packages compression)
>> >> >> +  #:use-module (gnu packages curl)
>> >> >>    #:use-module (gnu packages docbook)
>> >> >>    #:use-module (gnu packages doxygen)
>> >> >>    #:use-module (gnu packages flex)
>> >> >> @@ -46,6 +48,7 @@
>> >> >>    #:use-module (gnu packages fonts)
>> >> >>    #:use-module (gnu packages fontutils)
>> >> >>    #:use-module (gnu packages gcc)
>> >> >> +  #:use-module (gnu packages gnupg)
>> >> >>    #:use-module (gnu packages gettext)
>> >> >>    #:use-module (gnu packages ghostscript)
>> >> >>    #:use-module (gnu packages gl)
>> >> >> @@ -1078,3 +1081,36 @@ computer's keyboard.")
>> >> >>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
>> >> >>  follows a traditional multi-track tape recorder control paradigm.")
>> >> >>      (license license:gpl2+)))
>> >> >> +
>> >> >> +(define-public pianobar
>> >> >> +  (package
>> >> >> +    (name "pianobar")
>> >> >> +    (version "2015.11.22")
>> >> >> +    (source (origin
>> >> >> +              (method url-fetch)
>> >> >> +              (uri (string-append "https://github.com/PromyLOPh/"
>> >> >> +                                  name "/archive/" version ".tar.gz"))
>> >> >> +              (file-name (string-append name "-" version ".tar.gz"))
>> >> >> +              (sha256
>> >> >> +               (base32
>> >> >> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
>> >> >> +    (build-system gnu-build-system)
>> >> >> +    (arguments
>> >> >> +     `(#:tests? #f ; no tests
>> >> >> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
>> >> >> +                          (string-append "PREFIX=" %output))
>> >> >> +       #:phases (modify-phases %standard-phases
>> >> >> +                  (delete 'configure))))
>> >> >> +    (inputs
>> >> >> +     `(("ao" ,ao)
>> >> >> +       ("curl" ,curl)
>> >> >> +       ("libgcrypt" ,libgcrypt)
>> >> >> +       ("json-c" ,json-c)
>> >> >> +       ("ffmpeg" ,ffmpeg)))
>> >> >> +    (native-inputs
>> >> >> +     `(("pkg-config" ,pkg-config)))
>> >> >> +    (home-page "http://6xq.net/projects/pianobar/")
>> >> >> +    (synopsis "Console-based pandora.com player")
>> >> >> +    (description "pianobar is a free/open-source, console-based client for the
>> >> >> +personalized online radio Pandora.")
>> >> >
>> >> > Everything in Guix qualifies as free software, so we do not need to
>> >> > explicitly mention that it is free software.  Maybe the description is a
>> >> > little bit short — could you possibly incorporate parts of the feature
>> >> > list?
>> >> >
>> >> >> +    (license license:x11)))
>> >> >
>> >> > I think it’s the Expat license, not X11.  I only compared these
>> >> > texts:
>> >> >
>> >> >     https://github.com/PromyLOPh/pianobar/blob/master/COPYING
>> >> >     http://directory.fsf.org/wiki/License:Expat
>> >> >     http://directory.fsf.org/wiki/License:X11
>> >> >
>> >> > Thanks again and welcome!
>> >> >
>> >> > ~~ Ricardo
>> >> >
>> >> >
>> >>
>> >>
>> >
>> 
>> 
>

-- 

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

* Re: [PATCH] gnu: Add pianobar.
  2016-02-13 22:37           ` Al McElrath
@ 2016-02-13 22:49             ` Leo Famulari
  2016-02-13 22:56               ` Leo Famulari
  0 siblings, 1 reply; 10+ messages in thread
From: Leo Famulari @ 2016-02-13 22:49 UTC (permalink / raw)
  To: Al McElrath; +Cc: guix-devel

On Sat, Feb 13, 2016 at 02:37:05PM -0800, Al McElrath wrote:
> 
> I tracked this down a bit further. There is nothing wrong with Pandora's
> cert. If I specify in pianobar's config file to use:
> 
> ca_bundle = /home/al/.guix-profile/etc/ssl/certs/ca-certificates.crt

Can you share your config, having replaced any personal info with dummy
content?

> 
> It works. Note if I 'env | grep SSL' I get:
> 
> SSL_CERT_DIR=/home/al/.guix-profile/etc/ssl/certs
> SSL_CERT_FILE=/home/al/.guix-profile/etc/ssl/certs/ca-certificates.crt
> 
> I was under the impression libcurl (which pianobar uses) would honor
> these variables, but it appears it does not. Or there's something wrong
> with my guix setup which is running on Arch.
> 
> I can patch pianobar to use SSL_CERT_FILE by default, but it seems like
> there is a larger issue.
> 
> 
> Leo Famulari <leo@famulari.name> writes:
> 
> > On Thu, Feb 11, 2016 at 10:00:17PM -0800, Al McElrath wrote:
> >> 
> >> Thanks for testing and pointing this out. Real radio stations require
> >> too much manual effort! That said...
> >> 
> >> You should be getting a different error without a login (pandora.com
> >> requires a login): "(i) Login... Error: Wrong email address or
> >> password." There is an outstanding issue with pianobar regarding
> >> Pandora's certificate described here:
> >> 
> >> https://github.com/PromyLOPh/pianobar/issues/560
> >> 
> >> There is a config file option "ca_file" which I use with a pem file I
> >> downloaded. There is also a "tls_fingerprint" option described in the
> >> bug commentary. This broke recently when Pandora changed their
> >> certificate. It's not specifically a Guix bug.
> >
> > To clarify, is my error the result of a configuration problem and a
> > missing .pem file?
> >
> > If so, is that .pem file something we should distribute with our
> > package?
> >
> >> 
> >> I realize this means pianobar simply doesn't work out of the box. I'm
> >> open to suggestions on how to make this better.
> >> 
> >> 
> >> Leo Famulari <leo@famulari.name> writes:
> >> 
> >> > On Thu, Feb 11, 2016 at 01:36:13PM -0800, Al McElrath wrote:
> >> >>
> >> >> Revised patch is attached. I updated/expanded the description and fixed
> >> >> the license. Thanks!
> >> >>
> >> >
> >> >> From 91d5c428428eed605c981a39022fe90e6f98be6d Mon Sep 17 00:00:00 2001
> >> >> From: Al McElrath <hello@yrns.org>
> >> >> Date: Fri, 11 Dec 2015 21:22:33 -0800
> >> >> Subject: [PATCH] gnu: Add pianobar.
> >> >>
> >> >> * gnu/packages/music.scm (pianobar): New variable.
> >> >
> >> > One nice thing about "real" radio stations is that you don't need an
> >> > account to listen to them ;) Anyways, I tested it as far as I could:
> >> >
> >> > $ pianobar
> >> > Welcome to pianobar (2015.11.22)! Press ? for a list of commands.
> >> > [?] Email:
> >> > [?] Password:
> >> > (i) Login... Network error: Peer certificate cannot be authenticated with given CA certificates
> >> >
> >> > That error seems to describe a problem unrelated to me not having an
> >> > account. Can you see what happens when you leave the Email and Password
> >> > fields blank? Of course, the message might be wrong, and it works if you
> >> > have an account.
> >> >
> >> > If so, then I think it's okay (but buggy). If not, then it must be
> >> > finding the certificate store in the environment and we should figure
> >> > out how to provide it reliably.
> >> >
> >> >> ---
> >> >>  gnu/packages/music.scm | 38 ++++++++++++++++++++++++++++++++++++++
> >> >>  1 file changed, 38 insertions(+)
> >> >>
> >> >> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> >> >> index a60ba4b..1382b0a 100644
> >> >> --- a/gnu/packages/music.scm
> >> >> +++ b/gnu/packages/music.scm
> >> >> @@ -2,6 +2,7 @@
> >> >>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
> >> >>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
> >> >>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
> >> >> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
> >> >>  ;;;
> >> >>  ;;; This file is part of GNU Guix.
> >> >>  ;;;
> >> >> @@ -39,6 +40,7 @@
> >> >>    #:use-module (gnu packages code)
> >> >>    #:use-module (gnu packages check)
> >> >>    #:use-module (gnu packages compression)
> >> >> +  #:use-module (gnu packages curl)
> >> >>    #:use-module (gnu packages docbook)
> >> >>    #:use-module (gnu packages doxygen)
> >> >>    #:use-module (gnu packages flex)
> >> >> @@ -46,6 +48,7 @@
> >> >>    #:use-module (gnu packages fonts)
> >> >>    #:use-module (gnu packages fontutils)
> >> >>    #:use-module (gnu packages gcc)
> >> >> +  #:use-module (gnu packages gnupg)
> >> >>    #:use-module (gnu packages gettext)
> >> >>    #:use-module (gnu packages ghostscript)
> >> >>    #:use-module (gnu packages gl)
> >> >> @@ -1078,3 +1081,38 @@ computer's keyboard.")
> >> >>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
> >> >>  follows a traditional multi-track tape recorder control paradigm.")
> >> >>      (license license:gpl2+)))
> >> >> +
> >> >> +(define-public pianobar
> >> >> +  (package
> >> >> +    (name "pianobar")
> >> >> +    (version "2015.11.22")
> >> >> +    (source (origin
> >> >> +              (method url-fetch)
> >> >> +              (uri (string-append "https://github.com/PromyLOPh/"
> >> >> +                                  name "/archive/" version ".tar.gz"))
> >> >> +              (file-name (string-append name "-" version ".tar.gz"))
> >> >> +              (sha256
> >> >> +               (base32
> >> >> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
> >> >> +    (build-system gnu-build-system)
> >> >> +    (arguments
> >> >> +     `(#:tests? #f ; no tests
> >> >> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
> >> >> +                          (string-append "PREFIX=" %output))
> >> >> +       #:phases (modify-phases %standard-phases
> >> >> +                  (delete 'configure))))
> >> >> +    (inputs
> >> >> +     `(("ao" ,ao)
> >> >> +       ("curl" ,curl)
> >> >> +       ("libgcrypt" ,libgcrypt)
> >> >> +       ("json-c" ,json-c)
> >> >> +       ("ffmpeg" ,ffmpeg)))
> >> >> +    (native-inputs
> >> >> +     `(("pkg-config" ,pkg-config)))
> >> >> +    (home-page "http://6xq.net/projects/pianobar/")
> >> >> +    (synopsis "Console-based pandora.com player")
> >> >> +    (description "pianobar is a console-based music player for the
> >> >> +personalized online radio pandora.com.  It has configurable keys for playing
> >> >> +and managing stations, can be controlled remotely via fifo, and can run
> >> >> +event-based scripts for scrobbling, notifications, etc.")
> >> >> +    (license license:expat)))
> >> >> --
> >> >> 2.5.0
> >> >>
> >> >
> >> >>
> >> >> Ricardo Wurmus <rekado@elephly.net> writes:
> >> >>
> >> >> > Al McElrath <hello@yrns.org> writes:
> >> >> >
> >> >> >> Another new package. Feedback appreciated.
> >> >> >
> >> >> > Thank you for the patch!
> >> >> >
> >> >> >> This is free software, but it
> >> >> >> only works with a non-free music service, Pandora. Is that acceptable?
> >> >> >
> >> >> > The concept of “non-free” doesn’t directly apply to services.  See
> >> >> > “Untangling the SaaSS Issue from the Proprietary Software Issue” here:
> >> >> >
> >> >> >   https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html
> >> >> >
> >> >> > and also this:
> >> >> >
> >> >> >   https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html
> >> >> >
> >> >> > I don’t know anything about Pandora (I do know my mythology, though), so
> >> >> > I’m not in a position to anticipate and answer questions about it.  In
> >> >> > general I think that if “pianobar” itself is free software (which you
> >> >> > say it is) and you do not need to use non-free software to set it up in
> >> >> > the first place then it is probably acceptable.
> >> >> >
> >> >> > Now, on to a review of the patch!
> >> >> >
> >> >> >> From 4f477999635b4a16f19ef0833727abcf899dbb69 Mon Sep 17 00:00:00 2001
> >> >> >> From: Al McElrath <hello@yrns.org>
> >> >> >> Date: Fri, 11 Dec 2015 21:22:33 -0800
> >> >> >> Subject: [PATCH] gnu: Add pianobar.
> >> >> >
> >> >> >> * gnu/packages/music.scm (pianobar): New variable.
> >> >> >> ---
> >> >> >>  gnu/packages/music.scm | 36 ++++++++++++++++++++++++++++++++++++
> >> >> >>  1 file changed, 36 insertions(+)
> >> >> >
> >> >> >> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> >> >> >> index a60ba4b..c5a6dc5 100644
> >> >> >> --- a/gnu/packages/music.scm
> >> >> >> +++ b/gnu/packages/music.scm
> >> >> >> @@ -2,6 +2,7 @@
> >> >> >>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
> >> >> >>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
> >> >> >>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
> >> >> >> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
> >> >> >>  ;;;
> >> >> >>  ;;; This file is part of GNU Guix.
> >> >> >>  ;;;
> >> >> >> @@ -39,6 +40,7 @@
> >> >> >>    #:use-module (gnu packages code)
> >> >> >>    #:use-module (gnu packages check)
> >> >> >>    #:use-module (gnu packages compression)
> >> >> >> +  #:use-module (gnu packages curl)
> >> >> >>    #:use-module (gnu packages docbook)
> >> >> >>    #:use-module (gnu packages doxygen)
> >> >> >>    #:use-module (gnu packages flex)
> >> >> >> @@ -46,6 +48,7 @@
> >> >> >>    #:use-module (gnu packages fonts)
> >> >> >>    #:use-module (gnu packages fontutils)
> >> >> >>    #:use-module (gnu packages gcc)
> >> >> >> +  #:use-module (gnu packages gnupg)
> >> >> >>    #:use-module (gnu packages gettext)
> >> >> >>    #:use-module (gnu packages ghostscript)
> >> >> >>    #:use-module (gnu packages gl)
> >> >> >> @@ -1078,3 +1081,36 @@ computer's keyboard.")
> >> >> >>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
> >> >> >>  follows a traditional multi-track tape recorder control paradigm.")
> >> >> >>      (license license:gpl2+)))
> >> >> >> +
> >> >> >> +(define-public pianobar
> >> >> >> +  (package
> >> >> >> +    (name "pianobar")
> >> >> >> +    (version "2015.11.22")
> >> >> >> +    (source (origin
> >> >> >> +              (method url-fetch)
> >> >> >> +              (uri (string-append "https://github.com/PromyLOPh/"
> >> >> >> +                                  name "/archive/" version ".tar.gz"))
> >> >> >> +              (file-name (string-append name "-" version ".tar.gz"))
> >> >> >> +              (sha256
> >> >> >> +               (base32
> >> >> >> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
> >> >> >> +    (build-system gnu-build-system)
> >> >> >> +    (arguments
> >> >> >> +     `(#:tests? #f ; no tests
> >> >> >> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
> >> >> >> +                          (string-append "PREFIX=" %output))
> >> >> >> +       #:phases (modify-phases %standard-phases
> >> >> >> +                  (delete 'configure))))
> >> >> >> +    (inputs
> >> >> >> +     `(("ao" ,ao)
> >> >> >> +       ("curl" ,curl)
> >> >> >> +       ("libgcrypt" ,libgcrypt)
> >> >> >> +       ("json-c" ,json-c)
> >> >> >> +       ("ffmpeg" ,ffmpeg)))
> >> >> >> +    (native-inputs
> >> >> >> +     `(("pkg-config" ,pkg-config)))
> >> >> >> +    (home-page "http://6xq.net/projects/pianobar/")
> >> >> >> +    (synopsis "Console-based pandora.com player")
> >> >> >> +    (description "pianobar is a free/open-source, console-based client for the
> >> >> >> +personalized online radio Pandora.")
> >> >> >
> >> >> > Everything in Guix qualifies as free software, so we do not need to
> >> >> > explicitly mention that it is free software.  Maybe the description is a
> >> >> > little bit short — could you possibly incorporate parts of the feature
> >> >> > list?
> >> >> >
> >> >> >> +    (license license:x11)))
> >> >> >
> >> >> > I think it’s the Expat license, not X11.  I only compared these
> >> >> > texts:
> >> >> >
> >> >> >     https://github.com/PromyLOPh/pianobar/blob/master/COPYING
> >> >> >     http://directory.fsf.org/wiki/License:Expat
> >> >> >     http://directory.fsf.org/wiki/License:X11
> >> >> >
> >> >> > Thanks again and welcome!
> >> >> >
> >> >> > ~~ Ricardo
> >> >> >
> >> >> >
> >> >>
> >> >>
> >> >
> >> 
> >> 
> >
> 
> -- 

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

* Re: [PATCH] gnu: Add pianobar.
  2016-02-13 22:49             ` Leo Famulari
@ 2016-02-13 22:56               ` Leo Famulari
  2016-02-13 23:52                 ` Leo Famulari
  0 siblings, 1 reply; 10+ messages in thread
From: Leo Famulari @ 2016-02-13 22:56 UTC (permalink / raw)
  To: Al McElrath; +Cc: guix-devel

On Sat, Feb 13, 2016 at 05:49:35PM -0500, Leo Famulari wrote:
> On Sat, Feb 13, 2016 at 02:37:05PM -0800, Al McElrath wrote:
> > 
> > I tracked this down a bit further. There is nothing wrong with Pandora's
> > cert. If I specify in pianobar's config file to use:
> > 
> > ca_bundle = /home/al/.guix-profile/etc/ssl/certs/ca-certificates.crt
> 
> Can you share your config, having replaced any personal info with dummy
> content?

Never mind! I made a config with just the ca_bundle line pointing to my
Debian-provided certificates, and I got the expected error about the
login failing due to bad credentials.

In my opinion, if the software provided by the package fails due to lack
of configuration, that's okay.

> 
> > 
> > It works. Note if I 'env | grep SSL' I get:
> > 
> > SSL_CERT_DIR=/home/al/.guix-profile/etc/ssl/certs
> > SSL_CERT_FILE=/home/al/.guix-profile/etc/ssl/certs/ca-certificates.crt
> > 
> > I was under the impression libcurl (which pianobar uses) would honor
> > these variables, but it appears it does not. Or there's something wrong
> > with my guix setup which is running on Arch.
> > 
> > I can patch pianobar to use SSL_CERT_FILE by default, but it seems like
> > there is a larger issue.
> > 
> > 
> > Leo Famulari <leo@famulari.name> writes:
> > 
> > > On Thu, Feb 11, 2016 at 10:00:17PM -0800, Al McElrath wrote:
> > >> 
> > >> Thanks for testing and pointing this out. Real radio stations require
> > >> too much manual effort! That said...
> > >> 
> > >> You should be getting a different error without a login (pandora.com
> > >> requires a login): "(i) Login... Error: Wrong email address or
> > >> password." There is an outstanding issue with pianobar regarding
> > >> Pandora's certificate described here:
> > >> 
> > >> https://github.com/PromyLOPh/pianobar/issues/560
> > >> 
> > >> There is a config file option "ca_file" which I use with a pem file I
> > >> downloaded. There is also a "tls_fingerprint" option described in the
> > >> bug commentary. This broke recently when Pandora changed their
> > >> certificate. It's not specifically a Guix bug.
> > >
> > > To clarify, is my error the result of a configuration problem and a
> > > missing .pem file?
> > >
> > > If so, is that .pem file something we should distribute with our
> > > package?
> > >
> > >> 
> > >> I realize this means pianobar simply doesn't work out of the box. I'm
> > >> open to suggestions on how to make this better.
> > >> 
> > >> 
> > >> Leo Famulari <leo@famulari.name> writes:
> > >> 
> > >> > On Thu, Feb 11, 2016 at 01:36:13PM -0800, Al McElrath wrote:
> > >> >>
> > >> >> Revised patch is attached. I updated/expanded the description and fixed
> > >> >> the license. Thanks!
> > >> >>
> > >> >
> > >> >> From 91d5c428428eed605c981a39022fe90e6f98be6d Mon Sep 17 00:00:00 2001
> > >> >> From: Al McElrath <hello@yrns.org>
> > >> >> Date: Fri, 11 Dec 2015 21:22:33 -0800
> > >> >> Subject: [PATCH] gnu: Add pianobar.
> > >> >>
> > >> >> * gnu/packages/music.scm (pianobar): New variable.
> > >> >
> > >> > One nice thing about "real" radio stations is that you don't need an
> > >> > account to listen to them ;) Anyways, I tested it as far as I could:
> > >> >
> > >> > $ pianobar
> > >> > Welcome to pianobar (2015.11.22)! Press ? for a list of commands.
> > >> > [?] Email:
> > >> > [?] Password:
> > >> > (i) Login... Network error: Peer certificate cannot be authenticated with given CA certificates
> > >> >
> > >> > That error seems to describe a problem unrelated to me not having an
> > >> > account. Can you see what happens when you leave the Email and Password
> > >> > fields blank? Of course, the message might be wrong, and it works if you
> > >> > have an account.
> > >> >
> > >> > If so, then I think it's okay (but buggy). If not, then it must be
> > >> > finding the certificate store in the environment and we should figure
> > >> > out how to provide it reliably.
> > >> >
> > >> >> ---
> > >> >>  gnu/packages/music.scm | 38 ++++++++++++++++++++++++++++++++++++++
> > >> >>  1 file changed, 38 insertions(+)
> > >> >>
> > >> >> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> > >> >> index a60ba4b..1382b0a 100644
> > >> >> --- a/gnu/packages/music.scm
> > >> >> +++ b/gnu/packages/music.scm
> > >> >> @@ -2,6 +2,7 @@
> > >> >>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
> > >> >>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
> > >> >>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
> > >> >> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
> > >> >>  ;;;
> > >> >>  ;;; This file is part of GNU Guix.
> > >> >>  ;;;
> > >> >> @@ -39,6 +40,7 @@
> > >> >>    #:use-module (gnu packages code)
> > >> >>    #:use-module (gnu packages check)
> > >> >>    #:use-module (gnu packages compression)
> > >> >> +  #:use-module (gnu packages curl)
> > >> >>    #:use-module (gnu packages docbook)
> > >> >>    #:use-module (gnu packages doxygen)
> > >> >>    #:use-module (gnu packages flex)
> > >> >> @@ -46,6 +48,7 @@
> > >> >>    #:use-module (gnu packages fonts)
> > >> >>    #:use-module (gnu packages fontutils)
> > >> >>    #:use-module (gnu packages gcc)
> > >> >> +  #:use-module (gnu packages gnupg)
> > >> >>    #:use-module (gnu packages gettext)
> > >> >>    #:use-module (gnu packages ghostscript)
> > >> >>    #:use-module (gnu packages gl)
> > >> >> @@ -1078,3 +1081,38 @@ computer's keyboard.")
> > >> >>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
> > >> >>  follows a traditional multi-track tape recorder control paradigm.")
> > >> >>      (license license:gpl2+)))
> > >> >> +
> > >> >> +(define-public pianobar
> > >> >> +  (package
> > >> >> +    (name "pianobar")
> > >> >> +    (version "2015.11.22")
> > >> >> +    (source (origin
> > >> >> +              (method url-fetch)
> > >> >> +              (uri (string-append "https://github.com/PromyLOPh/"
> > >> >> +                                  name "/archive/" version ".tar.gz"))
> > >> >> +              (file-name (string-append name "-" version ".tar.gz"))
> > >> >> +              (sha256
> > >> >> +               (base32
> > >> >> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
> > >> >> +    (build-system gnu-build-system)
> > >> >> +    (arguments
> > >> >> +     `(#:tests? #f ; no tests
> > >> >> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
> > >> >> +                          (string-append "PREFIX=" %output))
> > >> >> +       #:phases (modify-phases %standard-phases
> > >> >> +                  (delete 'configure))))
> > >> >> +    (inputs
> > >> >> +     `(("ao" ,ao)
> > >> >> +       ("curl" ,curl)
> > >> >> +       ("libgcrypt" ,libgcrypt)
> > >> >> +       ("json-c" ,json-c)
> > >> >> +       ("ffmpeg" ,ffmpeg)))
> > >> >> +    (native-inputs
> > >> >> +     `(("pkg-config" ,pkg-config)))
> > >> >> +    (home-page "http://6xq.net/projects/pianobar/")
> > >> >> +    (synopsis "Console-based pandora.com player")
> > >> >> +    (description "pianobar is a console-based music player for the
> > >> >> +personalized online radio pandora.com.  It has configurable keys for playing
> > >> >> +and managing stations, can be controlled remotely via fifo, and can run
> > >> >> +event-based scripts for scrobbling, notifications, etc.")
> > >> >> +    (license license:expat)))
> > >> >> --
> > >> >> 2.5.0
> > >> >>
> > >> >
> > >> >>
> > >> >> Ricardo Wurmus <rekado@elephly.net> writes:
> > >> >>
> > >> >> > Al McElrath <hello@yrns.org> writes:
> > >> >> >
> > >> >> >> Another new package. Feedback appreciated.
> > >> >> >
> > >> >> > Thank you for the patch!
> > >> >> >
> > >> >> >> This is free software, but it
> > >> >> >> only works with a non-free music service, Pandora. Is that acceptable?
> > >> >> >
> > >> >> > The concept of “non-free” doesn’t directly apply to services.  See
> > >> >> > “Untangling the SaaSS Issue from the Proprietary Software Issue” here:
> > >> >> >
> > >> >> >   https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html
> > >> >> >
> > >> >> > and also this:
> > >> >> >
> > >> >> >   https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html
> > >> >> >
> > >> >> > I don’t know anything about Pandora (I do know my mythology, though), so
> > >> >> > I’m not in a position to anticipate and answer questions about it.  In
> > >> >> > general I think that if “pianobar” itself is free software (which you
> > >> >> > say it is) and you do not need to use non-free software to set it up in
> > >> >> > the first place then it is probably acceptable.
> > >> >> >
> > >> >> > Now, on to a review of the patch!
> > >> >> >
> > >> >> >> From 4f477999635b4a16f19ef0833727abcf899dbb69 Mon Sep 17 00:00:00 2001
> > >> >> >> From: Al McElrath <hello@yrns.org>
> > >> >> >> Date: Fri, 11 Dec 2015 21:22:33 -0800
> > >> >> >> Subject: [PATCH] gnu: Add pianobar.
> > >> >> >
> > >> >> >> * gnu/packages/music.scm (pianobar): New variable.
> > >> >> >> ---
> > >> >> >>  gnu/packages/music.scm | 36 ++++++++++++++++++++++++++++++++++++
> > >> >> >>  1 file changed, 36 insertions(+)
> > >> >> >
> > >> >> >> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> > >> >> >> index a60ba4b..c5a6dc5 100644
> > >> >> >> --- a/gnu/packages/music.scm
> > >> >> >> +++ b/gnu/packages/music.scm
> > >> >> >> @@ -2,6 +2,7 @@
> > >> >> >>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
> > >> >> >>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
> > >> >> >>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
> > >> >> >> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
> > >> >> >>  ;;;
> > >> >> >>  ;;; This file is part of GNU Guix.
> > >> >> >>  ;;;
> > >> >> >> @@ -39,6 +40,7 @@
> > >> >> >>    #:use-module (gnu packages code)
> > >> >> >>    #:use-module (gnu packages check)
> > >> >> >>    #:use-module (gnu packages compression)
> > >> >> >> +  #:use-module (gnu packages curl)
> > >> >> >>    #:use-module (gnu packages docbook)
> > >> >> >>    #:use-module (gnu packages doxygen)
> > >> >> >>    #:use-module (gnu packages flex)
> > >> >> >> @@ -46,6 +48,7 @@
> > >> >> >>    #:use-module (gnu packages fonts)
> > >> >> >>    #:use-module (gnu packages fontutils)
> > >> >> >>    #:use-module (gnu packages gcc)
> > >> >> >> +  #:use-module (gnu packages gnupg)
> > >> >> >>    #:use-module (gnu packages gettext)
> > >> >> >>    #:use-module (gnu packages ghostscript)
> > >> >> >>    #:use-module (gnu packages gl)
> > >> >> >> @@ -1078,3 +1081,36 @@ computer's keyboard.")
> > >> >> >>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
> > >> >> >>  follows a traditional multi-track tape recorder control paradigm.")
> > >> >> >>      (license license:gpl2+)))
> > >> >> >> +
> > >> >> >> +(define-public pianobar
> > >> >> >> +  (package
> > >> >> >> +    (name "pianobar")
> > >> >> >> +    (version "2015.11.22")
> > >> >> >> +    (source (origin
> > >> >> >> +              (method url-fetch)
> > >> >> >> +              (uri (string-append "https://github.com/PromyLOPh/"
> > >> >> >> +                                  name "/archive/" version ".tar.gz"))
> > >> >> >> +              (file-name (string-append name "-" version ".tar.gz"))
> > >> >> >> +              (sha256
> > >> >> >> +               (base32
> > >> >> >> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
> > >> >> >> +    (build-system gnu-build-system)
> > >> >> >> +    (arguments
> > >> >> >> +     `(#:tests? #f ; no tests
> > >> >> >> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
> > >> >> >> +                          (string-append "PREFIX=" %output))
> > >> >> >> +       #:phases (modify-phases %standard-phases
> > >> >> >> +                  (delete 'configure))))
> > >> >> >> +    (inputs
> > >> >> >> +     `(("ao" ,ao)
> > >> >> >> +       ("curl" ,curl)
> > >> >> >> +       ("libgcrypt" ,libgcrypt)
> > >> >> >> +       ("json-c" ,json-c)
> > >> >> >> +       ("ffmpeg" ,ffmpeg)))
> > >> >> >> +    (native-inputs
> > >> >> >> +     `(("pkg-config" ,pkg-config)))
> > >> >> >> +    (home-page "http://6xq.net/projects/pianobar/")
> > >> >> >> +    (synopsis "Console-based pandora.com player")
> > >> >> >> +    (description "pianobar is a free/open-source, console-based client for the
> > >> >> >> +personalized online radio Pandora.")
> > >> >> >
> > >> >> > Everything in Guix qualifies as free software, so we do not need to
> > >> >> > explicitly mention that it is free software.  Maybe the description is a
> > >> >> > little bit short — could you possibly incorporate parts of the feature
> > >> >> > list?
> > >> >> >
> > >> >> >> +    (license license:x11)))
> > >> >> >
> > >> >> > I think it’s the Expat license, not X11.  I only compared these
> > >> >> > texts:
> > >> >> >
> > >> >> >     https://github.com/PromyLOPh/pianobar/blob/master/COPYING
> > >> >> >     http://directory.fsf.org/wiki/License:Expat
> > >> >> >     http://directory.fsf.org/wiki/License:X11
> > >> >> >
> > >> >> > Thanks again and welcome!
> > >> >> >
> > >> >> > ~~ Ricardo
> > >> >> >
> > >> >> >
> > >> >>
> > >> >>
> > >> >
> > >> 
> > >> 
> > >
> > 
> > -- 
> 

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

* Re: [PATCH] gnu: Add pianobar.
  2016-02-13 22:56               ` Leo Famulari
@ 2016-02-13 23:52                 ` Leo Famulari
  0 siblings, 0 replies; 10+ messages in thread
From: Leo Famulari @ 2016-02-13 23:52 UTC (permalink / raw)
  To: Al McElrath; +Cc: guix-devel

On Sat, Feb 13, 2016 at 05:56:16PM -0500, Leo Famulari wrote:
> On Sat, Feb 13, 2016 at 05:49:35PM -0500, Leo Famulari wrote:
> > On Sat, Feb 13, 2016 at 02:37:05PM -0800, Al McElrath wrote:
> > > 
> > > I tracked this down a bit further. There is nothing wrong with Pandora's
> > > cert. If I specify in pianobar's config file to use:
> > > 
> > > ca_bundle = /home/al/.guix-profile/etc/ssl/certs/ca-certificates.crt
> > 
> > Can you share your config, having replaced any personal info with dummy
> > content?
> 
> Never mind! I made a config with just the ca_bundle line pointing to my
> Debian-provided certificates, and I got the expected error about the
> login failing due to bad credentials.
> 
> In my opinion, if the software provided by the package fails due to lack
> of configuration, that's okay.
> 
> > 
> > > 
> > > It works. Note if I 'env | grep SSL' I get:
> > > 
> > > SSL_CERT_DIR=/home/al/.guix-profile/etc/ssl/certs
> > > SSL_CERT_FILE=/home/al/.guix-profile/etc/ssl/certs/ca-certificates.crt
> > > 
> > > I was under the impression libcurl (which pianobar uses) would honor
> > > these variables, but it appears it does not. Or there's something wrong
> > > with my guix setup which is running on Arch.
> > > 
> > > I can patch pianobar to use SSL_CERT_FILE by default, but it seems like
> > > there is a larger issue.

I think it must be some issue with the way that pianobar uses curl.
The curl provided by Guix has no trouble finding my certificates.

Pushed as aa0edd3f5. Thanks for the patch!

> > > 
> > > 
> > > Leo Famulari <leo@famulari.name> writes:
> > > 
> > > > On Thu, Feb 11, 2016 at 10:00:17PM -0800, Al McElrath wrote:
> > > >> 
> > > >> Thanks for testing and pointing this out. Real radio stations require
> > > >> too much manual effort! That said...
> > > >> 
> > > >> You should be getting a different error without a login (pandora.com
> > > >> requires a login): "(i) Login... Error: Wrong email address or
> > > >> password." There is an outstanding issue with pianobar regarding
> > > >> Pandora's certificate described here:
> > > >> 
> > > >> https://github.com/PromyLOPh/pianobar/issues/560
> > > >> 
> > > >> There is a config file option "ca_file" which I use with a pem file I
> > > >> downloaded. There is also a "tls_fingerprint" option described in the
> > > >> bug commentary. This broke recently when Pandora changed their
> > > >> certificate. It's not specifically a Guix bug.
> > > >
> > > > To clarify, is my error the result of a configuration problem and a
> > > > missing .pem file?
> > > >
> > > > If so, is that .pem file something we should distribute with our
> > > > package?
> > > >
> > > >> 
> > > >> I realize this means pianobar simply doesn't work out of the box. I'm
> > > >> open to suggestions on how to make this better.
> > > >> 
> > > >> 
> > > >> Leo Famulari <leo@famulari.name> writes:
> > > >> 
> > > >> > On Thu, Feb 11, 2016 at 01:36:13PM -0800, Al McElrath wrote:
> > > >> >>
> > > >> >> Revised patch is attached. I updated/expanded the description and fixed
> > > >> >> the license. Thanks!
> > > >> >>
> > > >> >
> > > >> >> From 91d5c428428eed605c981a39022fe90e6f98be6d Mon Sep 17 00:00:00 2001
> > > >> >> From: Al McElrath <hello@yrns.org>
> > > >> >> Date: Fri, 11 Dec 2015 21:22:33 -0800
> > > >> >> Subject: [PATCH] gnu: Add pianobar.
> > > >> >>
> > > >> >> * gnu/packages/music.scm (pianobar): New variable.
> > > >> >
> > > >> > One nice thing about "real" radio stations is that you don't need an
> > > >> > account to listen to them ;) Anyways, I tested it as far as I could:
> > > >> >
> > > >> > $ pianobar
> > > >> > Welcome to pianobar (2015.11.22)! Press ? for a list of commands.
> > > >> > [?] Email:
> > > >> > [?] Password:
> > > >> > (i) Login... Network error: Peer certificate cannot be authenticated with given CA certificates
> > > >> >
> > > >> > That error seems to describe a problem unrelated to me not having an
> > > >> > account. Can you see what happens when you leave the Email and Password
> > > >> > fields blank? Of course, the message might be wrong, and it works if you
> > > >> > have an account.
> > > >> >
> > > >> > If so, then I think it's okay (but buggy). If not, then it must be
> > > >> > finding the certificate store in the environment and we should figure
> > > >> > out how to provide it reliably.
> > > >> >
> > > >> >> ---
> > > >> >>  gnu/packages/music.scm | 38 ++++++++++++++++++++++++++++++++++++++
> > > >> >>  1 file changed, 38 insertions(+)
> > > >> >>
> > > >> >> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> > > >> >> index a60ba4b..1382b0a 100644
> > > >> >> --- a/gnu/packages/music.scm
> > > >> >> +++ b/gnu/packages/music.scm
> > > >> >> @@ -2,6 +2,7 @@
> > > >> >>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
> > > >> >>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
> > > >> >>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
> > > >> >> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
> > > >> >>  ;;;
> > > >> >>  ;;; This file is part of GNU Guix.
> > > >> >>  ;;;
> > > >> >> @@ -39,6 +40,7 @@
> > > >> >>    #:use-module (gnu packages code)
> > > >> >>    #:use-module (gnu packages check)
> > > >> >>    #:use-module (gnu packages compression)
> > > >> >> +  #:use-module (gnu packages curl)
> > > >> >>    #:use-module (gnu packages docbook)
> > > >> >>    #:use-module (gnu packages doxygen)
> > > >> >>    #:use-module (gnu packages flex)
> > > >> >> @@ -46,6 +48,7 @@
> > > >> >>    #:use-module (gnu packages fonts)
> > > >> >>    #:use-module (gnu packages fontutils)
> > > >> >>    #:use-module (gnu packages gcc)
> > > >> >> +  #:use-module (gnu packages gnupg)
> > > >> >>    #:use-module (gnu packages gettext)
> > > >> >>    #:use-module (gnu packages ghostscript)
> > > >> >>    #:use-module (gnu packages gl)
> > > >> >> @@ -1078,3 +1081,38 @@ computer's keyboard.")
> > > >> >>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
> > > >> >>  follows a traditional multi-track tape recorder control paradigm.")
> > > >> >>      (license license:gpl2+)))
> > > >> >> +
> > > >> >> +(define-public pianobar
> > > >> >> +  (package
> > > >> >> +    (name "pianobar")
> > > >> >> +    (version "2015.11.22")
> > > >> >> +    (source (origin
> > > >> >> +              (method url-fetch)
> > > >> >> +              (uri (string-append "https://github.com/PromyLOPh/"
> > > >> >> +                                  name "/archive/" version ".tar.gz"))
> > > >> >> +              (file-name (string-append name "-" version ".tar.gz"))
> > > >> >> +              (sha256
> > > >> >> +               (base32
> > > >> >> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
> > > >> >> +    (build-system gnu-build-system)
> > > >> >> +    (arguments
> > > >> >> +     `(#:tests? #f ; no tests
> > > >> >> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
> > > >> >> +                          (string-append "PREFIX=" %output))
> > > >> >> +       #:phases (modify-phases %standard-phases
> > > >> >> +                  (delete 'configure))))
> > > >> >> +    (inputs
> > > >> >> +     `(("ao" ,ao)
> > > >> >> +       ("curl" ,curl)
> > > >> >> +       ("libgcrypt" ,libgcrypt)
> > > >> >> +       ("json-c" ,json-c)
> > > >> >> +       ("ffmpeg" ,ffmpeg)))
> > > >> >> +    (native-inputs
> > > >> >> +     `(("pkg-config" ,pkg-config)))
> > > >> >> +    (home-page "http://6xq.net/projects/pianobar/")
> > > >> >> +    (synopsis "Console-based pandora.com player")
> > > >> >> +    (description "pianobar is a console-based music player for the
> > > >> >> +personalized online radio pandora.com.  It has configurable keys for playing
> > > >> >> +and managing stations, can be controlled remotely via fifo, and can run
> > > >> >> +event-based scripts for scrobbling, notifications, etc.")
> > > >> >> +    (license license:expat)))
> > > >> >> --
> > > >> >> 2.5.0
> > > >> >>
> > > >> >
> > > >> >>
> > > >> >> Ricardo Wurmus <rekado@elephly.net> writes:
> > > >> >>
> > > >> >> > Al McElrath <hello@yrns.org> writes:
> > > >> >> >
> > > >> >> >> Another new package. Feedback appreciated.
> > > >> >> >
> > > >> >> > Thank you for the patch!
> > > >> >> >
> > > >> >> >> This is free software, but it
> > > >> >> >> only works with a non-free music service, Pandora. Is that acceptable?
> > > >> >> >
> > > >> >> > The concept of “non-free” doesn’t directly apply to services.  See
> > > >> >> > “Untangling the SaaSS Issue from the Proprietary Software Issue” here:
> > > >> >> >
> > > >> >> >   https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html
> > > >> >> >
> > > >> >> > and also this:
> > > >> >> >
> > > >> >> >   https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html
> > > >> >> >
> > > >> >> > I don’t know anything about Pandora (I do know my mythology, though), so
> > > >> >> > I’m not in a position to anticipate and answer questions about it.  In
> > > >> >> > general I think that if “pianobar” itself is free software (which you
> > > >> >> > say it is) and you do not need to use non-free software to set it up in
> > > >> >> > the first place then it is probably acceptable.
> > > >> >> >
> > > >> >> > Now, on to a review of the patch!
> > > >> >> >
> > > >> >> >> From 4f477999635b4a16f19ef0833727abcf899dbb69 Mon Sep 17 00:00:00 2001
> > > >> >> >> From: Al McElrath <hello@yrns.org>
> > > >> >> >> Date: Fri, 11 Dec 2015 21:22:33 -0800
> > > >> >> >> Subject: [PATCH] gnu: Add pianobar.
> > > >> >> >
> > > >> >> >> * gnu/packages/music.scm (pianobar): New variable.
> > > >> >> >> ---
> > > >> >> >>  gnu/packages/music.scm | 36 ++++++++++++++++++++++++++++++++++++
> > > >> >> >>  1 file changed, 36 insertions(+)
> > > >> >> >
> > > >> >> >> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> > > >> >> >> index a60ba4b..c5a6dc5 100644
> > > >> >> >> --- a/gnu/packages/music.scm
> > > >> >> >> +++ b/gnu/packages/music.scm
> > > >> >> >> @@ -2,6 +2,7 @@
> > > >> >> >>  ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
> > > >> >> >>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
> > > >> >> >>  ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
> > > >> >> >> +;;; Copyright © 2016 Al McElrath <hello@yrns.org>
> > > >> >> >>  ;;;
> > > >> >> >>  ;;; This file is part of GNU Guix.
> > > >> >> >>  ;;;
> > > >> >> >> @@ -39,6 +40,7 @@
> > > >> >> >>    #:use-module (gnu packages code)
> > > >> >> >>    #:use-module (gnu packages check)
> > > >> >> >>    #:use-module (gnu packages compression)
> > > >> >> >> +  #:use-module (gnu packages curl)
> > > >> >> >>    #:use-module (gnu packages docbook)
> > > >> >> >>    #:use-module (gnu packages doxygen)
> > > >> >> >>    #:use-module (gnu packages flex)
> > > >> >> >> @@ -46,6 +48,7 @@
> > > >> >> >>    #:use-module (gnu packages fonts)
> > > >> >> >>    #:use-module (gnu packages fontutils)
> > > >> >> >>    #:use-module (gnu packages gcc)
> > > >> >> >> +  #:use-module (gnu packages gnupg)
> > > >> >> >>    #:use-module (gnu packages gettext)
> > > >> >> >>    #:use-module (gnu packages ghostscript)
> > > >> >> >>    #:use-module (gnu packages gl)
> > > >> >> >> @@ -1078,3 +1081,36 @@ computer's keyboard.")
> > > >> >> >>  JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
> > > >> >> >>  follows a traditional multi-track tape recorder control paradigm.")
> > > >> >> >>      (license license:gpl2+)))
> > > >> >> >> +
> > > >> >> >> +(define-public pianobar
> > > >> >> >> +  (package
> > > >> >> >> +    (name "pianobar")
> > > >> >> >> +    (version "2015.11.22")
> > > >> >> >> +    (source (origin
> > > >> >> >> +              (method url-fetch)
> > > >> >> >> +              (uri (string-append "https://github.com/PromyLOPh/"
> > > >> >> >> +                                  name "/archive/" version ".tar.gz"))
> > > >> >> >> +              (file-name (string-append name "-" version ".tar.gz"))
> > > >> >> >> +              (sha256
> > > >> >> >> +               (base32
> > > >> >> >> +                "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
> > > >> >> >> +    (build-system gnu-build-system)
> > > >> >> >> +    (arguments
> > > >> >> >> +     `(#:tests? #f ; no tests
> > > >> >> >> +       #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
> > > >> >> >> +                          (string-append "PREFIX=" %output))
> > > >> >> >> +       #:phases (modify-phases %standard-phases
> > > >> >> >> +                  (delete 'configure))))
> > > >> >> >> +    (inputs
> > > >> >> >> +     `(("ao" ,ao)
> > > >> >> >> +       ("curl" ,curl)
> > > >> >> >> +       ("libgcrypt" ,libgcrypt)
> > > >> >> >> +       ("json-c" ,json-c)
> > > >> >> >> +       ("ffmpeg" ,ffmpeg)))
> > > >> >> >> +    (native-inputs
> > > >> >> >> +     `(("pkg-config" ,pkg-config)))
> > > >> >> >> +    (home-page "http://6xq.net/projects/pianobar/")
> > > >> >> >> +    (synopsis "Console-based pandora.com player")
> > > >> >> >> +    (description "pianobar is a free/open-source, console-based client for the
> > > >> >> >> +personalized online radio Pandora.")
> > > >> >> >
> > > >> >> > Everything in Guix qualifies as free software, so we do not need to
> > > >> >> > explicitly mention that it is free software.  Maybe the description is a
> > > >> >> > little bit short — could you possibly incorporate parts of the feature
> > > >> >> > list?
> > > >> >> >
> > > >> >> >> +    (license license:x11)))
> > > >> >> >
> > > >> >> > I think it’s the Expat license, not X11.  I only compared these
> > > >> >> > texts:
> > > >> >> >
> > > >> >> >     https://github.com/PromyLOPh/pianobar/blob/master/COPYING
> > > >> >> >     http://directory.fsf.org/wiki/License:Expat
> > > >> >> >     http://directory.fsf.org/wiki/License:X11
> > > >> >> >
> > > >> >> > Thanks again and welcome!
> > > >> >> >
> > > >> >> > ~~ Ricardo
> > > >> >> >
> > > >> >> >
> > > >> >>
> > > >> >>
> > > >> >
> > > >> 
> > > >> 
> > > >
> > > 
> > > -- 
> > 
> 

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

end of thread, other threads:[~2016-02-13 23:52 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-11  7:46 [PATCH] gnu: Add pianobar Al McElrath
2016-02-11  8:14 ` Ricardo Wurmus
2016-02-11 21:36   ` Al McElrath
2016-02-12  4:51     ` Leo Famulari
2016-02-12  6:00       ` Al McElrath
2016-02-12 23:19         ` Leo Famulari
2016-02-13 22:37           ` Al McElrath
2016-02-13 22:49             ` Leo Famulari
2016-02-13 22:56               ` Leo Famulari
2016-02-13 23:52                 ` Leo Famulari

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).