nixpkgs/pkgs/by-name/so/sonata/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

78 lines
2.1 KiB
Nix

{ lib, fetchFromGitHub, wrapGAppsHook3, gettext
, python3Packages, adwaita-icon-theme, gtk3, glib, gdk-pixbuf, gsettings-desktop-schemas, gobject-introspection }:
let
inherit (python3Packages) buildPythonApplication isPy3k dbus-python pygobject3 mpd2 setuptools;
in buildPythonApplication rec {
pname = "sonata";
version = "1.7.0";
src = fetchFromGitHub {
owner = "multani";
repo = "sonata";
rev = "v${version}";
sha256 = "0rl8w7s2asff626clzfvyz987l2k4ml5dg417mqp9v8a962q0v2x";
};
disabled = !isPy3k;
nativeBuildInputs = [
gettext
gobject-introspection
wrapGAppsHook3
];
buildInputs = [
glib
adwaita-icon-theme
gsettings-desktop-schemas
gtk3
gdk-pixbuf
];
# The optional tagpy dependency (for editing metadata) is not yet
# included because it's difficult to build.
pythonPath = [
dbus-python
mpd2
pygobject3
setuptools
];
postPatch = ''
# Remove "Local MPD" tab which is not suitable for NixOS.
sed -i '/localmpd/d' sonata/consts.py
'';
meta = {
description = "Elegant client for the Music Player Daemon";
mainProgram = "sonata";
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 = "https://www.nongnu.org/sonata/";
license = lib.licenses.gpl3;
platforms = lib.platforms.linux;
};
}