Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / librime / default.nix
blob8bbcb7af80a37fc2257b17a3ed7d30bdce7850fb
1 { lib, stdenv, fetchFromGitHub, cmake, boost, glog, leveldb, marisa, opencc,
2   yaml-cpp, gtest, capnproto, pkg-config, plugins ? [ ] }:
4 let
5   copySinglePlugin = plug: "cp -r ${plug} plugins/${plug.name}";
6   copyPlugins = ''
7     mkdir -p plugins
8     ${lib.concatMapStringsSep "\n" copySinglePlugin plugins}
9     chmod +w -R plugins/*
10   '';
12 stdenv.mkDerivation rec {
13   pname = "librime";
14   version = "1.9.0";
16   src = fetchFromGitHub {
17     owner = "rime";
18     repo = pname;
19     rev = version;
20     sha256 = "sha256-4gEdltdm9A3FxwyZqgSyUWgQ934glinfKwHF8S05f5I=";
21   };
23   nativeBuildInputs = [ cmake pkg-config ];
25   buildInputs = [ boost glog leveldb marisa opencc yaml-cpp gtest capnproto ]
26               ++ plugins; # for propagated build inputs
28   preConfigure = copyPlugins;
30   meta = with lib; {
31     homepage    = "https://rime.im/";
32     description = "Rime Input Method Engine, the core library";
33     license     = licenses.bsd3;
34     maintainers = with maintainers; [ vonfry ];
35     platforms   = platforms.linux ++ platforms.darwin;
36   };