push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
{
lib,
pythonPackages,
fetchPypi,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-bandcamp";
version = "1.1.5";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "Mopidy-Bandcamp";
hash = "sha256-wg9zcOKfZQRhpyA1Cu5wvdwKpmrlcr2m9mrqBHgUXAQ=";
};
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
pythonPackages.pykka
];
pythonImportsCheck = [ "mopidy_bandcamp" ];
meta = with lib; {
description = "Mopidy extension for playing music from bandcamp";
homepage = "https://github.com/impliedchaos/mopidy-bandcamp";
license = licenses.mit;
maintainers = with maintainers; [ desttinghim ];
};
}

View File

@@ -0,0 +1,59 @@
{
lib,
newScope,
python,
}:
# Create a custom scope so we are consistent in which python version is used
lib.makeScope newScope (
self: with self; {
inherit python;
pythonPackages = python.pkgs;
mopidy = callPackage ./mopidy.nix { };
mopidy-bandcamp = callPackage ./bandcamp.nix { };
mopidy-listenbrainz = callPackage ./listenbrainz.nix { };
mopidy-iris = callPackage ./iris.nix { };
mopidy-jellyfin = callPackage ./jellyfin.nix { };
mopidy-local = callPackage ./local.nix { };
mopidy-moped = callPackage ./moped.nix { };
mopidy-mopify = callPackage ./mopify.nix { };
mopidy-mpd = callPackage ./mpd.nix { };
mopidy-mpris = callPackage ./mpris.nix { };
mopidy-muse = callPackage ./muse.nix { };
mopidy-musicbox-webclient = callPackage ./musicbox-webclient.nix { };
mopidy-notify = callPackage ./notify.nix { };
mopidy-podcast = callPackage ./podcast.nix { };
mopidy-scrobbler = callPackage ./scrobbler.nix { };
mopidy-somafm = callPackage ./somafm.nix { };
mopidy-soundcloud = callPackage ./soundcloud.nix { };
mopidy-spotify = callPackage ./spotify.nix { };
mopidy-tidal = callPackage ./tidal.nix { };
mopidy-tunein = callPackage ./tunein.nix { };
mopidy-youtube = callPackage ./youtube.nix { };
mopidy-ytmusic = callPackage ./ytmusic.nix { };
mopidy-subidy = callPackage ./subidy.nix { };
}
)

View File

@@ -0,0 +1,41 @@
{
lib,
pythonPackages,
fetchPypi,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-iris";
version = "3.70.0";
pyproject = true;
src = fetchPypi {
pname = "mopidy_iris";
inherit version;
hash = "sha256-md/1blTTtjiAAb/jiLE2EfiSlIUwEga8U7OiuKa466k=";
};
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
pythonPackages.configobj
pythonPackages.requests
pythonPackages.tornado
];
# no tests implemented
doCheck = false;
pythonImportsCheck = [ "mopidy_iris" ];
meta = with lib; {
homepage = "https://github.com/jaedb/Iris";
description = "Fully-functional Mopidy web client encompassing Spotify and many other backends";
license = licenses.asl20;
maintainers = [ maintainers.rvolosatovs ];
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
pythonPackages,
fetchPypi,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-jellyfin";
version = "1.0.6";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "mopidy_jellyfin";
hash = "sha256-IKCPypMuluR0+mMALp8lB1oB1pSw4rN4rOl/eKn+Qvo=";
};
build-system = [ pythonPackages.setuptools ];
dependencies = [
mopidy
pythonPackages.unidecode
pythonPackages.websocket-client
];
# no tests implemented
doCheck = false;
pythonImportsCheck = [ "mopidy_jellyfin" ];
meta = with lib; {
homepage = "https://github.com/jellyfin/mopidy-jellyfin";
description = "Mopidy extension for playing audio files from Jellyfin";
license = licenses.asl20;
maintainers = [ maintainers.pstn ];
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
pythonPackages,
fetchFromGitHub,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-listenbrainz";
version = "0.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "suaviloquence";
repo = "mopidy-listenbrainz";
tag = "v${version}";
hash = "sha256-kYZgG2KQMTxMR8tdwwCKkfexDcxcndXG9LSdlnoN/CY=";
};
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
pythonPackages.musicbrainzngs
];
meta = {
homepage = "https://github.com/suaviloquence/mopidy-listenbrainz";
description = "Mopidy extension for recording played tracks and getting recommendations to Listenbrainz, a libre alternative to Last.fm";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ bohanubis ];
};
}

