summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/wxPython
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/wxPython')
-rw-r--r--pkgs/development/python-modules/wxPython/4.0.nix60
1 files changed, 51 insertions, 9 deletions
diff --git a/pkgs/development/python-modules/wxPython/4.0.nix b/pkgs/development/python-modules/wxPython/4.0.nix
index c953fe9fe1e3..9f6e9866cef3 100644
--- a/pkgs/development/python-modules/wxPython/4.0.nix
+++ b/pkgs/development/python-modules/wxPython/4.0.nix
@@ -1,8 +1,11 @@
{ lib
+, stdenv
+, openglSupport ? true
+, libX11
+, pyopengl
, buildPythonPackage
, fetchPypi
, pkgconfig
-, gtk3
, libjpeg
, libtiff
, SDL
@@ -11,6 +14,16 @@
, freeglut
, xorg
, which
+, cairo
+, requests
+, pango
+, pathlib2
+, python
+, doxygen
+, ncurses
+, libpng
+, gstreamer
+, wxGTK
}:
buildPythonPackage rec {
@@ -22,14 +35,43 @@ buildPythonPackage rec {
sha256 = "35cc8ae9dd5246e2c9861bb796026bbcb9fb083e4d49650f776622171ecdab37";
};
- nativeBuildInputs = [
- pkgconfig
- ];
+ doCheck = false;
- buildInputs = [
- gtk3 libjpeg libtiff SDL gst-plugins-base libnotify freeglut xorg.libSM
- which
- ];
+ nativeBuildInputs = [ pkgconfig which doxygen wxGTK ];
+
+ buildInputs = [ libjpeg libtiff SDL
+ gst-plugins-base libnotify freeglut xorg.libSM ncurses
+ requests libpng gstreamer libX11
+ pathlib2
+ (wxGTK.gtk)
+ ]
+ ++ lib.optional openglSupport pyopengl;
+
+ hardeningDisable = [ "format" ];
+
+ DOXYGEN = "${doxygen}/bin/doxygen";
+
+ preConfigure = lib.optionalString (!stdenv.isDarwin) ''
+ substituteInPlace wx/lib/wxcairo/wx_pycairo.py \
+ --replace 'cairoLib = None' 'cairoLib = ctypes.CDLL("${cairo}/lib/libcairo.so")'
+ substituteInPlace wx/lib/wxcairo/wx_pycairo.py \
+ --replace '_dlls = dict()' '_dlls = {k: ctypes.CDLL(v) for k, v in [
+ ("gdk", "${wxGTK.gtk}/lib/libgtk-x11-2.0.so"),
+ ("pangocairo", "${pango.out}/lib/libpangocairo-1.0.so"),
+ ("appsvc", None)
+ ]}'
+ '';
+
+ buildPhase = ''
+ ${python.interpreter} build.py -v --use_syswx dox etg --nodoc sip build_py
+ '';
+
+ installPhase = ''
+ ${python.interpreter} setup.py install --skip-build --prefix=$out
+ wrapPythonPrograms
+ '';
+
+ passthru = { inherit wxGTK openglSupport; };
meta = {
@@ -38,4 +80,4 @@ buildPythonPackage rec {
license = lib.licenses.wxWindows;
};
-} \ No newline at end of file
+}