1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchFromGitHub,
6 pkg-config,
7 setuptools,
8 pango,
9 cython,
10 AppKit,
11 pytest-cov-stub,
12 pytestCheckHook,
13 pythonOlder,
14}:
15
16buildPythonPackage rec {
17 pname = "manimpango";
18 version = "0.6.0";
19 pyproject = true;
20
21 disabled = pythonOlder "3.8";
22
23 src = fetchFromGitHub {
24 owner = "ManimCommunity";
25 repo = "manimpango";
26 rev = "refs/tags/v${version}";
27 hash = "sha256-nN+XOnki8fG7URMy2Fhs2X+yNi8Y7wDo53d61xaRa3w=";
28 };
29
30 nativeBuildInputs = [ pkg-config ];
31
32 buildInputs = [ pango ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ AppKit ];
33
34 build-system = [
35 setuptools
36 cython
37 ];
38
39 nativeCheckInputs = [
40 pytest-cov-stub
41 pytestCheckHook
42 ];
43
44 preCheck = ''
45 rm -r manimpango
46 '';
47
48 pythonImportsCheck = [ "manimpango" ];
49
50 meta = with lib; {
51 description = "Binding for Pango";
52 homepage = "https://github.com/ManimCommunity/ManimPango";
53 changelog = "https://github.com/ManimCommunity/ManimPango/releases/tag/v${version}";
54 license = licenses.mit;
55 maintainers = with maintainers; [ emilytrau ];
56 };
57}