diff --git a/pkgs/applications/audio/pulseaudio-dlna/0001-setup.py-remove-dbus-python-from-list.patch b/pkgs/applications/audio/pulseaudio-dlna/0001-setup.py-remove-dbus-python-from-list.patch new file mode 100644 index 000000000000..2f38386f96c0 --- /dev/null +++ b/pkgs/applications/audio/pulseaudio-dlna/0001-setup.py-remove-dbus-python-from-list.patch @@ -0,0 +1,25 @@ +From a4bf7df795146c843696daee8c02826ba0034298 Mon Sep 17 00:00:00 2001 +From: Florian Klink +Date: Sun, 21 Nov 2021 12:04:48 +0100 +Subject: [PATCH] setup.py: remove dbus-python from list + +I wasn't able to convince setuptools to find this. +--- + setup.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 61d6831..013fff3 100644 +--- a/setup.py ++++ b/setup.py +@@ -42,7 +42,6 @@ setuptools.setup( + install_requires=[ + 'docopt', + 'chardet', +- 'dbus-python', + 'docopt', + 'requests', + 'setproctitle', +-- +2.33.1 + diff --git a/pkgs/applications/audio/pulseaudio-dlna/default.nix b/pkgs/applications/audio/pulseaudio-dlna/default.nix index 83de192c6b31..384718f1db54 100644 --- a/pkgs/applications/audio/pulseaudio-dlna/default.nix +++ b/pkgs/applications/audio/pulseaudio-dlna/default.nix @@ -1,43 +1,64 @@ -{ fetchFromGitHub, lib, pythonPackages -, mp3Support ? true, lame ? null -, opusSupport ? true, opusTools ? null -, faacSupport ? false, faac ? null -, flacSupport ? true, flac ? null -, soxSupport ? true, sox ? null -, vorbisSupport ? true, vorbis-tools ? null +{ fetchFromGitHub +, lib +, python3Packages +, mp3Support ? true +, lame +, opusSupport ? true +, opusTools +, faacSupport ? false +, faac +, flacSupport ? true +, flac +, soxSupport ? true +, sox +, vorbisSupport ? true +, vorbis-tools +, pulseaudio }: -assert mp3Support -> lame != null; -assert opusSupport -> opusTools != null; -assert faacSupport -> faac != null; -assert flacSupport -> flac != null; -assert soxSupport -> sox != null; -assert vorbisSupport -> vorbis-tools != null; - -let - zeroconf = pythonPackages.callPackage ./zeroconf.nix { }; -in -pythonPackages.buildPythonApplication { +python3Packages.buildPythonApplication { pname = "pulseaudio-dlna"; - version = "unstable-2017-11-01"; + version = "unstable-2021-11-09"; src = fetchFromGitHub { - owner = "masmu"; + owner = "Cygn"; repo = "pulseaudio-dlna"; - rev = "4472928dd23f274193f14289f59daec411023ab0"; - sha256 = "1dfn7036vrq49kxv4an7rayypnm5dlawsf02pfsldw877hzdamqk"; + rev = "637a2e7bba2277137c5f12fb58e63100dab7cbe6"; + sha256 = "sha256-Oda+zQQJE2D3fiNWTzxYvI8cZVHG5JAoV2Wf5Z6IU3M="; }; - propagatedBuildInputs = with pythonPackages; [ - dbus-python docopt requests setproctitle protobuf psutil futures - chardet notify2 netifaces pyroute2 pygobject2 lxml setuptools ] - ++ [ zeroconf ] - ++ lib.optional mp3Support lame - ++ lib.optional opusSupport opusTools - ++ lib.optional faacSupport faac - ++ lib.optional flacSupport flac - ++ lib.optional soxSupport sox - ++ lib.optional vorbisSupport vorbis-tools; + patches = [ + ./0001-setup.py-remove-dbus-python-from-list.patch + ]; + + propagatedBuildInputs = with python3Packages; [ + dbus-python + docopt + requests + setproctitle + protobuf + psutil + chardet + netifaces + notify2 + pyroute2 + pygobject3 + PyChromecast + lxml + setuptools + zeroconf + ] + ++ lib.optional mp3Support lame + ++ lib.optional opusSupport opusTools + ++ lib.optional faacSupport faac + ++ lib.optional flacSupport flac + ++ lib.optional soxSupport sox + ++ lib.optional vorbisSupport vorbis-tools; + + # pulseaudio-dlna shells out to pactl to configure sinks and sources. + # As pactl might not be in $PATH, add --suffix it (so pactl configured by the + # user get priority) + makeWrapperArgs = [ "--suffix PATH : ${lib.makeBinPath [ pulseaudio ]}" ]; # upstream has no tests checkPhase = '' @@ -46,7 +67,7 @@ pythonPackages.buildPythonApplication { meta = with lib; { description = "A lightweight streaming server which brings DLNA / UPNP and Chromecast support to PulseAudio and Linux"; - homepage = "https://github.com/masmu/pulseaudio-dlna"; + homepage = "https://github.com/Cygn/pulseaudio-dlna"; license = licenses.gpl3Plus; maintainers = with maintainers; [ mog ]; platforms = platforms.linux;