From 14dedbaa92dce20c6e342e1e763821da9381c68d Mon Sep 17 00:00:00 2001
From: Colin <colin@uninsane.org>
Date: Sun, 29 Sep 2024 00:18:59 +0000
Subject: [PATCH] libjxl: build plugins/loaders unconditionally

this is how we do it for webp-pixbuf-loader. the only thing not
supported for cross compilation is thumbnailers, since gdk-pixbuf has
that gated behind an `if not meson.is_cross_build()` check:
<https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/blob/5a5d37bd6696c96d5567c2199cac0fbc5b86d0e8/meson.build#L397>
---
 pkgs/development/libraries/libjxl/default.nix | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/pkgs/development/libraries/libjxl/default.nix b/pkgs/development/libraries/libjxl/default.nix
index 4ae2657de914..0c1a6f34370a 100644
--- a/pkgs/development/libraries/libjxl/default.nix
+++ b/pkgs/development/libraries/libjxl/default.nix
@@ -18,7 +18,7 @@
 , doxygen
 , python3
 , lcms2
-, enablePlugins ? stdenv.buildPlatform.canExecute stdenv.hostPlatform
+, enablePlugins ? true
 }:
 
 let
@@ -127,6 +127,9 @@ stdenv.mkDerivation rec {
     GDK_PIXBUF_MODULEDIR="$out/${gdk-pixbuf.moduleDir}" \
     GDK_PIXBUF_MODULE_FILE="$out/${loadersPath}" \
       gdk-pixbuf-query-loaders --update-cache
+  ''
+  # Cross-compiled gdk-pixbuf doesn't support thumbnailers
+  + lib.optionalString (enablePlugins && stdenv.hostPlatform == stdenv.buildPlatform) ''
     mkdir -p "$out/bin"
     makeWrapper ${gdk-pixbuf}/bin/gdk-pixbuf-thumbnailer "$out/libexec/gdk-pixbuf-thumbnailer-jxl" \
       --set GDK_PIXBUF_MODULE_FILE "$out/${loadersPath}"