unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: Al McElrath <hello@yrns.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] gnu: Add pianobar.
Date: Sat, 13 Feb 2016 17:56:16 -0500	[thread overview]
Message-ID: <20160213225616.GB2428@jasmine> (raw)
In-Reply-To: <20160213224935.GA2428@jasmine>

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

  reply	other threads:[~2016-02-13 22:56 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2016-02-13 23:52                 ` Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160213225616.GB2428@jasmine \
    --to=leo@famulari.name \
    --cc=guix-devel@gnu.org \
    --cc=hello@yrns.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).