nixpkgs/pkgs/applications/audio/ledfx/default.nix
2023-04-15 01:07:55 +02:00

74 lines
1.7 KiB
Nix

{ lib
, fetchpatch
, python3
}:
python3.pkgs.buildPythonPackage rec {
pname = "ledfx";
version = "2.0.64";
format = "setuptools";
src = python3.pkgs.fetchPypi {
inherit pname version;
hash = "sha256-TKRa4PcMd0Jl94XD2WubOhmsxZaUplZeWKsuKz83Rl4=";
};
patches = [
# replace tcp-latency which is not packaged with icmplib
(fetchpatch {
url = "https://github.com/LedFx/LedFx/commit/98cd4256846ae3bdae7094eeacb3b02a4807dc6f.patch";
excludes = [
# only used in win.spec file which is windows specific
"hiddenimports.py"
];
hash = "sha256-p9fiLdjZI5fe5Qy2xbJIAtblp/7BwUxAvwjHQy5l9nQ=";
})
];
postPatch = ''
substituteInPlace setup.py \
--replace '"openrgb-python~=0.2.10",' "" \
--replace '"pyupdater>=3.1.0",' "" \
--replace "'rpi-ws281x>=4.3.0; platform_system == \"Linux\"'," "" \
--replace "~=" ">="
'';
propagatedBuildInputs = with python3.pkgs; [
aiohttp
aiohttp-cors
aubio
certifi
cython
flux-led
icmplib
multidict
numpy
# openrgb-python # not packaged
paho-mqtt
pillow
psutil
pyserial
pystray
# rpi-ws281x # not packaged
requests
sacn
samplerate
sentry-sdk
sounddevice
uvloop
voluptuous
zeroconf
];
# has no tests
doCheck = false;
meta = with lib; {
description = "LedFx is a network based LED effect controller with support for advanced real-time audio effects";
homepage = "https://github.com/LedFx/LedFx";
changelog = "https://github.com/LedFx/LedFx/blob/${version}/CHANGELOG.rst";
license = licenses.gpl3Only;
maintainers = teams.c3d2.members;
};
}