#!/bin/sh
#
# SPDX-License-Identifier: MIT
#
# Post-install intercept for gtk-icon-cache.bbclass

set -e

# Update native pixbuf loaders
$STAGING_DIR_NATIVE/${libdir_native}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache

for icondir in $D/usr/share/icons/*/ ; do
    if [ -d $icondir ] ; then
        for gtkuic_cmd in gtk-update-icon-cache gtk4-update-icon-cache ; do
            if [ -n "$(which $gtkuic_cmd)" ]; then
                $gtkuic_cmd -fqt  $icondir
            fi
        done
    fi
done

