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 8.13. #45202

Merged
merged 1 commit into from Jul 26, 2023
Merged

wine: update to 8.13. #45202

merged 1 commit into from Jul 26, 2023

Conversation

fvalasiad
Copy link
Contributor

Testing the changes

  • I tested the changes in this PR: YES

Local build testing

  • I built this PR locally for my native architecture, (x86_64-glibc)

@triallax
Copy link
Contributor

Works fine for me on x86_64-glibc.

@classabbyamp
Copy link
Member

cc @Hoshpak

@Hoshpak
Copy link
Member

Hoshpak commented Jul 24, 2023

It fails to build on x86_64-musl:
https://github.com/void-linux/void-packages/actions/runs/5636252950/job/15268168529?pr=45202

This needs to be solved before the package can be updated.

@fvalasiad
Copy link
Contributor Author

@Hoshpak Reading the logs I suspect this is a case of a missing include.

An undefined macro next to a variable declaration with a forward-declared struct.

I will look into it.

@fvalasiad
Copy link
Contributor Author

After some digging I found the commit that broke musl support

commit 41cc117b3f37ab4b9b4ac8a815cd2a496d38fb4b (HEAD)
Author: Billy Laws <blaws05@gmail.com>
Date:   Sat Jun 3 21:57:42 2023 +0100

commit 41cc117b3f37ab4b9b4ac8a815cd2a496d38fb4b (HEAD)
Author: Billy Laws <blaws05@gmail.com>
Date:   Sat Jun 3 21:57:42 2023 +0100

    server: Avoid using SOL_IPX to detect whether IPX is supported.

diff --git a/server/sock.c b/server/sock.c
index 088e6d63079..34be6ea22ef 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -62,6 +62,7 @@
 
 #ifdef HAVE_NETIPX_IPX_H
 # include <netipx/ipx.h>
+# define HAS_IPX
 #elif defined(HAVE_LINUX_IPX_H)
 # ifdef HAVE_ASM_TYPES_H
 #  include <asm/types.h>
@@ -70,8 +71,6 @@
 #  include <linux/types.h>
 # endif
 # include <linux/ipx.h>
-#endif
-#if defined(SOL_IPX) || defined(SO_DEFAULT_HEADERS)
 # define HAS_IPX
 #endif

the problem with it is at the following code:

#ifdef HAS_IPX
        int ipx_type = protocol - WS_NSPROTO_IPX;

#ifdef SOL_IPX
        setsockopt( sockfd, SOL_IPX, IPX_TYPE, &ipx_type, sizeof(ipx_type) );
#else
        struct ipx val;
        /* Should we retrieve val using a getsockopt call and then
         * set the modified one? */
        val.ipx_pt = ipx_type;
        setsockopt( sockfd, 0, SO_DEFAULT_HEADERS, &val, sizeof(val) );
#endif
#endif

previously HAS_IPX wasn't defined at all, now it is defined while SOL_IPX isn't and so we branch to #else without checking for the existence of SO_DEFAULT_HEADERS as the macro originally did.

I will consider reverting the commit to upstream wine.

@fvalasiad
Copy link
Contributor Author

@fvalasiad
Copy link
Contributor Author

Update: The pull request was approved, wine on musl is back! Probably will be included with the next wine version, 8.14

@Hoshpak Until then, do we apply the patch to the package and ship it, or do we wait until wine does?

@Hoshpak
Copy link
Member

Hoshpak commented Jul 26, 2023

Thanks for the great work! Feel free to include the patch and let's get this update merged.

also includes a patch to fix compatibility issues with musl.
@fvalasiad
Copy link
Contributor Author

@Hoshpak Tested it on musl, works as expected, feel free to merge.

Gotta remember to remove the patch when they merge upstream!

@Hoshpak Hoshpak merged commit 0c61506 into void-linux:master Jul 26, 2023
8 checks passed
@fvalasiad fvalasiad deleted the wine branch July 26, 2023 18:13
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

4 participants