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