1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 cython,
7 pkgconfig,
8 setuptools,
9 setuptools-scm,
10 pytestCheckHook,
11}:
12
13buildPythonPackage rec {
14 pname = "uharfbuzz";
15 version = "0.51.1";
16 pyproject = true;
17
18 disabled = pythonOlder "3.5";
19
20 src = fetchFromGitHub {
21 owner = "harfbuzz";
22 repo = "uharfbuzz";
23 tag = "v${version}";
24 fetchSubmodules = true;
25 hash = "sha256-mVxG0unTjMjb0/6w58Py+TARw8YmOWljTlQQwUEdMpg=";
26 };
27
28 postPatch = ''
29 substituteInPlace pyproject.toml \
30 --replace-fail "setuptools >= 36.4, < 72.2" setuptools
31 '';
32
33 build-system = [
34 cython
35 pkgconfig
36 setuptools
37 setuptools-scm
38 ];
39
40 nativeCheckInputs = [ pytestCheckHook ];
41
42 pythonImportsCheck = [ "uharfbuzz" ];
43
44 meta = with lib; {
45 description = "Streamlined Cython bindings for the harfbuzz shaping engine";
46 homepage = "https://github.com/harfbuzz/uharfbuzz";
47 license = licenses.asl20;
48 maintainers = [ ];
49 };
50}