1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 hatchling,
6 uv-dynamic-versioning,
7 pythonOlder,
8 reflex,
9 pytestCheckHook,
10}:
11
12buildPythonPackage rec {
13 pname = "reflex-chakra";
14 version = "0.8.2post1";
15 pyproject = true;
16
17 disabled = pythonOlder "3.9";
18
19 src = fetchFromGitHub {
20 owner = "reflex-dev";
21 repo = "reflex-chakra";
22 tag = "v${version}";
23 hash = "sha256-DugZRZpGP90EFkBjpAS1XkjrNPG6WWwCQPUcEZJ0ff8=";
24 };
25
26 postPatch = ''
27 substituteInPlace pyproject.toml \
28 --replace-fail ', "uv-dynamic-versioning"' "" \
29 --replace-fail 'source = "uv-dynamic-versioning"' 'source = "env"${"\n"}variable = "version"'
30 '';
31
32 build-system = [
33 hatchling
34 uv-dynamic-versioning
35 ];
36 dependencies = [ reflex ];
37
38 pythonImportsCheck = [ "reflex_chakra" ];
39
40 nativeCheckInputs = [ pytestCheckHook ];
41
42 # there are no "test_*.py" files, and the
43 # other files with `test_*` functions are not maintained it seems
44 doCheck = false;
45
46 meta = {
47 description = "Chakra Implementation in Reflex";
48 homepage = "https://github.com/reflex-dev/reflex-chakra";
49 changelog = "https://github.com/reflex-dev/reflex-chakra/releases/tag/${src.tag}";
50 license = lib.licenses.asl20;
51 maintainers = with lib.maintainers; [ fab ];
52 };
53}