diff --git a/pkgs/applications/audio/pulseaudio-dlna/default.nix b/pkgs/applications/audio/pulseaudio-dlna/default.nix new file mode 100644 index 000000000000..72af8aff106b --- /dev/null +++ b/pkgs/applications/audio/pulseaudio-dlna/default.nix @@ -0,0 +1,50 @@ +{ fetchFromGitHub, stdenv, pythonPackages +, mp3Support ? true, lame ? null +, opusSupport ? true, opusTools ? null +, faacSupport ? false, faac ? null +, flacSupport ? true, flac ? null +, soxSupport ? true, sox ? null +, vorbisSupport ? true, vorbisTools ? null +}: + +assert mp3Support -> lame != null; +assert opusSupport -> opusTools != null; +assert faacSupport -> faac != null; +assert flacSupport -> flac != null; +assert soxSupport -> sox != null; +assert vorbisSupport -> vorbisTools != null; + +pythonPackages.buildPythonApplication rec { + pname = "pulseaudio-dlna"; + version = "2017-11-01"; + + src = fetchFromGitHub { + owner = "masmu"; + repo = "pulseaudio-dlna"; + rev = "4472928dd23f274193f14289f59daec411023ab0"; + sha256 = "1dfn7036vrq49kxv4an7rayypnm5dlawsf02pfsldw877hzdamqk"; + }; + + # pulseaudio-dlna has no tests + doCheck = false; + + propagatedBuildInputs = with pythonPackages; [ + dbus-python docopt requests setproctitle protobuf psutil futures + chardet notify2 netifaces pyroute2 pygobject2 lxml zeroconf ] + ++ stdenv.lib.optional mp3Support lame + ++ stdenv.lib.optional opusSupport opusTools + ++ stdenv.lib.optional faacSupport faac + ++ stdenv.lib.optional flacSupport flac + ++ stdenv.lib.optional soxSupport sox + ++ stdenv.lib.optional vorbisSupport vorbisTools; + + meta = with stdenv.lib; { + description = "A lightweight streaming server which brings DLNA / UPNP and Chromecast support to PulseAudio and Linux"; + homepage = https://github.com/masmu/pulseaudio-dlna; + + license = licenses.gpl3Plus; + + maintainers = with maintainers; [ mog ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/python-modules/notify2/default.nix b/pkgs/development/python-modules/notify2/default.nix new file mode 100644 index 000000000000..2d5851929075 --- /dev/null +++ b/pkgs/development/python-modules/notify2/default.nix @@ -0,0 +1,29 @@ +{ buildPythonPackage +, lib +, fetchPypi +, pygobject3 +, dbus-python +}: + +buildPythonPackage rec { + pname = "notify2"; + version = "0.3.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "0z8rrv9rsg1r2qgh2dxj3dfj5xnki98kgi3w839kqby4a26i1yik"; + }; + + + # Tests require Xorg and Dbus instance + doCheck = false; + propagatedBuildInputs = [ pygobject3 + dbus-python ]; + + meta = { + description = "Pure Python interface to DBus notifications"; + homepage = https://bitbucket.org/takluyver/pynotify2; + license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ mog ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 435d728179fe..c2c6fd1122fa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16958,6 +16958,8 @@ with pkgs; ptask = callPackage ../applications/misc/ptask { }; + pulseaudio-dlna = callPackage ../applications/audio/pulseaudio-dlna { }; + pulseview = libsForQt5.callPackage ../applications/science/electronics/pulseview { }; puredata = callPackage ../applications/audio/puredata { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8cc378ddbfab..ea41b782bdcb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11298,6 +11298,8 @@ in { }; }); + notify2 = callPackage ../development/python-modules/notify2 {}; + notmuch = buildPythonPackage rec { name = "python-${pkgs.notmuch.name}";