From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al McElrath Subject: Re: [PATCH] gnu: Add pianobar. Date: Thu, 11 Feb 2016 22:00:17 -0800 Message-ID: <87fuwympse.fsf@atonesir.com> References: <87lh6rn0zf.fsf@atonesir.com> <871t8jvf3o.fsf@elephly.net> <87io1vlyk2.fsf@atonesir.com> <20160212045121.GA30431@jasmine> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50383) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aU6mL-0005ZS-UZ for guix-devel@gnu.org; Fri, 12 Feb 2016 01:00:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aU6mK-0004mK-0F for guix-devel@gnu.org; Fri, 12 Feb 2016 01:00:29 -0500 Received: from [2600:3c01::f03c:91ff:fe73:aaa] (port=39964 helo=mail.atonesir.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aU6mJ-0004m8-IG for guix-devel@gnu.org; Fri, 12 Feb 2016 01:00:27 -0500 In-Reply-To: <20160212045121.GA30431@jasmine> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Leo Famulari Cc: guix-devel@gnu.org 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 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 >> 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 =C2=A9 2014 Eric Bavier >> ;;; Copyright =C2=A9 2015, 2016 Ricardo Wurmus >> ;;; Copyright =C2=A9 2015 Paul van der Walt >> +;;; Copyright =C2=A9 2016 Al McElrath >> ;;; >> ;;; 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 infrastructure= s 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=3Dgcc" "CFLAGS=3D-std=3Dc99" >> + (string-append "PREFIX=3D" %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 pl= aying >> +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 writes: >> >> > Al McElrath 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 =E2=80=9Cnon-free=E2=80=9D doesn=E2=80=99t directly app= ly to services. See >> > =E2=80=9CUntangling the SaaSS Issue from the Proprietary Software Issu= e=E2=80=9D 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-nonfre= e.html >> > >> > I don=E2=80=99t know anything about Pandora (I do know my mythology, t= hough), so >> > I=E2=80=99m not in a position to anticipate and answer questions about= it. In >> > general I think that if =E2=80=9Cpianobar=E2=80=9D itself is free soft= ware (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 >> >> 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 =C2=A9 2014 Eric Bavier >> >> ;;; Copyright =C2=A9 2015, 2016 Ricardo Wurmus >> >> ;;; Copyright =C2=A9 2015 Paul van der Walt >> >> +;;; Copyright =C2=A9 2016 Al McElrath >> >> ;;; >> >> ;;; 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 infrastruct= ures 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 >> >> + "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wf= v")))) >> >> + (build-system gnu-build-system) >> >> + (arguments >> >> + `(#:tests? #f ; no tests >> >> + #:make-flags (list "CC=3Dgcc" "CFLAGS=3D-std=3Dc99" >> >> + (string-append "PREFIX=3D" %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 clie= nt 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 =E2=80=94 could you possibly incorporate parts of the= feature >> > list? >> > >> >> + (license license:x11))) >> > >> > I think it=E2=80=99s 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 >> > >> > >> >> >