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:
Vladimír Čunát
2014-03-10 20:30:27 +01:00
parent 1046b4ccab
commit 1f6a15d7de
6 changed files with 33 additions and 12 deletions

View File

@@ -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 ];

View 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"