at master 1.6 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchPypi, 5 pythonOlder, 6 stdenv, 7 8 # build-system 9 setuptools, 10 11 # dependencies 12 importlib-metadata, 13 14 # optional-dependencies 15 lxml, 16 cairosvg, 17 18 # tests 19 pyquery, 20 pytestCheckHook, 21}: 22 23buildPythonPackage rec { 24 pname = "pygal"; 25 version = "3.0.5"; 26 pyproject = true; 27 28 disabled = pythonOlder "3.8"; 29 30 src = fetchPypi { 31 inherit pname version; 32 hash = "sha256-wKDzTlvBwBl1wr+4NCrVIeKTrULlJWmd0AxNelLBS3E="; 33 }; 34 35 postPatch = '' 36 substituteInPlace setup.py \ 37 --replace-fail pytest-runner "" 38 ''; 39 40 build-system = [ setuptools ]; 41 42 dependencies = [ importlib-metadata ]; 43 44 optional-dependencies = { 45 lxml = [ lxml ]; 46 png = [ cairosvg ]; 47 }; 48 49 nativeCheckInputs = [ 50 pyquery 51 pytestCheckHook 52 ] 53 ++ lib.flatten (lib.attrValues optional-dependencies); 54 55 preCheck = '' 56 # necessary on darwin to pass the testsuite 57 export LANG=en_US.UTF-8 58 ''; 59 60 # Cairo tries to load system fonts by default. 61 # It's surfaced as a Cairo "out of memory" error in tests. 62 __impureHostDeps = [ "/System/Library/Fonts" ]; 63 64 postCheck = '' 65 export LANG=${if stdenv.hostPlatform.isDarwin then "en_US.UTF-8" else "C.UTF-8"} 66 ''; 67 68 meta = with lib; { 69 description = "Module for dynamic SVG charting"; 70 homepage = "http://www.pygal.org"; 71 changelog = "https://github.com/Kozea/pygal/blob/${version}/docs/changelog.rst"; 72 downloadPage = "https://github.com/Kozea/pygal"; 73 license = licenses.lgpl3Plus; 74 maintainers = [ ]; 75 mainProgram = "pygal_gen.py"; 76 }; 77}