mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
As stated in our top level license files, the license is MIT unless otherwise stated. Add SPDX identifers accordingly. Replace older license statementa with the standardised syntax. Also drop "All Rights Reserved" expression as it isn't used now, doesn't mean anything and is confusing. (From OE-Core rev: 081a391fe09a21265881e39a2a496e4e10b4f80b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
96 lines
3.0 KiB
Plaintext
96 lines
3.0 KiB
Plaintext
#
|
|
# Copyright OpenEmbedded Contributors
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
|
|
FILES:${PN} += "${datadir}/icons/hicolor"
|
|
|
|
GTKIC_VERSION ??= '3'
|
|
|
|
GTKPN = "${@ 'gtk4' if d.getVar('GTKIC_VERSION') == '4' else 'gtk+3' }"
|
|
GTKIC_CMD = "${@ 'gtk-update-icon-cache-3.0.0' if d.getVar('GTKIC_VERSION') == '4' else 'gtk4-update-icon-cache' }"
|
|
|
|
#gtk+3/gtk4 require GTK3DISTROFEATURES, DEPENDS on it make all the
|
|
#recipes inherit this class require GTK3DISTROFEATURES
|
|
inherit features_check
|
|
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
|
|
|
|
DEPENDS +=" ${@ '' if d.getVar('BPN') == 'hicolor-icon-theme' else 'hicolor-icon-theme' } \
|
|
${@ '' if d.getVar('BPN') == 'gdk-pixbuf' else 'gdk-pixbuf' } \
|
|
${@ '' if d.getVar('BPN') == d.getVar('GTKPN') else d.getVar('GTKPN') } \
|
|
${GTKPN}-native \
|
|
"
|
|
|
|
PACKAGE_WRITE_DEPS += "${GTKPN}-native gdk-pixbuf-native"
|
|
|
|
gtk_icon_cache_postinst() {
|
|
if [ "x$D" != "x" ]; then
|
|
$INTERCEPT_DIR/postinst_intercept update_gtk_icon_cache ${PKG} \
|
|
mlprefix=${MLPREFIX} \
|
|
libdir_native=${libdir_native}
|
|
else
|
|
|
|
# Update the pixbuf loaders in case they haven't been registered yet
|
|
${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache
|
|
|
|
for icondir in /usr/share/icons/* ; do
|
|
if [ -d $icondir ] ; then
|
|
${GTKIC_CMD} -fqt $icondir
|
|
fi
|
|
done
|
|
fi
|
|
}
|
|
|
|
gtk_icon_cache_postrm() {
|
|
if [ "x$D" != "x" ]; then
|
|
$INTERCEPT_DIR/postinst_intercept update_gtk_icon_cache ${PKG} \
|
|
mlprefix=${MLPREFIX} \
|
|
libdir=${libdir}
|
|
else
|
|
for icondir in /usr/share/icons/* ; do
|
|
if [ -d $icondir ] ; then
|
|
${GTKIC_CMD} -qt $icondir
|
|
fi
|
|
done
|
|
fi
|
|
}
|
|
|
|
python populate_packages:append () {
|
|
packages = d.getVar('PACKAGES').split()
|
|
pkgdest = d.getVar('PKGDEST')
|
|
|
|
for pkg in packages:
|
|
icon_dir = '%s/%s/%s/icons' % (pkgdest, pkg, d.getVar('datadir'))
|
|
if not os.path.exists(icon_dir):
|
|
continue
|
|
|
|
bb.note("adding hicolor-icon-theme dependency to %s" % pkg)
|
|
rdepends = ' ' + d.getVar('MLPREFIX', False) + "hicolor-icon-theme"
|
|
d.appendVar('RDEPENDS:%s' % pkg, rdepends)
|
|
|
|
#gtk_icon_cache_postinst depend on gdk-pixbuf and gtk+3/gtk4
|
|
bb.note("adding gdk-pixbuf dependency to %s" % pkg)
|
|
rdepends = ' ' + d.getVar('MLPREFIX', False) + "gdk-pixbuf"
|
|
d.appendVar('RDEPENDS:%s' % pkg, rdepends)
|
|
|
|
bb.note("adding %s dependency to %s" % (d.getVar('GTKPN'), pkg))
|
|
rdepends = ' ' + d.getVar('MLPREFIX', False) + d.getVar('GTKPN')
|
|
d.appendVar('RDEPENDS:%s' % pkg, rdepends)
|
|
|
|
bb.note("adding gtk-icon-cache postinst and postrm scripts to %s" % pkg)
|
|
|
|
postinst = d.getVar('pkg_postinst:%s' % pkg)
|
|
if not postinst:
|
|
postinst = '#!/bin/sh\n'
|
|
postinst += d.getVar('gtk_icon_cache_postinst')
|
|
d.setVar('pkg_postinst:%s' % pkg, postinst)
|
|
|
|
postrm = d.getVar('pkg_postrm:%s' % pkg)
|
|
if not postrm:
|
|
postrm = '#!/bin/sh\n'
|
|
postrm += d.getVar('gtk_icon_cache_postrm')
|
|
d.setVar('pkg_postrm:%s' % pkg, postrm)
|
|
}
|
|
|