From afc7893e2969aa3a74d6f45b55dcbdaaa3f1eefc Mon Sep 17 00:00:00 2001 From: Pierre Labadens Date: Sun, 12 Dec 2021 08:45:13 +0100 Subject: [PATCH] wxPython: 4.1.0 -> 4.1.1 See https://github.com/NixOS/nixpkgs/pull/135607 --- pkgs/python-modules/default.nix | 2 + pkgs/python-modules/wxPython_4_1/default.nix | 100 +++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 pkgs/python-modules/wxPython_4_1/default.nix diff --git a/pkgs/python-modules/default.nix b/pkgs/python-modules/default.nix index 931e317..77b885c 100644 --- a/pkgs/python-modules/default.nix +++ b/pkgs/python-modules/default.nix @@ -6,4 +6,6 @@ obspy = callPackage ./obspy { }; python-validity = callPackage ./python-validity { }; + + wxPython_4_1 = callPackage ./wxPython_4_1 { }; } diff --git a/pkgs/python-modules/wxPython_4_1/default.nix b/pkgs/python-modules/wxPython_4_1/default.nix new file mode 100644 index 0000000..71f8b28 --- /dev/null +++ b/pkgs/python-modules/wxPython_4_1/default.nix @@ -0,0 +1,100 @@ +{ lib +, stdenv +, fetchPypi +, buildPythonPackage +, which +, pkg-config +, python +, isPy27 +, doxygen +, cairo +, ncurses +, pango +, wxGTK +, pillow +, numpy +, libXinerama +, libSM +, libXxf86vm +, libXtst +, libGLU +, libGL +, xorgproto +, gst_all_1 +, libglvnd +, mesa +, webkitgtk +, autoPatchelfHook +}: +let + dynamic-linker = stdenv.cc.bintools.dynamicLinker; +in +buildPythonPackage rec { + pname = "wxPython"; + version = "4.1.1"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "0a1mdhdkda64lnwm1dg0dlrf9rs4gkal3lra6hpqbwn718cf7r80"; + }; + + # https://github.com/NixOS/nixpkgs/issues/75759 + # https://github.com/wxWidgets/Phoenix/issues/1316 + doCheck = false; + + nativeBuildInputs = [ + which + doxygen + wxGTK.gtk + pkg-config + autoPatchelfHook + ]; + + buildInputs = [ + wxGTK.gtk + ncurses + libXinerama + libSM + libXxf86vm + libXtst + xorgproto + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + libGLU + libGL + libglvnd + mesa + webkitgtk + ]; + + propagatedBuildInputs = [ pillow numpy ]; + + DOXYGEN = "${doxygen}/bin/doxygen"; + + preConfigure = lib.optionalString (!stdenv.isDarwin) '' + 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-3.0.so"), + ("pangocairo", "${pango.out}/lib/libpangocairo-1.0.so"), + ("cairoLib = None", "cairoLib = ctypes.CDLL('${cairo}/lib/libcairo.so')"), + ("appsvc", None) + ]}' + ''; + + buildPhase = '' + ${python.interpreter} build.py -v build_wx dox etg --nodoc sip build_py + ''; + + installPhase = '' + ${python.interpreter} setup.py install --skip-build --prefix=$out + wrapPythonPrograms + ''; + + meta = with lib; { + description = "Cross platform GUI toolkit for Python, Phoenix version"; + homepage = "http://wxpython.org/"; + license = licenses.wxWindows; + maintainers = with maintainers; [ tfmoraes ]; + }; +}