python-cffi: Update to 2.0.0
This commit is contained in:
parent
4d84c314ed
commit
77f09e51fc
65
mingw-w64-python-cffi/0001-missing-exchange8.patch
Normal file
65
mingw-w64-python-cffi/0001-missing-exchange8.patch
Normal file
@ -0,0 +1,65 @@
|
||||
--- cffi-2.0.0/src/c/misc_win32.h.orig 2025-09-08 23:59:32.000000000 +0200
|
||||
+++ cffi-2.0.0/src/c/misc_win32.h 2025-09-09 19:02:37.302712500 +0200
|
||||
@@ -275,7 +275,9 @@
|
||||
|
||||
static void *cffi_atomic_load(void **ptr)
|
||||
{
|
||||
-#if defined(_M_X64) || defined(_M_IX86)
|
||||
+#if defined(__GNUC__) || defined(__clang__)
|
||||
+ return __atomic_load_n(ptr, __ATOMIC_SEQ_CST);
|
||||
+#elif defined(_M_X64) || defined(_M_IX86)
|
||||
return *(volatile void **)ptr;
|
||||
#elif defined(_M_ARM64)
|
||||
return (void *)__ldar64((volatile unsigned __int64 *)ptr);
|
||||
@@ -286,7 +288,9 @@
|
||||
|
||||
static uint8_t cffi_atomic_load_uint8(uint8_t *ptr)
|
||||
{
|
||||
-#if defined(_M_X64) || defined(_M_IX86)
|
||||
+#if defined(__GNUC__) || defined(__clang__)
|
||||
+ return __atomic_load_n(ptr, __ATOMIC_SEQ_CST);
|
||||
+#elif defined(_M_X64) || defined(_M_IX86)
|
||||
return *(volatile uint8_t *)ptr;
|
||||
#elif defined(_M_ARM64)
|
||||
return (uint8_t)__ldar8((volatile uint8_t *)ptr);
|
||||
@@ -297,7 +301,9 @@
|
||||
|
||||
static Py_ssize_t cffi_atomic_load_ssize(Py_ssize_t *ptr)
|
||||
{
|
||||
-#if defined(_M_X64) || defined(_M_IX86)
|
||||
+#if defined(__GNUC__) || defined(__clang__)
|
||||
+ return __atomic_load_n(ptr, __ATOMIC_SEQ_CST);
|
||||
+#elif defined(_M_X64) || defined(_M_IX86)
|
||||
return *(volatile Py_ssize_t *)ptr;
|
||||
#elif defined(_M_ARM64)
|
||||
return (Py_ssize_t)__ldar64((volatile unsigned __int64 *)ptr);
|
||||
@@ -308,17 +314,29 @@
|
||||
|
||||
static void cffi_atomic_store_ssize(Py_ssize_t *ptr, Py_ssize_t value)
|
||||
{
|
||||
+#if defined(__GNUC__) || defined(__clang__)
|
||||
+ __atomic_store_n(ptr, value, __ATOMIC_SEQ_CST);
|
||||
+#else
|
||||
_InterlockedExchangePointer(ptr, value);
|
||||
+#endif
|
||||
}
|
||||
|
||||
static void cffi_atomic_store(void **ptr, void *value)
|
||||
{
|
||||
+#if defined(__GNUC__) || defined(__clang__)
|
||||
+ __atomic_store_n(ptr, value, __ATOMIC_SEQ_CST);
|
||||
+#else
|
||||
_InterlockedExchangePointer(ptr, value);
|
||||
+#endif
|
||||
}
|
||||
|
||||
static void cffi_atomic_store_uint8(uint8_t *ptr, uint8_t value)
|
||||
{
|
||||
+#if defined(__GNUC__) || defined(__clang__)
|
||||
+ __atomic_store_n(ptr, value, __ATOMIC_SEQ_CST);
|
||||
+#else
|
||||
_InterlockedExchange8(ptr, value);
|
||||
+#endif
|
||||
}
|
||||
|
||||
#endif /* CFFI_MISC_WIN32_H */
|
||||
@ -3,8 +3,8 @@
|
||||
_realname=cffi
|
||||
pkgbase=mingw-w64-python-${_realname}
|
||||
pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}")
|
||||
pkgver=1.17.1
|
||||
pkgrel=3
|
||||
pkgver=2.0.0
|
||||
pkgrel=1
|
||||
pkgdesc="Foreign Function Interface for Python calling C code (mingw-w64)"
|
||||
arch=('any')
|
||||
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
|
||||
@ -21,26 +21,32 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-python-build"
|
||||
"${MINGW_PACKAGE_PREFIX}-python-setuptools"
|
||||
"${MINGW_PACKAGE_PREFIX}-cc")
|
||||
source=("https://pypi.org/packages/source/${_realname:0:1}/${_realname}/${_realname}-${pkgver}.tar.gz"
|
||||
"mingw-non-x86.patch")
|
||||
sha256sums=('1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824'
|
||||
'c8a8ea2d65932ea0b62eae56dbc8afd6baacaadc7cb284ca0e4edf7ed1460c52')
|
||||
"mingw-non-x86.patch"
|
||||
"0001-missing-exchange8.patch")
|
||||
sha256sums=('44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529'
|
||||
'c8a8ea2d65932ea0b62eae56dbc8afd6baacaadc7cb284ca0e4edf7ed1460c52'
|
||||
'fdb25cf730913cf6270e4cdd80faf62e685aea02ecbf84059f7d91861e1a3a95')
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}"/"${_realname}-${pkgver}"
|
||||
patch -Np1 -i "${srcdir}"/mingw-non-x86.patch
|
||||
|
||||
# https://github.com/mingw-w64/mingw-w64/issues/118
|
||||
# https://github.com/python-cffi/cffi/pull/198
|
||||
patch -Np1 -i "${srcdir}"/0001-missing-exchange8.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cp -r "${_realname}-${pkgver}" "python-build-${MSYSTEM}" && cd "python-build-${MSYSTEM}"
|
||||
CFLAGS+=" -Wno-incompatible-pointer-types"
|
||||
${MINGW_PREFIX}/bin/python -m build --wheel --skip-dependency-check --no-isolation
|
||||
|
||||
python -m build --wheel --skip-dependency-check --no-isolation
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}"/python-build-${MSYSTEM}
|
||||
|
||||
MSYS2_ARG_CONV_EXCL="--prefix=" \
|
||||
${MINGW_PREFIX}/bin/python -m installer --prefix=${MINGW_PREFIX} \
|
||||
python -m installer --prefix=${MINGW_PREFIX} \
|
||||
--destdir="${pkgdir}" dist/*.whl
|
||||
|
||||
install -D -m644 LICENSE "${pkgdir}${MINGW_PREFIX}"/share/licenses/python-${_realname}/LICENSE
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user