Merge pull request #6765 from gebner/ibus-plugins

Add ibus-qt and ibus-anthy.
This commit is contained in:
lethalman 2015-03-12 14:35:23 +01:00
commit 14ed261fc7
7 changed files with 113 additions and 2 deletions

View File

@ -80,6 +80,7 @@
garbas = "Rok Garbas <rok@garbas.si>";
garrison = "Jim Garrison <jim@garrison.cc>";
gavin = "Gavin Rogers <gavin@praxeology.co.uk>";
gebner = "Gabriel Ebner <gebner@gebner.org>";
globin = "Robin Gloster <robin@glob.in>";
goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
gridaphobe = "Eric Seidel <eric@seidel.io>";

View File

@ -60,6 +60,7 @@
./programs/dconf.nix
./programs/environment.nix
./programs/info.nix
./programs/ibus.nix
./programs/light.nix
./programs/nano.nix
./programs/screen.nix

View File

@ -0,0 +1,51 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.programs.ibus;
in
{
options = {
programs.ibus = {
enable = mkOption {
type = types.bool;
default = false;
example = true;
description = "Enable IBus input method";
};
plugins = mkOption {
type = lib.types.listOf lib.types.path;
default = [];
description = ''
IBus plugin packages
'';
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.ibus ];
gtkPlugins = [ pkgs.ibus ];
qtPlugins = [ pkgs.ibus-qt ];
environment.variables =
let
env = pkgs.buildEnv {
name = "ibus-env";
paths = [ pkgs.ibus ] ++ cfg.plugins;
};
in {
GTK_IM_MODULE = "ibus";
QT_IM_MODULE = "ibus";
XMODIFIERS = "@im=ibus";
IBUS_COMPONENT_PATH = "${env}/share/ibus/component";
};
services.xserver.displayManager.sessionCommands = "${pkgs.ibus}/bin/ibus-daemon --daemonize --xim --cache=none";
};
}

View File

@ -0,0 +1,29 @@
{ stdenv, fetchurl, makeWrapper, ibus, anthy, intltool, pkgconfig, glib, gobjectIntrospection, python, pythonPackages }:
let version = "1.5.4";
in stdenv.mkDerivation {
name = "ibus-anthy-${version}";
meta = with stdenv.lib; {
description = "IBus interface to the anthy input method";
homepace = https://code.google.com/p/ibus/;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ gebner ];
};
buildInputs = [ makeWrapper ibus anthy intltool pkgconfig glib gobjectIntrospection python pythonPackages.pygobject3 ];
postFixup = ''
for file in "$out"/libexec/*; do
wrapProgram "$file" \
--prefix PYTHONPATH : $PYTHONPATH \
--prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH:$out/lib/girepository-1.0
done
'';
src = fetchurl {
url = "https://ibus.googlecode.com/files/ibus-anthy-${version}.tar.gz";
sha256 = "4c0a8b88a2c547e72173a7d682d82797f6c65fe712abe5f3b89495d4eec7b031";
};
}

View File

@ -0,0 +1,25 @@
{ stdenv, fetchurl, ibus, cmake, pkgconfig, qt4, icu, doxygen }:
stdenv.mkDerivation rec {
name = "ibus-qt-${version}";
version = "1.3.2";
src = fetchurl {
url = "http://ibus.googlecode.com/files/${name}-Source.tar.gz";
sha256 = "070c8ef4e6c74eddf7ddf4385936aed730c2dfe2160162e5c56b5158d1061a76";
};
buildInputs = [
ibus cmake pkgconfig qt4 icu doxygen
];
cmakeFlags = [ "-DQT_PLUGINS_DIR=lib/qt4/plugins" ];
meta = with stdenv.lib; {
homepage = https://code.google.com/p/ibus/;
description = "Qt4 interface to the ibus input method";
platforms = platforms.linux;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ gebner ];
};
}

View File

@ -959,6 +959,12 @@ let
anthy = callPackage ../tools/inputmethods/anthy { };
ibus = callPackage ../tools/inputmethods/ibus { };
ibus-qt = callPackage ../tools/inputmethods/ibus-qt { };
ibus-anthy = callPackage ../tools/inputmethods/ibus-anthy { };
biosdevname = callPackage ../tools/networking/biosdevname { };
clamav = callPackage ../tools/security/clamav { };
@ -4974,8 +4980,6 @@ let
hyenae = callPackage ../tools/networking/hyenae { };
ibus = callPackage ../development/libraries/ibus { };
icmake = callPackage ../development/tools/build-managers/icmake { };
iconnamingutils = callPackage ../development/tools/misc/icon-naming-utils {