nixpkgs/pkgs/applications/audio/eartag/default.nix
2024-02-23 20:34:32 +08:00

84 lines
1.7 KiB
Nix

{ stdenv
, lib
, fetchFromGitLab
, meson
, ninja
, pkg-config
, wrapGAppsHook4
, libadwaita
, gettext
, glib
, gobject-introspection
, desktop-file-utils
, appstream
, appstream-glib
, gtk4
, librsvg
, python3Packages
}:
python3Packages.buildPythonApplication rec {
pname = "eartag";
version = "0.6.0";
format = "other";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = pname;
rev = version;
hash = "sha256-MfffIqxfelwP+9wsFvQfEIMkav7j5LJEHjLPOsuYdtQ=";
};
postPatch = ''
chmod +x ./build-aux/meson/postinstall.py
patchShebangs ./build-aux/meson/postinstall.py
substituteInPlace ./build-aux/meson/postinstall.py \
--replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
'';
nativeBuildInputs = [
meson
ninja
glib
desktop-file-utils
appstream
appstream-glib
pkg-config
gettext
gobject-introspection
wrapGAppsHook4
] ++ lib.optional stdenv.isDarwin gtk4; # for gtk4-update-icon-cache
buildInputs = [
librsvg
libadwaita
];
propagatedBuildInputs = with python3Packages; [
pygobject3
eyed3
pillow
mutagen
pytaglib
python-magic
pyacoustid
];
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
meta = with lib; {
homepage = "https://gitlab.gnome.org/World/eartag";
description = "Simple music tag editor";
# This seems to be using ICU license but we're flagging it to MIT license
# since ICU license is a modified version of MIT and to prevent it from
# being incorrectly identified as unfree software.
license = licenses.mit;
mainProgram = "eartag";
maintainers = with maintainers; [ foo-dogsquared ];
};
}