diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/wxpython/4.2.nix')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/wxpython/4.2.nix | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/wxpython/4.2.nix b/nixpkgs/pkgs/development/python-modules/wxpython/4.2.nix new file mode 100644 index 000000000000..70175f58c449 --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/wxpython/4.2.nix @@ -0,0 +1,137 @@ +{ lib +, stdenv +, buildPythonPackage +, setuptools +, pythonOlder +, fetchPypi +, substituteAll + +# build +, autoPatchelfHook +, attrdict +, doxygen +, pkg-config +, python +, sip +, which + +# runtime +, cairo +, gst_all_1 +, gtk3 +, libGL +, libGLU +, libSM +, libXinerama +, libXtst +, libXxf86vm +, libglvnd +, mesa +, pango +, SDL +, webkitgtk +, wxGTK +, xorgproto + +# propagates +, numpy +, pillow +, six +}: + +buildPythonPackage rec { + pname = "wxpython"; + version = "4.2.1"; + format = "other"; + disabled = pythonOlder "3.7"; + + src = fetchPypi { + pname = "wxPython"; + inherit version; + hash = "sha256-5I3iEaZga/By7D+neHcda3RsALf0uXDrWHKN31bRPVw="; + }; + + patches = [ + (substituteAll { + src = ./4.2-ctypes.patch; + libgdk = "${gtk3.out}/lib/libgdk-3.so"; + libpangocairo = "${pango}/lib/libpangocairo-1.0.so"; + libcairo = "${cairo}/lib/libcairo.so"; + }) + ]; + + nativeBuildInputs = [ + attrdict + pkg-config + setuptools + SDL + sip + which + wxGTK + ] ++ lib.optionals stdenv.isLinux [ + autoPatchelfHook + ]; + + buildInputs = [ + wxGTK + SDL + ] ++ lib.optionals stdenv.isLinux [ + gst_all_1.gst-plugins-base + gst_all_1.gstreamer + libGL + libGLU + libSM + libXinerama + libXtst + libXxf86vm + libglvnd + mesa + webkitgtk + xorgproto + ]; + + propagatedBuildInputs = [ + numpy + pillow + six + ]; + + buildPhase = '' + runHook preBuild + + export DOXYGEN=${doxygen}/bin/doxygen + export PATH="${wxGTK}/bin:$PATH" + export SDL_CONFIG="${SDL.dev}/bin/sdl-config" + + ${python.pythonOnBuildForHost.interpreter} build.py -v --use_syswx dox etg sip --nodoc build_py + + runHook postBuild + ''; + + + installPhase = '' + runHook preInstall + + ${python.pythonOnBuildForHost.interpreter} setup.py install --skip-build --prefix=$out + wrapPythonPrograms + + runHook postInstall + ''; + + checkPhase = '' + runHook preCheck + + ${python.interpreter} build.py -v test + + runHook postCheck + ''; + + + meta = with lib; { + changelog = "https://github.com/wxWidgets/Phoenix/blob/wxPython-${version}/CHANGES.rst"; + description = "Cross platform GUI toolkit for Python, Phoenix version"; + homepage = "http://wxpython.org/"; + license = licenses.wxWindows; + maintainers = with maintainers; [ hexa ]; + }; +} |