msys2-runtime-3.5: update patch for w32api 13 support

This commit is contained in:
Jeremy Drake 2025-06-11 12:54:30 -07:00 committed by Christoph Reiter
parent a1c26fa1bb
commit d0f1875587
3 changed files with 95 additions and 6 deletions

View File

@ -0,0 +1,86 @@
From c1d0e2de466c68628dbef1eed3de374ffa4325e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Radek=20Barto=C5=88?= <radek.barton@microsoft.com>
Date: Mon, 9 Jun 2025 18:14:14 +0200
Subject: [PATCH 55/N] Cygwin: Fix compatibility with w32api headers v13
(cherry picked from commit 2029784e05d9805aa074dcadb99c31311790b7ac)
---
winsup/cygwin/fhandler/socket_inet.cc | 5 +++++
winsup/cygwin/fhandler/socket_local.cc | 5 +++++
winsup/cygwin/local_includes/ntdll.h | 4 ++++
winsup/cygwin/net.cc | 5 +++++
4 files changed, 19 insertions(+)
diff --git a/winsup/cygwin/fhandler/socket_inet.cc b/winsup/cygwin/fhandler/socket_inet.cc
index 63cc498..24db244 100644
--- a/winsup/cygwin/fhandler/socket_inet.cc
+++ b/winsup/cygwin/fhandler/socket_inet.cc
@@ -20,7 +20,12 @@
#undef u_long
#define u_long __ms_u_long
#include <w32api/ws2tcpip.h>
+/* 2025-06-09: win32api headers v13 now define a cmsghdr type which clashes with
+ our socket.h. Arrange not to see it here. */
+#undef cmsghdr
+#define cmsghdr __ms_cmsghdr
#include <w32api/mswsock.h>
+#undef cmsghdr
#include <w32api/mstcpip.h>
#include <netinet/tcp.h>
#include <netinet/udp.h>
diff --git a/winsup/cygwin/fhandler/socket_local.cc b/winsup/cygwin/fhandler/socket_local.cc
index e4a8816..72b0720 100644
--- a/winsup/cygwin/fhandler/socket_local.cc
+++ b/winsup/cygwin/fhandler/socket_local.cc
@@ -21,7 +21,12 @@
#define u_long __ms_u_long
#include "ntsecapi.h"
#include <w32api/ws2tcpip.h>
+/* 2025-06-09: win32api headers v13 now define a cmsghdr type which clashes with
+ our socket.h. Arrange not to see it here. */
+#undef cmsghdr
+#define cmsghdr __ms_cmsghdr
#include <w32api/mswsock.h>
+#undef cmsghdr
#include <unistd.h>
#include <asm/byteorder.h>
#include <sys/socket.h>
diff --git a/winsup/cygwin/local_includes/ntdll.h b/winsup/cygwin/local_includes/ntdll.h
index 4497fe5..2991672 100644
--- a/winsup/cygwin/local_includes/ntdll.h
+++ b/winsup/cygwin/local_includes/ntdll.h
@@ -489,6 +489,8 @@ typedef struct _FILE_DISPOSITION_INFORMATION_EX // 64
ULONG Flags;
} FILE_DISPOSITION_INFORMATION_EX, *PFILE_DISPOSITION_INFORMATION_EX;
+#if __MINGW64_VERSION_MAJOR < 13
+
typedef struct _FILE_STAT_INFORMATION // 68
{
LARGE_INTEGER FileId;
@@ -509,6 +511,8 @@ typedef struct _FILE_CASE_SENSITIVE_INFORMATION // 71
ULONG Flags;
} FILE_CASE_SENSITIVE_INFORMATION, *PFILE_CASE_SENSITIVE_INFORMATION;
+#endif
+
enum {
FILE_LINK_REPLACE_IF_EXISTS = 0x01,
FILE_LINK_POSIX_SEMANTICS = 0x02,
diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc
index 737e494..8e8e32f 100644
--- a/winsup/cygwin/net.cc
+++ b/winsup/cygwin/net.cc
@@ -18,7 +18,12 @@ details. */
#undef u_long
#define u_long __ms_u_long
#include <w32api/ws2tcpip.h>
+/* 2025-06-09: win32api headers v13 now define a cmsghdr type which clashes with
+ our socket.h. Arrange not to see it here. */
+#undef cmsghdr
+#define cmsghdr __ms_cmsghdr
#include <w32api/mswsock.h>
+#undef cmsghdr
#include <w32api/iphlpapi.h>
#define gethostname cygwin_gethostname
#include <unistd.h>

View File

@ -4,7 +4,7 @@
pkgbase=msys2-runtime-3.5
pkgname=('msys2-runtime-3.5' 'msys2-runtime-3.5-devel')
pkgver=3.5.7
pkgrel=5
pkgrel=6
pkgdesc="Cygwin POSIX emulation engine"
arch=('x86_64')
url="https://www.cygwin.com/"
@ -83,9 +83,10 @@ source=('msys2-runtime'::git://sourceware.org/git/newlib-cygwin.git#tag=cygwin-$
0051-fixup-Instead-of-creating-Cygwin-symlinks-use-deep-c.patch
0052-amend-Instead-of-creating-Cygwin-symlinks-use-deep-c.patch
0053-Cygwin-console-Redesign-mode-set-strategy-on-close.patch
0054-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch)
0054-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch
0055-Cygwin-Fix-compatibility-with-w32api-headers-v13.patch)
sha256sums=('e78e129eed8e2dd4a2600fe6df8cb6f3beb9dca786574823ed55951adecb7064'
'fd9705555296df0bb56be1976b29f3f244829d17face92f9d1a9b04edd227dbd'
'e5d092867e39e641267c4bda03d0e2c997d768fb6a928e0e5b4eb328eed1a420'
'87d86c95008274731cf560d929ae5fb319d962591303b2690e11bfd60f4818e7'
'c6d091cb51440638eb9fc59b35ba40f2b63e9e32a31a56c51a2aaec2445aa88e'
'81ec264a45c03e03e2b901037b73e5042b9d54e0454b29d372114d0c853b82e0'
@ -139,7 +140,8 @@ sha256sums=('e78e129eed8e2dd4a2600fe6df8cb6f3beb9dca786574823ed55951adecb7064'
'54e01260a3b481f2e178f2d603442d206b497b554a530c85d365febb11b12488'
'086916ec5e3f038d6b815f268880bdda39b574efaa1c9a53fdc08ce46a57ba20'
'9ffbb094aa5d9616cae3fc8df6aaf4db64cd5dbe80144147b6aa68ba6e99b25c'
'0a878a8b9a4ec43316bebcf67832b91104c8598b3a7eb7d6c9b9fb33da8114e3')
'0a878a8b9a4ec43316bebcf67832b91104c8598b3a7eb7d6c9b9fb33da8114e3'
'2e7eef8769d753d59284766c052fe9a35439090b956a4b1509e0e3ab8588158f')
# Helper macros to help make tasks easier #
apply_patch_with_msg() {
@ -230,7 +232,8 @@ prepare() {
0051-fixup-Instead-of-creating-Cygwin-symlinks-use-deep-c.patch \
0052-amend-Instead-of-creating-Cygwin-symlinks-use-deep-c.patch \
0053-Cygwin-console-Redesign-mode-set-strategy-on-close.patch \
0054-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch
0054-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch \
0055-Cygwin-Fix-compatibility-with-w32api-headers-v13.patch
}
build() {

View File

@ -1 +1 @@
7878787624144cd3b9cbd8a41b25d7d266b7173c
c1d0e2de466c68628dbef1eed3de374ffa4325e4