Merge #1901: add preFixupPhases to stdenv; for gsettings
Without this stdenv change it seems difficult to fix some glib's gsettings issues, as the folders in question may (not) be created in installPhase.
This commit is contained in:
@@ -48,6 +48,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1d98mbqjmc34s8095lkw1j1bwvnnkw9581yfvjaikjvfjsaz29qd";
|
||||
};
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
buildInputs = [ libelf ]
|
||||
++ optionals doCheck [ tzdata libxml2 desktop_file_utils shared_mime_info ];
|
||||
|
||||
|
||||
17
pkgs/development/libraries/glib/setup-hook.sh
Normal file
17
pkgs/development/libraries/glib/setup-hook.sh
Normal file
@@ -0,0 +1,17 @@
|
||||
# Install gschemas, if any, in a package-specific directory
|
||||
installFlagsArray+=("gsettingsschemadir=$out/gsettings-schemas/$name/glib-2.0/schemas/")
|
||||
|
||||
make_glib_find_gsettings_schemas() {
|
||||
# For packages that need gschemas of other packages (e.g. empathy)
|
||||
if [ -d "$1/gsettings-schemas/*/glib-2.0/schemas" ]; then
|
||||
addToSearchPath GSETTINGS_SCHEMAS_PATH "$1/gsettings-schemas/"*
|
||||
fi
|
||||
}
|
||||
|
||||
envHooks+=(make_glib_find_gsettings_schemas)
|
||||
|
||||
glibPreFixupPhase() {
|
||||
addToSearchPath GSETTINGS_SCHEMAS_PATH "$out/gsettings-schemas/$name"
|
||||
}
|
||||
|
||||
preFixupPhases="$preFixupPhases glibPreFixupPhase"
|
||||
Reference in New Issue
Block a user