1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 rustPlatform,
6 libiconv,
7 pytestCheckHook,
8}:
9
10buildPythonPackage rec {
11 pname = "python-bidi";
12 version = "0.6.0";
13 pyproject = true;
14
15 src = fetchFromGitHub {
16 owner = "MeirKriheli";
17 repo = "python-bidi";
18 rev = "refs/tags/v${version}";
19 hash = "sha256-LrXt9qaXfy8Rn9HjU4YSTFT4WsqzwCgh0flcxXOTF6E=";
20 };
21
22 cargoDeps = rustPlatform.fetchCargoTarball {
23 inherit src;
24 name = "${pname}-${version}";
25 hash = "sha256-34R8T8cXiX1iRx/Zb51Eb/nf0wLpN38hz0VnsmzPzws=";
26 };
27
28 buildInputs = [ libiconv ];
29
30 build-system = [
31 rustPlatform.cargoSetupHook
32 rustPlatform.maturinBuildHook
33 ];
34
35 preCheck = ''
36 rm -rf bidi
37 '';
38
39 nativeCheckInputs = [ pytestCheckHook ];
40
41 meta = {
42 homepage = "https://github.com/MeirKriheli/python-bidi";
43 description = "Pure python implementation of the BiDi layout algorithm";
44 mainProgram = "pybidi";
45 platforms = lib.platforms.unix;
46 maintainers = with lib.maintainers; [ freezeboy ];
47 };
48}