Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 21.05 75 lines 1.7 kB view raw
1{ lib 2, stdenv 3, buildPythonPackage 4, fetchPypi 5, pkg-config 6, which 7, cairo 8, pango 9, python 10, doxygen 11, ncurses 12, libintl 13, wxGTK 14, wxmac 15, IOKit 16, Carbon 17, Cocoa 18, AudioToolbox 19, OpenGL 20, CoreFoundation 21}: 22 23buildPythonPackage rec { 24 pname = "wxPython"; 25 version = "4.0.7.post2"; 26 27 src = fetchPypi { 28 inherit pname version; 29 sha256 = "5a229e695b64f9864d30a5315e0c1e4ff5e02effede0a07f16e8d856737a0c4e"; 30 }; 31 32 doCheck = false; 33 34 nativeBuildInputs = [ pkg-config which doxygen ] 35 ++ (if stdenv.isDarwin then [ wxmac ] else [ wxGTK ]); 36 37 buildInputs = [ ncurses libintl ] 38 ++ (if stdenv.isDarwin 39 then 40 [ AudioToolbox Carbon Cocoa CoreFoundation IOKit OpenGL ] 41 else 42 [ wxGTK.gtk ] 43 ); 44 45 DOXYGEN = "${doxygen}/bin/doxygen"; 46 47 preConfigure = lib.optionalString (!stdenv.isDarwin) '' 48 substituteInPlace wx/lib/wxcairo/wx_pycairo.py \ 49 --replace 'cairoLib = None' 'cairoLib = ctypes.CDLL("${cairo}/lib/libcairo.so")' 50 substituteInPlace wx/lib/wxcairo/wx_pycairo.py \ 51 --replace '_dlls = dict()' '_dlls = {k: ctypes.CDLL(v) for k, v in [ 52 ("gdk", "${wxGTK.gtk}/lib/libgtk-x11-2.0.so"), 53 ("pangocairo", "${pango.out}/lib/libpangocairo-1.0.so"), 54 ("appsvc", None) 55 ]}' 56 ''; 57 58 buildPhase = '' 59 ${python.interpreter} build.py -v --use_syswx dox etg --nodoc sip build_py 60 ''; 61 62 installPhase = '' 63 ${python.interpreter} setup.py install --skip-build --prefix=$out 64 ''; 65 66 passthru = { wxWidgets = if stdenv.isDarwin then wxmac else wxGTK; }; 67 68 69 meta = { 70 description = "Cross platform GUI toolkit for Python, Phoenix version"; 71 homepage = "http://wxpython.org/"; 72 license = lib.licenses.wxWindows; 73 }; 74 75}