about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/wxpython/4.2.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/wxpython/4.2.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/wxpython/4.2.nix137
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 ];
+  };
+}