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 = pname;
22 rev = "v${version}";
23 hash = "sha256:0ccsmpj160xj6w503a948aw8icj55mw9414xnmijmmjvlwhm0p48";
24 };
25
26 nativeBuildInputs = [ setuptools ];
27
28 propagatedBuildInputs = [
29 matplotlib
30 numpy
31 ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
32
33 preCheck = ''
34 export HOME=$(mktemp -d)
35 mkdir -p $HOME/.config/matplotlib
36 echo "backend: ps" > $HOME/.config/matplotlib/matplotlibrc
37 ln -s $HOME/.config/matplotlib $HOME/.matplotlib
38 '';
39
40 nativeCheckInputs = [ pytestCheckHook ];
41
42 pythonImportsCheck = [ "dufte" ];
43
44 meta = with lib; {
45 description = "Clean matplotlib plots";
46 homepage = "https://github.com/nschloe/dufte";
47 license = licenses.gpl3Plus;
48 maintainers = with maintainers; [ ris ];
49 };
50}