--- Python-3.8.7.cygwin/configure.ac	2021-05-11 21:07:52.839122100 +0200
+++ Python-3.8.7/configure.ac	2021-05-11 21:10:48.366063600 +0200
@@ -1137,7 +1148,7 @@
   case $ac_sys_system in
     CYGWIN*)
           LDLIBRARY='libpython$(LDVERSION).dll.a'
-          DLLLIBRARY='libpython$(LDVERSION).dll'
+          DLLLIBRARY='msys-python$(LDVERSION).dll'
           ;;
     SunOS*)
 	  LDLIBRARY='libpython$(LDVERSION).so'
--- Python-3.8.7.orig/Lib/ctypes/__init__.py	2020-12-21 17:25:24.000000000 +0100
+++ Python-3.8.7/Lib/ctypes/__init__.py	2021-05-11 22:26:25.866873900 +0200
@@ -456,7 +456,7 @@
 if _os.name == "nt":
     pythonapi = PyDLL("python dll", None, _sys.dllhandle)
 elif _sys.platform == "cygwin":
-    pythonapi = PyDLL("libpython%d.%d.dll" % _sys.version_info[:2])
+    pythonapi = PyDLL("msys-python%d.%d.dll" % _sys.version_info[:2])
 else:
     pythonapi = PyDLL(None)
 
--- Python-3.12.4/Lib/test/test_ctypes/test_loading.py.orig	2024-06-06 20:26:44.000000000 +0200
+++ Python-3.12.4/Lib/test/test_ctypes/test_loading.py	2024-07-04 07:35:25.827763700 +0200
@@ -16,7 +16,7 @@
     if os.name == "nt":
         libc_name = find_library("c")
     elif sys.platform == "cygwin":
-        libc_name = "cygwin1.dll"
+        libc_name = "msys-2.0.dll"
     else:
         libc_name = find_library("c")
 
--- Python-3.8.7/Lib/ctypes/util.py.orig	2021-05-11 22:31:37.409285900 +0200
+++ Python-3.8.7/Lib/ctypes/util.py	2021-05-11 22:33:22.371550100 +0200
@@ -387,8 +387,8 @@
             print(f"crypto\t:: {find_library('crypto')}")
             print(f"crypto\t:: {cdll.LoadLibrary(find_library('crypto'))}")
         elif sys.platform == "cygwin":
-            print(cdll.LoadLibrary("cygbz2-1.dll"))
-            print(cdll.LoadLibrary("cygcrypt-0.dll"))
+            print(cdll.LoadLibrary("msys-bz2-1.dll"))
+            print(cdll.LoadLibrary("msys-crypt-0.dll"))
             print(find_library("crypt"))
         else:
             print(cdll.LoadLibrary("libm.so"))
--- Python-3.12.8/Lib/sysconfig.py.orig	2024-12-03 19:42:41.000000000 +0100
+++ Python-3.12.8/Lib/sysconfig.py	2025-02-01 17:39:28.925188300 +0100
@@ -815,13 +815,13 @@
     elif osname[:3] == "aix":
         from _aix_support import aix_platform
         return aix_platform()
-    elif osname[:6] == "cygwin":
+    elif sys.platform == "cygwin":
+        # https://github.com/msys2/MSYS2-packages/issues/5143
+        # Various build tools use the platform to derive the wheel tag
+        # and the wheel tag needs to be stable for a specific platform
+        # so we can't include a version here.
         osname = "cygwin"
-        import re
-        rel_re = re.compile(r'[\d.]+')
-        m = rel_re.match(release)
-        if m:
-            release = m.group()
+        return  f"{osname}-{machine}"
     elif osname[:6] == "darwin":
         import _osx_support
         osname, release, machine = _osx_support.get_platform_osx(
