nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at 22.05 103 lines 2.1 kB view raw
1{ lib 2, stdenv 3, fetchPypi 4, buildPythonPackage 5, which 6, pkg-config 7, python 8, isPy27 9, doxygen 10, cairo 11, ncurses 12, pango 13, wxGTK 14, pillow 15, numpy 16, libXinerama 17, libSM 18, libXxf86vm 19, libXtst 20, libGLU 21, libGL 22, xorgproto 23, gst_all_1 24, libglvnd 25, mesa 26, webkitgtk 27, autoPatchelfHook 28}: 29let 30 dynamic-linker = stdenv.cc.bintools.dynamicLinker; 31in 32buildPythonPackage rec { 33 pname = "wxPython"; 34 version = "4.1.1"; 35 disabled = isPy27; 36 37 src = fetchPypi { 38 inherit pname version; 39 sha256 = "0a1mdhdkda64lnwm1dg0dlrf9rs4gkal3lra6hpqbwn718cf7r80"; 40 }; 41 42 # https://github.com/NixOS/nixpkgs/issues/75759 43 # https://github.com/wxWidgets/Phoenix/issues/1316 44 doCheck = false; 45 46 nativeBuildInputs = [ 47 which 48 doxygen 49 wxGTK.gtk 50 pkg-config 51 ] ++ lib.optionals stdenv.isLinux [ 52 autoPatchelfHook 53 ]; 54 55 buildInputs = [ 56 wxGTK.gtk 57 ncurses 58 ] ++ lib.optionals stdenv.isLinux [ 59 libXinerama 60 libSM 61 libXxf86vm 62 libXtst 63 xorgproto 64 gst_all_1.gstreamer 65 gst_all_1.gst-plugins-base 66 libGLU 67 libGL 68 libglvnd 69 mesa 70 webkitgtk 71 ]; 72 73 propagatedBuildInputs = [ pillow numpy ]; 74 75 DOXYGEN = "${doxygen}/bin/doxygen"; 76 77 preConfigure = lib.optionalString (!stdenv.isDarwin) '' 78 substituteInPlace wx/lib/wxcairo/wx_pycairo.py \ 79 --replace '_dlls = dict()' '_dlls = {k: ctypes.CDLL(v) for k, v in [ 80 ("gdk", "${wxGTK.gtk}/lib/libgtk-x11-3.0.so"), 81 ("pangocairo", "${pango.out}/lib/libpangocairo-1.0.so"), 82 ("cairoLib = None", "cairoLib = ctypes.CDLL('${cairo}/lib/libcairo.so')"), 83 ("appsvc", None) 84 ]}' 85 ''; 86 87 buildPhase = '' 88 ${python.interpreter} build.py -v build_wx dox etg --nodoc sip build_py 89 ''; 90 91 installPhase = '' 92 ${python.interpreter} setup.py install --skip-build --prefix=$out 93 wrapPythonPrograms 94 ''; 95 96 meta = with lib; { 97 broken = stdenv.isDarwin; 98 description = "Cross platform GUI toolkit for Python, Phoenix version"; 99 homepage = "http://wxpython.org/"; 100 license = licenses.wxWindows; 101 maintainers = with maintainers; [ tfmoraes ]; 102 }; 103}