diff --git a/pkgs/applications/audio/sonata/default.nix b/pkgs/applications/audio/sonata/default.nix new file mode 100644 index 000000000000..74ce6a2c15f0 --- /dev/null +++ b/pkgs/applications/audio/sonata/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index be51cff6fe5b..50e4a7e177ac 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3161,6 +3161,10 @@ let solvespace = callPackage ../applications/graphics/solvespace { }; + sonata = callPackage ../applications/audio/sonata { + inherit (python3Packages) buildPythonPackage python isPy3k dbus pygobject3 mpd2; + }; + sparsehash = callPackage ../development/libraries/sparsehash { }; spiped = callPackage ../tools/networking/spiped { };