diff mbox series

[bug#36213,4/4] gnu: Add pulseaudio-dlna.

Message ID 3ee05f72-19df-4eb0-89c0-37ddded34d57@www.fastmail.com
State Accepted
Headers show
Series Add pulseaudio-dlna | expand

Checks

Context Check Description
cbaines/applying patch fail Apply failed

Commit Message

Alex Griffin June 14, 2019, 7:28 p.m. UTC
This patch adds pulseaudio-dlna, which lets you stream audio to Chromecast and DLNA devices (like Sonos speakers).

Comments

Ludovic Courtès July 2, 2019, 3:54 p.m. UTC | #1
Hi Alex,

Overall this patch set LGTM.  I have two questions:

"Alex Griffin" <a@ajgrf.com> skribis:

> +(define-public pulseaudio-dlna
> +  (let ((commit "4472928dd23f274193f14289f59daec411023ab0")
> +        (revision "1"))

Could you explain why you chose this commit rather than the latest
release?

> +      (arguments `(#:python ,python-2))

Can it run on Python 3?

Since Python 2 is approaching EOL, we’re trying to avoid adding more
Python 2 packages.  If we could remove ‘python2-’ packages from this
patch series, that’d be great; if not, so be it!

Thanks,
Ludo’.
Alex Griffin July 2, 2019, 4:01 p.m. UTC | #2
Hi Ludo,

On Tue, Jul 2, 2019, at 3:54 PM, Ludovic Courtès wrote:
> > +(define-public pulseaudio-dlna
> > +  (let ((commit "4472928dd23f274193f14289f59daec411023ab0")
> > +        (revision "1"))
> 
> Could you explain why you chose this commit rather than the latest
> release?

Honestly, I just noticed that Debian was building from git. I assumed they had a good reason, so I didn't even try the latest release from 2016.

> > +      (arguments `(#:python ,python-2))
> 
> Can it run on Python 3?
> 
> Since Python 2 is approaching EOL, we’re trying to avoid adding more
> Python 2 packages.  If we could remove ‘python2-’ packages from this
> patch series, that’d be great; if not, so be it!

No, it doesn't run on Python 3. It's actually unmaintained right now, but I'm not aware of any other free software projects that provide the same functionality.
Ludovic Courtès July 4, 2019, 4:07 p.m. UTC | #3
Hi,

"Alex Griffin" <a@ajgrf.com> skribis:

> On Tue, Jul 2, 2019, at 3:54 PM, Ludovic Courtès wrote:
>> > +(define-public pulseaudio-dlna
>> > +  (let ((commit "4472928dd23f274193f14289f59daec411023ab0")
>> > +        (revision "1"))
>> 
>> Could you explain why you chose this commit rather than the latest
>> release?
>
> Honestly, I just noticed that Debian was building from git. I assumed they had a good reason, so I didn't even try the latest release from 2016.

OK.  There have been quite a few commits since that 2016 release, so it
probably makes sense to use the latest one.

>> > +      (arguments `(#:python ,python-2))
>> 
>> Can it run on Python 3?
>> 
>> Since Python 2 is approaching EOL, we’re trying to avoid adding more
>> Python 2 packages.  If we could remove ‘python2-’ packages from this
>> patch series, that’d be great; if not, so be it!
>
> No, it doesn't run on Python 3. It's actually unmaintained right now, but I'm not aware of any other free software projects that provide the same functionality.

OK.

I took the liberty to add some of what you wrote as comments in the
code and pushed the whole series.

Thanks!

Ludo’.
diff mbox series

Patch

From 3d71a5aae006cc7a149370013d24a6c29561581e Mon Sep 17 00:00:00 2001
From: Alex Griffin <a@ajgrf.com>
Date: Thu, 13 Jun 2019 15:45:38 -0500
Subject: [PATCH 4/4] gnu: Add pulseaudio-dlna.

* gnu/packages/pulseaudio.scm (pulseaudio-dlna): New variable.
---
 gnu/packages/pulseaudio.scm | 56 +++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 96d15bdf9c..0dc9dc4191 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -8,6 +8,7 @@ 
 ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -27,6 +28,7 @@ 
 (define-module (gnu packages pulseaudio)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix l:)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
@@ -43,6 +45,10 @@ 
   #:use-module (gnu packages web)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages m4)
+  #:use-module (gnu packages protobuf)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages python-web)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages xiph))
 
@@ -303,3 +309,53 @@  sinks.")
     (description "Pulsemixer is a PulseAudio mixer with command-line and
 curses-style interfaces.")
     (license l:expat)))
+
+(define-public pulseaudio-dlna
+  (let ((commit "4472928dd23f274193f14289f59daec411023ab0")
+        (revision "1"))
+    (package
+      (name "pulseaudio-dlna")
+      (version (git-version "0.5.2" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/masmu/pulseaudio-dlna.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1dfn7036vrq49kxv4an7rayypnm5dlawsf02pfsldw877hzdamqk"))))
+      (build-system python-build-system)
+      (arguments `(#:python ,python-2))
+      (inputs
+       `(("python2-chardet" ,python2-chardet)
+         ("python2-dbus" ,python2-dbus)
+         ("python2-docopt" ,python2-docopt)
+         ("python2-futures" ,python2-futures)
+         ("python2-pygobject" ,python2-pygobject)
+         ("python2-lxml" ,python2-lxml)
+         ("python2-netifaces" ,python2-netifaces)
+         ("python2-notify2" ,python2-notify2)
+         ("python2-protobuf" ,python2-protobuf)
+         ("python2-psutil" ,python2-psutil)
+         ("python2-requests" ,python2-requests)
+         ("python2-pyroute2" ,python2-pyroute2)
+         ("python2-setproctitle" ,python2-setproctitle)
+         ("python2-zeroconf" ,python2-zeroconf)))
+      (home-page "https://github.com/masmu/pulseaudio-dlna")
+      (synopsis "Stream audio to DLNA / UPnP and Chromecast devices")
+      (description "A lightweight streaming server which brings DLNA / UPNP and
+Chromecast support to PulseAudio and Linux.  It can stream your current
+PulseAudio playback to different UPnP devices (UPnP Media Renderers, including
+Sonos devices and some Smart TVs) or Chromecasts in your network.  You should
+also install one or more of the following packages alongside pulseaudio-dlna:
+@itemize
+@item ffmpeg - transcoding support for multiple codecs
+@item flac - FLAC transcoding support
+@item lame - MP3 transcoding support
+@item opus-tools - Opus transcoding support
+@item sox - WAV transcoding support
+@item vorbis-tools - Vorbis transcoding support
+@end itemize")
+      (license l:gpl3+))))
-- 
2.22.0