From fd7ca9faec2ebef0afce74385633ca9c79df0c0e Mon Sep 17 00:00:00 2001 From: tbenst Date: Wed, 1 May 2019 15:40:10 -0700 Subject: [PATCH] python: wxPython: init at 4.0.6 --- .../python-modules/wxPython/4.0.nix | 60 ++++++++++++++++--- pkgs/top-level/python-packages.nix | 5 ++ 2 files changed, 56 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 +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e0a2d049ca5c..daf9f5e70cf2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5036,6 +5036,11 @@ in { inherit (pkgs) pkgconfig; }; + wxPython_4_0 = callPackage ../development/python-modules/wxPython/4.0.nix { + inherit (pkgs) pkgconfig; + wxGTK = pkgs.wxGTK30.override { withGtk2 = false; withWebKit = true; }; + }; + xml2rfc = callPackage ../development/python-modules/xml2rfc { }; xmlschema = callPackage ../development/python-modules/xmlschema { };