From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Famulari Subject: Re: [PATCH] gnu: Add pianobar. Date: Fri, 12 Feb 2016 18:19:32 -0500 Message-ID: <20160212231932.GB28977@jasmine> References: <87lh6rn0zf.fsf@atonesir.com> <871t8jvf3o.fsf@elephly.net> <87io1vlyk2.fsf@atonesir.com> <20160212045121.GA30431@jasmine> <87fuwympse.fsf@atonesir.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56064) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aUMzs-00010O-BL for guix-devel@gnu.org; Fri, 12 Feb 2016 18:19:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aUMzo-0005Kh-Ak for guix-devel@gnu.org; Fri, 12 Feb 2016 18:19:32 -0500 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:47899) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aUMzo-0005Ka-6u for guix-devel@gnu.org; Fri, 12 Feb 2016 18:19:28 -0500 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 1CF9720909 for ; Fri, 12 Feb 2016 18:19:28 -0500 (EST) Content-Disposition: inline In-Reply-To: <87fuwympse.fsf@atonesir.com> 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: Al McElrath Cc: guix-devel@gnu.org 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 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 © 2014 Eric Bavier > >> ;;; Copyright © 2015, 2016 Ricardo Wurmus > >> ;;; Copyright © 2015 Paul van der Walt > >> +;;; Copyright © 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 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 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 “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 > >> >> 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 > >> >> ;;; Copyright © 2015, 2016 Ricardo Wurmus > >> >> ;;; Copyright © 2015 Paul van der Walt > >> >> +;;; Copyright © 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 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 > >> > > >> > > >> > >> > > > >