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 6.0-rc1 : initial recipe #5476

Closed
wants to merge 10 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
349 changes: 349 additions & 0 deletions app-emulation/wine/patches/wine-6.0~rc1.patchset
@@ -0,0 +1,349 @@
From 4a889d04de84e3dfc94e1d3132ee97dd4f380392 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Mon, 7 Dec 2020 17:55:37 +0100
Subject: ntdll/unix/file.c : build fix


diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
index 6d6edfe..1a3acf7 100644
--- a/dlls/ntdll/unix/file.c
+++ b/dlls/ntdll/unix/file.c
@@ -6329,6 +6329,8 @@ NTSTATUS WINAPI NtQueryVolumeInformationFile( HANDLE handle, IO_STATUS_BLOCK *io
break;
}

+#if !defined(__HAIKU__)
+
if (!get_mountmgr_fs_info( handle, fd, &drive, sizeof(drive) )) fs_type = drive.fs_type;
else
{
@@ -6362,6 +6364,8 @@ NTSTATUS WINAPI NtQueryVolumeInformationFile( HANDLE handle, IO_STATUS_BLOCK *io
}
}

+#endif
+
switch (fs_type)
{
case MOUNTMGR_FS_TYPE_ISO9660:
--
2.28.0


From a2f3797bb74ca6b4987e923adbc13168b1a8334b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Mon, 7 Dec 2020 18:44:10 +0100
Subject: ntdll/unix/serial.c : build fix


diff --git a/dlls/ntdll/unix/serial.c b/dlls/ntdll/unix/serial.c
index 9454185..8c22972 100644
--- a/dlls/ntdll/unix/serial.c
+++ b/dlls/ntdll/unix/serial.c
@@ -288,8 +288,10 @@ static NTSTATUS get_line_control(int fd, SERIAL_LINE_CONTROL* slc)
switch (port.c_cflag & CSIZE)
{
case CS5: slc->WordLength = 5; break;
+#if !defined(__HAIKU__)
case CS6: slc->WordLength = 6; break;
case CS7: slc->WordLength = 7; break;
+#endif
case CS8: slc->WordLength = 8; break;
default: ERR("unknown size %x\n", (UINT)(port.c_cflag & CSIZE));
}
--
2.28.0


From 3dabc2dde05e55e0dca2e1671f359ac837b14457 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Mon, 7 Dec 2020 18:45:31 +0100
Subject: ntdll/unix/server.c: build fix


diff --git a/dlls/ntdll/unix/server.c b/dlls/ntdll/unix/server.c
index 7236f0a..78fb62c 100644
--- a/dlls/ntdll/unix/server.c
+++ b/dlls/ntdll/unix/server.c
@@ -1424,7 +1424,9 @@ void server_init_process(void)
/* setup the signal mask */
sigemptyset( &server_block_set );
sigaddset( &server_block_set, SIGALRM );
+#if !defined(__HAIKU__)
sigaddset( &server_block_set, SIGIO );
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SIGIO is often a synonym for SIGPOLL

+#endif
sigaddset( &server_block_set, SIGINT );
sigaddset( &server_block_set, SIGHUP );
sigaddset( &server_block_set, SIGUSR1 );
--
2.28.0


From f17d7b3c88beb09b39aa47522e4c464ccaa2972c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Mon, 7 Dec 2020 18:58:35 +0100
Subject: SIGIO build fixes


diff --git a/server/change.c b/server/change.c
index 8e4a272..d5f67d8 100644
--- a/server/change.c
+++ b/server/change.c
@@ -267,7 +267,9 @@ static inline void insert_change( struct dir *dir )
sigset_t sigset;

sigemptyset( &sigset );
+#if !defined(__HAIKU__)
sigaddset( &sigset, SIGIO );
+#endif
sigprocmask( SIG_BLOCK, &sigset, NULL );
list_add_head( &change_list, &dir->entry );
sigprocmask( SIG_UNBLOCK, &sigset, NULL );
@@ -279,7 +281,9 @@ static inline void remove_change( struct dir *dir )
sigset_t sigset;

sigemptyset( &sigset );
+#if !defined(__HAIKU__)
sigaddset( &sigset, SIGIO );
+#endif
sigprocmask( SIG_BLOCK, &sigset, NULL );
list_remove( &dir->entry );
sigprocmask( SIG_UNBLOCK, &sigset, NULL );
diff --git a/server/signal.c b/server/signal.c
index 7c2bf2c..f270165 100644
--- a/server/signal.c
+++ b/server/signal.c
@@ -286,7 +286,9 @@ void init_signals(void)
sigaddset( &blocked_sigset, SIGHUP );
sigaddset( &blocked_sigset, SIGINT );
sigaddset( &blocked_sigset, SIGALRM );
+#if !defined(__HAIKU__)
sigaddset( &blocked_sigset, SIGIO );
+#endif
sigaddset( &blocked_sigset, SIGQUIT );
sigaddset( &blocked_sigset, SIGTERM );
#ifdef SIG_PTHREAD_CANCEL
--
2.28.0


From e5d8474b54ddc553a67c3def0ad565fa8438cc96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Mon, 7 Dec 2020 19:12:26 +0100
Subject: Socket fixes


diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index 6cb35bc..41e1a6b 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -905,7 +905,9 @@ static const int ws_proto_map[][2] =
MAP_OPTION( IPPROTO_ICMP ),
MAP_OPTION( IPPROTO_IGMP ),
MAP_OPTION( IPPROTO_RAW ),
+#if !defined(__HAIKU__)
MAP_OPTION( IPPROTO_IPIP ),
+#endif
{FROM_PROTOCOL_INFO, FROM_PROTOCOL_INFO},
};

