nixpkgs/pkgs/applications/audio/lollypop/default.nix
Jonathan Ringer 9bb3fccb5b treewide: pkgs.pkgconfig -> pkgs.pkg-config, move pkgconfig to alias.nix
continuation of #109595

pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.

python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
2021-01-19 01:16:25 -08:00

113 lines
2.1 KiB
Nix

{ lib
, fetchgit
, nix-update-script
, meson
, ninja
, pkg-config
, python3
, gtk3
, gst_all_1
, libhandy
, libsecret
, libsoup
, appstream-glib
, desktop-file-utils
, totem-pl-parser
, gobject-introspection
, glib-networking
, gdk-pixbuf
, glib
, pango
, wrapGAppsHook
, lastFMSupport ? true
, youtubeSupport ? true
}:
python3.pkgs.buildPythonApplication rec {
pname = "lollypop";
version = "1.4.5";
format = "other";
doCheck = false;
src = fetchgit {
url = "https://gitlab.gnome.org/World/lollypop";
rev = "refs/tags/${version}";
fetchSubmodules = true;
sha256 = "1i5qcpp3fpkda08g6nkiiff8lsjmv5xsvpa0512kigq5z0lsagrx";
};
nativeBuildInputs = [
appstream-glib
desktop-file-utils
gobject-introspection
meson
ninja
pkg-config
wrapGAppsHook
];
buildInputs = with gst_all_1; [
gdk-pixbuf
glib
glib-networking
gst-libav
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gstreamer
gtk3
libhandy
libsoup
pango
totem-pl-parser
] ++ lib.optional lastFMSupport libsecret;
propagatedBuildInputs = with python3.pkgs; [
beautifulsoup4
pillow
pycairo
pygobject3
]
++ lib.optional lastFMSupport pylast
++ lib.optional youtubeSupport youtube-dl
;
postPatch = ''
chmod +x meson_post_install.py
patchShebangs meson_post_install.py
'';
postFixup = ''
wrapPythonProgramsIn $out/libexec "$out $propagatedBuildInputs"
'';
strictDeps = false;
# Produce only one wrapper using wrap-python passing
# gappsWrapperArgs to wrap-python additional wrapper
# argument
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
passthru = {
updateScript = nix-update-script {
attrPath = pname;
};
};
meta = with lib; {
changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}";
description = "A modern music player for GNOME";
homepage = "https://wiki.gnome.org/Apps/Lollypop";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ worldofpeace ];
platforms = platforms.linux;
};
}