1{
2 lib,
3 anyio,
4 async-generator,
5 buildPythonPackage,
6 fetchFromGitHub,
7 cpyparsing,
8 ipykernel,
9 mypy,
10 pexpect,
11 pygments,
12 pytestCheckHook,
13 prompt-toolkit,
14 setuptools,
15 tkinter,
16 watchdog,
17}:
18
19buildPythonPackage rec {
20 pname = "coconut";
21 version = "3.1.1";
22 pyproject = true;
23
24 src = fetchFromGitHub {
25 owner = "evhub";
26 repo = "coconut";
27 rev = "refs/tags/v${version}";
28 hash = "sha256-AqKLSghuyha4wSaC/91bfNna7v8xyw8NLRWBjwu5Rjo=";
29 };
30
31 nativeBuildInputs = [ setuptools ];
32
33 propagatedBuildInputs = [
34 anyio
35 async-generator
36 cpyparsing
37 ipykernel
38 mypy
39 pygments
40 prompt-toolkit
41 setuptools
42 watchdog
43 ];
44
45 nativeCheckInputs = [
46 pexpect
47 pytestCheckHook
48 tkinter
49 ];
50
51 # Currently most tests have performance issues
52 pytestFlagsArray = [ "coconut/tests/constants_test.py" ];
53
54 pythonImportsCheck = [ "coconut" ];
55
56 meta = with lib; {
57 description = "Simple, elegant, Pythonic functional programming";
58 homepage = "http://coconut-lang.org/";
59 changelog = "https://github.com/evhub/coconut/releases/tag/v${version}";
60 license = licenses.asl20;
61 maintainers = with maintainers; [ fabianhjr ];
62 };
63}