unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#36213] [PATCH 0/4] Add pulseaudio-dlna
@ 2019-06-14 19:21 Alex Griffin
  2019-06-14 19:22 ` [bug#36213] [PATCH 1/4] gnu: Add python-notify2, python2-notify2 Alex Griffin
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Alex Griffin @ 2019-06-14 19:21 UTC (permalink / raw)
  To: 36213

This patch series adds pulseaudio-dlna, which lets you stream audio to Chromecast and DLNA devices (like Sonos speakers).

-- 
Alex Griffin

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#36213] [PATCH 1/4] gnu: Add python-notify2, python2-notify2.
  2019-06-14 19:21 [bug#36213] [PATCH 0/4] Add pulseaudio-dlna Alex Griffin
@ 2019-06-14 19:22 ` Alex Griffin
  2019-06-14 19:23 ` [bug#36213] [PATCH 2/4] gnu: Add python-pyroute2, python2-pyroute2 Alex Griffin
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Alex Griffin @ 2019-06-14 19:22 UTC (permalink / raw)
  To: 36213

[-- Attachment #1: Type: text/plain, Size: 26 bytes --]

attached

-- 
Alex Griffin

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-python-notify2-python2-notify2.patch --]
[-- Type: text/x-patch; name="0001-gnu-Add-python-notify2-python2-notify2.patch", Size: 2088 bytes --]

From d6b03487f9844f9836ac2cb877022ffaac9f53ee Mon Sep 17 00:00:00 2001
From: Alex Griffin <a@ajgrf.com>
Date: Thu, 13 Jun 2019 13:46:14 -0500
Subject: [PATCH 1/4] gnu: Add python-notify2, python2-notify2.

* gnu/packages/python-xyz.scm (python-notify2): New variable.
(python2-notify2): New variable.
---
 gnu/packages/python-xyz.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a7c88e9187..e07f9532ed 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -60,6 +60,7 @@
 ;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
 ;;; Copyright © 2019 Sam <smbaines8@gmail.com>
 ;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
+;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -5350,6 +5351,33 @@ implementation of D-Bus.")
     ;; "ValueError: unichr() arg not in range(0x10000) (narrow Python build)"
     (arguments `(#:tests? #f))))
 
+(define-public python-notify2
+  (package
+    (name "python-notify2")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "notify2" version))
+       (sha256
+        (base32
+         "0z8rrv9rsg1r2qgh2dxj3dfj5xnki98kgi3w839kqby4a26i1yik"))))
+    (build-system python-build-system)
+    (arguments `(#:tests? #f))                    ; tests depend on system state
+    (native-inputs
+     `(("python-dbus" ,python-dbus)))
+    (home-page "https://bitbucket.org/takluyver/pynotify2")
+    (synopsis "Python interface to D-Bus notifications")
+    (description
+     "notify provides a Python interface for sending D-Bus notifications.
+It is a reimplementation of pynotify in pure Python, and an alternative to
+the GObject Introspection bindings to libnotify for non-GTK applications.")
+    (license (list license:bsd-2
+                   license:lgpl2.1+))))
+
+(define-public python2-notify2
+  (package-with-python2 python-notify2))
+
 (define-public python-lxml
   (package
     (name "python-lxml")
-- 
2.22.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#36213] [PATCH 2/4] gnu: Add python-pyroute2, python2-pyroute2.
  2019-06-14 19:21 [bug#36213] [PATCH 0/4] Add pulseaudio-dlna Alex Griffin
  2019-06-14 19:22 ` [bug#36213] [PATCH 1/4] gnu: Add python-notify2, python2-notify2 Alex Griffin
@ 2019-06-14 19:23 ` Alex Griffin
  2019-06-14 19:27 ` [bug#36213] [PATCH 3/4] gnu: Add python2-zeroconf Alex Griffin
  2019-06-14 19:28 ` [bug#36213] [PATCH 4/4] gnu: Add pulseaudio-dlna Alex Griffin
  3 siblings, 0 replies; 8+ messages in thread
From: Alex Griffin @ 2019-06-14 19:23 UTC (permalink / raw)
  To: 36213

[-- Attachment #1: Type: text/plain, Size: 26 bytes --]

attached

-- 
Alex Griffin

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0002-gnu-Add-python-pyroute2-python2-pyroute2.patch --]
[-- Type: text/x-patch; name="0002-gnu-Add-python-pyroute2-python2-pyroute2.patch", Size: 2110 bytes --]

From 427cfc454cba81de55985eb39dde83ab30b8c7f9 Mon Sep 17 00:00:00 2001
From: Alex Griffin <a@ajgrf.com>
Date: Thu, 13 Jun 2019 15:46:10 -0500
Subject: [PATCH 2/4] gnu: Add python-pyroute2, python2-pyroute2.

* gnu/packages/python-xyz.scm (python-pyroute2): New variable.
(python2-pyroute2): New variable.

fixup pyroute2
---
 gnu/packages/python-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e07f9532ed..cceddf8f3b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6650,6 +6650,42 @@ and MAC network addresses.")
 (define-public python2-netaddr
   (package-with-python2 python-netaddr))
 
+(define-public python-pyroute2
+  (package
+    (name "python-pyroute2")
+    (version "0.5.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pyroute2" version))
+       (sha256
+        (base32
+         "1gmz4r1w0yzj6fjjypnalmfyy0lnfznydyn62gi3wk50j5hhxbny"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/svinota/pyroute2")
+    (synopsis "Python netlink library")
+    (description
+     "Pyroute2 is a pure Python netlink library with minimal dependencies.
+Supported netlink families and protocols include:
+@itemize
+@item rtnl, network settings - addresses, routes, traffic controls
+@item nfnetlink - netfilter API: ipset, nftables, ...
+@item ipq - simplest userspace packet filtering, iptables QUEUE target
+@item devlink - manage and monitor devlink-enabled hardware
+@item generic - generic netlink families
+  @itemize
+  @item nl80211 - wireless functions API (basic support)
+  @item taskstats - extended process statistics
+  @item acpi_events - ACPI events monitoring
+  @item thermal_events - thermal events monitoring
+  @item VFS_DQUOT - disk quota events monitoring
+  @end itemize
+@end itemize")
+    (license license:gpl2+)))
+
+(define-public python2-pyroute2
+  (package-with-python2 python-pyroute2))
+
 (define-public python-wrapt
   (package
     (name "python-wrapt")
-- 
2.22.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#36213] [PATCH 3/4] gnu: Add python2-zeroconf.
  2019-06-14 19:21 [bug#36213] [PATCH 0/4] Add pulseaudio-dlna Alex Griffin
  2019-06-14 19:22 ` [bug#36213] [PATCH 1/4] gnu: Add python-notify2, python2-notify2 Alex Griffin
  2019-06-14 19:23 ` [bug#36213] [PATCH 2/4] gnu: Add python-pyroute2, python2-pyroute2 Alex Griffin
@ 2019-06-14 19:27 ` Alex Griffin
  2019-06-14 19:28 ` [bug#36213] [PATCH 4/4] gnu: Add pulseaudio-dlna Alex Griffin
  3 siblings, 0 replies; 8+ messages in thread
From: Alex Griffin @ 2019-06-14 19:27 UTC (permalink / raw)
  To: 36213

[-- Attachment #1: Type: text/plain, Size: 204 bytes --]

This patch packages the last version of the zeroconf package to support python 2. That's also why I didn't package it for python 3, because it would be a substantially different package.

-- 
Alex Griffin

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0003-gnu-Add-python2-zeroconf.patch --]
[-- Type: text/x-patch; name="0003-gnu-Add-python2-zeroconf.patch", Size: 1794 bytes --]

From 37571b285637bce2ebd4a519360c81734c0a238a Mon Sep 17 00:00:00 2001
From: Alex Griffin <a@ajgrf.com>
Date: Thu, 13 Jun 2019 14:21:53 -0500
Subject: [PATCH 3/4] gnu: Add python2-zeroconf.

* gnu/packages/python-xyz.scm (python2-zeroconf): New variable.
---
 gnu/packages/python-xyz.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index cceddf8f3b..23f1fe902d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15460,3 +15460,37 @@ by Igor Pavlov.")
 
 (define-public python2-pylzma
   (package-with-python2 python-pylzma))
+
+(define-public python2-zeroconf
+  (package
+    (name "python2-zeroconf")
+    (version "0.19.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "zeroconf" version))
+       (sha256
+        (base32
+         "0ykzg730n915qbrq9bn5pn06bv6rb5zawal4sqjyfnjjm66snkj3"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:python ,python-2
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-requires
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "setup.py"
+               (("enum-compat")
+                "enum34"))
+             #t)))))
+    (native-inputs
+     `(("python2-six" ,python2-six)
+       ("python2-enum32" ,python2-enum34)
+       ("python2-netifaces" ,python2-netifaces)
+       ("python2-typing" ,python2-typing)))
+     (home-page "https://github.com/jstasiak/python-zeroconf")
+     (synopsis "Pure Python mDNS service discovery")
+     (description
+      "Pure Python multicast DNS (mDNS) service discovery library
+(Bonjour/Avahi compatible).")
+     (license license:lgpl2.1+)))
-- 
2.22.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#36213] [PATCH 4/4] gnu: Add pulseaudio-dlna.
  2019-06-14 19:21 [bug#36213] [PATCH 0/4] Add pulseaudio-dlna Alex Griffin
                   ` (2 preceding siblings ...)
  2019-06-14 19:27 ` [bug#36213] [PATCH 3/4] gnu: Add python2-zeroconf Alex Griffin
@ 2019-06-14 19:28 ` Alex Griffin
  2019-07-02 15:54   ` Ludovic Courtès
  3 siblings, 1 reply; 8+ messages in thread
From: Alex Griffin @ 2019-06-14 19:28 UTC (permalink / raw)
  To: 36213

[-- Attachment #1: Type: text/plain, Size: 132 bytes --]

This patch adds pulseaudio-dlna, which lets you stream audio to Chromecast and DLNA devices (like Sonos speakers).

-- 
Alex Griffin

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0004-gnu-Add-pulseaudio-dlna.patch --]
[-- Type: text/x-patch; name="0004-gnu-Add-pulseaudio-dlna.patch", Size: 3844 bytes --]

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


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#36213] [PATCH 4/4] gnu: Add pulseaudio-dlna.
  2019-06-14 19:28 ` [bug#36213] [PATCH 4/4] gnu: Add pulseaudio-dlna Alex Griffin
@ 2019-07-02 15:54   ` Ludovic Courtès
  2019-07-02 16:01     ` Alex Griffin
  0 siblings, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2019-07-02 15:54 UTC (permalink / raw)
  To: Alex Griffin; +Cc: 36213

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#36213] [PATCH 4/4] gnu: Add pulseaudio-dlna.
  2019-07-02 15:54   ` Ludovic Courtès
@ 2019-07-02 16:01     ` Alex Griffin
  2019-07-04 16:07       ` bug#36213: " Ludovic Courtès
  0 siblings, 1 reply; 8+ messages in thread
From: Alex Griffin @ 2019-07-02 16:01 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 36213

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.

-- 
Alex Griffin

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#36213: [PATCH 4/4] gnu: Add pulseaudio-dlna.
  2019-07-02 16:01     ` Alex Griffin
@ 2019-07-04 16:07       ` Ludovic Courtès
  0 siblings, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2019-07-04 16:07 UTC (permalink / raw)
  To: Alex Griffin; +Cc: 36213-done

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-07-04 16:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-14 19:21 [bug#36213] [PATCH 0/4] Add pulseaudio-dlna Alex Griffin
2019-06-14 19:22 ` [bug#36213] [PATCH 1/4] gnu: Add python-notify2, python2-notify2 Alex Griffin
2019-06-14 19:23 ` [bug#36213] [PATCH 2/4] gnu: Add python-pyroute2, python2-pyroute2 Alex Griffin
2019-06-14 19:27 ` [bug#36213] [PATCH 3/4] gnu: Add python2-zeroconf Alex Griffin
2019-06-14 19:28 ` [bug#36213] [PATCH 4/4] gnu: Add pulseaudio-dlna Alex Griffin
2019-07-02 15:54   ` Ludovic Courtès
2019-07-02 16:01     ` Alex Griffin
2019-07-04 16:07       ` bug#36213: " Ludovic Courtès

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