python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / inputmethods / ibus-engines / ibus-table-chinese / default.nix
blob40c33aff4011862b509dab3042f59ed44947b30c
1 { lib, stdenv, fetchgit, fetchFromGitHub, pkg-config, ibus, ibus-table, python3, cmake }:
3 let
4   src = fetchFromGitHub {
5     owner = "definite";
6     repo = "ibus-table-chinese";
7     rev = "f1f6a3384f021caa3b84c517e2495086f9c34507";
8     sha256 = "14wpw3pvyrrqvg7al37jk2dxqfj9r4zf88j8k2n2lmdc50f3xs7k";
9   };
11   cmakeFedoraSrc = fetchgit {
12     url = "https://pagure.io/cmake-fedora.git";
13     rev = "7d5297759aef4cd086bdfa30cf6d4b2ad9446992";
14     sha256 = "0mx9jvxpiva9v2ffaqlyny48iqr073h84yw8ln43z2avv11ipr7n";
15   };
16 in stdenv.mkDerivation {
17   pname = "ibus-table-chinese";
18   version = "1.8.2";
20   srcs = [ src cmakeFedoraSrc ];
21   sourceRoot = src.name;
23   postUnpack = ''
24     chmod u+w -R ${cmakeFedoraSrc.name}
25     mv ${cmakeFedoraSrc.name}/* source/cmake-fedora
26   '';
28   preConfigure = ''
29     # cmake script needs ./Modules folder to link to cmake-fedora
30     ln -s cmake-fedora/Modules ./
31   '';
33   # Fails when writing to /prj_info.cmake in https://pagure.io/cmake-fedora/blob/master/f/Modules/ManageVersion.cmake
34   cmakeFlags = [ "-DPRJ_INFO_CMAKE_FILE=/dev/null" "-DPRJ_DOC_DIR=REPLACE" "-DDATA_DIR=share" ];
35   # Must replace PRJ_DOC_DIR with actual share/ folder for ibus-table-chinese
36   # Otherwise it tries to write to /ibus-table-chinese if not defined (!)
37   postConfigure = ''
38     substituteInPlace cmake_install.cmake --replace '/build/source/REPLACE' $out/share/ibus-table-chinese
39   '';
40   # Fails otherwise with "no such file or directory: <table>.txt"
41   dontUseCmakeBuildDir = true;
42   # Fails otherwise sometimes with
43   # FileExistsError: [Errno 17] File exists: '/build/tmp.BfVAUM4llr/ibus-table-chinese/.local/share/ibus-table'
44   enableParallelBuilding = false;
46   preBuild = ''
47     export HOME=$(mktemp -d)/ibus-table-chinese
48   '';
50   postFixup = ''
51     rm -rf $HOME
52   '';
54   nativeBuildInputs = [ cmake pkg-config ];
55   buildInputs = [ ibus ibus-table python3 ];
57   meta = with lib; {
58     isIbusEngine = true;
59     description  = "Chinese tables for IBus-Table";
60     homepage     = "https://github.com/definite/ibus-table-chinese";
61     license      = licenses.gpl3;
62     platforms    = platforms.linux;
63     maintainers  = with maintainers; [ pneumaticat ];
64   };