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

wine: update to 9.0 #48249

Merged
merged 1 commit into from Jan 20, 2024
Merged

wine: update to 9.0 #48249

merged 1 commit into from Jan 20, 2024

Conversation

fvalasiad
Copy link
Contributor

@fvalasiad fvalasiad commented Jan 17, 2024

Changes in this commit besides upgrade to 9.0:

  1. The link to the source code temporarily changed since for release 9.0 they did not follow the 9.x/.tar.gz convention and instead released it directly under 9.0/ . I expect them to move back to 9.x though sooner or later when 9.1 is to be released. We can change it back at that time.

  2. libwine, previously marked deprecated was removed, I as a result also remove the respective package.

Additional notes include the new WoW64 functionality which no longer requires a separate wine 32bit install to run 32bit windows software, it's all to be managed by the 64bit installation, really cool, but still somewhat experimental with some drawbacks, not anything extremely annoying though, can be enabled with a command line flag.

Also it's now possible to run x86 windows apps on ARM AARCH64! Once again you need to supply a command line flag to enable it. Bright future since it now means aarch64 void linux can ship wine to arm installs too.

I haven't taken any measures to enabling any of the two, just thought I'd bring them over to your attention and ask you what you wanna do about it.

Full notes: https://gitlab.winehq.org/wine/wine/-/releases/wine-9.0

Testing the changes

  • I tested the changes in this PR: briefly

@fvalasiad
Copy link
Contributor Author

@Hoshpak

srcpkgs/wine/template Outdated Show resolved Hide resolved
srcpkgs/wine/template Outdated Show resolved Hide resolved
@fvalasiad
Copy link
Contributor Author

@Hoshpak any idea about the conflicts mentioned with libwine? Is it because of the fact that srcpkgs/libwine is still there? Should I remove it in this PR as well or leave it for another one?

@Hoshpak
Copy link
Member

Hoshpak commented Jan 17, 2024

The new WoW64 mode looks interesting however it seems like activating it would compromise too much on compatibility and performance so I would prefer to keep building the old way for now and activate the new mode only after it has been improved in a future version or if we wanted to drop i686 and multilib support.

Building for aarch64 would certainly be useful for some people however I don't own any aarch64 hardware right now so I couldn't test the resulting build myself.

@fvalasiad
Copy link
Contributor Author

The new WoW64 mode looks interesting however it seems like activating it would compromise too much on compatibility and performance so I would prefer to keep building the old way for now and activate the new mode only after it has been improved in a future version or if we wanted to drop i686 and multilib support.

Building for aarch64 would certainly be useful for some people however I don't own any aarch64 hardware right now so I couldn't test the resulting build myself.

I have a couple of SBCs and PIs around, want me to run a quick void install on em and try out wine with some basic x86 windows programs?

I am not that familiar with configuring the template for other architectures though, I will need some time to figure out how to make a package. Otherwise I cross compile wine normally and simply move the bundle to my pi and test run it there, then we invest in the arm package.

@AlexKurisu
Copy link

Maybe enable the new WoW64 on musl? It won't make anything worse there since musl doesn't support multilib at all…

@fvalasiad
Copy link
Contributor Author

fvalasiad commented Jan 18, 2024

@AlexKurisu Hmmm indeed there is no performance penalty to pay/bugs potentially introduced in the mixed 64bit 32bit version since there was no 32bit version! So wine on musl so far was not able to run windows 32bit apps at all? This means that the musl experience is also improved, god I love the new wine release!

I upvote, it's a good idea, what do you think @Hoshpak.

@AlexKurisu
Copy link

Just to note: Alpine builds wine with new WoW64 since it's introduction

@Hoshpak
Copy link
Member

Hoshpak commented Jan 18, 2024

@fvalasiad Regarding the libwine package: Please also remove the symlink. The package should probably also declare a replaces="libwine>=0" to ensure that it is removed during the installation of the new wine version. I think that should solve the failing check.

Getting a package to cross-compile that isn't intended to be (I'm not sure if that's actually the case for wine) can be quite challenging so I would suggest that we give it a try and do if it's a quick wine but regard it as optional and postpone it if it's not to not delay the update unnecessarily. I would have some time on the weekend to try to adapt the template to cross-compile.

Regarding the enabling the new WoW64 for musl only for now, I think that that's a great idea. musl indeed never had support for 32 bit binaries so it would be a great benefit for musl users.

@fvalasiad
Copy link
Contributor Author

@Hoshpak 'Ight let's make this patch merged for now and we shall focus on the other two on a separate PR.

wine for now requires an external emulator for the whole x86 to arm thing, so it'd require extra dependencies for the arm version.

I will also soon figure out how to build musl with new WoW64 and test it with a win32 app, then open a PR.

@fvalasiad
Copy link
Contributor Author

@Hoshpak all checks passed! Feel free to merge!

Changes in this commit besides upgrade to 9.0:

1. The link to the source code temporarily changed since
for release 9.0 they did not follow the 9.x/<release>.tar.gz
convention and instead released it directly under 9.0/.
I expect them to move back to 9.x though sooner or later
when 9.1 is to be released. We can change it back at that time.

2. libwine, previously marked deprecated was removed,
I as a result also remove the respective package.

3. Additional notes include the new WoW64 functionality
which no longer requires a separate wine 32bit install
to run 32bit windows software, it's all to be managed
by the 64bit installation, really cool, but still somewhat
experimental with some drawbacks, not anything extremely
annoying though, can be enabled with a command line flag.
Since musl does not have multilib, enabling it just for it
for now, but keeping glibc the same since it's still experimental.

Also it's now possible to run x86 windows apps on ARM AARCH64!
Once again you need to supply a command line flag to enable it.
Bright future since it now means aarch64 void linux can ship
wine to arm installs too.

Full notes: https://gitlab.winehq.org/wine/wine/-/releases/wine-9.0

Signed-off-by: Fotios Valasiadis <fvalasiad@gmail.com>
@fvalasiad
Copy link
Contributor Author

@Hoshpak since you did not merge yet and I finished my experiment with new WoW64 on a musl VM, verifying it works, I included the change in the PR.

Uncertain though if XBPS_LIBC is the correct check to be making here.

@Hoshpak Hoshpak merged commit 7168d38 into void-linux:master Jan 20, 2024
8 checks passed
@fvalasiad fvalasiad deleted the wine branch January 20, 2024 11:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants