{ lib, fetchFromGitHub, flutter327, webkitgtk_4_1, copyDesktopItems, makeDesktopItem, runCommand, venera, yq, _experimental-update-script-combinators, gitUpdater, }: flutter327.buildFlutterApplication rec { pname = "venera"; version = "1.2.4"; src = fetchFromGitHub { owner = "venera-app"; repo = "venera"; tag = "v${version}"; hash = "sha256-QmEjPTpiN74srRyNL9eZFxntV2F7CJuVgewe2tqA9pc="; }; pubspecLock = lib.importJSON ./pubspec.lock.json; gitHashes = { desktop_webview_window = "sha256-15tw3gLN9e886QjBFuYP34KLD1lN8AmQYXVza5Bvs40="; flutter_qjs = "sha256-nbXKfiCvG6JT570RNVq3gec+JFw3H7XG4g/QSNkDw18="; flutter_7zip = "sha256-KHDq4XG3l+dq1NPW84wOK5kKbXJ8qCK8voGeTnX/Krw="; lodepng_flutter = "sha256-bGc9uXD1EQ/19OIZmR7a/YL9w93fNWdQF5S19LSwxZw="; photo_view = "sha256-Z+9xgvk8YS+bgCbBW7BBY72tV6JUq2kCX5OwKFK4YPE="; scrollable_positioned_list = "sha256-6XmBlNxE7DEqY2LsEFtVrshn2Xt55XnmaiTq+tiPInA="; webdav_client = "sha256-Dz/4qW+cYGyNtK8S/abFslwQNroidgrHl7oJw3uXIqM="; flutter_saf = "sha256-haY4eabTwUUBTpwenK0ILKpLggrtjVQszcmlpirEeTU="; }; nativeBuildInputs = [ copyDesktopItems ]; buildInputs = [ webkitgtk_4_1 ]; desktopItems = [ (makeDesktopItem { name = "venera"; exec = "venera"; icon = "venera"; genericName = "Venera"; desktopName = "Venera"; categories = [ "Utility" ]; keywords = [ "Flutter" "comic" "images" ]; }) ]; postInstall = '' install -Dm0644 ./debian/gui/venera.png $out/share/pixmaps/venera.png ''; extraWrapProgramArgs = '' --prefix LD_LIBRARY_PATH : $out/app/venera/lib ''; passthru = { pubspecSource = runCommand "pubspec.lock.json" { buildInputs = [ yq ]; inherit (venera) src; } '' cat $src/pubspec.lock | yq > $out ''; updateScript = _experimental-update-script-combinators.sequence [ (gitUpdater { rev-prefix = "v"; }) (_experimental-update-script-combinators.copyAttrOutputToFile "venera.pubspecSource" ./pubspec.lock.json) ]; }; meta = { description = "Comic reader that support reading local and network comics"; homepage = "https://github.com/venera-app/venera"; mainProgram = "venera"; license = with lib.licenses; [ gpl3Plus ]; maintainers = with lib.maintainers; [ ]; platforms = lib.platforms.linux; }; }