Skip to content
Merged
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
71 changes: 71 additions & 0 deletions pkgs/by-name/mo/monophony/package.nix
Original file line number Diff line number Diff line change
@@ -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 ];
};
}
41 changes: 41 additions & 0 deletions pkgs/development/python-modules/mpris-server/default.nix
Original file line number Diff line number Diff line change
@@ -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 ];
};
}
2 changes: 2 additions & 0 deletions pkgs/top-level/python-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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;
};
Expand Down