1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 fetchpatch2,
6 pillow,
7 setuptools,
8 python,
9}:
10
11buildPythonPackage rec {
12 pname = "fabulous";
13 version = "0.4.0";
14 pyproject = true;
15
16 src = fetchFromGitHub {
17 owner = "jart";
18 repo = "fabulous";
19 rev = version;
20 hash = "sha256-hchlxuB5QP+VxCx+QZ2739/mR5SQmYyE+9kXLKJ2ij4=";
21 };
22
23 patches = [
24 ./relative_import.patch
25 # https://github.com/jart/fabulous/pull/22
26 (fetchpatch2 {
27 url = "https://github.com/jart/fabulous/commit/5779f2dfbc88fd81b5b5865247913d4775e67959.patch?full_index=1";
28 hash = "sha256-miWFt4vDpwWhSUgnWDjWUXoibijcDa1c1dDOSkfWoUg=";
29 })
30 ];
31
32 build-system = [ setuptools ];
33
34 dependencies = [ pillow ];
35
36 checkPhase = ''
37 for i in tests/*.py; do
38 ${python.interpreter} $i
39 done
40 '';
41
42 meta = {
43 description = "Make the output of terminal applications look fabulous";
44 homepage = "https://jart.github.io/fabulous";
45 license = lib.licenses.asl20;
46 maintainers = [ lib.maintainers.symphorien ];
47 };
48}