biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / desktops / gnome / gdk-pixbuf-cache-builder.nix
blob398e9144e2448b9b6cf5aee414aa6b4b46986706
2   runCommand,
3   gdk-pixbuf,
4   lib,
5   stdenv,
6   buildPackages,
7 }:
10   extraLoaders,
13 let
14   # Get packages to generate the cache for. We always include gdk-pixbuf.
15   loaderPackages = [
16     gdk-pixbuf
17   ] ++ extraLoaders;
20 # Generate the cache file by running gdk-pixbuf-query-loaders for each
21 # package and concatenating the results.
22 runCommand "gdk-pixbuf-loaders.cache" {
23   preferLocalBuild = true;
24 } ''
25   (
26     for package in ${lib.escapeShellArgs loaderPackages}; do
27       module_dir="$package/${gdk-pixbuf.moduleDir}"
28       if [[ ! -d "$module_dir" ]]; then
29         echo "Error: gdkPixbufCacheBuilder: Passed package “''${package}” does not contain GdkPixbuf loaders in “${gdk-pixbuf.moduleDir}”." 1>&2
30         exit 1
31       fi
32       GDK_PIXBUF_MODULEDIR="$module_dir" \
33         ${stdenv.hostPlatform.emulator buildPackages} ${gdk-pixbuf.dev}/bin/gdk-pixbuf-query-loaders
34     done
35   ) > "$out"