{ lib , fetchgit , meson , ninja , pkgconfig , python3 , gtk3 , gst_all_1 , libsecret , libsoup , appstream-glib , desktop-file-utils , totem-pl-parser , gobject-introspection , wrapGAppsHook , lastFMSupport ? true , youtubeSupport ? true }: python3.pkgs.buildPythonApplication rec { pname = "lollypop"; version = "1.2.2"; format = "other"; doCheck = false; src = fetchgit { url = "https://gitlab.gnome.org/World/lollypop"; rev = "refs/tags/${version}"; fetchSubmodules = true; sha256 = "02dgp3b10yaw0yqzdzd15msjgxayvjkg9m652is0d7rwgjq1pk6v"; }; nativeBuildInputs = [ appstream-glib desktop-file-utils gobject-introspection meson ninja pkgconfig wrapGAppsHook ]; buildInputs = with gst_all_1; [ gst-libav gst-plugins-bad gst-plugins-base gst-plugins-good gst-plugins-ugly gstreamer gtk3 libsoup 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; makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" ]; meta = with lib; { description = "A modern music player for GNOME"; homepage = https://wiki.gnome.org/Apps/Lollypop; license = licenses.gpl3Plus; changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}"; maintainers = with maintainers; [ worldofpeace ]; platforms = platforms.linux; }; }