@@ -1078,7 +1080,9 @@ static NTSTATUS sock_get_ntstatus( int err )
case EDESTADDRREQ: return STATUS_INVALID_PARAMETER;
case EMSGSIZE: return STATUS_BUFFER_OVERFLOW;
case EPROTONOSUPPORT:
+#if !defined(__HAIKU__)
case ESOCKTNOSUPPORT:
+#endif
case EPFNOSUPPORT:
case EAFNOSUPPORT:
case EPROTOTYPE: return STATUS_NOT_SUPPORTED;
@@ -1123,7 +1127,9 @@ static UINT sock_get_error( int err )
case EPROTOTYPE: return WSAEPROTOTYPE;
case ENOPROTOOPT: return WSAENOPROTOOPT;
case EPROTONOSUPPORT: return WSAEPROTONOSUPPORT;
+#if !defined(__HAIKU__)
case ESOCKTNOSUPPORT: return WSAESOCKTNOSUPPORT;
+#endif
case EOPNOTSUPP: return WSAEOPNOTSUPP;
case EPFNOSUPPORT: return WSAEPFNOSUPPORT;
case EAFNOSUPPORT: return WSAEAFNOSUPPORT;
@@ -1139,7 +1145,9 @@ static UINT sock_get_error( int err )
case EISCONN: return WSAEISCONN;
case ENOTCONN: return WSAENOTCONN;
case ESHUTDOWN: return WSAESHUTDOWN;
+#if !defined(__HAIKU__)
case ETOOMANYREFS: return WSAETOOMANYREFS;
+#endif
case ETIMEDOUT: return WSAETIMEDOUT;
case ECONNREFUSED: return WSAECONNREFUSED;
case ELOOP: return WSAELOOP;
diff --git a/server/sock.c b/server/sock.c
index 1ff56f7..3049511 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -998,7 +998,9 @@ static int get_unix_protocol( int protocol )
case WS_IPPROTO_ICMP: return IPPROTO_ICMP;
case WS_IPPROTO_IGMP: return IPPROTO_IGMP;
case WS_IPPROTO_IP: return IPPROTO_IP;
+#if !defined(__HAIKU__)
case WS_IPPROTO_IPIP: return IPPROTO_IPIP;
+#endif
case WS_IPPROTO_IPV6: return IPPROTO_IPV6;
case WS_IPPROTO_RAW: return IPPROTO_RAW;
case WS_IPPROTO_TCP: return IPPROTO_TCP;
@@ -1266,7 +1268,9 @@ static unsigned int sock_get_error( int err )
case EPROTOTYPE: return WSAEPROTOTYPE;
case ENOPROTOOPT: return WSAENOPROTOOPT;
case EPROTONOSUPPORT: return WSAEPROTONOSUPPORT;
+#if !defined(__HAIKU__)
case ESOCKTNOSUPPORT: return WSAESOCKTNOSUPPORT;
+#endif
case EOPNOTSUPP: return WSAEOPNOTSUPP;
case EPFNOSUPPORT: return WSAEPFNOSUPPORT;
case EAFNOSUPPORT: return WSAEAFNOSUPPORT;
@@ -1282,7 +1286,9 @@ static unsigned int sock_get_error( int err )
case EISCONN: return WSAEISCONN;
case ENOTCONN: return WSAENOTCONN;
case ESHUTDOWN: return WSAESHUTDOWN;
+#if !defined(__HAIKU__)
case ETOOMANYREFS: return WSAETOOMANYREFS;
+#endif
case ETIMEDOUT: return WSAETIMEDOUT;
case ECONNREFUSED: return WSAECONNREFUSED;
case ELOOP: return WSAELOOP;
@@ -1333,7 +1339,9 @@ static int sock_get_ntstatus( int err )
case EDESTADDRREQ: return STATUS_INVALID_PARAMETER;
case EMSGSIZE: return STATUS_BUFFER_OVERFLOW;
case EPROTONOSUPPORT:
+#if !defined(__HAIKU__)
case ESOCKTNOSUPPORT:
+#endif
case EPFNOSUPPORT:
case EAFNOSUPPORT:
case EPROTOTYPE: return STATUS_NOT_SUPPORTED;
--
2.28.0


From 8b05fa5869d017e94abe48dbe2f469015deee68d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Mon, 7 Dec 2020 19:18:12 +0100
Subject: netioapi build fix


