Last active
April 4, 2021 10:06
-
-
Save damhiya/4852fe893d277c13a2944193a5995396 to your computer and use it in GitHub Desktop.
kime for nix
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let | |
kime = import ./pkgs/kime.nix; | |
gtk3_cache = pkgs.runCommand "gtk3-immodule.cache" | |
{ preferLocalBuild = true; | |
allowSubstitutes = false; | |
buildInputs = [ pkgs.gtk3 kime ]; | |
} | |
'' | |
mkdir -p $out/etc/gtk-3.0/ | |
GTK_PATH=${kime}/lib/gtk-3.0/ gtk-query-immodules-3.0 > $out/etc/gtk-3.0/immodules.cache | |
''; | |
in { | |
environment.systemPackages = [ kime gtk3_cache ]; | |
environment.variables = { | |
GTK_IM_MODULE = "kime"; | |
QT_IM_MODULE = "kime"; | |
XMODIFIERS = "@im=kime"; | |
}; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
with import <nixpkgs> { }; | |
let qt5Version = qt5.qtbase.version; | |
in stdenv.mkDerivation rec { | |
pname = "kime"; | |
version = "2.1.3"; | |
src = fetchFromGitHub { | |
owner = "Riey"; | |
repo = "kime"; | |
rev = "660ba9cb494f93c34043da29bc84efb34c70440a"; | |
sha256 = "1zcg24vny4r7qg5zfilzp4cwrfbvyha0y02q37989f068kpkvzx3"; | |
}; | |
buildInputs = | |
[ glib pango atk gdk-pixbuf gtk3 libappindicator-gtk3 qt5.qtbase ]; | |
nativeBuildInputs = with rustPlatform; [ | |
cargoSetupHook | |
rust.cargo | |
rust.rustc | |
cmake | |
pkgconfig | |
ninja | |
qt5.wrapQtAppsHook | |
clang | |
]; | |
dontUseCmakeConfigure = true; | |
cargoDeps = rustPlatform.fetchCargoTarball { | |
inherit src; | |
name = "${pname}-${version}"; | |
sha256 = "195g840m61l6diasxpwpickwg833h1pn7cx0dgf3zky5f7spg2kf"; | |
}; | |
LIBCLANG_PATH = "${llvmPackages.libclang}/lib"; | |
buildPhase = '' | |
bash ./scripts/build.sh -ar | |
''; | |
installPhase = '' | |
outDir=./build/out | |
mkdir -p $out/bin | |
mkdir -p $out/lib | |
mkdir -p $out/lib/gtk-3.0/3.0.0/immodules | |
mkdir -p $out/lib/qt-${qt5Version}/plugins/platforminputcontexts | |
mkdir -p $out/include | |
mkdir -p $out/etc/xdg/kime | |
mkdir -p $out/share/kime/icons | |
cp $outDir/kime-xim $out/bin | |
cp $outDir/kime-wayland $out/bin | |
cp $outDir/libkime_engine.so $out/lib | |
cp $outDir/libkime-gtk3.so $out/lib/gtk-3.0/3.0.0/immodules/im-kime.so | |
cp $outDir/libkime-qt5.so $out/lib/qt-${qt5Version}/plugins/platforminputcontexts/libkimeplatforminputcontextplugin.so | |
cp $outDir/kime_engine.h $out/include | |
cp $outDir/kime_engine.hpp $out/include | |
cp $outDir/default_config.yaml $out/etc/xdg/kime/config.yaml | |
cp -r $outDir/icons/* $out/share/kime/icons | |
''; | |
meta = { | |
description = "Korean IME"; | |
homepage = "https://github.com/Riey/kime"; | |
license = lib.licenses.gpl3; | |
platforms = [ "x86_64-linux" ]; | |
}; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment