@@ -1,26 +1,57 @@
11{ lib
22, buildPythonPackage
3−, fetchPypi
3+, fetchFromGitHub
4+, scipy
45, numpy
5−, pyopengl
66, pyqt5
7−, scipy
7+, pyopengl
8+, qt5
9+, python
10+, pytestCheckHook
11+, freefont_ttf
12+, makeFontsConf
13+, fetchpatch
814}:
915
16+let
17+ fontsConf = makeFontsConf {
18+ fontDirectories = [ freefont_ttf ];
19+ };
20+in
1021buildPythonPackage rec {
1122 pname = "pyqtgraph";
12− version = "0.12.1";
23+ version = "0.12.2";
1324
14− src = fetchPypi {
15− inherit pname version;
16− sha256 = "d2ef3b5289184fb48dfe5f44ccb58d9d64ffb5452fc524a2bd7a640a36b3874d";
25+ src = fetchFromGitHub {
26+ owner = "pyqtgraph";
27+ repo = "pyqtgraph";
28+ rev = "pyqtgraph-${version}";
29+ sha256 = "093kkxwj75nb508vz7px4x7lxrwpaff10pl15m4h74hjwyvbsg3d";
1730 };
1831
19− propagatedBuildInputs = [ numpy pyopengl pyqt5 scipy ];
32+ # TODO: remove when updating to 0.12.3
33+ patches = [
34+ (fetchpatch {
35+ url = "https://github.com/pyqtgraph/pyqtgraph/commit/2de5cd78da92b48e48255be2f41ae332cf8bb675.patch";
36+ sha256 = "1hy86psqyl6ipvbg23zvackkd6f7ajs6qll0mbs0x2zmrj92hk00";
37+ })
38+ ];
39+
40+ propagatedBuildInputs = [
41+ numpy
42+ pyqt5
43+ scipy
44+ pyopengl
45+ ];
2046
21− doCheck = false; # tries to create windows (QApps) on collection, which fails (probably due to no display)
47+ checkInputs = [ pytestCheckHook ];
2248
23− pythonImportsCheck = [ "pyqtgraph" ];
49+ preCheck = ''
50+ export QT_PLUGIN_PATH="${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix}"
51+ export QT_QPA_PLATFORM=offscreen
52+ export DYLD_FRAMEWORK_PATH=/System/Library/Frameworks
53+ export FONTCONFIG_FILE=${fontsConf}
54+ '';
2455
2556 meta = with lib; {
2657 description = "Scientific Graphics and GUI Library for Python";