gnu: python-cffi: Fix test failure on i686.

* gnu/packages/patches/python-cffi-x87-stack-clean.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/libffi.scm (python-cffi)[source](patches): Add it.
This commit is contained in:
Marius Bakke 2018-11-11 16:59:53 +01:00
parent 2bdca67351
commit 8c5749f1b5
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
3 changed files with 32 additions and 1 deletions

View File

@ -1078,6 +1078,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-CVE-2018-14647.patch \
%D%/packages/patches/python-axolotl-AES-fix.patch \
%D%/packages/patches/python-cairocffi-dlopen-path.patch \
%D%/packages/patches/python-cffi-x87-stack-clean.patch \
%D%/packages/patches/python-fix-tests.patch \
%D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
%D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \

View File

@ -88,7 +88,8 @@ conversions for values passed between the two languages.")
(method url-fetch)
(uri (pypi-uri "cffi" version))
(sha256
(base32 "1x3lrj928dcxx1k8k9gf3s4s3jwvzv8mc3kkyg1g7c3a1sc1f3z9"))))
(base32 "1x3lrj928dcxx1k8k9gf3s4s3jwvzv8mc3kkyg1g7c3a1sc1f3z9"))
(patches (search-patches "python-cffi-x87-stack-clean.patch"))))
(build-system python-build-system)
(outputs '("out" "doc"))
(inputs

View File

@ -0,0 +1,29 @@
Fix test that fails on i686:
https://bitbucket.org/cffi/cffi/issues/382
This is a squashed version of these commits:
https://bitbucket.org/cffi/cffi/commits/ef09637b2314
https://bitbucket.org/cffi/cffi/commits/7a76a3815340
diff -r 99940f1f5402 testing/cffi0/test_function.py
--- a/testing/cffi0/test_function.py Tue Feb 27 21:18:33 2018 +0100
+++ b/testing/cffi0/test_function.py Sun Nov 11 16:26:23 2018 +0100
@@ -45,14 +45,14 @@
assert x != math.sin(1.23) # rounding effects
assert abs(x - math.sin(1.23)) < 1E-6
- def test_sin_no_return_value(self):
+ def test_lround_no_return_value(self):
# check that 'void'-returning functions work too
ffi = FFI(backend=self.Backend())
ffi.cdef("""
- void sin(double x);
+ void lround(double x);
""")
m = ffi.dlopen(lib_m)
- x = m.sin(1.23)
+ x = m.lround(1.23)
assert x is None
def test_dlopen_filename(self):