View File

@@ -0,0 +1,40 @@
{
lib,
mopidy,
pythonPackages,
fetchPypi,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-local";
version = "3.3.0";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "mopidy_local";
hash = "sha256-y6btbGk5UiVan178x7d9jq5OTnKMbuliHv0aRxuZK3o=";
};
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
pythonPackages.uritools
];
nativeCheckInputs = [
pythonPackages.pytestCheckHook
];
pythonImportsCheck = [ "mopidy_local" ];
meta = with lib; {
homepage = "https://github.com/mopidy/mopidy-local";
description = "Mopidy extension for playing music from your local music archive";
license = licenses.asl20;
maintainers = with maintainers; [ ruuda ];
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
pythonPackages,
fetchPypi,
mopidy,
glibcLocales,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-moped";
version = "0.7.1";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "Mopidy-Moped";
sha256 = "15461174037d87af93dd59a236d4275c5abf71cea0670ffff24a7d0399a8a2e4";
};
LC_ALL = "en_US.UTF-8";
buildInputs = [ glibcLocales ];
build-system = [ pythonPackages.setuptools ];
dependencies = [ mopidy ];
# no tests implemented
doCheck = false;
pythonImportsCheck = [ "mopidy_moped" ];
meta = with lib; {
homepage = "https://github.com/martijnboland/moped";
description = "Web client for Mopidy";
license = licenses.mit;
maintainers = [ ];
hydraPlatforms = [ ];
};
}

View File

