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
Firefox on Darwin #44186
Firefox on Darwin #44186
Conversation
I think in the past we've sort of stayed away from trying to have well-packaged GUI apps on Darwin. I'd like to get some feedback from the two "high level" maintainers on that front on if they're interested in changing that direction: @LnL7 @copumpkin |
Success on aarch64-linux (full log) Attempted: libuv, xcbuild The following builds were skipped because they don't evaluate on aarch64-linux: darwin.objc4 Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: libuv, xcbuild The following builds were skipped because they don't evaluate on x86_64-linux: darwin.objc4 Partial log (click to expand)
|
Failure on x86_64-darwin (full log) Attempted: darwin.objc4, libuv, xcbuild Partial log (click to expand)
|
Yeah, the no GUI apps thing wasn't really deliberate though. It mostly resulted from the lack of a viable FOSS nib/xib processing toolchain and general lack of good support from the resulting .apps (we've discussed possible strategies for integrating them into I can't speak for @LnL7, but I definitely welcome (erm, this is awesome) seeing more working GUI apps on Darwin, especially of the flavor that don't require xcode to build 😄 |
Success on x86_64-darwin (full log) Attempted: darwin.objc4, libuv, xcbuild Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: libuv, xcbuild The following builds were skipped because they don't evaluate on x86_64-linux: darwin.objc4 Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: libuv, xcbuild The following builds were skipped because they don't evaluate on aarch64-linux: darwin.objc4 Partial log (click to expand)
|
--install) ;; # noop | ||
esac | ||
shift | ||
done | ||
''; | ||
|
||
xcrun = writeText "xcrun" '' | ||
#!/usr/bin/env sh | ||
#!${bash}/bin/sh |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you can use stdenv.shell
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Can change to that.
# uses LLVM's libclang. To make sure all necessary flags are | ||
# included we need to look in a few places. | ||
# TODO: generalize this process for other use-cases. | ||
echo "ac_add_options BINDGEN_CFLAGS='$(< ${stdenv.cc}/nix-support/libc-cflags) $(< ${stdenv.cc}/nix-support/cc-cflags) ${stdenv.cc.default_cxx_stdlib_compile} -idirafter ${llvmPackages.clang.cc}/lib/clang/${lib.getVersion llvmPackages.clang}/include $NIX_CFLAGS_COMPILE'" >> $MOZCONFIG |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this looks a bit brittle
I don't have a problem with adding GUI applications. That said they generally seem to be much harder to maintain so if it's too much of a burden we shouldn't keep it in the release blockers, but let's just see how it goes. |
9525964
to
a0bea32
Compare
Success on aarch64-linux (full log) Attempted: xcbuild Partial log (click to expand)
|
Success on x86_64-darwin (full log) Attempted: xcbuild Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: xcbuild Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: xcbuild Partial log (click to expand)
|
Success on x86_64-darwin (full log) Attempted: xcbuild Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: xcbuild Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: xcbuild Partial log (click to expand)
|
Very exciting, thanks again! |
|
There's also |
Yeah it can default to /bin. Sorry forgot about that. |
Motivation for this change
This is my working attempt to get Firefox working on Darwin/macOS. This will fix #30285.
Unfortunately this is a mass rebuild because of 0078e82ac240d88e3a20afcbf134904cbf920893. Unless there is legitimate reason for leaving it out I will probably just push that commit to staging. Anyway I am still waiting on things here but should be ready to go in a day or two.