Merge pull request #263242 from Henry-Hiles/init-monophony

monophony: init at 2.3.0
This commit is contained in:
OTABI Tomoya 2023-10-31 16:33:35 +09:00 committed by GitHub
commit 3959b83785
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 114 additions and 0 deletions

View file

@ -0,0 +1,71 @@
{ lib
, fetchFromGitLab
, python3Packages
, wrapGAppsHook4
, gst_all_1
, gobject-introspection
, yt-dlp
, libadwaita
, libsoup_3
, glib-networking
}:
python3Packages.buildPythonApplication rec {
pname = "monophony";
version = "2.3.1";
format = "other";
sourceRoot = "source/source";
src = fetchFromGitLab {
owner = "zehkira";
repo = "monophony";
rev = "v${version}";
hash = "sha256-dpRTHsujaIwzgr+qY5LC9xtXz40g3akdpEiHuxiilZM=";
};
pythonPath = with python3Packages; [
mpris-server
pygobject3
ytmusicapi
];
nativeBuildInputs = [
python3Packages.nuitka
gobject-introspection
wrapGAppsHook4
];
buildInputs =
[
libadwaita
# needed for gstreamer https
libsoup_3
glib-networking
]
++ (with gst_all_1; [
gst-plugins-base
gst-plugins-good
gstreamer
]);
installFlags = [ "prefix=$(out)" ];
preFixup = ''
buildPythonPath "$pythonPath"
gappsWrapperArgs+=(
--prefix PYTHONPATH : "$program_PYTHONPATH"
--prefix PATH : "${lib.makeBinPath [yt-dlp]}"
# needed for gstreamer https
--prefix LD_LIBRARY_PATH : "${libsoup_3.out}/lib"
)
'';
meta = with lib; {
homepage = "https://gitlab.com/zehkira/monophony";
description = "Linux app for streaming music from YouTube";
longDescription = "Monophony is a free and open source Linux app for streaming music from YouTube. It has no ads and does not require an account.";
license = licenses.agpl3Plus;
mainProgram = "monophony";
platforms = platforms.linux;
maintainers = with maintainers; [ quadradical ];
};
}

View file

@ -0,0 +1,41 @@
{ lib
, buildPythonPackage
, fetchPypi
, emoji
, pydbus
, pygobject3
, unidecode
, setuptools
}:
buildPythonPackage rec {
pname = "mpris-server";
version = "0.4.2";
pyproject = true;
src = fetchPypi {
pname = "mpris_server";
inherit version;
hash = "sha256-p3nM80fOMtRmeKvOXuX40Fu9xH8gPgYyneXbUS678fE=";
};
nativeBuildInputs = [ setuptools ];
propagatedBuildInputs = [
emoji
pydbus
pygobject3
unidecode
];
pythonImportsCheck = [ "mpris_server" ];
# upstream has no tests
doCheck = false;
meta = with lib; {
description = "Publish a MediaPlayer2 MPRIS device to D-Bus";
homepage = "https://pypi.org/project/mpris-server/";
license = licenses.agpl3Only;
maintainers = with maintainers; [ quadradical ];
};
}

View file

@ -7039,6 +7039,8 @@ self: super: with self; {
mpmath = callPackage ../development/python-modules/mpmath { };
mpris-server = callPackage ../development/python-modules/mpris-server { };
mpv = callPackage ../development/python-modules/mpv {
inherit (pkgs) mpv;
};