depot/third_party/nixpkgs/pkgs/by-name/gn/gnome-music/package.nix

112 lines
2 KiB
Nix

{
lib,
meson,
ninja,
gettext,
fetchurl,
gdk-pixbuf,
tinysparql,
libxml2,
python3,
libnotify,
wrapGAppsHook4,
libmediaart,
gobject-introspection,
gnome-online-accounts,
grilo,
grilo-plugins,
pkg-config,
gtk4,
pango,
glib,
desktop-file-utils,
appstream-glib,
itstool,
gnome,
gst_all_1,
libsoup_3,
libadwaita,
gsettings-desktop-schemas,
}:
python3.pkgs.buildPythonApplication rec {
pname = "gnome-music";
version = "47.1";
format = "other";
src = fetchurl {
url = "mirror://gnome/sources/gnome-music/${lib.versions.major version}/gnome-music-${version}.tar.xz";
hash = "sha256-Zm8XX1YKGtnLq2HqDzA5PKL+0pRrpG5cAOrqEX28cNA=";
};
nativeBuildInputs = [
meson
ninja
gettext
itstool
pkg-config
libxml2
wrapGAppsHook4
desktop-file-utils
appstream-glib
gobject-introspection
];
buildInputs =
[
gtk4
pango
glib
libmediaart
gnome-online-accounts
gdk-pixbuf
python3
grilo
grilo-plugins
libnotify
libsoup_3
libadwaita
gsettings-desktop-schemas
tinysparql
]
++ (with gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
gst-libav
]);
pythonPath = with python3.pkgs; [
pycairo
dbus-python
pygobject3
];
# Prevent double wrapping, let the Python wrapper use the args in preFixup.
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
doCheck = false;
# handle setup hooks better
strictDeps = false;
passthru = {
updateScript = gnome.updateScript { packageName = "gnome-music"; };
};
meta = with lib; {
homepage = "https://apps.gnome.org/Music/";
description = "Music player and management application for the GNOME desktop environment";
mainProgram = "gnome-music";
maintainers = teams.gnome.members;
license = licenses.gpl2Plus;
platforms = platforms.unix;
};
}