guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] gnu: Add pianobar.


From: Al McElrath
Subject: Re: [PATCH] gnu: Add pianobar.
Date: Thu, 11 Feb 2016 22:00:17 -0800

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 <address@hidden> 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 <address@hidden>
>> 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 <address@hidden>
>>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <address@hidden>
>>  ;;; Copyright © 2015 Paul van der Walt <address@hidden>
>> +;;; Copyright © 2016 Al McElrath <address@hidden>
>>  ;;;
>>  ;;; 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 <address@hidden> writes:
>>
>> > Al McElrath <address@hidden> 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 <address@hidden>
>> >> 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 <address@hidden>
>> >>  ;;; Copyright © 2015, 2016 Ricardo Wurmus <address@hidden>
>> >>  ;;; Copyright © 2015 Paul van der Walt <address@hidden>
>> >> +;;; Copyright © 2016 Al McElrath <address@hidden>
>> >>  ;;;
>> >>  ;;; 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
>> >
>> >
>>
>>
>





reply via email to

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