Unverified Commit 424ef159 authored by Marcin Serwin's avatar Marcin Serwin
Browse files

imv: 4.5.0 -> 5.0.0



Signed-off-by: default avatarMarcin Serwin <marcin@serwin.dev>
parent 80e6f8b5
Loading
Loading
Loading
Loading
+23 −21
Original line number Diff line number Diff line
@@ -2,7 +2,6 @@
  stdenv,
  lib,
  fetchFromSourcehut,
  fetchpatch,
  asciidoc,
  cmocka,
  docbook_xsl,
@@ -10,7 +9,7 @@
  meson,
  ninja,
  pkg-config,
  icu75,
  icu,
  pango,
  inih,
  withWindowSystem ? if stdenv.hostPlatform.isLinux then "all" else "x11",
@@ -18,7 +17,9 @@
  libxkbcommon,
  libGLU,
  wayland,
  wayland-protocols,
  withBackends ? [
    "farbfeld"
    "libjxl"
    "libtiff"
    "libjpeg"
@@ -26,6 +27,9 @@
    "librsvg"
    "libheif"
    "libnsgif"
    "libnsbmp"
    "libwebp"
    "qoi"
  ],
  libtiff,
  libjpeg_turbo,
@@ -34,6 +38,10 @@
  librsvg,
  libnsgif,
  libheif,
  libnsbmp,
  libwebp,
  qoi,
  wayland-scanner,
}:

let
@@ -44,7 +52,11 @@ let
      xorg.libxcb
      xorg.libX11
    ];
    wayland = [ wayland ];
    wayland = [
      wayland
      wayland-scanner
      wayland-protocols
    ];
  };

  backends = {
@@ -55,9 +67,12 @@ let
      libheif
      libjxl
      libnsgif
      libnsbmp
      libwebp
      qoi
      ;
    farbfeld = null; # builtin
    libjpeg = libjpeg_turbo;
    freeimage = throw "freeimage backend not supported";
  };

  backendFlags = map (
@@ -74,7 +89,7 @@ assert builtins.all (

stdenv.mkDerivation rec {
  pname = "imv";
  version = "4.5.0";
  version = "5.0.0";
  outputs = [
    "out"
    "man"
@@ -83,8 +98,8 @@ stdenv.mkDerivation rec {
  src = fetchFromSourcehut {
    owner = "~exec64";
    repo = "imv";
    rev = "v${version}";
    sha256 = "sha256-aJ2EXgsS0WUTxMqC1Q+uOWLG8BeuwAyXPmJB/9/NCCU=";
    tag = "v${version}";
    hash = "sha256-sOlWSv1GqdYzooTvcJjXxJI3pwWWJnlUpbGZgUAFYm0=";
  };

  mesonFlags = [
@@ -107,7 +122,7 @@ stdenv.mkDerivation rec {

  buildInputs = [
    cmocka
    icu75
    icu
    libxkbcommon
    pango
    inih
@@ -115,19 +130,6 @@ stdenv.mkDerivation rec {
  ++ windowSystems."${withWindowSystem}"
  ++ map (b: backends."${b}") withBackends;

  patches = [
    (fetchpatch {
      # https://lists.sr.ht/~exec64/imv-devel/patches/55937
      name = "update libnsgif backend";
      url = "https://lists.sr.ht/~exec64/imv-devel/%3C20241113012702.30521-2-reallyjohnreed@gmail.com%3E/raw";
      hash = "sha256-/OQeDfIkPtJIIZwL8jYVRy0B7LSBi9/NvAdPoDm851k=";
    })
  ];

  postInstall = ''
    install -Dm644 ../files/imv.desktop $out/share/applications/
  '';

  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