change uname to cygwin and drop all build time patches depending on uname. This shouldn't change anything in the build result in theory.
104 lines
4.1 KiB
Diff
104 lines
4.1 KiB
Diff
--- 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
|
|
@@ -845,6 +845,14 @@
|
|
darwin
|
|
#elif defined(__VXWORKS__)
|
|
vxworks
|
|
+#elif defined(__MSYS__)
|
|
+# if defined(__x86_64__)
|
|
+ x86_64-msys
|
|
+# elif defined(__i386__)
|
|
+ i386-msys
|
|
+# else
|
|
+# error unknown platform triplet
|
|
+# endif
|
|
#elif defined(__CYGWIN__)
|
|
# if defined(__x86_64__)
|
|
x86_64-cygwin
|
|
@@ -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.8.7.orig/Lib/ctypes/test/test_loading.py 2020-12-21 17:25:24.000000000 +0100
|
|
+++ Python-3.8.7/Lib/ctypes/test/test_loading.py 2021-05-11 22:27:51.108283400 +0200
|
|
@@ -15,7 +15,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"))
|
|
diff -Naur Python-3.8.2-orig/Lib/distutils/cygwinccompiler.py Python-3.8.2/Lib/distutils/cygwinccompiler.py
|
|
--- Python-3.8.2-orig/Lib/distutils/cygwinccompiler.py 2020-04-16 11:05:52.457414700 +0300
|
|
+++ Python-3.8.2/Lib/distutils/cygwinccompiler.py 2020-04-16 11:24:20.464492200 +0300
|
|
@@ -400,4 +400,4 @@
|
|
def is_cygwingcc():
|
|
'''Try to determine if the gcc that would be used is from cygwin.'''
|
|
out_string = check_output(['gcc', '-dumpmachine'])
|
|
- return out_string.strip().endswith(b'cygwin')
|
|
+ return (out_string.strip().endswith(b'cygwin') or out_string.strip().endswith(b'msys'))
|
|
diff -Naur Python-3.8.2-orig/Lib/distutils/util.py Python-3.8.2/Lib/distutils/util.py
|
|
--- Python-3.8.2-orig/Lib/distutils/util.py 2020-02-25 00:36:25.000000000 +0300
|
|
+++ Python-3.8.2/Lib/distutils/util.py 2020-04-16 11:24:20.569211200 +0300
|
|
@@ -86,6 +86,12 @@
|
|
m = rel_re.match(release)
|
|
if m:
|
|
release = m.group()
|
|
+ elif osname[:4] == "msys":
|
|
+ osname = "msys"
|
|
+ rel_re = re.compile (r'[\d.]+', re.ASCII)
|
|
+ m = rel_re.match(release)
|
|
+ if m:
|
|
+ release = m.group()
|
|
elif osname[:6] == "darwin":
|
|
import _osx_support, distutils.sysconfig
|
|
osname, release, machine = _osx_support.get_platform_osx(
|
|
diff -Naur Python-3.8.2-orig/Lib/sysconfig.py Python-3.8.2/Lib/sysconfig.py
|
|
--- Python-3.8.2-orig/Lib/sysconfig.py 2020-02-25 00:36:25.000000000 +0300
|
|
+++ Python-3.8.2/Lib/sysconfig.py 2020-04-16 11:24:20.643039800 +0300
|
|
@@ -673,6 +673,13 @@
|
|
m = rel_re.match(release)
|
|
if m:
|
|
release = m.group()
|
|
+ elif osname[:4] == "msys":
|
|
+ osname = "msys"
|
|
+ import re
|
|
+ rel_re = re.compile (r'[\d.]+')
|
|
+ m = rel_re.match(release)
|
|
+ if m:
|
|
+ release = m.group()
|
|
elif osname[:6] == "darwin":
|
|
import _osx_support
|
|
osname, release, machine = _osx_support.get_platform_osx(
|