diff --git a/pkgs/applications/graphics/viewnior/default.nix b/pkgs/applications/graphics/viewnior/default.nix index bfd707f55132d..a38c247e7f21d 100644 --- a/pkgs/applications/graphics/viewnior/default.nix +++ b/pkgs/applications/graphics/viewnior/default.nix @@ -1,30 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, meson, ninja, pkg-config, desktop-file-utils, gtk2, libpng, exiv2, lcms -, intltool, gettext, shared-mime-info, glib, gdk-pixbuf, perl}: +{ lib, stdenv, fetchFromGitHub, fetchpatch, meson, ninja, pkg-config, desktop-file-utils, gtk3, libpng, exiv2, lcms +, intltool, gettext, shared-mime-info, glib, gdk-pixbuf, perl, wrapGAppsHook3, webp-pixbuf-loader, gnome, librsvg}: stdenv.mkDerivation rec { - pname = "viewnior"; - version = "1.8"; + pname = "viewnior-gtk3"; + version = "1.8-unstable-2023-11-23"; src = fetchFromGitHub { - owner = "hellosiyan"; + #owner = "hellosiyan"; + #repo = "Viewnior"; + owner = "Artturin"; repo = "Viewnior"; - rev = "${pname}-${version}"; - hash = "sha256-LTahMmcAqgqviUxR624kTozJGTniAAGWKo1ZqXjoG5M="; + # https://github.com/hellosiyan/Viewnior/pull/142 + rev = "23ce6e5630b24509d8009f17a833ad9e59b85fab"; + hash = "sha256-+/f0+og1Dd7eJK7P83+q4lf4SjzW2g6qNk8ZTxNAuDA="; }; - patches = [ - (fetchpatch { - name = "viewnior-1.8-change-exiv2-AutoPtr-to-unique_ptr.patch"; - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/viewnior/files/viewnior-1.8-change-exiv2-AutoPtr-to-unique_ptr.patch?id=002882203ad6a2b08ce035a18b95844a9f4b85d0"; - hash = "sha256-O3/d7qMiOsYJmz7ekoLM6oaHcuYjEbAfPFuDUWSybfE="; - }) - (fetchpatch { - name = "viewnior-1.8-add-support-for-exiv-0.28.0-errors.patch"; - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/viewnior/files/viewnior-1.8-add-support-for-exiv-0.28.0-errors.patch?id=002882203ad6a2b08ce035a18b95844a9f4b85d0"; - hash = "sha256-Zjc4CIlelAkbyvX2F1yo/qJjUajtAgF4+FoHWFEIPWY="; - }) - ]; - nativeBuildInputs = [ meson ninja @@ -32,10 +22,11 @@ stdenv.mkDerivation rec { desktop-file-utils intltool gettext + wrapGAppsHook3 ]; buildInputs = [ - gtk2 + gtk3 libpng exiv2 lcms @@ -45,6 +36,23 @@ stdenv.mkDerivation rec { perl ]; + postInstall = '' + export GDK_PIXBUF_MODULE_FILE="${ + gnome._gdkPixbufCacheBuilder_DO_NOT_USE { + extraLoaders = [ + webp-pixbuf-loader + librsvg + ]; + } + }" + + # gtk3 viewnior can be launched in wayland mode and does so by default + # but moving around in a zoomed in image doesn't work + gappsWrapperArgs+=( + --set-default GDK_BACKEND x11 + ) + ''; + meta = with lib; { description = "Fast and simple image viewer"; longDescription =