mirror of
https://github.com/void-linux/void-packages.git
synced 2025-04-22 17:17:03 +02:00
python3-cysignals: update to 1.11.3.
This commit is contained in:
parent
02b95709b1
commit
155bd2e57b
5 changed files with 4 additions and 92 deletions
|
@ -1,13 +0,0 @@
|
|||
diff --git a/src/cysignals/signals.pxd.in b/src/cysignals/signals.pxd.in
|
||||
index c86e085..a98c8d1 100644
|
||||
--- a/src/cysignals/signals.pxd.in
|
||||
+++ b/src/cysignals/signals.pxd.in
|
||||
@@ -54,7 +54,7 @@ cdef extern from "macros.h" nogil:
|
||||
# can be used to make Cython check whether there is a pending exception
|
||||
# (PyErr_Occurred() is non-NULL). To Cython, it will look like
|
||||
# cython_check_exception() actually raised the exception.
|
||||
-cdef inline void cython_check_exception() nogil except *:
|
||||
+cdef inline void cython_check_exception() except * nogil:
|
||||
pass
|
||||
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
commit 9996a4028ddc7f9a5ffda3df65d5b7d3b7df8aa5
|
||||
Author: Gonzalo Tornaría <tornaria@cmat.edu.uy>
|
||||
Date: Wed Jul 19 18:34:57 2023 -0300
|
||||
|
||||
cython3 support using legacy directives
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 37acdfc..f68270b 100755
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -157,13 +157,17 @@ class build_ext(_build_ext):
|
||||
# Run Cython with -Werror on continuous integration services
|
||||
# with Python 3.6 or later
|
||||
from Cython.Compiler import Options
|
||||
- Options.warning_errors = True
|
||||
+ Options.warning_errors = False
|
||||
|
||||
from Cython.Build.Dependencies import cythonize
|
||||
return cythonize(extensions,
|
||||
build_dir=cythonize_dir,
|
||||
include_path=["src", os.path.join(cythonize_dir, "src")],
|
||||
- compiler_directives=dict(binding=True, language_level=2))
|
||||
+ compiler_directives=dict(
|
||||
+ binding=True,
|
||||
+ language_level=2,
|
||||
+ legacy_implicit_noexcept=True,
|
||||
+ ))
|
||||
|
||||
|
||||
class build_py(_build_py):
|
|
@ -1,46 +0,0 @@
|
|||
Fix a doctest failure which triggers in i686.
|
||||
|
||||
The example is in the function `test_bad_str()` in the file `tests.pyx`.
|
||||
The test pases a bad string to `sig_str()` and then raises `SIGILL`. The
|
||||
signal handler eventually raises a Python exception which in turn raises
|
||||
a `SIGSEGV` when accessing the bad string. An error message is expected,
|
||||
but that doesn't happen.
|
||||
|
||||
Presumably the segfault happens inside some stdio function which leaves
|
||||
stdio buffers in an inconsistent state so the latter `fprintf` doesn't
|
||||
work properly. From signal-safety(7):
|
||||
|
||||
Suppose that the main program is in the middle of a call to a
|
||||
stdio function such as printf(3) where the buffer and associated
|
||||
variables have been partially updated. If, at that moment, the
|
||||
program is interrupted by a signal handler that also calls
|
||||
printf(3), then the second call to printf(3) will operate on
|
||||
inconsistent data, with unpredictable results.
|
||||
|
||||
We fix this by replacing the `fprintf` by calls to `write`, which is
|
||||
async-signal-safe according to POSIX.
|
||||
|
||||
--- a/src/cysignals/implementation.c 2022-01-16 22:36:45.143796872 +0000
|
||||
+++ b/src/cysignals/implementation.c 2022-01-17 02:22:31.196695043 +0000
|
||||
@@ -638,12 +622,15 @@
|
||||
#endif
|
||||
|
||||
if (s) {
|
||||
+ /* Using fprintf from inside a signal handler is undefined, see signal-safety(7) */
|
||||
+ const char * message =
|
||||
+ "\n"
|
||||
+ "This probably occurred because a *compiled* module has a bug\n"
|
||||
+ "in it and is not properly wrapped with sig_on(), sig_off().\n"
|
||||
+ "Python will now terminate.\n"
|
||||
+ "------------------------------------------------------------------------\n";
|
||||
+ write(2, s, strlen(s));
|
||||
+ write(2, message, strlen(message));
|
||||
- fprintf(stderr,
|
||||
- "%s\n"
|
||||
- "This probably occurred because a *compiled* module has a bug\n"
|
||||
- "in it and is not properly wrapped with sig_on(), sig_off().\n"
|
||||
- "Python will now terminate.\n", s);
|
||||
- print_sep();
|
||||
}
|
||||
|
||||
dienow:
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'python3-cysignals'
|
||||
pkgname=python3-cysignals
|
||||
version=1.11.2
|
||||
revision=5
|
||||
version=1.11.3
|
||||
revision=1
|
||||
build_style=python3-module
|
||||
hostmakedepends="python3-setuptools python3-Cython autoconf"
|
||||
makedepends="python3-devel pari-devel"
|
||||
|
@ -11,7 +11,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
|
|||
license="LGPL-3.0-or-later"
|
||||
homepage="https://github.com/sagemath/cysignals"
|
||||
distfiles="${PYPI_SITE}/c/cysignals/cysignals-${version}.tar.gz"
|
||||
checksum=5858b1760fbe21848121b826b2463a67ac5a45caf3d73105497a68618c5a6fa6
|
||||
checksum=c2c01f666e5904948952a2250548d8c36ccedd640383791feacf26ea2b958365
|
||||
nocross=yes # runs binaries built for target
|
||||
|
||||
do_check() {
|
||||
|
|
1
srcpkgs/python3-cysignals/update
Normal file
1
srcpkgs/python3-cysignals/update
Normal file
|
@ -0,0 +1 @@
|
|||
ignore="*a* *b* *rc*"
|
Loading…
Add table
Reference in a new issue