1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5
6 # build-system
7 setuptools,
8
9 # dependencies
10 importlib-metadata,
11
12 # optional-dependencies
13 lxml,
14 cairosvg,
15
16 # tests
17 pyquery,
18 pytestCheckHook,
19}:
20
21buildPythonPackage rec {
22 pname = "pygal";
23 version = "3.0.4";
24 pyproject = true;
25
26 src = fetchPypi {
27 inherit pname version;
28 hash = "sha256-bF2jPxBB6LMMvJgPijSRDZ7cWEuDMkApj2ol32VCUok=";
29 };
30
31 postPatch = ''
32 substituteInPlace setup.py \
33 --replace pytest-runner ""
34 '';
35
36 nativeBuildInputs = [ setuptools ];
37
38 propagatedBuildInputs = [ importlib-metadata ];
39
40 passthru.optional-dependencies = {
41 lxml = [ lxml ];
42 png = [ cairosvg ];
43 };
44
45 nativeCheckInputs = [
46 pyquery
47 pytestCheckHook
48 ] ++ passthru.optional-dependencies.png;
49
50 preCheck = ''
51 # necessary on darwin to pass the testsuite
52 export LANG=en_US.UTF-8
53 '';
54
55 meta = with lib; {
56 changelog = "https://github.com/Kozea/pygal/blob/${version}/docs/changelog.rst";
57 downloadPage = "https://github.com/Kozea/pygal";
58 description = "Sexy and simple python charting";
59 mainProgram = "pygal_gen.py";
60 homepage = "http://www.pygal.org";
61 license = licenses.lgpl3Plus;
62 maintainers = with maintainers; [ ];
63 };
64}