diff --git a/pkgs/development/python-modules/wxPython/4.1.nix b/pkgs/development/python-modules/wxPython/4.1.nix index afe961f7323b..3731ea988f61 100644 --- a/pkgs/development/python-modules/wxPython/4.1.nix +++ b/pkgs/development/python-modules/wxPython/4.1.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchPypi +, fetchpatch , buildPythonPackage , setuptools , which @@ -12,6 +13,19 @@ , ncurses , pango , wxGTK +, AGL +, AudioToolbox +, AVFoundation +, AVKit +, Carbon +, Cocoa +, CoreFoundation +, CoreMedia +, IOKit +, Kernel +, OpenGL +, Security +, WebKit , pillow , numpy , libXinerama @@ -41,6 +55,13 @@ buildPythonPackage rec { sha256 = "0a1mdhdkda64lnwm1dg0dlrf9rs4gkal3lra6hpqbwn718cf7r80"; }; + # ld: framework not found System + postPatch = '' + for file in ext/wxWidgets/configure*; do + substituteInPlace $file --replace "-framework System" "" + done + ''; + # https://github.com/NixOS/nixpkgs/issues/75759 # https://github.com/wxWidgets/Phoenix/issues/1316 doCheck = false; @@ -71,6 +92,20 @@ buildPythonPackage rec { libglvnd mesa webkitgtk + ] ++ lib.optionals stdenv.isDarwin [ + AGL + AudioToolbox + AVFoundation + AVKit + Carbon + Cocoa + CoreFoundation + CoreMedia + IOKit + Kernel + OpenGL + Security + WebKit ]; propagatedBuildInputs = [ pillow numpy ]; @@ -97,7 +132,6 @@ buildPythonPackage rec { ''; meta = with lib; { - broken = stdenv.isDarwin; description = "Cross platform GUI toolkit for Python, Phoenix version"; homepage = "http://wxpython.org/"; license = licenses.wxWindows; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 98e7c6c5f273..25432892b346 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11936,8 +11936,8 @@ in { }; wxPython_4_1 = callPackage ../development/python-modules/wxPython/4.1.nix { - wxGTK = pkgs.wxGTK31.override { - withGtk2 = false; + inherit (pkgs.darwin.apple_sdk.frameworks) AGL AudioToolbox AVFoundation AVKit Carbon Cocoa CoreMedia CoreFoundation IOKit Kernel OpenGL Security WebKit; + wxGTK = pkgs.wxGTK31-gtk3.override { withWebKit = true; }; };