1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 importlib-metadata,
7 matplotlib,
8 numpy,
9 pytestCheckHook,
10 setuptools,
11}:
12
13buildPythonPackage rec {
14 pname = "dufte";
15 version = "0.2.29";
16 format = "pyproject";
17 disabled = pythonOlder "3.6";
18
19 src = fetchFromGitHub {
20 owner = "nschloe";
21 repo = "dufte";
22 rev = "v${version}";
23 hash = "sha256:0ccsmpj160xj6w503a948aw8icj55mw9414xnmijmmjvlwhm0p48";
24 };
25
26 nativeBuildInputs = [ setuptools ];
27
28 propagatedBuildInputs = [
29 matplotlib
30 numpy
31 ]
32 ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
33
34 preCheck = ''
35 export HOME=$(mktemp -d)
36 mkdir -p $HOME/.config/matplotlib
37 echo "backend: ps" > $HOME/.config/matplotlib/matplotlibrc
38 ln -s $HOME/.config/matplotlib $HOME/.matplotlib
39 '';
40
41 nativeCheckInputs = [ pytestCheckHook ];
42
43 pythonImportsCheck = [ "dufte" ];
44
45 meta = with lib; {
46 description = "Clean matplotlib plots";
47 homepage = "https://github.com/nschloe/dufte";
48 license = licenses.gpl3Plus;
49 maintainers = with maintainers; [ ris ];
50 };
51}