diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 3ae240a7a10..6dedb2cdfa7 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6769,6 +6769,12 @@ githubId = 8641; name = "Pierre Carrier"; }; + pengmeiyu = { + email = "pengmyu@gmail.com"; + github = "pmeiyu"; + githubId = 8529551; + name = "Peng Mei Yu"; + }; penguwin = { email = "penguwin@penguwin.eu"; github = "penguwin"; diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix new file mode 100644 index 00000000000..03a801abbeb --- /dev/null +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchFromGitHub, cmake, pkg-config, gdk-pixbuf, glib, ibus, libnotify +, librime, brise }: + +stdenv.mkDerivation rec { + pname = "ibus-rime"; + version = "1.4.0"; + + src = fetchFromGitHub { + owner = "rime"; + repo = "ibus-rime"; + rev = version; + sha256 = "0zbajz7i18vrqwdyclzywvsjg6qzaih64jhi3pkxp7mbw8jc5vhy"; + }; + + buildInputs = [ gdk-pixbuf glib ibus libnotify librime brise ]; + nativeBuildInputs = [ cmake pkg-config ]; + + makeFlags = [ "PREFIX=$(out)" ]; + dontUseCmakeConfigure = true; + + prePatch = '' + substituteInPlace Makefile \ + --replace 'cmake' 'cmake -DRIME_DATA_DIR=${brise}/share/rime-data' + + substituteInPlace rime_config.h \ + --replace '/usr' $out + + substituteInPlace rime_config.h \ + --replace 'IBUS_RIME_SHARED_DATA_DIR IBUS_RIME_INSTALL_PREFIX' \ + 'IBUS_RIME_SHARED_DATA_DIR "${brise}"' + + substituteInPlace rime.xml \ + --replace '/usr' $out + ''; + + meta = with stdenv.lib; { + isIbusEngine = true; + description = "Rime input method engine for IBus"; + homepage = "https://rime.im/"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ pengmeiyu ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c0c827bc13b..76dcb50e09a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3037,6 +3037,8 @@ in protobuf = pkgs.protobuf3_8.overrideDerivation (oldAttrs: { stdenv = clangStdenv; }); }; + rime = callPackage ../tools/inputmethods/ibus-engines/ibus-rime { }; + table = callPackage ../tools/inputmethods/ibus-engines/ibus-table { }; table-chinese = callPackage ../tools/inputmethods/ibus-engines/ibus-table-chinese {