nix-files/pkgs/additional/mcg/default.nix

56 lines
1.3 KiB
Nix

{ stdenv
, lib
, desktop-file-utils
, fetchFromGitLab
, gettext
, glib
, gobject-introspection
, gtk3
, meson
, ninja
, python3
, wrapGAppsHook
}:
let
# optional deps: avahi, python-keyring
pythonEnv = python3.withPackages (ps: with ps; [ dateutil pygobject3 ]);
in
stdenv.mkDerivation rec {
pname = "mcg";
version = "3.2.1";
src = fetchFromGitLab {
owner = "coderkun";
repo = "mcg";
rev = "v${version}";
hash = "sha256-awPMXGruCB/2nwfDqYlc0Uu9E6VV1AleEZAw9Xdsbt8=";
};
postPatch = ''
substituteInPlace src/meson.build \
--replace "python.find_installation('python3').full_path()" "'${pythonEnv}/bin/python3'"
'';
nativeBuildInputs = [
gtk3 # for gtk-update-icon-cache
desktop-file-utils # for update-desktop-database
gettext # for msgfmt
glib # for glib-compile-resources
gobject-introspection # needed so wrapGAppsHook includes GI_TYPEPATHS for gtk3
meson
ninja
wrapGAppsHook
];
buildInputs = [
gtk3
];
meta = with lib; {
description = "CoverGrid (mcg) is a client for the Music Player Daemon (MPD), focusing on albums instead of single tracks.";
homepage = "https://www.suruatoel.xyz/codes/mcg";
platforms = platforms.linux;
# license = TODO
maintainers = with maintainers; [ colinsane ];
};
}