summary refs log tree commit diff
path: root/pkgs/development/python-modules/wxPython
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2019-08-24 08:19:05 +0200
committerVladimír Čunát <v@cunat.cz>2019-08-24 08:55:37 +0200
commit2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1 (patch)
tree36de0660dc2c9f3731bd8b60ec852ca0c452efce /pkgs/development/python-modules/wxPython
parent84a91208a948be5eca97ea182c4256d9d6ecf171 (diff)
parent8943fb5f24b9e1aa1d577be4e214d166643269fd (diff)
downloadnixpkgs-2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1.tar
nixpkgs-2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1.tar.gz
nixpkgs-2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1.tar.bz2
nixpkgs-2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1.tar.lz
nixpkgs-2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1.tar.xz
nixpkgs-2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1.tar.zst
nixpkgs-2e6bf42a2207d5ecfe6e67de2def6e004a0eb1f1.zip
Merge branch 'master' into staging-next
There ver very many conflicts, basically all due to
name -> pname+version.  Fortunately, almost everything was auto-resolved
by kdiff3, and for now I just fixed up a couple evaluation problems,
as verified by the tarball job.  There might be some fallback to these
conflicts, but I believe it should be minimal.

Hydra nixpkgs: ?compare=1538299
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 c953fe9fe1e..9f6e9866cef 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
+}