3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/applications/audio/pulseaudio-dlna/default.nix
Profpatsch 4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
Part of: https://github.com/NixOS/nixpkgs/issues/108938

meta = with stdenv.lib;

is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.

This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.

The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01:00

55 lines
1.7 KiB
Nix

{ fetchFromGitHub, lib, stdenv, 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
}:
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 {
pname = "pulseaudio-dlna";
version = "unstable-2017-11-01";
src = fetchFromGitHub {
owner = "masmu";
repo = "pulseaudio-dlna";
rev = "4472928dd23f274193f14289f59daec411023ab0";
sha256 = "1dfn7036vrq49kxv4an7rayypnm5dlawsf02pfsldw877hzdamqk";
};
propagatedBuildInputs = with pythonPackages; [
dbus-python docopt requests setproctitle protobuf psutil futures
chardet notify2 netifaces pyroute2 pygobject2 lxml setuptools ]
++ [ 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 vorbis-tools;
# upstream has no tests
checkPhase = ''
$out/bin/pulseaudio-dlna --help > /dev/null
'';
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";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ mog ];
platforms = platforms.linux;
};
}