@@ -0,0 +1,73 @@
{
lib,
stdenv,
fetchFromGitHub,
pythonPackages,
wrapGAppsNoGuiHook,
gst_all_1,
glib-networking,
gobject-introspection,
pipewire,
nixosTests,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy";
version = "3.4.2";
pyproject = true;
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy";
tag = "v${version}";
hash = "sha256-2OFav2HaQq/RphmZxLyL1n3suwzt1Y/d4h33EdbStjk=";
};
nativeBuildInputs = [ wrapGAppsNoGuiHook ];
buildInputs =
with gst_all_1;
[
glib-networking
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gst-plugins-rs
]
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ pipewire ];
propagatedNativeBuildInputs = [ gobject-introspection ];
propagatedBuildInputs = [ gobject-introspection ];
build-system = [ pythonPackages.setuptools ];
dependencies =
with pythonPackages;
[
gst-python
pygobject3
pykka
requests
setuptools
tornado
]
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ dbus-python ];
# There are no tests
doCheck = false;
passthru.tests = {
inherit (nixosTests) mopidy;
};
meta = {
homepage = "https://www.mopidy.com/";
description = "Extensible music server that plays music from local disk, Spotify, SoundCloud, and more";
mainProgram = "mopidy";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.fpletz ];
hydraPlatforms = [ ];
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
pythonPackages,
fetchPypi,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-mopify";
version = "1.7.3";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "Mopidy-Mopify";
hash = "sha256-RlCC+39zC+LeA/QDWPHYx5TrEwOgVrnvcH1Xg12qSLE=";
};
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
pythonPackages.configobj
];
# no tests implemented
doCheck = false;
pythonImportsCheck = [ "mopidy_mopify" ];
meta = with lib; {
homepage = "https://github.com/dirkgroenen/mopidy-mopify";
description = "Mopidy webclient based on the Spotify webbased interface";
license = licenses.gpl3;
maintainers = [ maintainers.Gonzih ];
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
pythonPackages,
fetchPypi,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-mpd";
version = "3.3.0";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "Mopidy-MPD";
hash = "sha256-CeLMRqj9cwBvQrOx7XHVV8MjDjwOosONVlsN2o+vTVM=";
};
build-system = [ pythonPackages.setuptools ];
dependencies = [ mopidy ];
# no tests implemented
doCheck = false;
pythonImportsCheck = [ "mopidy_mpd" ];
meta = with lib; {
homepage = "https://github.com/mopidy/mopidy-mpd";
description = "Mopidy extension for controlling playback from MPD clients";
license = licenses.asl20;
maintainers = [ maintainers.tomahna ];
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
pythonPackages,
fetchPypi,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-mpris";
version = "3.0.3";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "Mopidy-MPRIS";
hash = "sha256-rHQgNIyludTEL7RDC8dIpyGTMOt1Tazn6i/orKlSP4U=";
};
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
pythonPackages.pydbus
];
doCheck = false;
pythonImportsCheck = [ "mopidy_mpris" ];
meta = with lib; {
homepage = "https://www.mopidy.com/";
description = "Mopidy extension for controlling Mopidy through D-Bus using the MPRIS specification";
license = licenses.asl20;
maintainers = [ maintainers.nickhu ];
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
pythonPackages,
fetchPypi,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-muse";
version = "0.0.33";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "Mopidy-Muse";
hash = "sha256-CEPAPWtMrD+HljyqBB6EAyGVeOjzkvVoEywlE4XEJGs=";
};
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
pythonPackages.pykka
];
pythonImportsCheck = [ "mopidy_muse" ];
# has no tests
doCheck = false;
meta = with lib; {
description = "Mopidy web client with Snapcast support";
homepage = "https://github.com/cristianpb/muse";
license = licenses.asl20;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
fetchFromGitHub,
pythonPackages,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-musicbox-webclient";
version = "3.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pimusicbox";
repo = "mopidy-musicbox-webclient";
tag = "v${version}";
sha256 = "1lzarazq67gciyn6r8cdms0f7j0ayyfwhpf28z93ydb280mfrrb9";
};
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
];
doCheck = false;
meta = {
description = "Mopidy frontend extension and web client with additional features for Pi MusicBox";
homepage = "https://github.com/pimusicbox/mopidy-musicbox-webclient";
changelog = "https://github.com/pimusicbox/mopidy-musicbox-webclient/blob/v${version}/CHANGELOG.rst";
license = lib.licenses.asl20;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
fetchPypi,
pythonPackages,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-notify";
version = "0.2.1";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "Mopidy-Notify";
hash = "sha256-8FT4O4k0wEsdHA1vJaOW9UamJ3QLyO47HwL5XcSU3Pc=";
};
build-system = [
pythonPackages.setuptools
];
pythonRelaxDeps = [ "pykka" ];
dependencies = [
mopidy
pythonPackages.pydbus
];
nativeBuildInputs = [
pythonPackages.pytestCheckHook
];
pythonImportsCheck = [ "mopidy_notify" ];
meta = with lib; {
homepage = "https://github.com/phijor/mopidy-notify";
description = "Mopidy extension for showing desktop notifications on track change";
license = licenses.asl20;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
pythonPackages,
fetchPypi,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-podcast";
version = "3.0.1";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "Mopidy-Podcast";
hash = "sha256-grNPVEVM2PlpYhBXe6sabFjWVB9+q+apIRjcHUxH52A=";
};
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
pythonPackages.cachetools
pythonPackages.uritools
];
nativeCheckInputs = [
pythonPackages.pytestCheckHook
];
pythonImportsCheck = [ "mopidy_podcast" ];
meta = with lib; {
homepage = "https://github.com/tkem/mopidy-podcast";
description = "Mopidy extension for browsing and playing podcasts";
license = licenses.asl20;
maintainers = [
maintainers.daneads
];
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
pythonPackages,
fetchPypi,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-scrobbler";
version = "2.0.1";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "Mopidy-Scrobbler";
sha256 = "11vxgax4xgkggnq4fr1rh2rcvzspkkimck5p3h4phdj3qpnj0680";
};
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
pythonPackages.pylast
];
# no tests implemented
doCheck = false;
pythonImportsCheck = [ "mopidy_scrobbler" ];
meta = with lib; {
homepage = "https://github.com/mopidy/mopidy-scrobbler";
description = "Mopidy extension for scrobbling played tracks to Last.fm";
license = licenses.asl20;
maintainers = with maintainers; [ jakeisnt ];
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
pythonPackages,
fetchPypi,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-somafm";
version = "2.0.2";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "Mopidy-SomaFM";
sha256 = "DC0emxkoWfjGHih2C8nINBFByf521Xf+3Ks4JRxNPLM=";
};
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
];
doCheck = false;
pythonImportsCheck = [ "mopidy_somafm" ];
meta = with lib; {
homepage = "https://www.mopidy.com/";
description = "Mopidy extension for playing music from SomaFM";
license = licenses.mit;
maintainers = [ maintainers.nickhu ];
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
fetchFromGitHub,
pythonPackages,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-soundcloud";
version = "3.0.2";
pyproject = true;
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy-soundcloud";
tag = "v${version}";
sha256 = "sha256-1Qqbfw6NZ+2K1w+abMBfWo0RAmIRbNyIErEmalmWJ0s=";
};
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
pythonPackages.beautifulsoup4
];
doCheck = false;
pythonImportsCheck = [ "mopidy_soundcloud" ];
meta = with lib; {
description = "Mopidy extension for playing music from SoundCloud";
license = licenses.mit;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,62 @@
{
lib,
fetchFromGitHub,
pythonPackages,
mopidy,
nix-update-script,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-spotify";
version = "5.0.0a3";
pyproject = true;
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy-spotify";
rev = "refs/tags/v${version}";
hash = "sha256-pM+kqeWYiPXv9DZDBTgwiEwC6Sbqv6uz5vJ5odcixOw=";
};
build-system = [ pythonPackages.setuptools ];
dependencies = [
mopidy
pythonPackages.pykka
pythonPackages.requests
];
optional-dependencies = {
lint = with pythonPackages; [
black
check-manifest
flake8
flake8-bugbear
isort
];
test = with pythonPackages; [
pytest
pytest-cov
responses
];
dev = optional-dependencies.lint ++ optional-dependencies.test ++ [ pythonPackages.tox ];
};
nativeCheckInputs = [ pythonPackages.pytestCheckHook ] ++ optional-dependencies.test;
pythonImportsCheck = [ "mopidy_spotify" ];
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Mopidy extension for playing music from Spotify";
homepage = "https://github.com/mopidy/mopidy-spotify";
changelog = "https://github.com/mopidy/mopidy-spotify/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ getchoo ];
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
fetchFromGitHub,
pythonPackages,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-subidy";
version = "1.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Prior99";
repo = "mopidy-subidy";
tag = version;
sha256 = "0c5ghhhrj5v3yp4zmll9ari6r5c6ha8c1izwqshvadn40b02q7xz";
};
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
pythonPackages.py-sonic
];
nativeCheckInputs = [
pythonPackages.pytestCheckHook
];
pythonImportsCheck = [ "mopidy_subidy" ];
meta = with lib; {
homepage = "https://www.mopidy.com/";
description = "Mopidy extension for playing music from a Subsonic-compatible Music Server";
license = licenses.bsd3;
maintainers = with maintainers; [ wenngle ];
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
python3Packages,
fetchFromGitHub,
mopidy,
}:
python3Packages.buildPythonApplication rec {
pname = "Mopidy-Tidal";
version = "0.3.11";
pyproject = true;
src = fetchFromGitHub {
owner = "tehkillerbee";
repo = "mopidy-tidal";
tag = "v${version}";
hash = "sha256-wqx/30UQVm1fEwP/bZeW7TtzGfn/wI0klQnFr9E3AOs=";
};
build-system = [ python3Packages.poetry-core ];
dependencies = [
mopidy
python3Packages.tidalapi
];
nativeCheckInputs = with python3Packages; [
pytestCheckHook
pytest-mock
];
enabledTestPaths = [ "tests/" ];
meta = {
description = "Mopidy extension for playing music from Tidal";
homepage = "https://github.com/tehkillerbee/mopidy-tidal";
changelog = "https://github.com/tehkillerbee/mopidy-tidal/releases/tag/${src.tag}";
license = lib.licenses.mit;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
pythonPackages,
fetchPypi,
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-tunein";
version = "1.1.0";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "Mopidy-TuneIn";
sha256 = "01y1asylscr73yqx071imhrzfzlg07wmqqzkdvpgm6r35marc2li";
};
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
];
pythonImportsCheck = [ "mopidy_tunein.tunein" ];
meta = with lib; {
description = "Mopidy extension for playing music from tunein";
homepage = "https://github.com/kingosticks/mopidy-tunein";
license = licenses.asl20;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,72 @@
{
lib,
fetchFromGitHub,
pythonPackages,
mopidy,
pkgs,
extraPkgs ? pkgs: [ ],
}:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-youtube";
version = "3.7";
pyproject = true;
src = fetchFromGitHub {
owner = "natumbri";
repo = "mopidy-youtube";
tag = "v${version}";
hash = "sha256-iFt7r8Ljymc+grNJiOClTHkZOeo7AcYpcNc8tLMPROk=";
};
postPatch = ''
substituteInPlace mopidy_youtube/youtube.py \
--replace-fail 'youtube_dl_package = "youtube_dl"' 'youtube_dl_package = "yt_dlp"'
substituteInPlace tests/conftest.py \
--replace-fail 'import youtube_dl' 'import yt_dlp' \
--replace-fail 'patcher = mock.patch.object(youtube, "youtube_dl", spec=youtube_dl)' \
'patcher = mock.patch.object(youtube, "youtube_dl", spec=yt_dlp)' \
--replace-fail '"youtube_dl_package": "youtube_dl",' '"youtube_dl_package": "yt_dlp",'
'';
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
pythonPackages.beautifulsoup4
pythonPackages.cachetools
pythonPackages.pykka
pythonPackages.requests
pythonPackages.ytmusicapi
pythonPackages.yt-dlp
]
++ extraPkgs pkgs; # should we remove this? If we do, don't forget to also change the docs!
nativeCheckInputs = with pythonPackages; [
vcrpy
pytestCheckHook
];
disabledTests = [
# Test requires a YouTube API key
"test_get_default_config"
];
disabledTestPaths = [
# Disable tests which interact with Youtube
"tests/test_api.py"
"tests/test_backend.py"
"tests/test_youtube.py"
];
pythonImportsCheck = [ "mopidy_youtube" ];
meta = with lib; {
description = "Mopidy extension for playing music from YouTube";
homepage = "https://github.com/natumbri/mopidy-youtube";
license = licenses.asl20;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,50 @@
{
lib,
python3,
fetchFromGitHub,
mopidy,
}:
let
python = python3;
in
python.pkgs.buildPythonApplication rec {
pname = "mopidy-ytmusic";
version = "0.3.9";
pyproject = true;
src = fetchFromGitHub {
owner = "jmcdo29";
repo = "mopidy-ytmusic";
rev = "v${version}";
hash = "sha256-2o4fDtaIxRDvIiAGV/9qK/00BmYXasBUwW03fxFcDAU=";
};
postPatch = ''
# only setup.py has up to date dependencies
rm pyproject.toml
'';
nativeBuildInputs = with python.pkgs; [
setuptools
];
propagatedBuildInputs = [
(mopidy.override { pythonPackages = python.pkgs; })
python.pkgs.ytmusicapi
python.pkgs.pytube
];
pythonImportsCheck = [ "mopidy_ytmusic" ];
# has no tests
doCheck = false;
meta = with lib; {
changelog = "https://github.com/jmcdo29/mopidy-ytmusic/releases/tag/${src.rev}";
description = "Mopidy extension for playing music from YouTube Music";
homepage = "https://github.com/jmcdo29/mopidy-ytmusic";
license = licenses.asl20;
maintainers = [ maintainers.nickhu ];
};
}