1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 setuptools,
8
9 # dependencies
10 cairocffi,
11 cssselect2,
12 defusedxml,
13 pillow,
14 tinycss2,
15
16 # testing
17 pytestCheckHook,
18}:
19
20buildPythonPackage rec {
21 pname = "cairosvg";
22 version = "2.8.2";
23 pyproject = true;
24
25 src = fetchFromGitHub {
26 owner = "Kozea";
27 repo = "CairoSVG";
28 tag = version;
29 hash = "sha256-KWUZA8pcHMnDEkAYZt3zDzPNynhGBuLZuagNPfHF8EA=";
30 };
31
32 build-system = [ setuptools ];
33
34 dependencies = [
35 cairocffi
36 cssselect2
37 defusedxml
38 pillow
39 tinycss2
40 ];
41
42 nativeBuildInputs = [ cairocffi ];
43
44 nativeCheckInputs = [ pytestCheckHook ];
45
46 enabledTestPaths = [ "cairosvg/test_api.py" ];
47
48 pythonImportsCheck = [ "cairosvg" ];
49
50 meta = {
51 homepage = "https://cairosvg.org";
52 changelog = "https://github.com/Kozea/CairoSVG/releases/tag/${version}";
53 license = lib.licenses.lgpl3Plus;
54 description = "SVG converter based on Cairo";
55 mainProgram = "cairosvg";
56 maintainers = [ lib.maintainers.sarahec ];
57 };
58}