From 0f68e62057b8c60c809a3a23e5717f9e825d3e42 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Thu, 27 Nov 2025 21:19:19 +0100 Subject: [PATCH 1/5] imv: 5.0.0 -> 5.0.1 Signed-off-by: Marcin Serwin --- pkgs/by-name/im/imv/package.nix | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/im/imv/package.nix b/pkgs/by-name/im/imv/package.nix index 578f9b074d49..d1df7127c998 100644 --- a/pkgs/by-name/im/imv/package.nix +++ b/pkgs/by-name/im/imv/package.nix @@ -9,6 +9,7 @@ meson, ninja, pkg-config, + tinyxxd, icu, pango, inih, @@ -18,6 +19,7 @@ libGLU, wayland, wayland-protocols, + wayland-scanner, withBackends ? [ "farbfeld" "libjxl" @@ -41,7 +43,6 @@ libnsbmp, libwebp, qoi, - wayland-scanner, }: let @@ -89,7 +90,7 @@ assert builtins.all ( stdenv.mkDerivation (finalAttrs: { pname = "imv"; - version = "5.0.0"; + version = "5.0.1"; outputs = [ "out" "man" @@ -99,7 +100,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "~exec64"; repo = "imv"; tag = "v${finalAttrs.version}"; - hash = "sha256-sOlWSv1GqdYzooTvcJjXxJI3pwWWJnlUpbGZgUAFYm0="; + hash = "sha256-2JTs/hj6t9wEZKoUpcLDFulbdU/grDlQkuEAE7uayDs="; }; mesonFlags = [ @@ -130,16 +131,10 @@ stdenv.mkDerivation (finalAttrs: { ++ windowSystems."${withWindowSystem}" ++ map (b: backends."${b}") withBackends; - postFixup = lib.optionalString (withWindowSystem == "all") '' - # The `bin/imv` script assumes imv-wayland or imv-x11 in PATH, - # so we have to fix those to the binaries we installed into the /nix/store - - substituteInPlace "$out/bin/imv" \ - --replace-fail "imv-wayland" "$out/bin/imv-wayland" \ - --replace-fail "imv-x11" "$out/bin/imv-x11" - ''; - doCheck = true; + nativeCheckInputs = [ + tinyxxd + ]; meta = { description = "Command line image viewer for tiling window managers"; From a0f58333b6f778dc92df08ff536d2b70bb3c49ff Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Thu, 27 Nov 2025 21:19:19 +0100 Subject: [PATCH 2/5] imv: fix libGL dependency Signed-off-by: Marcin Serwin --- pkgs/by-name/im/imv/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/im/imv/package.nix b/pkgs/by-name/im/imv/package.nix index d1df7127c998..1bc876928f24 100644 --- a/pkgs/by-name/im/imv/package.nix +++ b/pkgs/by-name/im/imv/package.nix @@ -16,7 +16,7 @@ withWindowSystem ? if stdenv.hostPlatform.isLinux then "all" else "x11", xorg, libxkbcommon, - libGLU, + libGL, wayland, wayland-protocols, wayland-scanner, @@ -49,7 +49,6 @@ let windowSystems = { all = windowSystems.x11 ++ windowSystems.wayland; x11 = [ - libGLU xorg.libxcb xorg.libX11 ]; @@ -123,6 +122,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ cmocka + libGL icu libxkbcommon pango From 8b969c0baeeca5b36af1d9f89908e6d7513fd622 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Thu, 27 Nov 2025 21:19:19 +0100 Subject: [PATCH 3/5] imv: use lib.mesonEnable consistently Signed-off-by: Marcin Serwin --- pkgs/by-name/im/imv/package.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/im/imv/package.nix b/pkgs/by-name/im/imv/package.nix index 1bc876928f24..12e3ee72f1a6 100644 --- a/pkgs/by-name/im/imv/package.nix +++ b/pkgs/by-name/im/imv/package.nix @@ -75,9 +75,7 @@ let libjpeg = libjpeg_turbo; }; - backendFlags = map ( - b: if builtins.elem b withBackends then "-D${b}=enabled" else "-D${b}=disabled" - ) (builtins.attrNames backends); + backendFlags = map (b: lib.mesonEnable b (lib.elem b withBackends)) (lib.attrNames backends); in # check that given window system is valid @@ -103,9 +101,9 @@ stdenv.mkDerivation (finalAttrs: { }; mesonFlags = [ - "-Dwindows=${withWindowSystem}" - "-Dtest=enabled" - "-Dman=enabled" + (lib.mesonOption "windows" withWindowSystem) + (lib.mesonEnable "test" finalAttrs.finalPackage.doCheck) + (lib.mesonEnable "man" true) ] ++ backendFlags; From b732e7fbbb062f6b68df6a7c8649cd9516275077 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Thu, 27 Nov 2025 21:19:19 +0100 Subject: [PATCH 4/5] imv: move cmocka to checkInputs Signed-off-by: Marcin Serwin --- pkgs/by-name/im/imv/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/im/imv/package.nix b/pkgs/by-name/im/imv/package.nix index 12e3ee72f1a6..a371fc7b3e46 100644 --- a/pkgs/by-name/im/imv/package.nix +++ b/pkgs/by-name/im/imv/package.nix @@ -119,7 +119,6 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ - cmocka libGL icu libxkbcommon @@ -133,6 +132,9 @@ stdenv.mkDerivation (finalAttrs: { nativeCheckInputs = [ tinyxxd ]; + checkInputs = [ + cmocka + ]; meta = { description = "Command line image viewer for tiling window managers"; From 2ab3e41514a8a3c24e42f7e7c9ff2a81299a8250 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Thu, 27 Nov 2025 21:19:19 +0100 Subject: [PATCH 5/5] imv: add version check hook Signed-off-by: Marcin Serwin --- pkgs/by-name/im/imv/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/im/imv/package.nix b/pkgs/by-name/im/imv/package.nix index a371fc7b3e46..18d4da04410f 100644 --- a/pkgs/by-name/im/imv/package.nix +++ b/pkgs/by-name/im/imv/package.nix @@ -20,6 +20,7 @@ wayland, wayland-protocols, wayland-scanner, + versionCheckHook, withBackends ? [ "farbfeld" "libjxl" @@ -136,6 +137,10 @@ stdenv.mkDerivation (finalAttrs: { cmocka ]; + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "-v"; + meta = { description = "Command line image viewer for tiling window managers"; homepage = "https://sr.ht/~exec64/imv/";