Merge pull request #12720 from rvl/sonata
Add Sonata music player (MPD client)
This commit is contained in:
commit
24ebd77ab5
73
pkgs/applications/audio/sonata/default.nix
Normal file
73
pkgs/applications/audio/sonata/default.nix
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
{ pkgs, stdenv, fetchFromGitHub, pkgconfig, intltool, wrapGAppsHook,
|
||||||
|
python, buildPythonPackage, isPy3k,
|
||||||
|
gnome3, gtk3, gobjectIntrospection,
|
||||||
|
dbus, pygobject3, mpd2 }:
|
||||||
|
|
||||||
|
with pkgs.lib;
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
name = "sonata-${version}";
|
||||||
|
version = "1.7b1";
|
||||||
|
namePrefix = "";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "multani";
|
||||||
|
repo = "sonata";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1npbxlrg6k154qybfd250nq2p96kxdsdkj9wwnp93gljnii3g8wh";
|
||||||
|
};
|
||||||
|
|
||||||
|
disabled = !isPy3k;
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
pkgconfig intltool wrapGAppsHook
|
||||||
|
gnome3.gnome_themes_standard gnome3.defaultIconTheme
|
||||||
|
gnome3.gsettings_desktop_schemas
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
# Remove "Local MPD" tab which is not suitable for NixOS.
|
||||||
|
sed -i '/localmpd/d' sonata/consts.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
gobjectIntrospection gtk3 pygobject3
|
||||||
|
];
|
||||||
|
|
||||||
|
# The optional tagpy dependency (for editing metadata) is not yet
|
||||||
|
# included because it's difficult to build.
|
||||||
|
pythonPath = [ dbus pygobject3 mpd2 ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "An elegant client for the Music Player Daemon";
|
||||||
|
longDescription = ''
|
||||||
|
Sonata is an elegant client for the Music Player Daemon.
|
||||||
|
|
||||||
|
Written in Python and using the GTK+ 3 widget set, its features
|
||||||
|
include:
|
||||||
|
|
||||||
|
- Expanded and collapsed views
|
||||||
|
- Automatic remote and local album art
|
||||||
|
- Library browsing by folders, or by genre/artist/album
|
||||||
|
- User-configurable columns
|
||||||
|
- Automatic fetching of lyrics
|
||||||
|
- Playlist and stream support
|
||||||
|
- Support for editing song tags (not in NixOS version)
|
||||||
|
- Drag and drop to copy files
|
||||||
|
- Popup notification
|
||||||
|
- Library and playlist searching, filter as you type
|
||||||
|
- Audioscrobbler (last.fm) 1.2 support
|
||||||
|
- Multiple MPD profiles
|
||||||
|
- Keyboard friendly
|
||||||
|
- Support for multimedia keys
|
||||||
|
- Commandline control
|
||||||
|
- Available in 24 languages
|
||||||
|
'';
|
||||||
|
homepage = "http://www.nongnu.org/sonata/";
|
||||||
|
license = stdenv.lib.licenses.gpl3;
|
||||||
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
maintainers = [ stdenv.lib.maintainers.rvl ];
|
||||||
|
};
|
||||||
|
}
|
@ -3165,6 +3165,10 @@ let
|
|||||||
|
|
||||||
solvespace = callPackage ../applications/graphics/solvespace { };
|
solvespace = callPackage ../applications/graphics/solvespace { };
|
||||||
|
|
||||||
|
sonata = callPackage ../applications/audio/sonata {
|
||||||
|
inherit (python3Packages) buildPythonPackage python isPy3k dbus pygobject3 mpd2;
|
||||||
|
};
|
||||||
|
|
||||||
sparsehash = callPackage ../development/libraries/sparsehash { };
|
sparsehash = callPackage ../development/libraries/sparsehash { };
|
||||||
|
|
||||||
spiped = callPackage ../tools/networking/spiped { };
|
spiped = callPackage ../tools/networking/spiped { };
|
||||||
|
@ -11511,6 +11511,31 @@ in modules // {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mpd2 = buildPythonPackage rec {
|
||||||
|
name = "mpd2-${version}";
|
||||||
|
version = "0.5.5";
|
||||||
|
|
||||||
|
src = pkgs.fetchurl {
|
||||||
|
url = "https://pypi.python.org/packages/source/p/python-mpd2/python-mpd2-${version}.tar.bz2";
|
||||||
|
sha256 = "1gfrxf71xll1w6zb69znqg5c9j0g7036fsalkvqprh2id640cl3a";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ pkgs.mpd_clientlib ];
|
||||||
|
|
||||||
|
buildInputs = with self; [ mock ];
|
||||||
|
patchPhase = ''
|
||||||
|
sed -i -e '/tests_require/d' \
|
||||||
|
-e 's/cmdclass.*/test_suite="mpd_test",/' setup.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A Python client module for the Music Player Daemon";
|
||||||
|
homepage = "https://github.com/Mic92/python-mpd2";
|
||||||
|
license = licenses.lgpl3Plus;
|
||||||
|
maintainers = with maintainers; [ rvl ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
mpv = buildPythonPackage rec {
|
mpv = buildPythonPackage rec {
|
||||||
name = "mpv-0.1";
|
name = "mpv-0.1";
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user