summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/wxPython
diff options
context:
space:
mode:
authorMartin Weinelt <mweinelt@users.noreply.github.com>2022-10-26 00:01:51 +0200
committerGitHub <noreply@github.com>2022-10-26 00:01:51 +0200
commit256462226fb905d6f2a0d94fa67fcb3cd326505f (patch)
treea17631912c55f55515fcdc436d7e426680cd1626 /pkgs/development/python-modules/wxPython
parent79cb687bdf09075771d1c07b5766df0756d79534 (diff)
parent446a718d13088aea9e15503f04e56d5f868ed91c (diff)
Merge pull request #190587 from mweinelt/meerk40t
Diffstat (limited to 'pkgs/development/python-modules/wxPython')
-rw-r--r--pkgs/development/python-modules/wxPython/4.0.nix7
-rw-r--r--pkgs/development/python-modules/wxPython/4.1.nix7
-rw-r--r--pkgs/development/python-modules/wxPython/4.2-ctypes.patch18
-rw-r--r--pkgs/development/python-modules/wxPython/4.2.nix133
4 files changed, 163 insertions, 2 deletions
diff --git a/pkgs/development/python-modules/wxPython/4.0.nix b/pkgs/development/python-modules/wxPython/4.0.nix
index 9b4dcd5e6b48..509010afb3f1 100644
--- a/pkgs/development/python-modules/wxPython/4.0.nix
+++ b/pkgs/development/python-modules/wxPython/4.0.nix
@@ -21,6 +21,7 @@
, CoreFoundation
, pillow
, numpy
+, six
}:
buildPythonPackage rec {
@@ -46,7 +47,11 @@ buildPythonPackage rec {
[ wxGTK.gtk ]
);
- propagatedBuildInputs = [ pillow numpy ];
+ propagatedBuildInputs = [
+ numpy
+ pillow
+ six
+ ];
DOXYGEN = "${doxygen}/bin/doxygen";
diff --git a/pkgs/development/python-modules/wxPython/4.1.nix b/pkgs/development/python-modules/wxPython/4.1.nix
index 3731ea988f61..dceab0dd26a9 100644
--- a/pkgs/development/python-modules/wxPython/4.1.nix
+++ b/pkgs/development/python-modules/wxPython/4.1.nix
@@ -28,6 +28,7 @@
, WebKit
, pillow
, numpy
+, six
, libXinerama
, libSM
, libXxf86vm
@@ -108,7 +109,11 @@ buildPythonPackage rec {
WebKit
];
- propagatedBuildInputs = [ pillow numpy ];
+ propagatedBuildInputs = [
+ pillow
+ numpy
+ six
+ ];
DOXYGEN = "${doxygen}/bin/doxygen";
diff --git a/pkgs/development/python-modules/wxPython/4.2-ctypes.patch b/pkgs/development/python-modules/wxPython/4.2-ctypes.patch
new file mode 100644
index 000000000000..17fd8a9a8490
--- /dev/null
+++ b/pkgs/development/python-modules/wxPython/4.2-ctypes.patch
@@ -0,0 +1,18 @@
+diff --git a/wx/lib/wxcairo/wx_pycairo.py b/wx/lib/wxcairo/wx_pycairo.py
+index 7cfe3071..24d1120f 100644
+--- a/wx/lib/wxcairo/wx_pycairo.py
++++ b/wx/lib/wxcairo/wx_pycairo.py
+@@ -197,7 +197,12 @@ def _findCairoLib():
+
+ # For other DLLs we'll just use a dictionary to track them, as there
+ # probably isn't any need to use them outside of this module.
+-_dlls = dict()
++_dlls = {
++ "gdk": ctypes.CDLL("@libgdk@"),
++ "pangocairo": ctypes.CDLL("@libpangocairo@"),
++ "cairoLib": ctypes.CDLL("@libcairo@"),
++ "appsvc": ctypes.CDLL(None),
++}
+
+ def _findHelper(names, key, msg):
+ dll = _dlls.get(key, None)
diff --git a/pkgs/development/python-modules/wxPython/4.2.nix b/pkgs/development/python-modules/wxPython/4.2.nix
new file mode 100644
index 000000000000..a68d6cb4590a
--- /dev/null
+++ b/pkgs/development/python-modules/wxPython/4.2.nix
@@ -0,0 +1,133 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, 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.0";
+ format = "other";
+ disabled = pythonOlder "3.7";
+
+ src = fetchPypi {
+ inherit pname version;
+ hash = "sha256-ZjzrxFCdfl0RNRiGX+J093+VQ0xdV7w4btWNZc7thsc=";
+ };
+
+ 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
+ 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.interpreter} build.py -v --use_syswx dox etg sip --nodoc build_py
+
+ runHook postBuild
+ '';
+
+
+ installPhase = ''
+ runHook preInstall
+
+ ${python.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; {
+ description = "Cross platform GUI toolkit for Python, Phoenix version";
+ homepage = "http://wxpython.org/";
+ license = licenses.wxWindows;
+ maintainers = with maintainers; [ hexa ];
+ };
+}