python-cffi: use gcc-style barrier on Windows.

The existing logic excluded this on i386, x86_64, and WIN32, presumably
because they assumed WIN32 was i386 or x86_64.  This patch enables
gcc-style __sync_synchronize(), if it compiles, on WIN32 if not i386 or
x86_64.
This commit is contained in:
Jeremy Drake
2021-01-23 12:49:29 -08:00
parent 64a621b12b
commit 4719ffad87
2 changed files with 18 additions and 3 deletions

View File

@@ -7,7 +7,7 @@ provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}")
conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}")
replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}")
pkgver=1.14.5
pkgrel=1
pkgrel=2
pkgdesc="Foreign Function Interface for Python calling C code (mingw-w64)"
url='https://cffi.readthedocs.io/'
license=('MIT')
@@ -17,12 +17,16 @@ depends=("${MINGW_PACKAGE_PREFIX}-libffi"
"${MINGW_PACKAGE_PREFIX}-python-pycparser")
makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools")
checkdepends=("${MINGW_PACKAGE_PREFIX}-python-pytest-runner")
source=("https://foss.heptapod.net/pypy/cffi/-/archive/v${pkgver}/${_realname}-v${pkgver}.tar.bz2")
sha256sums=('d99690c6fe2efa7b60d0abb3ea6f30fd544d15ee01909328ea2d1991939d4162')
source=("https://foss.heptapod.net/pypy/cffi/-/archive/v${pkgver}/${_realname}-v${pkgver}.tar.bz2"
"mingw-non-x86.patch")
sha256sums=('d99690c6fe2efa7b60d0abb3ea6f30fd544d15ee01909328ea2d1991939d4162'
'c8a8ea2d65932ea0b62eae56dbc8afd6baacaadc7cb284ca0e4edf7ed1460c52')
prepare() {
cd "${srcdir}"
cp -r "${_realname}-v${pkgver}" "python-build-${CARCH}"
cd "python-build-${CARCH}"
patch -Np1 -i "${srcdir}"/mingw-non-x86.patch
}
build() {

View File

@@ -0,0 +1,11 @@
--- cffi-v1.14.4/setup.py.orig 2021-01-22 18:37:13.453727900 -0800
+++ cffi-v1.14.4/setup.py 2021-01-22 18:38:01.125798300 -0800
@@ -90,7 +89,7 @@
_safe_to_ignore()
def ask_supports_sync_synchronize():
- if sys.platform == 'win32' or no_compiler_found:
+ if no_compiler_found:
return
config = get_config()
ok = config.try_link('int main(void) { __sync_synchronize(); return 0; }')