1{ lib
2, stdenv
3, buildPythonPackage
4, fetchPypi
5, pkgconfig
6, which
7, cairo
8, pango
9, python
10, doxygen
11, ncurses
12, wxGTK
13, numpy
14, pillow
15, six
16}:
17
18buildPythonPackage rec {
19 pname = "wxPython";
20 version = "4.0.7.post2";
21
22 src = fetchPypi {
23 inherit pname version;
24 sha256 = "5a229e695b64f9864d30a5315e0c1e4ff5e02effede0a07f16e8d856737a0c4e";
25 };
26
27 doCheck = false;
28
29 nativeBuildInputs = [ pkgconfig which doxygen wxGTK ];
30 buildInputs = [ ncurses wxGTK.gtk ];
31
32 DOXYGEN = "${doxygen}/bin/doxygen";
33
34 preConfigure = lib.optionalString (!stdenv.isDarwin) ''
35 substituteInPlace wx/lib/wxcairo/wx_pycairo.py \
36 --replace 'cairoLib = None' 'cairoLib = ctypes.CDLL("${cairo}/lib/libcairo.so")'
37 substituteInPlace wx/lib/wxcairo/wx_pycairo.py \
38 --replace '_dlls = dict()' '_dlls = {k: ctypes.CDLL(v) for k, v in [
39 ("gdk", "${wxGTK.gtk}/lib/libgtk-x11-2.0.so"),
40 ("pangocairo", "${pango.out}/lib/libpangocairo-1.0.so"),
41 ("appsvc", None)
42 ]}'
43 '';
44
45 buildPhase = ''
46 ${python.interpreter} build.py -v --use_syswx dox etg --nodoc sip build_py
47 '';
48
49 installPhase = ''
50 ${python.interpreter} setup.py install --skip-build --prefix=$out
51 '';
52
53 passthru = { inherit wxGTK; };
54
55
56 meta = {
57 description = "Cross platform GUI toolkit for Python, Phoenix version";
58 homepage = "http://wxpython.org/";
59 license = lib.licenses.wxWindows;
60 };
61
62}