Merge pull request #2496 from lazka/python-cygwinify

python: pretend to be cygwin in more places
This commit is contained in:
Christoph Reiter
2021-05-13 17:38:16 +02:00
committed by GitHub
16 changed files with 78 additions and 783 deletions

View File

@@ -26,19 +26,6 @@ index f4f77c5aa31..04f6c112bdd 100644
-if re.search(r'cygwin|mingw32|win32|windows-gnu|windows-msvc', config.target_triple):
+if re.search(r'cygwin|mingw32|msys|win32|windows-gnu|windows-msvc', config.target_triple):
config.unsupported = True
diff --git a/test/Unit/lit.cfg.py b/test/Unit/lit.cfg.py
index 3198ab2c953..cf99e743c84 100644
--- a/test/Unit/lit.cfg.py
+++ b/test/Unit/lit.cfg.py
@@ -42,7 +42,7 @@ for symbolizer in ['ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH']:
config.environment[symbolizer] = os.environ[symbolizer]
# Win32 seeks DLLs along %PATH%.
-if sys.platform in ['win32', 'cygwin'] and os.path.isdir(config.shlibdir):
+if sys.platform in ['win32', 'cygwin', 'msys'] and os.path.isdir(config.shlibdir):
config.environment['PATH'] = os.path.pathsep.join((
config.shlibdir, config.environment['PATH']))
diff --git a/test/lit.cfg.py b/test/lit.cfg.py
index 4eaa6cb77c8..dfac0215771 100644
--- a/test/lit.cfg.py
@@ -65,29 +52,3 @@ index f3a2056f80d..f1decd975d4 100644
OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "GNU")
OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD")
diff --git a/utils/lit/lit/formats/googletest.py b/utils/lit/lit/formats/googletest.py
index 059eb99762e..5ef9c2fb128 100644
--- a/utils/lit/lit/formats/googletest.py
+++ b/utils/lit/lit/formats/googletest.py
@@ -8,7 +8,7 @@ import lit.TestRunner
import lit.util
from .base import TestFormat
-kIsWindows = sys.platform in ['win32', 'cygwin']
+kIsWindows = sys.platform in ['win32', 'cygwin', 'msys']
class GoogleTest(TestFormat):
def __init__(self, test_sub_dirs, test_suffix):
diff --git a/utils/lit/tests/lit.cfg b/utils/lit/tests/lit.cfg
index 3c49f076a66..62fa8816e47 100644
--- a/utils/lit/tests/lit.cfg
+++ b/utils/lit/tests/lit.cfg
@@ -84,7 +84,7 @@ else:
# that the llvm_config defines. This means that the 'system-windows' feature
# (and any others) need to match the names in llvm_config for consistency
if not llvm_config:
- if sys.platform.startswith('win') or sys.platform.startswith('cygwin'):
+ if sys.platform.startswith('win') or sys.platform.startswith('cygwin') or sys.platform.startswith('msys'):
config.available_features.add('system-windows')
if platform.system() == 'AIX':
config.available_features.add('system-aix')

View File

@@ -2,15 +2,6 @@ diff --git a/test/lit.cfg.py b/test/lit.cfg.py
index dacda6894a0..dd35dc83b8c 100644
--- a/test/lit.cfg.py
+++ b/test/lit.cfg.py
@@ -142,7 +142,7 @@ if is_filesystem_case_insensitive():
config.available_features.add('case-insensitive-filesystem')
# Tests that require the /dev/fd filesystem.
-if os.path.exists('/dev/fd/0') and sys.platform not in ['cygwin']:
+if os.path.exists('/dev/fd/0') and sys.platform not in ['cygwin', 'msys']:
config.available_features.add('dev-fd-fs')
# Set on native MS environment.
@@ -154,7 +154,7 @@ if not re.match(r'^x86_64.*-(windows-msvc|windows-gnu)$', config.target_triple):
config.available_features.add('LP64')
@@ -20,29 +11,3 @@ index dacda6894a0..dd35dc83b8c 100644
config.available_features.add('clang-driver')
# Tests that are specific to the Apple Silicon macOS.
diff --git a/tools/scan-build-py/libear/__init__.py b/tools/scan-build-py/libear/__init__.py
index 0dfe8c11eba..b46c202ab68 100644
--- a/tools/scan-build-py/libear/__init__.py
+++ b/tools/scan-build-py/libear/__init__.py
@@ -149,7 +149,7 @@ class LinuxToolset(UnixToolset):
def make_toolset(src_dir):
platform = sys.platform
- if platform in {'win32', 'cygwin'}:
+ if platform in {'win32', 'cygwin', 'msys'}:
raise RuntimeError('not implemented on this platform')
elif platform == 'darwin':
return DarwinToolset(src_dir)
diff --git a/tools/scan-build-py/libscanbuild/intercept.py b/tools/scan-build-py/libscanbuild/intercept.py
index 70f3233f5e8..c6951cf6d20 100644
--- a/tools/scan-build-py/libscanbuild/intercept.py
+++ b/tools/scan-build-py/libscanbuild/intercept.py
@@ -44,7 +44,7 @@ US = chr(0x1f)
COMPILER_WRAPPER_CC = 'intercept-cc'
COMPILER_WRAPPER_CXX = 'intercept-c++'
TRACE_FILE_EXTENSION = '.cmd' # same as in ear.c
-WRAPPER_ONLY_PLATFORMS = frozenset({'win32', 'cygwin'})
+WRAPPER_ONLY_PLATFORMS = frozenset({'win32', 'cygwin', 'msys'})
@command_entry_point

View File

