Merge commit 'refs/pull/14568/head' of git://github.com/NixOS/nixpkgs into staging
This commit is contained in:
commit
c99b050af0
@ -102,6 +102,8 @@ in
|
|||||||
environment.pathsToLink =
|
environment.pathsToLink =
|
||||||
[ "/bin"
|
[ "/bin"
|
||||||
"/etc/xdg"
|
"/etc/xdg"
|
||||||
|
"/etc/gtk-2.0"
|
||||||
|
"/etc/gtk-3.0"
|
||||||
"/info"
|
"/info"
|
||||||
"/lib" # FIXME: remove and update debug-info.nix
|
"/lib" # FIXME: remove and update debug-info.nix
|
||||||
"/sbin"
|
"/sbin"
|
||||||
|
@ -1,10 +1,32 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.i18n.inputMethod;
|
||||||
|
gtk2_cache = pkgs.stdenv.mkDerivation {
|
||||||
|
preferLocalBuild = true;
|
||||||
|
allowSubstitutes = false;
|
||||||
|
name = "gtk2-immodule.cache";
|
||||||
|
buildInputs = [ pkgs.gtk cfg.package ];
|
||||||
|
buildCommand = ''
|
||||||
|
mkdir -p $out/etc/gtk-2.0/
|
||||||
|
GTK_PATH=${cfg.package}/lib/gtk-2.0/ gtk-query-immodules-2.0 > $out/etc/gtk-2.0/immodules.cache
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
gtk3_cache = pkgs.stdenv.mkDerivation {
|
||||||
|
preferLocalBuild = true;
|
||||||
|
allowSubstitutes = false;
|
||||||
|
name = "gtk3-immodule.cache";
|
||||||
|
buildInputs = [ pkgs.gtk3 cfg.package ];
|
||||||
|
buildCommand = ''
|
||||||
|
mkdir -p $out/etc/gtk-3.0/
|
||||||
|
GTK_PATH=${cfg.package}/lib/gtk-3.0/ gtk-query-immodules-3.0 > $out/etc/gtk-3.0/immodules.cache
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
{
|
{
|
||||||
options = {
|
options.i18n = {
|
||||||
i18n.inputMethod = {
|
inputMethod = {
|
||||||
enabled = mkOption {
|
enabled = mkOption {
|
||||||
type = types.nullOr (types.enum [ "ibus" "fcitx" "nabi" "uim" ]);
|
type = types.nullOr (types.enum [ "ibus" "fcitx" "nabi" "uim" ]);
|
||||||
default = null;
|
default = null;
|
||||||
@ -24,6 +46,20 @@ with lib;
|
|||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
internal = true;
|
||||||
|
type = types.path;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
The input method method package.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
config = mkIf (cfg.enabled != null) {
|
||||||
|
environment.systemPackages = [ cfg.package gtk2_cache gtk3_cache ];
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf (config.i18n.inputMethod.enabled == "fcitx") {
|
config = mkIf (config.i18n.inputMethod.enabled == "fcitx") {
|
||||||
environment.systemPackages = [ fcitxPackage ];
|
i18n.inputMethod.package = fcitxPackage;
|
||||||
|
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
GTK_IM_MODULE = "fcitx";
|
GTK_IM_MODULE = "fcitx";
|
||||||
|
@ -41,9 +41,11 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf (config.i18n.inputMethod.enabled == "ibus") {
|
config = mkIf (config.i18n.inputMethod.enabled == "ibus") {
|
||||||
|
i18n.inputMethod.package = ibusPackage;
|
||||||
|
|
||||||
# Without dconf enabled it is impossible to use IBus
|
# Without dconf enabled it is impossible to use IBus
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
ibusPackage ibus-qt gnome3.dconf ibusAutostart
|
ibus-qt gnome3.dconf ibusAutostart
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
with lib;
|
with lib;
|
||||||
{
|
{
|
||||||
config = mkIf (config.i18n.inputMethod.enabled == "nabi") {
|
config = mkIf (config.i18n.inputMethod.enabled == "nabi") {
|
||||||
environment.systemPackages = [ pkgs.nabi ];
|
i18n.inputMethod.package = pkgs.nabi;
|
||||||
|
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
GTK_IM_MODULE = "nabi";
|
GTK_IM_MODULE = "nabi";
|
||||||
|
@ -22,7 +22,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf (config.i18n.inputMethod.enabled == "uim") {
|
config = mkIf (config.i18n.inputMethod.enabled == "uim") {
|
||||||
environment.systemPackages = [ pkgs.uim ];
|
i18n.inputMethod.package = pkgs.uim;
|
||||||
|
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
GTK_IM_MODULE = "uim";
|
GTK_IM_MODULE = "uim";
|
||||||
|
27
pkgs/development/libraries/gtk+/2.0-immodules.cache.patch
Normal file
27
pkgs/development/libraries/gtk+/2.0-immodules.cache.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
--- a/gtk/gtkrc.c 2014-09-30 05:02:17.000000000 +0900
|
||||||
|
+++ b/gtk/gtkrc.c 2016-04-09 17:39:51.363288355 +0900
|
||||||
|
@@ -445,5 +445,23 @@
|
||||||
|
if (var)
|
||||||
|
result = g_strdup (var);
|
||||||
|
|
||||||
|
+ // check NIX_PROFILES paths.
|
||||||
|
+ const gchar *nixProfilesEnv = g_getenv ("NIX_PROFILES");
|
||||||
|
+ gchar *cachePath;
|
||||||
|
+ guint i;
|
||||||
|
+
|
||||||
|
+ if(nixProfilesEnv && !result){
|
||||||
|
+ gchar **paths = g_strsplit(nixProfilesEnv, " ", -1);
|
||||||
|
+ for (i = 0; paths[i] != NULL; i++){
|
||||||
|
+ cachePath = g_build_filename(paths[i], "etc", "gtk-2.0", "immodules.cache", NULL);
|
||||||
|
+ if( g_file_test( cachePath, G_FILE_TEST_EXISTS) ){
|
||||||
|
+ if(result) g_free(result);
|
||||||
|
+ result = g_strdup(cachePath);
|
||||||
|
+ }
|
||||||
|
+ g_free(cachePath);
|
||||||
|
+ }
|
||||||
|
+ g_strfreev(paths);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (!result)
|
||||||
|
{
|
||||||
|
|
@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [ setupHook perl pkgconfig gettext ];
|
nativeBuildInputs = [ setupHook perl pkgconfig gettext ];
|
||||||
|
|
||||||
|
patches = [ ./2.0-immodules.cache.patch ];
|
||||||
|
|
||||||
propagatedBuildInputs = with xorg; with stdenv.lib;
|
propagatedBuildInputs = with xorg; with stdenv.lib;
|
||||||
[ glib cairo pango gdk_pixbuf atk ]
|
[ glib cairo pango gdk_pixbuf atk ]
|
||||||
++ optionals (stdenv.isLinux || stdenv.isDarwin) [
|
++ optionals (stdenv.isLinux || stdenv.isDarwin) [
|
||||||
|
27
pkgs/development/libraries/gtk+/3.0-immodules.cache.patch
Normal file
27
pkgs/development/libraries/gtk+/3.0-immodules.cache.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
--- a/gtk/deprecated/gtkrc.c 2016-04-02 18:43:08.401663112 +0900
|
||||||
|
+++ b/gtk/deprecated/gtkrc.c 2016-04-02 18:29:19.927608592 +0900
|
||||||
|
@@ -774,5 +774,23 @@
|
||||||
|
if (var)
|
||||||
|
result = g_strdup (var);
|
||||||
|
|
||||||
|
+ // check NIX_PROFILES paths.
|
||||||
|
+ const gchar *nixProfilesEnv = g_getenv ("NIX_PROFILES");
|
||||||
|
+ gchar *cachePath;
|
||||||
|
+ guint i;
|
||||||
|
+
|
||||||
|
+ if(nixProfilesEnv && !result){
|
||||||
|
+ gchar **paths = g_strsplit(nixProfilesEnv, " ", -1);
|
||||||
|
+ for (i = 0; paths[i] != NULL; i++){
|
||||||
|
+ cachePath = g_build_filename(paths[i], "etc", "gtk-3.0", "immodules.cache", NULL);
|
||||||
|
+ if( g_file_test( cachePath, G_FILE_TEST_EXISTS) ){
|
||||||
|
+ if(result) g_free(result);
|
||||||
|
+ result = g_strdup(cachePath);
|
||||||
|
+ }
|
||||||
|
+ g_free(cachePath);
|
||||||
|
+ }
|
||||||
|
+ g_strfreev(paths);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (!result)
|
||||||
|
{
|
||||||
|
|
@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl ];
|
nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl ];
|
||||||
|
|
||||||
|
patches = [ ./3.0-immodules.cache.patch ];
|
||||||
|
|
||||||
buildInputs = [ libxkbcommon epoxy json_glib ];
|
buildInputs = [ libxkbcommon epoxy json_glib ];
|
||||||
propagatedBuildInputs = with xorg; with stdenv.lib;
|
propagatedBuildInputs = with xorg; with stdenv.lib;
|
||||||
[ expat glib cairo pango gdk_pixbuf atk at_spi2_atk
|
[ expat glib cairo pango gdk_pixbuf atk at_spi2_atk
|
||||||
@ -58,13 +60,6 @@ stdenv.mkDerivation rec {
|
|||||||
--replace '-L${gmp.dev}/lib' '-L${gmp.out}/lib'
|
--replace '-L${gmp.dev}/lib' '-L${gmp.out}/lib'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru = {
|
|
||||||
gtkExeEnvPostBuild = ''
|
|
||||||
rm $out/lib/gtk-3.0/3.0.0/immodules.cache
|
|
||||||
$out/bin/gtk-query-immodules-3.0 $out/lib/gtk-3.0/3.0.0/immodules/*.so > $out/lib/gtk-3.0/3.0.0/immodules.cache
|
|
||||||
''; # workaround for bug of nix-mode for Emacs */ '';
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A multi-platform toolkit for creating graphical user interfaces";
|
description = "A multi-platform toolkit for creating graphical user interfaces";
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user