Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 65 lines 1.3 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 cmake, 6 gdk-pixbuf, 7 glib, 8 ibus, 9 libnotify, 10 librime, 11 pkg-config, 12 rime-data, 13 symlinkJoin, 14 rimeDataPkgs ? [ rime-data ], 15}: 16 17stdenv.mkDerivation rec { 18 pname = "ibus-rime"; 19 version = "1.5.1"; 20 21 src = fetchFromGitHub { 22 owner = "rime"; 23 repo = "ibus-rime"; 24 rev = version; 25 sha256 = "sha256-6lqPdcIJmwHcr4G6BhIDMhEtEOpOPgWqfkKXqaDjUY0="; 26 }; 27 28 buildInputs = [ 29 gdk-pixbuf 30 glib 31 ibus 32 libnotify 33 librime 34 ]; 35 nativeBuildInputs = [ 36 cmake 37 pkg-config 38 ]; 39 40 cmakeFlags = [ "-DRIME_DATA_DIR=${placeholder "out"}/share/rime-data" ]; 41 42 rimeDataDrv = symlinkJoin { 43 name = "ibus-rime-data"; 44 paths = rimeDataPkgs; 45 postBuild = '' 46 mkdir -p $out/share/rime-data 47 48 # Ensure default.yaml exists 49 [ -e "$out/share/rime-data/default.yaml" ] || touch "$out/share/rime-data/default.yaml" 50 ''; 51 }; 52 53 postInstall = '' 54 cp -r "${rimeDataDrv}/share/rime-data/." $out/share/rime-data/ 55 ''; 56 57 meta = with lib; { 58 isIbusEngine = true; 59 description = "Rime input method engine for IBus"; 60 homepage = "https://rime.im/"; 61 license = licenses.gpl3Plus; 62 platforms = platforms.linux; 63 maintainers = with maintainers; [ pmy ]; 64 }; 65}