diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix index 3b8b3489a1d..0a38ccfa3bd 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix @@ -1,5 +1,13 @@ -{ stdenv, fetchurl, intltool, pkgconfig -, gtk3, ibus, libhangul, python3 +{ stdenv +, fetchurl +, substituteAll +, intltool +, pkgconfig +, wrapGAppsHook +, gtk3 +, ibus +, libhangul +, python3 }: stdenv.mkDerivation rec { @@ -11,18 +19,36 @@ stdenv.mkDerivation rec { sha256 = "0gha8dfdf54rx8fv3yfikbgdg6lqq6l883lhg7q68ybvkjx9bwbs"; }; - buildInputs = [ gtk3 ibus libhangul python3 ]; + patches = [ + (substituteAll { + src = ./fix-paths.patch; + libhangul = "${libhangul}/lib/libhangul.so.1"; + }) + ]; - nativeBuildInputs = [ intltool pkgconfig python3.pkgs.wrapPython ]; + nativeBuildInputs = [ + intltool + pkgconfig + python3.pkgs.wrapPython + wrapGAppsHook + ]; - postFixup = "wrapPythonPrograms"; + buildInputs = [ + gtk3 + ibus + libhangul + (python3.withPackages (pypkgs: with pypkgs; [ + pygobject3 + (toPythonModule ibus) + ])) + ]; meta = with stdenv.lib; { isIbusEngine = true; - description = "Ibus Hangul engine"; - homepage = https://github.com/choehwanjin/ibus-hangul; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = with maintainers; [ ericsagnes ]; + description = "Ibus Hangul engine"; + homepage = https://github.com/choehwanjin/ibus-hangul; + license = licenses.gpl2; + maintainers = with maintainers; [ ericsagnes ]; + platforms = platforms.linux; }; } diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/fix-paths.patch b/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/fix-paths.patch new file mode 100644 index 00000000000..7487d074d55 --- /dev/null +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/setup/main.py b/setup/main.py +index 8d581cd..2ac47b9 100644 +--- a/setup/main.py ++++ b/setup/main.py +@@ -37,7 +37,7 @@ + + def get_hangul_keyboard_list(): + from ctypes import CDLL, c_int, c_char_p +- libhangul = CDLL('libhangul.so.1') ++ libhangul = CDLL('@libhangul@') + libhangul.hangul_ic_get_n_keyboards.argtypes = [] + libhangul.hangul_ic_get_n_keyboards.restype = c_int + libhangul.hangul_ic_get_keyboard_id.argtypes = [c_int]