Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

python3Packages.wxPython_4_0: build on darwin #97101

Open
wants to merge 2 commits into
base: master
from

Conversation

@fricklerhandwerk
Copy link

@fricklerhandwerk fricklerhandwerk commented Sep 4, 2020

Motivation for this change

Fix #86040

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

Building in sandbox cannot be checked, because clang fails, as described in #41099 and #41099:

configure:16875: checking whether the C compiler works
configure:16897: clang    conftest.c  >&5
ld: warning: directory not found for option '-F/System/Library/PrivateFrameworks'
ld: file not found: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)

Building reverse dependencies fails for the same reason. Essentially I have no idea if I broke something for Darwin users and no reasonable way to check it.

error: build of '/nix/store/fzcx83xcq7ni2wrmjm8j6h894zn1b3cd-env.drv' failed
21 package marked as broken and skipped:
ell errbot mergerfs mergerfs-tools meritous torcs torque torrential w_scan wipe wxGTK29 wxGTK30 wxGTK30-gtk3 wxGTK31 wxGTK31-gtk3 wxSVG wxmaxima wxmupen64plus wxsqlite3 wxsqliteplus wyrd

30 package failed to build:
asls diff-pdf elixir elixir_1_6 elixir_1_7 elixir_1_8 elixir_1_9 erlang erlangR20 erlangR21 erlangR23 erlang_javac erlang_odbc erlang_odbc_javac lfe mavproxy mercury plover.stable python27Packages.wxPython python27Packages.wxPython_4_0 python37Packages.wxPython_4_0 python38Packages.wxPython_4_0 rabbitmq-server rebar rebar3 relxExe torchat tsung winpdb wxmac

@LnL7 is there any progress with (or even desire to) fixing sandboxing on Darwin?

@fricklerhandwerk fricklerhandwerk requested review from FRidh and jonringer as code owners Sep 4, 2020
@evils
Copy link
Contributor

@evils evils commented Sep 4, 2020

how does the git-lfs change relate to wxpython?

@fricklerhandwerk fricklerhandwerk force-pushed the fricklerhandwerk:wxpython branch from fd6d3df to 6370dc7 Sep 4, 2020
fix wxmac build and update 3.0.4 -> 3.0.5.1
@fricklerhandwerk fricklerhandwerk force-pushed the fricklerhandwerk:wxpython branch from 6370dc7 to 65250b1 Sep 4, 2020
@fricklerhandwerk
Copy link
Author

@fricklerhandwerk fricklerhandwerk commented Sep 4, 2020

how does the git-lfs change relate to wxpython?

It does not, no idea how and from where it even slipped in... removed by re-creating the branch and cherry-picking on top.

Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
@veprbl
Copy link
Member

@veprbl veprbl commented Sep 8, 2020

nativeBuildInputs = [ pkgconfig which doxygen wxGTK ];
buildInputs = [ ncurses wxGTK.gtk ];
nativeBuildInputs = [ pkgconfig which doxygen ]
++ (if !stdenv.isDarwin then [ wxGTK ] else [ wxmac ]);

This comment has been minimized.

@hannesweisbach

hannesweisbach Sep 16, 2020
Contributor

And if I want to use wxwidgets on macOS?

Why not only wxwidgets as dependency and in callPackage you can do:

wxwidgets = stdenv.isDarwin ? wxmac : wxGTK

otherwise I have to employ an overide/overlay like wxmac = wxwidgets, which seems odd to me and I could imagine some users not having the idea that they could do that.

This comment has been minimized.

@veprbl

veprbl Sep 24, 2020
Member

@hannesweisbach I agree with your comment. It will, however, require a more sophisticated refactoring (e.g. to build with wxGTK.gtk and perhaps exclude the frameworks).

This comment has been minimized.

@hannesweisbach

hannesweisbach Sep 25, 2020
Contributor

I'm not sure I follow ;) I just wanted to bring up that wxGTK builds on macOS too, and that wxmac is not necessarily required.

@veprbl veprbl mentioned this pull request Sep 25, 2020
1 of 10 tasks complete
@@ -10,6 +10,9 @@
, doxygen
, ncurses
, wxGTK
, wxmac
, darwin

This comment has been minimized.

@veprbl

veprbl Oct 23, 2020
Member

We usually don't import darwin as a whole and provide frameworks one by one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

4 participants
You can’t perform that action at this time.