diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2014-03-10 20:30:27 +0100 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2014-04-02 19:06:41 +0200 |
commit | 1f6a15d7ded115ece48419cb1e642816b2145db5 (patch) | |
tree | 07e603f94e373d26851227995bdc4847db2c09f5 /pkgs/development/libraries/glib | |
parent | 1046b4ccabdef4313520fb41be627232ffa44fc0 (diff) |
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.
Diffstat (limited to 'pkgs/development/libraries/glib')
-rw-r--r-- | pkgs/development/libraries/glib/default.nix | 2 | ||||
-rw-r--r-- | pkgs/development/libraries/glib/setup-hook.sh | 17 |
2 files changed, 19 insertions, 0 deletions
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index af4b152dccee8..033a1def3ce70 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -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 ]; diff --git a/pkgs/development/libraries/glib/setup-hook.sh b/pkgs/development/libraries/glib/setup-hook.sh new file mode 100644 index 0000000000000..e5c0c372da00b --- /dev/null +++ b/pkgs/development/libraries/glib/setup-hook.sh @@ -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" |