@@ -15,7 +15,7 @@ _realname=clang
pkgbase=${_realname}
pkgname=("${_realname}" "lld" "llvm")
pkgver=11.0.0
pkgrel=3
pkgrel=4
pkgdesc="C language family frontend for LLVM"
arch=('i686' 'x86_64')
url="https://llvm.org/"
@@ -62,13 +62,13 @@ sha256sums=('0f96acace1e8326b39f220ba19e055ba99b0ab21c2475042dbc6a482649c5209'
'1f318c0370357fdf9c54ae6d31bad761b0caa58ac099998937b636309ecb6590'
'33400d16d5f6671a8fd60345c3ae44b9777a7d600061957889d14305eb2ad709'
'1c9efccd40a0e7834c3aa9d819aa25cfdd2cec389d1bd3e8a89bc9ff670a0129'
'b4983f1ebcaa7da0f1d010652ecd0972dc9f91ed02595ad913f582f830cdfeda'
'3042a28691050688b0d9c9aebe803d2412c0effaf5c57b5a4b18144df91f224e'
'fb37e32d843c817aaa57a15f2f65014c38eb80bfe2af7b84fe5c6f356eea836a'
'ddc43bc16f5edaf5290adabd71ce6a8a593fc3f824d7d99acd247bcce88aaf03'
'01b029f2a21bd998ce374a90d41d214c891dfbb611dfbd9ca147517cd2c228ea'
'a60f7328d84628a56a9f626e4dc26ffd0c35292c79eeba62ac3d4f25aef2fe5c'
'0098da33ce4cfea2a6b6943c15e769345f89b84ebea28facff4cc8b92a17bc8f'
'937c2293e85b2199cf2c85c9e76a52143d032c06dc5eebe44062ad9f7426c903'
'da3a55b0f0371a1d4e093b5ddae89dbd232454b08b4f38d0f92f76b7b0220daa'
'2189f1e4bb90d11111ebf0d22a1f6f6f7cb05d69617cae9b21e9f1e195ebd8c1'
'0b996f438f7c7bf42c789729dfd588a65d5016386e7032e03e8cd52f1dc8bc73'
'c74c313e442a5b8fed7c6372ac8ff8f3598c9e33db1b520f1297949e18042e55'

View File

@@ -1,96 +1,6 @@
From a5776eadcc30f6de25191d37752871fb1af86c2f Mon Sep 17 00:00:00 2001
From: "atom.long" <atom.long@hotmail.com>
Date: Thu, 25 May 2017 21:37:00 +0800
Subject: [PATCH] msys-ize
---
gyptest.py | 1 +
pylib/gyp/MSVSVersion.py | 4 ++--
pylib/gyp/__init__.py | 4 ++--
pylib/gyp/common.py | 1 +
pylib/gyp/generator/make.py | 5 ++++-
pylib/gyp/generator/ninja.py | 2 +-
test/actions-multiple/gyptest-all.py | 2 +-
test/lib/TestCommon.py | 2 +-
test/lib/TestGyp.py | 6 +++---
test/library_dirs/gyptest-library-dirs.py | 2 +-
test/rules/src/external/external.gyp | 2 +-
test/target/gyptest-target.py | 2 +-
12 files changed, 19 insertions(+), 14 deletions(-)
diff --git a/gyptest.py b/gyptest.py
index 98957e1..4469795 100755
--- a/gyptest.py
+++ b/gyptest.py
@@ -100,6 +100,7 @@ def main(argv=None):
'freebsd8': ['make'],
'openbsd5': ['make'],
'cygwin': ['msvs'],
+ 'msys': ['msvs'],
'win32': ['msvs', 'ninja'],
'linux': ['make', 'ninja'],
'linux2': ['make', 'ninja'],
diff --git a/pylib/gyp/MSVSVersion.py b/pylib/gyp/MSVSVersion.py
index edaf6ee..c815350 100644
--- a/pylib/gyp/MSVSVersion.py
+++ b/pylib/gyp/MSVSVersion.py
@@ -131,7 +131,7 @@ def _RegistryQueryBase(sysdir, key, value):
stdout from reg.exe, or None for failure.
"""
# Skip if not on Windows or Python Win32 setup issue
- if sys.platform not in ('win32', 'cygwin'):
+ if sys.platform not in ('win32', 'cygwin', 'msys'):
return None
# Setup params to pass to and attempt to launch reg.exe
cmd = [os.path.join(os.environ.get('WINDIR', ''), sysdir, 'reg.exe'),
@@ -335,7 +335,7 @@ def _CreateVersion(name, path, sdk_based=False):
def _ConvertToCygpath(path):
"""Convert to cygwin path if we are using cygwin."""
- if sys.platform == 'cygwin':
+ if sys.platform in ('cygwin', 'msys'):
p = subprocess.Popen(['cygpath', path], stdout=subprocess.PIPE)
path = p.communicate()[0].strip()
return path
diff --git a/pylib/gyp/__init__.py b/pylib/gyp/__init__.py
index 668f38b..1c14c59 100755
--- a/pylib/gyp/__init__.py
+++ b/pylib/gyp/__init__.py
@@ -360,7 +360,7 @@ def gyp_main(args):
if not home_dot_gyp:
home_vars = ['HOME']
- if sys.platform in ('cygwin', 'win32'):
+ if sys.platform in ('cygwin', 'msys', 'win32'):
home_vars.append('USERPROFILE')
for home_var in home_vars:
home = os.getenv(home_var)
@@ -389,7 +389,7 @@ def gyp_main(args):
# Nothing in the variable, default based on platform.
if sys.platform == 'darwin':
options.formats = ['xcode']
- elif sys.platform in ('win32', 'cygwin'):
+ elif sys.platform in ('win32', 'cygwin', 'msys'):
options.formats = ['msvs']
else:
options.formats = ['make']
diff --git a/pylib/gyp/common.py b/pylib/gyp/common.py
index a1e1db5..ca60f58 100644
--- a/pylib/gyp/common.py
+++ b/pylib/gyp/common.py
@@ -411,6 +411,7 @@ def GetFlavor(params):
"""Returns |params.flavor| if it's set, the system's default flavor else."""
flavors = {
'cygwin': 'win',
+ 'msys': 'win',
'win32': 'win',
'darwin': 'mac',
}
diff --git a/pylib/gyp/generator/make.py b/pylib/gyp/generator/make.py
index e80ebae..e1907a0 100644
--- a/pylib/gyp/generator/make.py
+++ b/pylib/gyp/generator/make.py
@@ -1355,7 +1355,10 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD
--- gyp/pylib/gyp/generator/make.py.orig 2021-05-13 12:43:49.416056500 +0200
+++ gyp/pylib/gyp/generator/make.py 2021-05-13 12:44:38.698110700 +0200
@@ -1375,7 +1375,10 @@
if self.flavor == 'aix':
target_ext = '.a'
else:
@@ -102,115 +12,3 @@ index e80ebae..e1907a0 100644
elif self.type == 'none':
target = '%s.stamp' % target
elif self.type != 'executable':
diff --git a/pylib/gyp/generator/ninja.py b/pylib/gyp/generator/ninja.py
index 0555a4a..c5f2276 100644
--- a/pylib/gyp/generator/ninja.py
+++ b/pylib/gyp/generator/ninja.py
@@ -1747,7 +1747,7 @@ def GetDefaultConcurrentLinks():
if pool_size:
return pool_size
- if sys.platform in ('win32', 'cygwin'):
+ if sys.platform in ('win32', 'cygwin', 'msys'):
import ctypes
class MEMORYSTATUSEX(ctypes.Structure):
diff --git a/test/actions-multiple/gyptest-all.py b/test/actions-multiple/gyptest-all.py
index 2a083de..30b7339 100755
--- a/test/actions-multiple/gyptest-all.py
+++ b/test/actions-multiple/gyptest-all.py
@@ -35,7 +35,7 @@ if test.format in ['make', 'ninja']:
if test.format == 'make':
target = 'multi2.txt'
elif test.format == 'ninja':
- if sys.platform in ['win32', 'cygwin']:
+ if sys.platform in ('win32', 'cygwin', 'msys'):
target = '..\\..\\multi2.txt'
else:
target = '../../multi2.txt'
diff --git a/test/lib/TestCommon.py b/test/lib/TestCommon.py
index 2f526a6..5dc7b3a 100644
--- a/test/lib/TestCommon.py
+++ b/test/lib/TestCommon.py
@@ -127,7 +127,7 @@ if sys.platform == 'win32':
dll_suffix = '.dll'
module_prefix = ''
module_suffix = '.dll'
-elif sys.platform == 'cygwin':
+elif sys.platform in ('cygwin', 'msys'):
exe_suffix = '.exe'
obj_suffix = '.o'
shobj_suffix = '.os'
diff --git a/test/lib/TestGyp.py b/test/lib/TestGyp.py
index e7a522c..54de5de 100644
--- a/test/lib/TestGyp.py
+++ b/test/lib/TestGyp.py
@@ -625,7 +625,7 @@ class TestGypMake(TestGypBase):
def ConvertToCygpath(path):
"""Convert to cygwin path if we are using cygwin."""
- if sys.platform == 'cygwin':
+ if sys.platform in ('cygwin', 'msys'):
p = subprocess.Popen(['cygpath', path], stdout=subprocess.PIPE)
path = p.communicate()[0].strip()
return path
@@ -759,7 +759,7 @@ class TestGypOnMSToolchain(TestGypBase):
def initialize_build_tool(self):
super(TestGypOnMSToolchain, self).initialize_build_tool()
- if sys.platform in ('win32', 'cygwin'):
+ if sys.platform in ('win32', 'cygwin', 'msys'):
build_tools = FindVisualStudioInstallation()
self.devenv_path, self.uses_msbuild, self.msbuild_path = build_tools
self.vsvars_path = TestGypOnMSToolchain._ComputeVsvarsPath(
@@ -768,7 +768,7 @@ class TestGypOnMSToolchain(TestGypBase):
def run_dumpbin(self, *dumpbin_args):
"""Run the dumpbin tool with the specified arguments, and capturing and
returning stdout."""
- assert sys.platform in ('win32', 'cygwin')
+ assert sys.platform in ('win32', 'cygwin', 'msys')
cmd = os.environ.get('COMSPEC', 'cmd.exe')
arguments = [cmd, '/c', self.vsvars_path, '&&', 'dumpbin']
arguments.extend(dumpbin_args)
diff --git a/test/library_dirs/gyptest-library-dirs.py b/test/library_dirs/gyptest-library-dirs.py
index e725dd1..d0f1a20 100644
--- a/test/library_dirs/gyptest-library-dirs.py
+++ b/test/library_dirs/gyptest-library-dirs.py
@@ -31,7 +31,7 @@ expect = """Hello world
test.run_built_executable(
'libraries-search-path-test', chdir='subdir', stdout=expect)
-if sys.platform in ('win32', 'cygwin'):
+if sys.platform in ('win32', 'cygwin', 'msys'):
test.run_gyp('test-win.gyp',
'-D',
'abs_path_to_secret_library_location={0}'.format(lib_dir),
diff --git a/test/rules/src/external/external.gyp b/test/rules/src/external/external.gyp
index b28174f..335af69 100644
--- a/test/rules/src/external/external.gyp
+++ b/test/rules/src/external/external.gyp
@@ -19,7 +19,7 @@
'conditions': [
['OS=="win"', {
'dependencies': [
- 'cygwin',
+ 'msys',
],
}],
],
diff --git a/test/target/gyptest-target.py b/test/target/gyptest-target.py
index 4338db7..fb400ed 100644
--- a/test/target/gyptest-target.py
+++ b/test/target/gyptest-target.py
@@ -13,7 +13,7 @@ target_extension is used to avoid MSB8012 for msvs.
import sys
import TestGyp
-if sys.platform in ('win32', 'cygwin'):
+if sys.platform in ('win32', 'cygwin', 'msys'):
test = TestGyp.TestGyp()
test.run_gyp('target.gyp')
--
2.10.1.windows.1

View File

@@ -4,7 +4,7 @@
_realname=gyp
pkgname=${_realname}-git
pkgver=r2163.caa60026
pkgrel=1
pkgrel=2
pkgdesc="GYP can Generate Your Projects"
url="https://code.google.com/p/gyp/"
arch=('i686' 'x86_64')
@@ -18,16 +18,17 @@ _commit="caa60026e223fc501e8b337fd5086ece4028b1c6"
source=("git+https://chromium.googlesource.com/external/gyp#commit=${_commit}"
'0001-msys-ize.patch')
sha256sums=('SKIP'
'df62802ca323c257b5523437cd2229e432d87d87fc0bf8eeb626eeb5d43f1421')
'fc53fc2f49ce1895c13aa330c814db29288a445e87a47d7bc81f6a6ab400df5f')
pkgver() {
cd "${srcdir}"/${_realname}
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short "${_commit}")"
printf "r%s.%s" $(("$(git rev-list --count ${_commit})" + 1)) "$(git rev-parse --short "${_commit}")"
}
prepare() {
cd "${srcdir}"/${_realname}
git am --committer-date-is-author-date "${srcdir}"/0001-msys-ize.patch
patch -Np1 -i "${srcdir}/0001-msys-ize.patch"
}
package() {

View File

@@ -39,32 +39,6 @@ index 3c2c53c7f..e92115840 100644
else:
# Linux/BSDs
shlibext = ['so']
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index 588005bba..c1cf96d3b 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -437,7 +437,7 @@ def detect_cpu(compilers: CompilersDict):
return trial
def detect_system():
- if sys.platform == 'cygwin':
+ if sys.platform == 'cygwin' or sys.platform == 'msys':
return 'cygwin'
return platform.system().lower()
diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py
index 352c5ca8b..1c541eae2 100644
--- a/mesonbuild/mesonlib.py
+++ b/mesonbuild/mesonlib.py
@@ -500,7 +500,7 @@ def is_windows() -> bool:
def is_cygwin() -> bool:
- return sys.platform == 'cygwin'
+ return sys.platform == 'cygwin' or sys.platform == 'msys'
def is_debianlike() -> bool:
diff --git a/mesonbuild/mesonmain.py b/mesonbuild/mesonmain.py
index 9bf6ef667..b99e9f246 100644
--- a/mesonbuild/mesonmain.py
@@ -74,23 +48,10 @@ index 9bf6ef667..b99e9f246 100644
# https://github.com/mesonbuild/meson/issues/3653
- if sys.platform.lower() == 'msys':
+ if sys.platform.lower() == 'msys' and os.environ.get('MSYSTEM', '') != 'MSYS':
+ if sys.platform == 'cygwin' and os.environ.get('MSYSTEM', '') != 'MSYS':
mlog.error('This python3 seems to be msys/python on MSYS2 Windows, which is known to have path semantics incompatible with Meson')
msys2_arch = detect_msys2_arch()
if msys2_arch:
diff --git a/mesonbuild/mtest.py b/mesonbuild/mtest.py
index 35cb10a5b..65567fb4d 100644
--- a/mesonbuild/mtest.py
+++ b/mesonbuild/mtest.py
@@ -60,7 +60,7 @@ def is_windows() -> bool:
return platname == 'windows'
def is_cygwin() -> bool:
- return sys.platform == 'cygwin'
+ return sys.platform == 'cygwin' or sys.platform == 'msys'
def determine_worker_count() -> int:
varname = 'MESON_TESTTHREADS'
diff --git a/run_unittests.py b/run_unittests.py
index c7c6ba265..c64c6af30 100755
--- a/run_unittests.py

View File

@@ -2,7 +2,7 @@
pkgname=meson
pkgver=0.56.2
pkgrel=1
pkgrel=2
pkgdesc='High-productivity build system'
arch=('any')
url="https://mesonbuild.com/"
@@ -11,7 +11,7 @@ depends=('python' 'python-setuptools' 'ninja')
source=("https://github.com/mesonbuild/${pkgname}/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.gz"
"0001-cygwin-disguise.patch")
sha256sums=('3cb8bdb91383f7f8da642f916e4c44066a29262caa499341e2880f010edb87f4'
'f9bc5bbd4e2c3c9702664836cf855d197961287607a64d2ef7b19de4b7fc7642')
'd923909ef135520caaf09608651f13e5b3090911b228795cbf5376b55a587903')
prepare() {
cd "${srcdir}/${pkgname}-${pkgver}"

View File

@@ -11,38 +11,36 @@ diff -Naur Python-3.8.2-orig/config.guess Python-3.8.2/config.guess
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
exit ;;
diff -Naur Python-3.8.2-orig/configure.ac Python-3.8.2/configure.ac
--- Python-3.8.2-orig/configure.ac 2020-04-16 11:05:52.937126000 +0300
+++ Python-3.8.2/configure.ac 2020-04-16 11:55:47.954736700 +0300
@@ -374,6 +374,9 @@
*-*-cygwin*)
--- 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
@@ -371,7 +371,7 @@
*-*-linux*)
ac_sys_system=Linux
;;
- *-*-cygwin*)
+ *-*-cygwin*|*-*-msys*)
ac_sys_system=Cygwin
;;
+ *-*-msys*)
+ ac_sys_system=Msys
+ ;;
*-*-vxworks*)
ac_sys_system=VxWorks
;;
@@ -402,6 +405,7 @@
@@ -401,7 +401,7 @@
case $MACHDEP in
aix*) MACHDEP="aix";;
linux*) MACHDEP="linux";;
cygwin*) MACHDEP="cygwin";;
+ msys*) MACHDEP="msys";;
- cygwin*) MACHDEP="cygwin";;
+ cygwin*|msys*) MACHDEP="cygwin";;
darwin*) MACHDEP="darwin";;
'') MACHDEP="unknown";;
esac
@@ -423,6 +427,9 @@
*-*-cygwin*)
@@ -420,7 +420,7 @@
_host_cpu=$host_cpu
esac
;;
- *-*-cygwin*)
+ *-*-cygwin*|*-*-msys*)
_host_cpu=
;;
+ *-*-msys*)
+ _host_cpu=
+ ;;
*-*-vxworks*)
_host_cpu=$host_cpu
;;
@@ -845,6 +852,14 @@
@@ -845,6 +845,14 @@
darwin
#elif defined(__VXWORKS__)
vxworks
@@ -57,7 +55,7 @@ diff -Naur Python-3.8.2-orig/configure.ac Python-3.8.2/configure.ac
#elif defined(__CYGWIN__)
# if defined(__x86_64__)
x86_64-cygwin
@@ -1064,7 +1071,7 @@
@@ -1064,7 +1072,7 @@
if test -z "$enable_shared"
then
case $ac_sys_system in
@@ -66,7 +64,7 @@ diff -Naur Python-3.8.2-orig/configure.ac Python-3.8.2/configure.ac
enable_shared="yes";;
*)
enable_shared="no";;
@@ -1118,6 +1125,10 @@
@@ -1118,6 +1126,10 @@
LDLIBRARY='libpython$(LDVERSION).dll.a'
DLLLIBRARY='libpython$(LDVERSION).dll'
;;
@@ -77,7 +75,7 @@ diff -Naur Python-3.8.2-orig/configure.ac Python-3.8.2/configure.ac
SunOS*)
LDLIBRARY='libpython$(LDVERSION).so'
BLDLIBRARY='-Wl,-R,$(LIBDIR) -L. -lpython$(LDVERSION)'
@@ -1164,7 +1175,7 @@
@@ -1164,7 +1176,7 @@
else # shared is disabled
PY_ENABLE_SHARED=0
case $ac_sys_system in
@@ -86,7 +84,7 @@ diff -Naur Python-3.8.2-orig/configure.ac Python-3.8.2/configure.ac
BLDLIBRARY='$(LIBRARY)'
LDLIBRARY='libpython$(LDVERSION).dll.a'
;;
@@ -1213,7 +1224,7 @@
@@ -1213,7 +1225,7 @@
AC_SUBST(LN)
if test -z "$LN" ; then
case $ac_sys_system in
@@ -95,7 +93,7 @@ diff -Naur Python-3.8.2-orig/configure.ac Python-3.8.2/configure.ac
*) LN=ln;;
esac
fi
@@ -2507,7 +2518,7 @@
@@ -2514,7 +2526,7 @@
*) SHLIB_SUFFIX=.sl;;
esac
;;
@@ -104,7 +102,7 @@ diff -Naur Python-3.8.2-orig/configure.ac Python-3.8.2/configure.ac
*) SHLIB_SUFFIX=.so;;
esac
fi
@@ -2641,7 +2652,7 @@
@@ -2648,7 +2660,7 @@
SCO_SV*)
LDSHARED='$(CC) -Wl,-G,-Bexport'
LDCXXSHARED='$(CXX) -Wl,-G,-Bexport';;
@@ -113,7 +111,7 @@ diff -Naur Python-3.8.2-orig/configure.ac Python-3.8.2/configure.ac
LDSHARED="gcc -shared -Wl,--enable-auto-image-base"
LDCXXSHARED="g++ -shared -Wl,--enable-auto-image-base";;
*) LDSHARED="ld";;
@@ -2727,7 +2738,7 @@
@@ -2734,7 +2746,7 @@
LINKFORSHARED="-Xlinker --export-dynamic"
fi;;
esac;;
@@ -122,7 +120,7 @@ diff -Naur Python-3.8.2-orig/configure.ac Python-3.8.2/configure.ac
if test $enable_shared = "no"
then
LINKFORSHARED='-Wl,--out-implib=$(LDLIBRARY)'
@@ -2751,7 +2762,7 @@
@@ -2758,7 +2770,7 @@
if test ! "$LIBRARY" = "$LDLIBRARY"
then
case $ac_sys_system in
@@ -131,7 +129,7 @@ diff -Naur Python-3.8.2-orig/configure.ac Python-3.8.2/configure.ac
# Cygwin needs CCSHARED when building extension DLLs
# but not when building the interpreter DLL.
CFLAGSFORSHARED='';;
@@ -3206,7 +3217,7 @@
@@ -3228,7 +3240,7 @@
fi
AC_CHECK_FUNCS(pthread_sigmask,
[case $ac_sys_system in
@@ -140,42 +138,8 @@ diff -Naur Python-3.8.2-orig/configure.ac Python-3.8.2/configure.ac
AC_DEFINE(HAVE_BROKEN_PTHREAD_SIGMASK, 1,
[Define if pthread_sigmask() does not work on your system.])
;;
@@ -4990,7 +4990,7 @@
# On Android and Cygwin the shared libraries must be linked with libpython.
AC_SUBST(LIBPYTHON)
-if test -n "$ANDROID_API_LEVEL" -o "$MACHDEP" = "cygwin"; then
+if test -n "$ANDROID_API_LEVEL" -o "$MACHDEP" = "cygwin" -o "$MACHDEP" = "msys" -o "$MACHDEP" = "win"; then
LIBPYTHON="-lpython${VERSION}${ABIFLAGS}"
else
LIBPYTHON=''
diff -Naur Python-3.8.2-orig/Lib/_pyio.py Python-3.8.2/Lib/_pyio.py
--- Python-3.8.2-orig/Lib/_pyio.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/_pyio.py 2020-04-16 11:24:20.888354800 +0300
@@ -10,7 +10,7 @@
import sys
# Import _thread instead of threading to reduce startup cost
from _thread import allocate_lock as Lock
-if sys.platform in {'win32', 'cygwin'}:
+if sys.platform in {'win32', 'cygwin', 'msys'}:
from msvcrt import setmode as _setmode
else:
_setmode = None
diff -Naur Python-3.8.2-orig/Lib/asyncio/base_events.py Python-3.8.2/Lib/asyncio/base_events.py
--- Python-3.8.2-orig/Lib/asyncio/base_events.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/asyncio/base_events.py 2020-04-16 11:24:20.187260800 +0300
@@ -1413,7 +1413,7 @@
'host/port and sock can not be specified at the same time')
if reuse_address is None:
- reuse_address = os.name == 'posix' and sys.platform != 'cygwin'
+ reuse_address = os.name == 'posix' and sys.platform != 'cygwin' and sys.platform != 'msys'
sockets = []
if host == '':
hosts = [None]
diff -Naur Python-3.8.2-orig/Lib/ctypes/__init__.py Python-3.8.2/Lib/ctypes/__init__.py
--- Python-3.8.2-orig/Lib/ctypes/__init__.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/ctypes/__init__.py 2020-04-16 12:15:47.765039500 +0300
--- 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
@@ -1,6 +1,6 @@
"""create and manipulate C data types in Python"""
@@ -184,99 +148,39 @@ diff -Naur Python-3.8.2-orig/Lib/ctypes/__init__.py Python-3.8.2/Lib/ctypes/__in
__version__ = "1.1.0"
@@ -457,6 +457,8 @@
@@ -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])
+elif _sys.platform == 'msys':
- 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)
diff -Naur Python-3.8.2-orig/Lib/ctypes/test/test_loading.py Python-3.8.2/Lib/ctypes/test/test_loading.py
--- Python-3.8.2-orig/Lib/ctypes/test/test_loading.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/ctypes/test/test_loading.py 2020-04-16 11:24:20.297938600 +0300
@@ -16,6 +16,8 @@
--- 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"
+ elif sys.platform == "msys":
- libc_name = "cygwin1.dll"
+ libc_name = "msys-2.0.dll"
else:
libc_name = find_library("c")
diff -Naur Python-3.8.2-orig/Lib/ctypes/util.py Python-3.8.2/Lib/ctypes/util.py
--- Python-3.8.2-orig/Lib/ctypes/util.py 2020-04-16 11:05:52.177167300 +0300
+++ Python-3.8.2/Lib/ctypes/util.py 2020-04-16 12:13:21.118796400 +0300
@@ -89,7 +89,7 @@
from ctypes._aix import find_library
-elif sys.platform == "cygwin":
+elif sys.platform in ["cygwin", "msys"]:
def find_library(name):
for libdir in ['/usr/lib', '/usr/local/lib']:
for libext in ['lib%s.dll.a' % name, 'lib%s.a' % name]:
@@ -372,6 +372,10 @@
print(cdll.LoadLibrary("cygbz2-1.dll"))
print(cdll.LoadLibrary("cygcrypt-0.dll"))
print(find_library("crypt"))
+ elif sys.platform == "msys":
--- 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"))
print(find_library("crypt"))
else:
print(cdll.LoadLibrary("libm.so"))
print(cdll.LoadLibrary("libcrypt.so"))
diff -Naur Python-3.8.2-orig/Lib/distutils/ccompiler.py Python-3.8.2/Lib/distutils/ccompiler.py
--- Python-3.8.2-orig/Lib/distutils/ccompiler.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/distutils/ccompiler.py 2020-04-16 11:24:20.389719900 +0300
@@ -927,6 +927,7 @@
# on a cygwin built python we can use gcc like an ordinary UNIXish
# compiler
('cygwin.*', 'unix'),
+ ('msys.*', 'unix'),
# OS name mappings
('posix', 'unix'),
@@ -964,6 +965,8 @@
"Microsoft Visual C++"),
'cygwin': ('cygwinccompiler', 'CygwinCCompiler',
"Cygwin port of GNU C Compiler for Win32"),
+ 'msys': ('cygwinccompiler', 'CygwinCCompiler',
+ "Cygwin port of GNU C Compiler for Win32"),
'mingw32': ('cygwinccompiler', 'Mingw32CCompiler',
"Mingw32 port of GNU C Compiler for Win32"),
'bcpp': ('bcppcompiler', 'BCPPCompiler',
diff -Naur Python-3.8.2-orig/Lib/distutils/command/build_ext.py Python-3.8.2/Lib/distutils/command/build_ext.py
--- Python-3.8.2-orig/Lib/distutils/command/build_ext.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/distutils/command/build_ext.py 2020-04-16 12:23:32.423489500 +0300
@@ -218,7 +218,7 @@
# For extensions under Cygwin, Python's library directory must be
# appended to library_dirs
- if sys.platform[:6] == 'cygwin':
+ if sys.platform[:6] == 'cygwin' or sys.platform[:4] == 'msys':
if sys.executable.startswith(os.path.join(sys.exec_prefix, "bin")):
# building third party extensions
self.library_dirs.append(os.path.join(sys.prefix, "lib",
@@ -739,12 +739,16 @@
link_libpython = True
elif sys.platform == 'cygwin':
link_libpython = True
+ elif sys.platform == 'msys':
+ link_libpython = True
elif '_PYTHON_HOST_PLATFORM' in os.environ:
# We are cross-compiling for one of the relevant platforms
if get_config_var('ANDROID_API_LEVEL') != 0:
link_libpython = True
elif get_config_var('MACHDEP') == 'cygwin':
link_libpython = True
+ elif get_config_var('MACHDEP') == 'msys':
+ link_libpython = True
if link_libpython:
ldversion = get_config_var('LDVERSION')
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
@@ -286,27 +190,6 @@ diff -Naur Python-3.8.2-orig/Lib/distutils/cygwinccompiler.py Python-3.8.2/Lib/d
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/unixccompiler.py Python-3.8.2/Lib/distutils/unixccompiler.py
--- Python-3.8.2-orig/Lib/distutils/unixccompiler.py 2020-04-16 11:05:53.222360600 +0300
+++ Python-3.8.2/Lib/distutils/unixccompiler.py 2020-04-16 11:24:20.529346500 +0300
@@ -79,7 +79,7 @@
xcode_stub_lib_extension = ".tbd"
static_lib_format = shared_lib_format = dylib_lib_format = "lib%s%s"
xcode_stub_lib_format = dylib_lib_format
- if sys.platform == "cygwin":
+ if sys.platform in ["cygwin", "msys"]:
exe_extension = ".exe"
dylib_lib_extension = ".dll.a"
@@ -242,7 +242,7 @@
# the configuration data stored in the Python installation, so
# we use this hack.
compiler = os.path.basename(sysconfig.get_config_var("CC"))
- if sys.platform[:6] == "darwin" or sys.platform[:6] == "cygwin":
+ if sys.platform[:6] == "darwin" or sys.platform[:6] == "cygwin" or sys.platform[:4] == "msys":
# MacOSX's linker doesn't understand the -R flag at all
return "-L" + dir
elif sys.platform[:7] == "freebsd":
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
@@ -323,30 +206,6 @@ diff -Naur Python-3.8.2-orig/Lib/distutils/util.py Python-3.8.2/Lib/distutils/ut
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/importlib/_bootstrap_external.py Python-3.8.2/Lib/importlib/_bootstrap_external.py
--- Python-3.8.2-orig/Lib/importlib/_bootstrap_external.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/importlib/_bootstrap_external.py 2020-04-16 11:24:20.608135500 +0300
@@ -21,7 +21,7 @@
# Bootstrap-related code ######################################################
_CASE_INSENSITIVE_PLATFORMS_STR_KEY = 'win',
-_CASE_INSENSITIVE_PLATFORMS_BYTES_KEY = 'cygwin', 'darwin'
+_CASE_INSENSITIVE_PLATFORMS_BYTES_KEY = 'cygwin', 'msys', 'darwin'
_CASE_INSENSITIVE_PLATFORMS = (_CASE_INSENSITIVE_PLATFORMS_BYTES_KEY
+ _CASE_INSENSITIVE_PLATFORMS_STR_KEY)
diff -Naur Python-3.8.2-orig/Lib/socket.py Python-3.8.2/Lib/socket.py
--- Python-3.8.2-orig/Lib/socket.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/socket.py 2020-04-16 12:25:52.240577100 +0300
@@ -866,7 +866,7 @@
# connections. Also, it may set the process in a state where
# it'll no longer respond to any signals or graceful kills.
# See: msdn2.microsoft.com/en-us/library/ms740621(VS.85).aspx
- if os.name not in ('nt', 'cygwin') and \
+ if os.name not in ('nt', 'cygwin', 'msys') and \
hasattr(_socket, 'SO_REUSEADDR'):
try:
sock.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
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
@@ -364,111 +223,6 @@ diff -Naur Python-3.8.2-orig/Lib/sysconfig.py Python-3.8.2/Lib/sysconfig.py
elif osname[:6] == "darwin":
import _osx_support
osname, release, machine = _osx_support.get_platform_osx(
diff -Naur Python-3.8.2-orig/Lib/tempfile.py Python-3.8.2/Lib/tempfile.py
--- Python-3.8.2-orig/Lib/tempfile.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/tempfile.py 2020-04-16 12:10:16.483289300 +0300
@@ -549,7 +549,7 @@
_os.close(fd)
raise
-if _os.name != 'posix' or _sys.platform == 'cygwin':
+if _os.name != 'posix' or _sys.platform == 'cygwin' or _sys.platform == 'msys':
# On non-POSIX and Cygwin systems, assume that we cannot unlink a file
# while it is open.
TemporaryFile = NamedTemporaryFile
diff -Naur Python-3.8.2-orig/Lib/test/test_c_locale_coercion.py Python-3.8.2/Lib/test/test_c_locale_coercion.py
--- Python-3.8.2-orig/Lib/test/test_c_locale_coercion.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/test/test_c_locale_coercion.py 2020-04-16 12:27:51.690076700 +0300
@@ -44,7 +44,7 @@
elif sys.platform == "darwin":
# FS encoding is UTF-8 on macOS
EXPECTED_C_LOCALE_FS_ENCODING = "utf-8"
-elif sys.platform == "cygwin":
+elif sys.platform == "cygwin" or sys.platform == "msys":
# Cygwin defaults to using C.UTF-8
# TODO: Work out a robust dynamic test for this that doesn't rely on
# CPython's own locale handling machinery
diff -Naur Python-3.8.2-orig/Lib/test/test_curses.py Python-3.8.2/Lib/test/test_curses.py
--- Python-3.8.2-orig/Lib/test/test_curses.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/test/test_curses.py 2020-04-16 11:24:20.700885900 +0300
@@ -43,6 +43,8 @@
"$TERM=%r, calling initscr() may cause exit" % term)
@unittest.skipIf(sys.platform == "cygwin",
"cygwin's curses mostly just hangs")
+@unittest.skipIf(sys.platform == "msys",
+ "msys's curses mostly just hangs")
class TestCurses(unittest.TestCase):
@classmethod
diff -Naur Python-3.8.2-orig/Lib/test/test_importlib/util.py Python-3.8.2/Lib/test/test_importlib/util.py
--- Python-3.8.2-orig/Lib/test/test_importlib/util.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/test/test_importlib/util.py 2020-04-16 11:24:20.738756200 +0300
@@ -92,7 +92,7 @@
CASE_INSENSITIVE_FS = True
# Windows is the only OS that is *always* case-insensitive
# (OS X *can* be case-sensitive).
-if sys.platform not in ('win32', 'cygwin'):
+if sys.platform not in ('win32', 'cygwin', 'msys'):
changed_name = __file__.upper()
if changed_name == __file__:
changed_name = __file__.lower()
diff -Naur Python-3.8.2-orig/Lib/test/test_mailbox.py Python-3.8.2/Lib/test/test_mailbox.py
--- Python-3.8.2-orig/Lib/test/test_mailbox.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/test/test_mailbox.py 2020-04-16 11:24:20.774689700 +0300
@@ -591,7 +591,7 @@
def setUp(self):
TestMailbox.setUp(self)
- if (os.name == 'nt') or (sys.platform == 'cygwin'):
+ if (os.name == 'nt') or (sys.platform == 'cygwin') or (sys.platform == 'msys'):
self._box.colon = '!'
def assertMailboxEmpty(self):
diff -Naur Python-3.8.2-orig/Lib/test/test_netrc.py Python-3.8.2/Lib/test/test_netrc.py
--- Python-3.8.2-orig/Lib/test/test_netrc.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/test/test_netrc.py 2020-04-16 11:24:20.794640700 +0300
@@ -7,7 +7,7 @@
def make_nrc(self, test_data):
test_data = textwrap.dedent(test_data)
mode = 'w'
- if sys.platform != 'cygwin':
+ if sys.platform not in ['cygwin', 'msys']:
mode += 't'
temp_fd, temp_filename = tempfile.mkstemp()
with os.fdopen(temp_fd, mode=mode) as fp:
diff -Naur Python-3.8.2-orig/Lib/test/test_shutil.py Python-3.8.2/Lib/test/test_shutil.py
--- Python-3.8.2-orig/Lib/test/test_shutil.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/test/test_shutil.py 2020-04-16 12:09:20.258481700 +0300
@@ -169,7 +169,7 @@
super(TestShutil, self).tearDown()
while self.tempdirs:
d = self.tempdirs.pop()
- shutil.rmtree(d, os.name in ('nt', 'cygwin'))
+ shutil.rmtree(d, os.name in ('nt', 'cygwin', 'msys'))
def mkdtemp(self):
@@ -311,7 +311,7 @@
self.assertIn(errors[1][2][1].filename, possible_args)
- @unittest.skipIf(sys.platform[:6] == 'cygwin',
+ @unittest.skipIf(sys.platform[:6] == 'cygwin' or sys.platform[:4] == 'msys',
"This test can't be run on Cygwin (issue #1071513).")
@unittest.skipIf(hasattr(os, 'geteuid') and os.geteuid() == 0,
"This test can't be run reliably as root (issue #1076467).")
diff -Naur Python-3.8.2-orig/Lib/tkinter/test/test_tkinter/test_loadtk.py Python-3.8.2/Lib/tkinter/test/test_tkinter/test_loadtk.py
--- Python-3.8.2-orig/Lib/tkinter/test/test_tkinter/test_loadtk.py 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Lib/tkinter/test/test_tkinter/test_loadtk.py 2020-04-16 11:24:20.906330300 +0300
@@ -18,7 +18,7 @@
def testLoadTkFailure(self):
old_display = None
- if sys.platform.startswith(('win', 'darwin', 'cygwin')):
+ if sys.platform.startswith(('win', 'darwin', 'cygwin', 'msys')):
# no failure possible on windows?
# XXX Maybe on tk older than 8.4.13 it would be possible,
diff -Naur Python-3.8.2-orig/Modules/makesetup Python-3.8.2/Modules/makesetup
--- Python-3.8.2-orig/Modules/makesetup 2020-02-25 00:36:25.000000000 +0300
+++ Python-3.8.2/Modules/makesetup 2020-04-16 11:24:20.926282900 +0300
@@ -481,23 +235,3 @@ diff -Naur Python-3.8.2-orig/Modules/makesetup Python-3.8.2/Modules/makesetup
then
ExtraLibDir=.
else
diff -Naur Python-3.8.2-orig/setup.py Python-3.8.2/setup.py
--- Python-3.8.2-orig/setup.py 2020-04-16 11:05:53.028879500 +0300
+++ Python-3.8.2/setup.py 2020-04-16 12:07:07.164536800 +0300
@@ -42,6 +42,7 @@
HOST_PLATFORM = get_platform()
MS_WINDOWS = (HOST_PLATFORM == 'win32')
CYGWIN = (HOST_PLATFORM == 'cygwin')
+MSYS = (HOST_PLATFORM == 'msys')
MACOS = (HOST_PLATFORM == 'darwin')
AIX = (HOST_PLATFORM.startswith('aix'))
VXWORKS = ('vxworks' in HOST_PLATFORM)
@@ -505,7 +506,7 @@
# Workaround for Cygwin: Cygwin currently has fork issues when many
# modules have been imported
- if CYGWIN:
+ if CYGWIN or MSYS:
self.announce('WARNING: skipping import check for Cygwin-based "%s"'
% ext.name)
return

View File

@@ -20,7 +20,7 @@
- return s.startswith(sep)
+ altsep = _get_altsep(s)
+ return s.startswith(sep) or \
+ (sys.platform == 'msys' and \
+ (sys.platform == 'cygwin' and \
+ len(s) > 2 and \
+ s[1] == ':' and \
+ (s[2] == sep or s[2] == altsep))

View File

@@ -4,7 +4,7 @@
pkgbase=python
pkgname=('python' 'python-devel')
pkgver=3.8.7
pkgrel=1
pkgrel=2
_pybasever=${pkgver%.*}
pkgdesc="Next generation of the python high-level scripting language"
arch=('i686' 'x86_64')
@@ -55,8 +55,8 @@ sha256sums=('ddcc1df16bb5b87aa42ec5d20a5b902f2d088caa269b28e01590f97a798ec50a'
'5b1083e9b50e149d623d863dee38ac1fb8d142f1bb78c8a01dcb09bfd97f4118'
'fc6164a90f0ca2a9341aaf4448b4334c3393459ca5cbad6d7149f8bcf70da5fe'
'b4042475c5c75e0b4c7c08ccad2891eb8098c066c5ba524a988a0519102e8e5d'
'f1a1e381ece51e2531cb71002fe2e1a9642b1846d55055657c4e4aefda60b6da'
'387a2b7931fb4958e2526991760d85677f44fa13cff0aeb0f41a267f1f7fd214'
'4ea589b58daa03e8cd9a6f4e95851e5edeb9e04f2eb1771fe9a624efb7bdf047'
'85d9d042e0fa3493ec54b364e6b4fb6d2b12ba09641e01047bc84a09605ef76b'
'17e4ac1b5f0fa8a6c410fb80d1ad99ec9185efef51b8450a31932b553c354ed1'
'b439ff4f0a1f13858f8fb596414b74ed2c14fc3103d90287bb8e461ee89288b9'
'612bc5bcbe24c2f623713172d318c65a69ae601d72bcc5a170fe7c4eee458d18'

View File

@@ -3,7 +3,7 @@
pkgname=scons
pkgver=3.1.2
pkgrel=4
pkgrel=5
pkgdesc="Extensible Python-based build utility"
arch=('any')
groups=('base-devel')
@@ -15,7 +15,7 @@ source=("https://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${p
scons-2.3.4-msys2-plat-mingw-env.patch
mingw_w64.py)
sha256sums=('7801f3f62f654528e272df780be10c0e9337e897650b62ddcee9f39fde13f8fb'
'23b50d164c3e22694c635bc146e8482ee97c876f693c8a0c2a4a90230eb8812a'
'48e9ac05b18f123c179da0a7398b6a8e777bb309d4125b729855100119644ec4'
'c024560dc93636d92614c17d7519080dd931f6c1471088616692a443d3cfc064'
'984c55d0ca18ac594941bb6336fe994efe2f5bba20225e8cb1f5d42c80eaf651')

View File

@@ -1,32 +1,10 @@
diff -Naur scons-2.3.4-orig/engine/SCons/Node/FS.py scons-2.3.4/engine/SCons/Node/FS.py
--- scons-2.3.4-orig/engine/SCons/Node/FS.py 2014-09-27 19:51:48.000000000 +0300
+++ scons-2.3.4/engine/SCons/Node/FS.py 2014-11-05 01:00:41.503600000 +0300
@@ -372,7 +372,7 @@
_null = _Null()
# Cygwin's os.path.normcase pretends it's on a case-sensitive filesystem.
-_is_cygwin = sys.platform == "cygwin"
+_is_cygwin = sys.platform in ["cygwin", "msys"]
if os.path.normcase("TeSt") == os.path.normpath("TeSt") and not _is_cygwin:
def _my_normcase(x):
return x
@@ -1955,7 +1955,7 @@
for entry in map(_my_normcase, entries):
d[entry] = True
self.on_disk_entries = d
- if sys.platform == 'win32' or sys.platform == 'cygwin':
+ if sys.platform == 'win32' or sys.platform == 'cygwin' or sys.platform == 'msys':
name = _my_normcase(name)
result = d.get(name)
if result is None:
diff -Naur scons-2.3.4-orig/engine/SCons/Platform/__init__.py scons-2.3.4/engine/SCons/Platform/__init__.py
--- scons-2.3.4-orig/engine/SCons/Platform/__init__.py 2014-09-27 19:51:48.000000000 +0300
+++ scons-2.3.4/engine/SCons/Platform/__init__.py 2014-11-05 01:00:42.034000000 +0300
@@ -70,6 +70,8 @@
--- scons-3.1.2.orig/engine/SCons/Platform/__init__.py 2019-12-17 03:07:12.000000000 +0100
+++ scons-3.1.2/engine/SCons/Platform/__init__.py 2021-05-13 11:44:15.899865900 +0200
@@ -69,7 +69,7 @@
osname = os._osType
if osname == 'posix':
if sys.platform == 'cygwin':
return 'cygwin'
+ elif sys.platform == 'msys':
- return 'cygwin'
+ return 'msys'
elif sys.platform.find('irix') != -1:
return 'irix'
@@ -412,27 +390,6 @@ diff -Naur /dev/null scons-3.0.4/engine/SCons/Tool/msyslink.py
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=4 shiftwidth=4:
diff -Naur scons-2.3.4-orig/engine/SCons/Util.py scons-2.3.4/engine/SCons/Util.py
--- scons-2.3.4-orig/engine/SCons/Util.py 2014-09-27 19:51:48.000000000 +0300
+++ scons-2.3.4/engine/SCons/Util.py 2014-11-05 01:00:42.049600000 +0300
@@ -889,7 +889,7 @@
else:
return sep.join(paths)
-if sys.platform == 'cygwin':
+if sys.platform in ['cygwin', 'msys']:
def get_native_path(path):
"""Transforms an absolute path into a native path for the system. In
Cygwin, this converts from a Cygwin path to a Windows one."""
@@ -1020,7 +1020,7 @@
return None
-if sys.platform == 'cygwin':
+if sys.platform in ['cygwin', 'msys']:
# On Cygwin, os.path.normcase() lies, so just report back the
# fact that the underlying Windows OS is case-insensitive.
def case_sensitive_suffixes(s1, s2):
diff -Naur scons-2.3.4-orig/MANIFEST scons-2.3.4/MANIFEST
--- scons-2.3.4-orig/MANIFEST 2014-09-27 19:52:20.000000000 +0300
+++ scons-2.3.4/MANIFEST 2014-11-05 01:00:42.065200000 +0300

View File

@@ -18,9 +18,9 @@ diff -durN serf-1.3.9.orig/SConstruct serf-1.3.9/SConstruct
env.ParseConfig('$GSSAPI --libs gssapi', parse_libs)
env.Append(CPPDEFINES=['SERF_HAVE_GSSAPI'])
-if sys.platform == 'win32':
+if sys.platform == 'win32' or sys.platform == 'msys':
+if sys.platform == 'win32' or sys.platform == 'cygwin':
env.Append(CPPDEFINES=['SERF_HAVE_SSPI'])
+ if sys.platform == 'msys':
+ if sys.platform == 'cygwin':
+ env['SECUR32_LIBS'] = '-lsecur32'
+ env.Append(LIBS='secur32')

View File

@@ -3,7 +3,7 @@
pkgbase=serf
pkgname=("lib${pkgbase}" "lib${pkgbase}-devel")
pkgver=1.3.9
pkgrel=5
pkgrel=6
pkgdesc="High-performance asynchronous HTTP client library"
arch=('i686' 'x86_64')
url="https://serf.apache.org/"
@@ -19,7 +19,7 @@ sha256sums=('549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc'
'87767cd9b5e568a10f234df46f413a408613965e9d1b8cde1c0145f7eb20f0f1'
'1efab80c71b6987ed504d307c39a623aef849bc7cc39c6aeac3d9338f7459be8'
'313b272609729d80dedf608f9f1939526e687fdf4a1b50e1a66505c93c2ee56f'
'64fcbd8ed1c3c5d76c0deeff5e41bc73c2354276584638ce3e5cd86ef0d9f4b5'
'84a43b3b6d3024195fdc69d215898ac426286329025bfa239ebe27a5c7507bc0'
'363732546098b4c9415eb5d38b595d04c660c6324a34159768d334507b7d241f')
prepare() {

View File

@@ -2,7 +2,7 @@
pkgname=subversion
pkgver=1.14.0
pkgrel=3
pkgrel=4
pkgdesc="A Modern Concurrent Version Control System"
arch=('i686' 'x86_64')
url="https://subversion.apache.org/"
@@ -62,7 +62,7 @@ sha256sums=('6ba8e218f9f97a83a799e58a3c6da1221d034b18d9d8cbbcb6ec52ab11722102'
'0f78c288ec619567f175f473e6a42cc24c185d763b7da5c2c3579d8bab366aba'
'f61c9b3333d90790a4c6763d81ee05ee5a2029e562c900e92f7526393460181c'
'a1072514d1be6e2026ae1e2fa24d3bfd97dfbda13b4bd4d89aae0e871b2aae32'
'c89de3d5272b0196440d6fdf21c14170d0c41702c84fbb273ec87c115633d809'
'8cb68970c06e698a3d0ef37ff2b25e7ca605b0712b306f9df5dbc37f96cef38c'
'd821304ee957ef4adbb0a8dec9cea3fe62ad7163aef132317d28f70ea25162ca'
'fc545e375d8af4ef6d8afad453453480664b6a2ff74915f94b8a7da7de14155b')
validpgpkeys=('91BFBF4D6956BD5DF7B72D23DFE691AE331BA3DB')

View File

@@ -45,18 +45,6 @@ diff -Naur subversion-1.8.0-orig/build/config.guess subversion-1.8.0/build/confi
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
exit ;;
diff -Naur subversion-1.8.0-orig/build/get-py-info.py subversion-1.8.0/build/get-py-info.py
--- subversion-1.8.0-orig/build/get-py-info.py 2009-11-16 22:07:17.000000000 +0300
+++ subversion-1.8.0/build/get-py-info.py 2013-06-24 09:18:54.709961000 +0400
@@ -101,7 +101,7 @@
sysconfig.get_config_var('PYTHON'))
add_option_if_missing(options, "-bundle_loader", python_exe)
- elif sys.platform == 'cygwin' or sys.platform.startswith('openbsd'):
+ elif sys.platform == 'cygwin' or sys.platform == 'msys' or sys.platform.startswith('openbsd'):
# Add flags to build against the Python library (also necessary
# for Darwin, but handled elsewhere).
diff -Naur subversion-1.8.0-orig/configure.ac subversion-1.8.0/configure.ac
--- subversion-1.8.0-orig/configure.ac 2013-06-24 09:05:45.530273500 +0400
+++ subversion-1.8.0/configure.ac 2013-06-24 09:18:54.928711000 +0400
@@ -69,18 +57,6 @@ diff -Naur subversion-1.8.0-orig/configure.ac subversion-1.8.0/configure.ac
AC_MSG_RESULT([yes])
LT_NO_UNDEFINED="-no-undefined"
;;
diff -Naur subversion-1.8.0-orig/subversion/bindings/ctypes-python/test/remoterepos.py subversion-1.8.0/subversion/bindings/ctypes-python/test/remoterepos.py
--- subversion-1.8.0-orig/subversion/bindings/ctypes-python/test/remoterepos.py 2011-08-12 00:56:26.000000000 +0400
+++ subversion-1.8.0/subversion/bindings/ctypes-python/test/remoterepos.py 2013-06-24 09:18:54.928711000 +0400
@@ -175,7 +175,7 @@
f.close()
os.chmod(hook, S_IRWXU)
- if sys.platform == "cygwin":
+ if sys.platform == "cygwin" or sys.platform == "msys":
### FIXME: When you try to set revprops, cygwin crashes
### with a fatal error, so we skip this test for now.
return
diff -Naur subversion-1.8.0-orig/subversion/bindings/swig/perl/native/Makefile.PL.in subversion-1.8.0/subversion/bindings/swig/perl/native/Makefile.PL.in
--- subversion-1.8.0-orig/subversion/bindings/swig/perl/native/Makefile.PL.in 2012-12-14 10:05:48.000000000 +0400
+++ subversion-1.8.0/subversion/bindings/swig/perl/native/Makefile.PL.in 2013-06-24 09:18:54.944336000 +0400
@@ -93,18 +69,6 @@ diff -Naur subversion-1.8.0-orig/subversion/bindings/swig/perl/native/Makefile.P
chomp $apr_shlib_path_var;
diff -Naur subversion-1.8.0-orig/subversion/bindings/swig/python/tests/setup_path.py subversion-1.8.0/subversion/bindings/swig/python/tests/setup_path.py
--- subversion-1.8.0-orig/subversion/bindings/swig/python/tests/setup_path.py 2009-11-19 22:25:52.000000000 +0300
+++ subversion-1.8.0/subversion/bindings/swig/python/tests/setup_path.py 2013-06-24 09:18:54.944336000 +0400
@@ -39,7 +39,7 @@
# OSes without RPATH support are going to have to do things here to make
# the correct shared libraries be found.
-if sys.platform == 'cygwin':
+if sys.platform == 'cygwin' or sys.platform == 'msys':
import glob
svndir = os.path.normpath("../../../%s" % bld_swig_python_dir)
libpath = os.getenv("PATH").split(":")
diff -Naur subversion-1.8.0-orig/Makefile.in subversion-1.8.0/Makefile.in
--- subversion-1.8.0-orig/Makefile.in 2009-11-19 22:25:52.000000000 +0300
+++ subversion-1.8.0/Makefile.in 2013-06-24 09:18:54.944336000 +0400
@@ -117,49 +81,3 @@ diff -Naur subversion-1.8.0-orig/Makefile.in subversion-1.8.0/Makefile.in
@touch $(SWIG_PY_DIR)/libsvn/__init__.py
swig-py: autogen-swig-py copy-swig-py
diff -Naur subversion-1.8.0-orig/subversion/tests/cmdline/commit_tests.py subversion-1.8.0/subversion/tests/cmdline/commit_tests.py
--- subversion-1.8.0-orig/subversion/tests/cmdline/commit_tests.py 2013-04-12 11:44:37.000000000 +0400
+++ subversion-1.8.0/subversion/tests/cmdline/commit_tests.py 2013-06-24 09:18:54.959961000 +0400
@@ -51,7 +51,7 @@
#
def is_non_posix_os_or_cygwin_platform():
- return (not svntest.main.is_posix_os()) or sys.platform == 'cygwin'
+ return (not svntest.main.is_posix_os()) or sys.platform == 'cygwin' or sys.platform == 'msys'
def get_standard_state(wc_dir):
"""Return a status list reflecting the local mods made by
@@ -1024,7 +1024,7 @@
# Note: on Windows, files can't have angle brackets in them, so we
# don't tests that case.
- if svntest.main.windows or sys.platform == 'cygwin':
+ if svntest.main.windows or sys.platform == 'cygwin' or sys.platform == 'msys':
angle_name = '_angle_'
nasty_name = '#![]{}()__%'
else:
diff -Naur subversion-1.8.0-orig/subversion/tests/cmdline/svntest/main.py subversion-1.8.0/subversion/tests/cmdline/svntest/main.py
--- subversion-1.8.0-orig/subversion/tests/cmdline/svntest/main.py 2013-06-24 09:10:09.858398500 +0400
+++ subversion-1.8.0/subversion/tests/cmdline/svntest/main.py 2013-06-24 10:12:05.326171900 +0400
@@ -278,7 +278,7 @@
def get_admin_name():
"Return name of SVN administrative subdirectory."
- if (windows or sys.platform == 'cygwin') \
+ if (windows or sys.platform == 'cygwin' or sys.platform == 'msys') \
and 'SVN_ASP_DOT_NET_HACK' in os.environ:
return '_svn'
else:
@@ -1329,8 +1329,11 @@
def is_os_cygwin():
return sys.platform == 'cygwin'
+def is_os_msys():
+ return sys.platform == 'msys'
+
def is_fs_case_insensitive():
- return (is_os_darwin() or is_os_windows() or is_os_cygwin())
+ return (is_os_darwin() or is_os_windows() or is_os_cygwin() or is_os_msys())
def is_threaded_python():
return True