{ lib , rustPlatform , fetchFromGitLab , meson , ninja , pkg-config , wrapGAppsHook , gdk-pixbuf , glib , gtk3 , libhandy_0 , openssl , sqlite , webkitgtk , glib-networking , librsvg , gst_all_1 }: rustPlatform.buildRustPackage rec { pname = "newsflash"; version = "1.0.5"; src = fetchFromGitLab { owner = "news-flash"; repo = "news_flash_gtk"; rev = version; sha256 = "0kh1xqvxfz58gnrl8av0zkig9vcgmx9iaxw5p6gdm8a7gv18nvp3"; }; cargoSha256 = "059sppidbxzjk8lmjq41d5qbymp9j9v2qr0jxd7xg9avr0klwc2s"; patches = [ ./no-post-install.patch ]; postPatch = '' chmod +x build-aux/cargo.sh patchShebangs . ''; nativeBuildInputs = [ meson ninja pkg-config wrapGAppsHook # Provides setup hook to fix "Unrecognized image file format" gdk-pixbuf # Provides glib-compile-resources to compile gresources glib ]; buildInputs = [ gtk3 libhandy_0 openssl sqlite webkitgtk # TLS support for loading external content in webkitgtk WebView glib-networking # SVG support for gdk-pixbuf librsvg ] ++ (with gst_all_1; [ # Audio & video support for webkitgtk WebView gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ]); # Unset default rust phases to use meson & ninja instead configurePhase = null; buildPhase = null; checkPhase = null; installPhase = null; installCheckPhase = null; meta = with lib; { description = "A modern feed reader designed for the GNOME desktop"; homepage = "https://gitlab.com/news-flash/news_flash_gtk"; license = licenses.gpl3Plus; maintainers = with maintainers; [ metadark ]; }; }