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
dolphinEmuMaster: Enable Darwin building #31546
Conversation
27dbea3
to
a777641
Compare
|
||
enableParallelBuilding = true; | ||
|
||
nativeBuildInputs = [ pkgconfig ]; | ||
buildInputs = [ gcc cmake bluez ffmpeg libao mesa gtk2 glib pcre | ||
nativeBuildInputs = [ cmake gcc pkgconfig ]; |
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.
why is gcc in here?
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec { | |||
sha256 = "042q1l4708zjn5v72sa9qdvgx173kmy4hbcd23wj5vqd6vbmk6d9"; | |||
}; | |||
|
|||
nativeBuildInputs = [ perl ]; | |||
nativeBuildInputs = [ perl ] ++ stdenv.lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ]; | |||
|
|||
patchPhase = stdenv.lib.optionalString stdenv.isDarwin '' | |||
substituteInPlace library/Makefile --replace "-soname" "-install_name" |
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.
fixing the install_name
here to use the absolute store path should allow us to get rid of the postInstall patching.
, common | ||
}: | ||
|
||
common.overrideDerivation (super : rec { |
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.
not sure about using overrideDerivation in of nixpkgs
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.
Yeah... on second thought the override should be in top-level like this:
wxGTK31 = wxGTK30.overrideDerivation (super : rec {
...
)};
Or are you saying override should be avoided entirely? It seems to be used a handful of times in top-level.
a777641
to
743c75e
Compare
|
743c75e
to
dd4a1ca
Compare
d18344e
to
f215ede
Compare
wxgtk31: overrideattrs
- add Darwin inputs - Add curl to prevent in-tree build - add libpng hidapi wxgtk for dolphin to use
f215ede
to
f6d415a
Compare
|
Thanks for your patience, been meaning to check out this PR for some time. I went through the changes and it all looks good to me, I also tested the changes on my NixOS machine and Dolphin is working well. Pushed to master! |
Motivation for this change
This PR enables Darwin building for Dolphin.
Things done
It also adds the required WXGTK31 package and cleans up how we patch mbedtls on darwin.
Dolphin generates an application bundle instead of a binary in bin on Darwin, but I can add a symlink to the binary if needed.
Potential improvement: go through the list of External deps and use nix-provided ones to reduce the binary size.
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)