1{
2 lib,
3 buildPythonPackage,
4 colorama,
5 fetchFromGitHub,
6 pytestCheckHook,
7 setuptools,
8}:
9
10buildPythonPackage rec {
11 pname = "yasi";
12 version = "2.1.2";
13 pyproject = true;
14
15 src = fetchFromGitHub {
16 owner = "nkmathew";
17 repo = "yasi-sexp-indenter";
18 rev = "v${version}";
19 hash = "sha256-xKhVTmh/vrtBkatxtk8R4yqbGroH0I+xTKNYUpuikt4=";
20 };
21
22 nativeBuildInputs = [ setuptools ];
23
24 propagatedBuildInputs = [ colorama ];
25
26 nativeCheckInputs = [ pytestCheckHook ];
27
28 postPatch = ''
29 substituteInPlace setup.py \
30 --replace "test.test_yasi" "tests.test_yasi"
31 '';
32
33 pythonImportsCheck = [ "yasi" ];
34
35 meta = with lib; {
36 description = "Dialect-aware s-expression indenter written in Python and newLISP";
37 mainProgram = "yasi";
38 homepage = "https://github.com/nkmathew/yasi-sexp-indenter";
39 changelog = "https://github.com/nkmathew/yasi-sexp-indenter/blob/${src.rev}/CHANGELOG.md";
40 license = licenses.mit;
41 maintainers = with maintainers; [ kranzes ];
42 };
43}