-
-
Notifications
You must be signed in to change notification settings - Fork 15k
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
winePackages: enable mingwSupport in base build #113146
Conversation
Result of 1 package failed to build:
15 packages built:
|
airwave requires a binary blob:
|
Will run nixpkgs-review again now that #113140 (comment) was merged. |
Result of 15 packages built:
|
I guess this is needed to compile wine DLLs in the windows PE format, probably to appeal anti-cheat Interestingly, the closure size is actually decreasing with this change. Is this the result of stripping? |
Yep, I'll add it to the commit message.
Both ELFs & PEs are being stripped now and that should cause a decrease overall, even without this option. It just seems like wine is producing smaller binaries when generating PEs (without debug info), but it takes longer to compile. There is no difference in closure dependencies. |
With mingwSupport enabled, Wine uses MinGW builds of GCC (compiled for the i686-w64-mingw32 & x86_64-w64-mingw32 targets) to cross compile system DLLs as PE executables. This is used to workaround some basic anticheat software. (See NixOS#103102) Fedora & Arch Linux also have this enabled by default in their Wine builds: - Fedora: https://src.fedoraproject.org/rpms/wine/blob/8e216ca407b6c0f78f65f36c5b068c6452701e55/f/wine.spec#_116 - Arch Linux: https://github.com/archlinux/svntogit-community/blob/2435e762eacd989c588200d7cf57d8f4fb2e0cf3/trunk/PKGBUILD#L44
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.
I've built and tested winePackages.full and wineWowPackages.full with a couple programs and found no issue. Looks good to me.
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/wine-installing-mingw32-compiler/19944/2 |
Motivation for this change
Closes #103102
With
mingwSupport
enabled, Wine uses MinGW builds of GCC (compiled for thei686-w64-mingw32
&x86_64-w64-mingw32
targets) to cross compile system DLLs as PE executables.This is used to workaround some basic anticheat software.
Fedora & Arch Linux also have this enabled by default in their Wine builds:
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)@avnik @bendlas @7c6f434c @Atemu @veprbl