Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 22 additions & 6 deletions pkgs/by-name/le/ledfx/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@

python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "ledfx";
version = "2.1.0";
version = "2.1.8";
pyproject = true;

src = fetchFromGitHub {
owner = "LedFx";
repo = "LedFx";
tag = "v${finalAttrs.version}";
hash = "sha256-N9EHK0GVohFCjEKsm3g4h+4XWfzZO1tzdd2z5IN1YjI=";
hash = "sha256-le3SEGI9uis7wx9+SFpn0BJbpCybSecXEcxxAkC910U=";
};

postPatch = ''
Expand All @@ -28,6 +28,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
pythonRemoveDeps = [
# not packaged
"rpi-ws281x"
"xled"
];

build-system = with python3.pkgs; [
Expand All @@ -41,7 +42,8 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
cffi
aiohttp
aiohttp-cors
aubio
aubio-ledfx
cython
certifi
multidict
openrgb-python
Expand All @@ -54,30 +56,44 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
sacn
sentry-sdk
sounddevice
samplerate
icmplib
voluptuous
zeroconf
pillow
flux-led
lifx-async
python-osc
pybase64
mss
uvloop
stupidartnet
stupidartnet
python-dotenv
vnoise
pyfastnoiselite
netifaces2
packaging
# xled
samplerate-ledfx
audio-hotplug
aiosendspin
pyflac
];

optional-dependencies = {
hue = with python3.pkgs; [ python-mbedtls ];
};

nativeCheckInputs = with python3.pkgs; [
pytestCheckHook
lifx-emulator-core
pytest-asyncio
pytest-order
pytest-timeout
pytestCheckHook
];

disabledTests = [
# requires internet
"TestURLDownloadWithExternalURL"
];

meta = {
Expand Down
57 changes: 57 additions & 0 deletions pkgs/development/python-modules/aubio-ledfx/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
ffmpeg-headless,
libsamplerate,
libsndfile,
meson-python,
numpy,
pkg-config,
pytestCheckHook,
rubberband,
setuptools,
stdenv,
}:

buildPythonPackage (finalAttrs: {
pname = "aubio";
version = "0.4.11";
pyproject = true;

src = fetchFromGitHub {
owner = "LedFx";
repo = "aubio-ledfx";
tag = "v${finalAttrs.version}";
hash = "sha256-ec6QiTj1AOza+ggJPl3EULNDB/rrpCDZW0HaSywy/4E=";
};

build-system = [
meson-python
setuptools
];

dependencies = [ numpy ];

nativeBuildInputs = [ pkg-config ];

buildInputs = [
ffmpeg-headless
libsamplerate
libsndfile
]
++ lib.optionals (!stdenv.targetPlatform.isLinux) [
rubberband
];

nativeCheckInputs = [ pytestCheckHook ];

pythonImportsCheck = [ "aubio" ];

meta = {
description = "Collection of tools for music analysis";
homepage = "https://github.com/LedFx/aubio-ledfx";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ SuperSandro2000 ];
};
})
54 changes: 0 additions & 54 deletions pkgs/development/python-modules/aubio/default.nix

This file was deleted.

48 changes: 48 additions & 0 deletions pkgs/development/python-modules/audio-hotplug/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
pytest-asyncio,
pytestCheckHook,
pyudev,
stdenv,
uv-build,
}:

buildPythonPackage (finalAttrs: {
pname = "audio-hotplug";
version = "0.1.0";
pyproject = true;

src = fetchFromGitHub {
owner = "LedFx";
repo = "audio-hotplug";
tag = "v${finalAttrs.version}";
hash = "sha256-Xq81AfJ5E8lAk1JohD7/RlEDVRrbi/ScX80nMiRd+dY=";
};

postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "uv_build>=0.9.13,<0.10.0" "uv_build"
'';

build-system = [ uv-build ];

dependencies = lib.optionals stdenv.hostPlatform.isLinux [ pyudev ];

nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
];

pythonImportsCheck = [ "audio_hotplug" ];

meta = {
description = "Wrapper for Auburns' FastNoise Lite noise generation library";
homepage = "https://github.com/tizilogic/PyFastNoiseLite";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ SuperSandro2000 ];
# dependencies for other platforms are not packaged
broken = !stdenv.hostPlatform.isLinux;
};
})
49 changes: 49 additions & 0 deletions pkgs/development/python-modules/lifx-async/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
hatchling,
lifx-emulator-core,
pytest-asyncio,
pytest-benchmark,
pytest-cov-stub,
pytest-retry,
pytest-timeout,
pytest-xdist,
pytestCheckHook,
}:

buildPythonPackage (finalAttrs: {
pname = "lifx-async";
version = "5.4.8";
pyproject = true;

src = fetchFromGitHub {
owner = "Djelibeybi";
repo = "lifx-async";
tag = "v${finalAttrs.version}";
hash = "sha256-392gHHekZ+rfZzR21ISUqdFiLGFoQSkJeyn3oRSs3+g=";
};

build-system = [ hatchling ];

nativeCheckInputs = [
lifx-emulator-core
pytest-asyncio
pytest-benchmark
pytest-cov-stub
pytest-retry
pytest-timeout
pytest-xdist
pytestCheckHook
];

pythonImportsCheck = [ "lifx" ];

meta = {
description = "Modern, type-safe, async Python library for controlling LIFX lights";
homepage = "https://github.com/Djelibeybi/lifx-async/";
license = lib.licenses.upl;
maintainers = with lib.maintainers; [ SuperSandro2000 ];
};
})
48 changes: 48 additions & 0 deletions pkgs/development/python-modules/lifx-emulator-core/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
hatchling,
pydantic,
pytest-asyncio,
pytestCheckHook,
pyyaml,
writableTmpDirAsHomeHook,
}:

buildPythonPackage (finalAttrs: {
pname = "lifx-emulator-core";
version = "3.6.3";
pyproject = true;

src = fetchFromGitHub {
owner = "Djelibeybi";
repo = "lifx-emulator";
tag = "core-v${finalAttrs.version}";
hash = "sha256-bZ+u/OKFDYV0kQLeVQPDyLKC9KCTJydbl0xnuOsrh+0=";
};

sourceRoot = "${finalAttrs.src.name}/packages/lifx-emulator-core";

build-system = [ hatchling ];

dependencies = [
pydantic
pyyaml
];

nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
writableTmpDirAsHomeHook
];

pythonImportsCheck = [ "lifx_emulator" ];

meta = {
description = "Core Python library for emulating LIFX devices using the LAN protocol";
homepage = "https://github.com/Djelibeybi/lifx-emulator/tree/main/packages/lifx-emulator-core";
license = lib.licenses.upl;
maintainers = with lib.maintainers; [ SuperSandro2000 ];
};
})
37 changes: 37 additions & 0 deletions pkgs/development/python-modules/pyfastnoiselite/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
numpy,
setuptools,
}:

buildPythonPackage (finalAttrs: {
pname = "pyfastnoiselite";
version = "0.0.7";
pyproject = true;

src = fetchFromGitHub {
owner = "tizilogic";
repo = "PyFastNoiseLite";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-Dyi7FeNnlX3EA8qSylapvZJ4/02ayQC5EBtRY6KBJRA=";
};

build-system = [ setuptools ];

dependencies = [ numpy ];

# has no tests
doCheck = false;

pythonImportsCheck = [ "pyfastnoiselite" ];

meta = {
description = "Wrapper for Auburns' FastNoise Lite noise generation library";
homepage = "https://github.com/tizilogic/PyFastNoiseLite";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ SuperSandro2000 ];
};
})
Loading
Loading