nixpkgs/pkgs/development/libraries/glib/setup-hook.sh
Matthew Bauer df8ee06477 glib: only add gsettingsschemadir in make
gsettingsschemedir only works in make where you can set any variable
from the command line as in “make VAR=VAL”. Other build systems may
not support this kind of loose overriding of variables. This broke a
scons build here:

  https://hydra.nixos.org/build/84073119/
2018-11-14 14:02:56 -06:00

26 lines
1,007 B
Bash

make_glib_find_gsettings_schemas() {
# For packages that need gschemas of other packages (e.g. empathy)
if [ -d "$1"/share/gsettings-schemas/*/glib-2.0/schemas ]; then
addToSearchPath GSETTINGS_SCHEMAS_PATH "$1/share/gsettings-schemas/"*
fi
}
addEnvHooks "$hostOffset" make_glib_find_gsettings_schemas
# Install gschemas, if any, in a package-specific directory
glibPreInstallPhase() {
makeFlagsArray+=("gsettingsschemadir=${!outputLib}/share/gsettings-schemas/$name/glib-2.0/schemas/")
}
preInstallPhases+=" glibPreInstallPhase"
glibPreFixupPhase() {
# Move gschemas in case the install flag didn't help
if [ -d "${!outputLib}/share/glib-2.0/schemas" ]; then
mkdir -p "${!outputLib}/share/gsettings-schemas/$name/glib-2.0"
mv "${!outputLib}/share/glib-2.0/schemas" "${!outputLib}/share/gsettings-schemas/$name/glib-2.0/"
fi
addToSearchPath GSETTINGS_SCHEMAS_PATH "${!outputLib}/share/gsettings-schemas/$name"
}
preFixupPhases+=" glibPreFixupPhase"