diff --git a/include/netioapi.h b/include/netioapi.h
index 7238d52..add0375 100644
--- a/include/netioapi.h
+++ b/include/netioapi.h
@@ -252,7 +252,8 @@ DWORD WINAPI GetIfEntry2(MIB_IF_ROW2*);
DWORD WINAPI GetIfTable2(MIB_IF_TABLE2**);
DWORD WINAPI GetIpInterfaceTable(ADDRESS_FAMILY,MIB_IPINTERFACE_TABLE**);
DWORD WINAPI GetUnicastIpAddressEntry(MIB_UNICASTIPADDRESS_ROW*);
+#if !defined(__HAIKU__)
PCHAR WINAPI if_indextoname(NET_IFINDEX,PCHAR);
NET_IFINDEX WINAPI if_nametoindex(PCSTR);
-
+#endif
#endif /* __WINE_NETIOAPI_H */
--
2.28.0


From 6e0a556ca733fcc4123e5c028dcdfb6dc7d196fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Mon, 7 Dec 2020 20:04:27 +0100
Subject: Add -lnetwork support to configure.ac


diff --git a/configure.ac b/configure.ac
index 020fd19..b044a38 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2202,7 +2202,7 @@ dnl Check for -lnsl for Solaris
AC_SEARCH_LIBS(gethostbyname, nsl)

dnl Check for -lsocket for Solaris
-AC_SEARCH_LIBS(connect, socket)
+AC_SEARCH_LIBS(connect, socket network)

dnl Check for -lresolv for Solaris
AC_SEARCH_LIBS(inet_aton, resolv)
--
2.28.0


From 490532841ac2cf9ee497b6f68980181fdcd3d273 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Mon, 7 Dec 2020 20:09:30 +0100
Subject: Add Haiku to the supported platform list


diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h
index a4b9bc9..fed171b 100644
--- a/tools/winebuild/build.h
+++ b/tools/winebuild/build.h
@@ -153,6 +153,7 @@ enum target_platform
PLATFORM_UNSPECIFIED,
PLATFORM_APPLE,
PLATFORM_FREEBSD,
+ PLATFORM_HAIKU,
PLATFORM_SOLARIS,
PLATFORM_WINDOWS
};
diff --git a/tools/winebuild/main.c b/tools/winebuild/main.c
index 572b4d7..ad65acc 100644
--- a/tools/winebuild/main.c
+++ b/tools/winebuild/main.c
@@ -68,6 +68,8 @@ enum target_cpu target_cpu = CPU_ARM64;
enum target_platform target_platform = PLATFORM_APPLE;
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
enum target_platform target_platform = PLATFORM_FREEBSD;
+#elif defined(__HAIKU__)
+enum target_platform target_platform = PLATFORM_HAIKU;
#elif defined(__sun)
enum target_platform target_platform = PLATFORM_SOLARIS;
#elif defined(_WIN32)
@@ -132,6 +134,7 @@ static const struct
{ "macos", PLATFORM_APPLE },
{ "darwin", PLATFORM_APPLE },
{ "freebsd", PLATFORM_FREEBSD },
+ { "haiku", PLATFORM_HAIKU },
{ "solaris", PLATFORM_SOLARIS },
{ "mingw32", PLATFORM_WINDOWS },
{ "windows", PLATFORM_WINDOWS },
diff --git a/tools/winegcc/utils.h b/tools/winegcc/utils.h
index 9c70011..1266a10 100644
--- a/tools/winegcc/utils.h
+++ b/tools/winegcc/utils.h
@@ -47,6 +47,7 @@ enum target_platform
PLATFORM_UNSPECIFIED,
PLATFORM_APPLE,
PLATFORM_ANDROID,
+ PLATFORM_HAIKU,
PLATFORM_SOLARIS,
PLATFORM_WINDOWS,
PLATFORM_MINGW,
diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c
index 6decb02..2088984 100644
--- a/tools/winegcc/winegcc.c
+++ b/tools/winegcc/winegcc.c
@@ -186,6 +186,7 @@ static const struct
{ "macos", PLATFORM_APPLE },
{ "darwin", PLATFORM_APPLE },
{ "android", PLATFORM_ANDROID },
+ { "haiku", PLATFORM_HAIKU },
{ "solaris", PLATFORM_SOLARIS },
{ "cygwin", PLATFORM_CYGWIN },
{ "mingw32", PLATFORM_MINGW },
@@ -261,6 +262,8 @@ static const enum target_cpu build_cpu = CPU_ARM64;
static enum target_platform build_platform = PLATFORM_APPLE;
#elif defined(__ANDROID__)
static enum target_platform build_platform = PLATFORM_ANDROID;
+#elif defined(__HAIKU__)
+static enum target_platform build_platform = PLATFORM_HAIKU;
#elif defined(__sun)
static enum target_platform build_platform = PLATFORM_SOLARIS;
#elif defined(__CYGWIN__)
--
2.28.0