mopidyPackages: modernize and clean up (#424443)

This commit is contained in:
Franz Pletz 2025-07-12 19:50:58 +02:00 committed by GitHub
commit 58d0845753
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
19 changed files with 236 additions and 142 deletions

View File

@ -1,24 +1,32 @@
{
lib,
python3Packages,
pythonPackages,
fetchPypi,
mopidy,
}:
python3Packages.buildPythonApplication rec {
pname = "Mopidy-Bandcamp";
pythonPackages.buildPythonApplication rec {
pname = "mopidy-bandcamp";
version = "1.1.5";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit pname version;
inherit version;
pname = "Mopidy-Bandcamp";
hash = "sha256-wg9zcOKfZQRhpyA1Cu5wvdwKpmrlcr2m9mrqBHgUXAQ=";
};
propagatedBuildInputs = with python3Packages; [
mopidy
pykka
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";

View File

@ -1,33 +1,37 @@
{
lib,
python3Packages,
pythonPackages,
fetchPypi,
mopidy,
}:
python3Packages.buildPythonApplication rec {
pname = "Mopidy-Iris";
pythonPackages.buildPythonApplication rec {
pname = "mopidy-iris";
version = "3.69.3";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit pname version;
inherit version;
pname = "Mopidy-Iris";
hash = "sha256-PEAXnapiyxozijR053I7zQYRYLeDOV719L0QbO2r4r4=";
};
propagatedBuildInputs =
[
mopidy
]
++ (with python3Packages; [
configobj
requests
tornado
]);
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";

View File

@ -1,14 +1,14 @@
{
lib,
python3Packages,
pythonPackages,
fetchPypi,
mopidy,
}:
python3Packages.buildPythonApplication rec {
pythonPackages.buildPythonApplication rec {
pname = "mopidy-jellyfin";
version = "1.0.6";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit version;
@ -16,10 +16,12 @@ python3Packages.buildPythonApplication rec {
hash = "sha256-IKCPypMuluR0+mMALp8lB1oB1pSw4rN4rOl/eKn+Qvo=";
};
propagatedBuildInputs = [
build-system = [ pythonPackages.setuptools ];
dependencies = [
mopidy
python3Packages.unidecode
python3Packages.websocket-client
pythonPackages.unidecode
pythonPackages.websocket-client
];
# no tests implemented

View File

@ -1,14 +1,14 @@
{
lib,
mopidy,
python3Packages,
pythonPackages,
fetchPypi,
}:
python3Packages.buildPythonApplication rec {
pname = "Mopidy-Local";
pythonPackages.buildPythonApplication rec {
pname = "mopidy-local";
version = "3.3.0";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit version;
@ -16,15 +16,21 @@ python3Packages.buildPythonApplication rec {
hash = "sha256-y6btbGk5UiVan178x7d9jq5OTnKMbuliHv0aRxuZK3o=";
};
propagatedBuildInputs = [
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
python3Packages.uritools
pythonPackages.uritools
];
nativeCheckInputs = [
python3Packages.pytestCheckHook
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";

View File

@ -7,22 +7,28 @@
}:
pythonPackages.buildPythonApplication rec {
pname = "Mopidy-Moped";
pname = "mopidy-moped";
version = "0.7.1";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit pname version;
inherit version;
pname = "Mopidy-Moped";
sha256 = "15461174037d87af93dd59a236d4275c5abf71cea0670ffff24a7d0399a8a2e4";
};
LC_ALL = "en_US.UTF-8";
buildInputs = [ glibcLocales ];
propagatedBuildInputs = [ mopidy ];
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";

View File

@ -14,13 +14,13 @@
pythonPackages.buildPythonApplication rec {
pname = "mopidy";
version = "3.4.2";
format = "setuptools";
pyproject = true;
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy";
rev = "refs/tags/v${version}";
sha256 = "sha256-2OFav2HaQq/RphmZxLyL1n3suwzt1Y/d4h33EdbStjk=";
tag = "v${version}";
hash = "sha256-2OFav2HaQq/RphmZxLyL1n3suwzt1Y/d4h33EdbStjk=";
};
nativeBuildInputs = [ wrapGAppsNoGuiHook ];
@ -50,25 +50,26 @@ pythonPackages.buildPythonApplication rec {
}
))
]
++ lib.optional (!stdenv.hostPlatform.isDarwin) pipewire;
propagatedBuildInputs =
[ gobject-introspection ]
++ (
with pythonPackages;
[
gst-python
pygobject3
pykka
requests
setuptools
tornado
]
++ lib.optional (!stdenv.hostPlatform.isDarwin) dbus-python
);
++ 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;

View File

@ -6,23 +6,30 @@
}:
pythonPackages.buildPythonApplication rec {
pname = "Mopidy-Mopify";
pname = "mopidy-mopify";
version = "1.7.3";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit pname version;
inherit version;
pname = "Mopidy-Mopify";
hash = "sha256-RlCC+39zC+LeA/QDWPHYx5TrEwOgVrnvcH1Xg12qSLE=";
};
propagatedBuildInputs = with pythonPackages; [
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
configobj
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";

View File

@ -1,21 +1,24 @@
{
lib,
python3Packages,
pythonPackages,
fetchPypi,
mopidy,
}:
python3Packages.buildPythonApplication rec {
pname = "Mopidy-MPD";
pythonPackages.buildPythonApplication rec {
pname = "mopidy-mpd";
version = "3.3.0";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit pname version;
inherit version;
pname = "Mopidy-MPD";
hash = "sha256-CeLMRqj9cwBvQrOx7XHVV8MjDjwOosONVlsN2o+vTVM=";
};
propagatedBuildInputs = [ mopidy ];
build-system = [ pythonPackages.setuptools ];
dependencies = [ mopidy ];
# no tests implemented
doCheck = false;

View File

@ -1,14 +1,14 @@
{
lib,
python3Packages,
pythonPackages,
fetchPypi,
mopidy,
}:
python3Packages.buildPythonApplication rec {
pythonPackages.buildPythonApplication rec {
pname = "mopidy-mpris";
version = "3.0.3";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit version;
@ -16,13 +16,19 @@ python3Packages.buildPythonApplication rec {
hash = "sha256-rHQgNIyludTEL7RDC8dIpyGTMOt1Tazn6i/orKlSP4U=";
};
propagatedBuildInputs = [
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
python3Packages.pydbus
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";

View File

@ -8,7 +8,7 @@
pythonPackages.buildPythonApplication rec {
pname = "mopidy-muse";
version = "0.0.33";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit version;
@ -16,7 +16,11 @@ pythonPackages.buildPythonApplication rec {
hash = "sha256-CEPAPWtMrD+HljyqBB6EAyGVeOjzkvVoEywlE4XEJGs=";
};
propagatedBuildInputs = [
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
pythonPackages.pykka
];

View File

@ -8,16 +8,20 @@
pythonPackages.buildPythonApplication rec {
pname = "mopidy-musicbox-webclient";
version = "3.1.0";
format = "setuptools";
pyproject = true;
src = fetchFromGitHub {
owner = "pimusicbox";
repo = pname;
rev = "v${version}";
repo = "mopidy-musicbox-webclient";
tag = "v${version}";
sha256 = "1lzarazq67gciyn6r8cdms0f7j0ayyfwhpf28z93ydb280mfrrb9";
};
propagatedBuildInputs = [
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
];

View File

@ -6,16 +6,23 @@
}:
pythonPackages.buildPythonApplication rec {
pname = "Mopidy-Notify";
pname = "mopidy-notify";
version = "0.2.1";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit pname version;
inherit version;
pname = "Mopidy-Notify";
hash = "sha256-8FT4O4k0wEsdHA1vJaOW9UamJ3QLyO47HwL5XcSU3Pc=";
};
propagatedBuildInputs = [
build-system = [
pythonPackages.setuptools
];
pythonRelaxDeps = [ "pykka" ];
dependencies = [
mopidy
pythonPackages.pydbus
];

View File

@ -1,14 +1,14 @@
{
lib,
python3Packages,
pythonPackages,
fetchPypi,
mopidy,
}:
python3Packages.buildPythonApplication rec {
pythonPackages.buildPythonApplication rec {
pname = "mopidy-podcast";
version = "3.0.1";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit version;
@ -16,16 +16,22 @@ python3Packages.buildPythonApplication rec {
hash = "sha256-grNPVEVM2PlpYhBXe6sabFjWVB9+q+apIRjcHUxH52A=";
};
propagatedBuildInputs = [
mopidy
python3Packages.cachetools
python3Packages.uritools
build-system = [
pythonPackages.setuptools
];
nativeCheckInputs = with python3Packages; [
pytestCheckHook
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";

View File

@ -1,23 +1,28 @@
{
lib,
python3Packages,
pythonPackages,
fetchPypi,
mopidy,
}:
python3Packages.buildPythonApplication rec {
pname = "Mopidy-Scrobbler";
pythonPackages.buildPythonApplication rec {
pname = "mopidy-scrobbler";
version = "2.0.1";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit pname version;
inherit version;
pname = "Mopidy-Scrobbler";
sha256 = "11vxgax4xgkggnq4fr1rh2rcvzspkkimck5p3h4phdj3qpnj0680";
};
propagatedBuildInputs = with python3Packages; [
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
pylast
pythonPackages.pylast
];
# no tests implemented

View File

@ -1,14 +1,14 @@
{
lib,
python3Packages,
pythonPackages,
fetchPypi,
mopidy,
}:
python3Packages.buildPythonApplication rec {
pythonPackages.buildPythonApplication rec {
pname = "mopidy-somafm";
version = "2.0.2";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit version;
@ -16,10 +16,18 @@ python3Packages.buildPythonApplication rec {
sha256 = "DC0emxkoWfjGHih2C8nINBFByf521Xf+3Ks4JRxNPLM=";
};
propagatedBuildInputs = [ mopidy ];
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";

View File

@ -8,22 +8,28 @@
pythonPackages.buildPythonApplication rec {
pname = "mopidy-soundcloud";
version = "3.0.2";
format = "setuptools";
pyproject = true;
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy-soundcloud";
rev = "v${version}";
tag = "v${version}";
sha256 = "sha256-1Qqbfw6NZ+2K1w+abMBfWo0RAmIRbNyIErEmalmWJ0s=";
};
propagatedBuildInputs = [
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;

View File

@ -8,21 +8,29 @@
pythonPackages.buildPythonApplication rec {
pname = "mopidy-subidy";
version = "1.0.0";
format = "setuptools";
pyproject = true;
src = fetchFromGitHub {
owner = "Prior99";
repo = pname;
rev = version;
repo = "mopidy-subidy";
tag = version;
sha256 = "0c5ghhhrj5v3yp4zmll9ari6r5c6ha8c1izwqshvadn40b02q7xz";
};
propagatedBuildInputs = [
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
pythonPackages.py-sonic
];
nativeCheckInputs = with pythonPackages; [ pytestCheckHook ];
nativeCheckInputs = [
pythonPackages.pytestCheckHook
];
pythonImportsCheck = [ "mopidy_subidy" ];
meta = with lib; {
homepage = "https://www.mopidy.com/";

View File

@ -1,14 +1,14 @@
{
lib,
python3Packages,
pythonPackages,
fetchPypi,
mopidy,
}:
python3Packages.buildPythonApplication rec {
pythonPackages.buildPythonApplication rec {
pname = "mopidy-tunein";
version = "1.1.0";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit version;
@ -16,7 +16,11 @@ python3Packages.buildPythonApplication rec {
sha256 = "01y1asylscr73yqx071imhrzfzlg07wmqqzkdvpgm6r35marc2li";
};
propagatedBuildInputs = [
build-system = [
pythonPackages.setuptools
];
dependencies = [
mopidy
];

View File

@ -1,44 +1,24 @@
{
lib,
fetchFromGitHub,
python3,
pythonPackages,
mopidy,
yt-dlp,
pkgs,
extraPkgs ? pkgs: [ ],
}:
python3.pkgs.buildPythonApplication rec {
pythonPackages.buildPythonApplication rec {
pname = "mopidy-youtube";
version = "3.7";
format = "setuptools";
pyproject = true;
src = fetchFromGitHub {
owner = "natumbri";
repo = pname;
rev = "refs/tags/v${version}";
repo = "mopidy-youtube";
tag = "v${version}";
hash = "sha256-iFt7r8Ljymc+grNJiOClTHkZOeo7AcYpcNc8tLMPROk=";
};
propagatedBuildInputs =
with python3.pkgs;
[
beautifulsoup4
cachetools
pykka
requests
ytmusicapi
]
++ [
mopidy
yt-dlp
]
++ extraPkgs pkgs;
nativeCheckInputs = with python3.pkgs; [
vcrpy
pytestCheckHook
];
postPatch = ''
substituteInPlace mopidy_youtube/youtube.py \
--replace-fail 'youtube_dl_package = "youtube_dl"' 'youtube_dl_package = "yt_dlp"'
@ -49,6 +29,25 @@ python3.pkgs.buildPythonApplication rec {
--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"