Emscripten 3.1.20 (#3027)

GSW patch:
TEOS-10/GSW-Python#99

galpy patch:
jobovy/galpy#499

pyerfa patch:
liberfa/pyerfa#89

astropy patch:
astropy/astropy#13586

scipy patch:
scipy/scipy#16924
This commit is contained in:
Hood Chatham 2022-08-29 18:57:05 -07:00 committed by GitHub
parent 7010d26853
commit 939b615df0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 379 additions and 74 deletions

View File

@ -1,7 +1,7 @@
export PYVERSION ?= 3.10.2
# Note: when updating EMSCRIPTEN_VERSION make sure to update
# the version number in the "uname" patch.
export PYODIDE_EMSCRIPTEN_VERSION ?= 3.1.18
export PYODIDE_EMSCRIPTEN_VERSION ?= 3.1.20
export PLATFORM_TRIPLET=wasm32-emscripten
export SYSCONFIG_NAME=_sysconfigdata__emscripten_$(PLATFORM_TRIPLET)

View File

@ -14,8 +14,8 @@ substitutions:
## Unreleased
- {{ Enhancement }} Emscripten was updated to Version 3.1.18
{pr}`2958`, {pr}`2950`
- {{ Enhancement }} Emscripten was updated to Version 3.1.20
{pr}`2958`, {pr}`2950`, {pr}`3027`
- New packages: pycryptodomex {pr}`2966`, pycryptodome {pr}`2965`

View File

@ -1,46 +0,0 @@
From 9e7a17c0fa2df60c98c67cdafac8b61a18fd0f83 Mon Sep 17 00:00:00 2001
From: Sam Clegg <sbc@chromium.org>
Date: Thu, 11 Aug 2022 19:22:41 -0700
Subject: [PATCH] Apply relocations before static constructor (#17628)
This bug applied to libraries loaded after the runtime initialized.
Fixes: #17601
---
diff --git a/src/library_dylink.js b/src/library_dylink.js
index 9731c02e5..2e0275850 100644
--- a/src/library_dylink.js
+++ b/src/library_dylink.js
@@ -648,6 +648,14 @@ var LibraryDylink = {
registerTLSInit(moduleExports['_emscripten_tls_init'], instance.exports, metadata)
if (!ENVIRONMENT_IS_PTHREAD) {
#endif
+ var applyRelocs = moduleExports['__wasm_apply_data_relocs'];
+ if (applyRelocs) {
+ if (runtimeInitialized) {
+ applyRelocs();
+ } else {
+ __RELOC_FUNCS__.push(applyRelocs);
+ }
+ }
var init = moduleExports['__wasm_call_ctors'];
if (init) {
if (runtimeInitialized) {
@@ -657,14 +665,6 @@ var LibraryDylink = {
__ATINIT__.push(init);
}
}
- var applyRelocs = moduleExports['__wasm_apply_data_relocs'];
- if (applyRelocs) {
- if (runtimeInitialized) {
- applyRelocs();
- } else {
- __RELOC_FUNCS__.push(applyRelocs);
- }
- }
#if USE_PTHREADS
}
#endif
--
2.37.1

View File

@ -4,6 +4,8 @@ package:
source:
url: https://files.pythonhosted.org/packages/67/3d/bf8dd07f37dd9d1b14bc92985734a3eb7fb15a136dba1ebcc3e3a76d9327/astropy-5.1.tar.gz
sha256: 1db1b2c7eddfc773ca66fa33bd07b25d5b9c3b5eee2b934e0ca277fa5b1b7b7e
patches:
- patches/0001-Fix-types-of-_sigma_clip_fast.patch
build:
# The test module is imported from the top level `__init__.py`
# so it cannot be unvendored

View File

@ -0,0 +1,50 @@
From da8662eb625d3471ea612ab855dc6f1193e1cb13 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Mon, 29 Aug 2022 15:54:07 -0700
Subject: [PATCH] Fix types of _sigma_clip_fast
---
astropy/stats/src/fast_sigma_clip.c | 4 ++--
astropy/wcs/src/wcslib_wtbarr_wrap.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/astropy/stats/src/fast_sigma_clip.c b/astropy/stats/src/fast_sigma_clip.c
index c82900f31..f9530b9e2 100644
--- a/astropy/stats/src/fast_sigma_clip.c
+++ b/astropy/stats/src/fast_sigma_clip.c
@@ -11,7 +11,7 @@ static char _sigma_clip_fast_docstring[] = "Compute sigma clipping";
/* Declare the C functions here. */
static void _sigma_clip_fast(
- char **args, npy_intp *dimensions, npy_intp* steps, void* data);
+ char **args, npy_intp const *dimensions, npy_intp const* steps, void* data);
/* Define the methods that will be available on the module. */
static PyMethodDef module_methods[] = {{NULL, NULL, 0, NULL}};
@@ -72,7 +72,7 @@ MOD_INIT(_fast_sigma_clip) {
static void _sigma_clip_fast(
- char **args, npy_intp *dimensions, npy_intp* steps, void* data)
+ char **args, npy_intp const *dimensions, npy_intp const* steps, void* data)
{
npy_intp i_o, i;
int count;
diff --git a/astropy/wcs/src/wcslib_wtbarr_wrap.c b/astropy/wcs/src/wcslib_wtbarr_wrap.c
index 645e8b382..9ee4655ce 100644
--- a/astropy/wcs/src/wcslib_wtbarr_wrap.c
+++ b/astropy/wcs/src/wcslib_wtbarr_wrap.c
@@ -205,8 +205,8 @@ PyTypeObject PyWtbarrType = {
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/
doc_Wtbarr, /* tp_doc */
- PyWtbarr_traverse, /* tp_traverse */
- PyWtbarr_clear, /* tp_clear */
+ (traverseproc)PyWtbarr_traverse, /* tp_traverse */
+ (inquiry)PyWtbarr_clear, /* tp_clear */
0, /* tp_richcompare */
0, /* tp_weaklistoffset */
0, /* tp_iter */
--
2.25.1

View File

@ -4,6 +4,8 @@ package:
source:
url: https://files.pythonhosted.org/packages/73/75/632c028d3cdd948a4ea1edbfbfa568edfd146e03db0ea56d2bacd0aac231/galpy-1.8.0.tar.gz
sha256: a69f4a98a9a094ee5eda8acb2f5c7b3a786388d089423a214ab3b290fceddb53
patches:
- patches/0001-Fix-function-pointer-disagreement.patch
build:
script:
export LIBGSL_INCLUDE_PATH=$(pkg-config --cflags-only-I --dont-define-prefix gsl)

View File

@ -0,0 +1,25 @@
From 3d71b3dc10499b473eba715b28d03d6c4633be6b Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Sun, 28 Aug 2022 09:15:55 -0700
Subject: [PATCH] Fix function pointer disagreement
---
galpy/orbit/orbit_c_ext/integratePlanarOrbit.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/galpy/orbit/orbit_c_ext/integratePlanarOrbit.c b/galpy/orbit/orbit_c_ext/integratePlanarOrbit.c
index 8f34dbf3..4f185dcb 100644
--- a/galpy/orbit/orbit_c_ext/integratePlanarOrbit.c
+++ b/galpy/orbit/orbit_c_ext/integratePlanarOrbit.c
@@ -436,7 +436,7 @@ void parse_leapFuncArgs(int npot,struct potentialArg * potentialArgs,
potentialArgs->ntfuncs= 0;
break;
case 40: //NullPotential, no arguments (only supported for orbit int)
- potentialArgs->potentialEval= &ZeroPlanarForce;
+ potentialArgs->potentialEval= &ZeroForce;
potentialArgs->planarRforce= &ZeroPlanarForce;
potentialArgs->planarphitorque= &ZeroPlanarForce;
potentialArgs->planarR2deriv= &ZeroPlanarForce;
--
2.25.1

View File

@ -5,6 +5,8 @@ package:
source:
url: https://files.pythonhosted.org/packages/60/16/07a701ba09158d4b518061cc43ce689a0276156f9df28ff038e3550bec79/gsw-3.4.0.tar.gz
sha256: d45c835af0e539235e9cf46ae58d9447e206d145b13ecfe7447ad7b8fbdcf86d
patches:
- patches/0001-Add-consts-to-PyUFuncGenericFunction-declarations.patch
requirements:
run:

View File

@ -0,0 +1,159 @@
From e6e9ca182ef403b4fca9033a48969f33e7a5c10d Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Sat, 27 Aug 2022 21:58:46 -0700
Subject: [PATCH] Add consts to PyUFuncGenericFunction declarations
---
src/_ufuncs.c | 52 +++++++++++++++++++++++++--------------------------
1 file changed, 26 insertions(+), 26 deletions(-)
diff --git a/src/_ufuncs.c b/src/_ufuncs.c
index 0db4c44..c69ced8 100644
--- a/src/_ufuncs.c
+++ b/src/_ufuncs.c
@@ -26,8 +26,8 @@ This is python 3-only (for simplicity) to begin with.
/* 1 in, 1 out */
-static void loop1d_d_d(char **args, npy_intp *dimensions,
- npy_intp* steps, void* data)
+static void loop1d_d_d(char **args, const npy_intp *dimensions,
+ const npy_intp* steps, void* data)
{
npy_intp i;
npy_intp n = dimensions[0];
@@ -59,8 +59,8 @@ static char types_d_d[] = {
};
/* 2 in, 1 out */
-static void loop1d_dd_d(char **args, npy_intp *dimensions,
- npy_intp* steps, void* data)
+static void loop1d_dd_d(char **args, const npy_intp *dimensions,
+ const npy_intp* steps, void* data)
{
npy_intp i;
npy_intp n = dimensions[0];
@@ -95,8 +95,8 @@ static char types_dd_d[] = {
};
/* 3 in, 1 out */
-static void loop1d_ddd_d(char **args, npy_intp *dimensions,
- npy_intp* steps, void* data)
+static void loop1d_ddd_d(char **args, const npy_intp *dimensions,
+ const npy_intp* steps, void* data)
{
npy_intp i;
npy_intp n = dimensions[0];
@@ -134,8 +134,8 @@ static char types_ddd_d[] = {
};
/* 4 in, 1 out */
-static void loop1d_dddd_d(char **args, npy_intp *dimensions,
- npy_intp* steps, void* data)
+static void loop1d_dddd_d(char **args, const npy_intp *dimensions,
+ const npy_intp* steps, void* data)
{
npy_intp i;
npy_intp n = dimensions[0];
@@ -176,8 +176,8 @@ static char types_dddd_d[] = {
};
/* 5 in, 1 out */
-static void loop1d_ddddd_d(char **args, npy_intp *dimensions,
- npy_intp* steps, void* data)
+static void loop1d_ddddd_d(char **args, const npy_intp *dimensions,
+ const npy_intp* steps, void* data)
{
npy_intp i;
npy_intp n = dimensions[0];
@@ -221,8 +221,8 @@ static char types_ddddd_d[] = {
};
/* 2 in, 2 out */
-static void loop1d_dd_dd(char **args, npy_intp *dimensions,
- npy_intp* steps, void* data)
+static void loop1d_dd_dd(char **args, const npy_intp *dimensions,
+ const npy_intp* steps, void* data)
{
npy_intp i;
npy_intp n = dimensions[0];
@@ -261,8 +261,8 @@ static char types_dd_dd[] = {
};
/* 3 in, 2 out */
-static void loop1d_ddd_dd(char **args, npy_intp *dimensions,
- npy_intp* steps, void* data)
+static void loop1d_ddd_dd(char **args, const npy_intp *dimensions,
+ const npy_intp* steps, void* data)
{
npy_intp i;
npy_intp n = dimensions[0];
@@ -304,8 +304,8 @@ static char types_ddd_dd[] = {
};
/* 3 in, 3 out */
-static void loop1d_ddd_ddd(char **args, npy_intp *dimensions,
- npy_intp* steps, void* data)
+static void loop1d_ddd_ddd(char **args, const npy_intp *dimensions,
+ const npy_intp* steps, void* data)
{
npy_intp i;
npy_intp n = dimensions[0];
@@ -351,8 +351,8 @@ static char types_ddd_ddd[] = {
};
/* 6 in, 2 out */
-static void loop1d_dddddd_dd(char **args, npy_intp *dimensions,
- npy_intp* steps, void* data)
+static void loop1d_dddddd_dd(char **args, const npy_intp *dimensions,
+ const npy_intp* steps, void* data)
{
npy_intp i;
npy_intp n = dimensions[0];
@@ -403,8 +403,8 @@ static char types_dddddd_dd[] = {
};
/* 2 in, 3 out */
-static void loop1d_dd_ddd(char **args, npy_intp *dimensions,
- npy_intp* steps, void* data)
+static void loop1d_dd_ddd(char **args, const npy_intp *dimensions,
+ const npy_intp* steps, void* data)
{
npy_intp i;
npy_intp n = dimensions[0];
@@ -447,8 +447,8 @@ static char types_dd_ddd[] = {
};
/* 4 in, 3 out */
-static void loop1d_dddd_ddd(char **args, npy_intp *dimensions,
- npy_intp* steps, void* data)
+static void loop1d_dddd_ddd(char **args, const npy_intp *dimensions,
+ const npy_intp* steps, void* data)
{
npy_intp i;
npy_intp n = dimensions[0];
@@ -497,8 +497,8 @@ static char types_dddd_ddd[] = {
};
/* 5 in, 3 out */
-static void loop1d_ddddd_ddd(char **args, npy_intp *dimensions,
- npy_intp* steps, void* data)
+static void loop1d_ddddd_ddd(char **args, const npy_intp *dimensions,
+ const npy_intp* steps, void* data)
{
npy_intp i;
npy_intp n = dimensions[0];
@@ -550,8 +550,8 @@ static char types_ddddd_ddd[] = {
};
/* 3 in, 5 out */
-static void loop1d_ddd_ddddd(char **args, npy_intp *dimensions,
- npy_intp* steps, void* data)
+static void loop1d_ddd_ddddd(char **args, const npy_intp *dimensions,
+ const npy_intp* steps, void* data)
{
npy_intp i;
npy_intp n = dimensions[0];
--
2.25.1

View File

@ -14,4 +14,5 @@ build:
CFLAGS="-fPIC" emcmake cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} .
emmake make -j ${PYODIDE_JOBS:-3}
emmake make install
rm -f ${INSTALL_DIR}/lib/libyaml.a
ln -s libyaml_static.a ${INSTALL_DIR}/lib/libyaml.a

View File

@ -4,6 +4,20 @@ package:
source:
url: https://files.pythonhosted.org/packages/78/fd/0148f0e54f0c6f48a141409df65d74a5f1dae2e139f23d50a43c58c16098/pyerfa-2.0.0.1.tar.gz
sha256: 2fd4637ffe2c1e6ede7482c13f583ba7c73119d78bef90175448ce506a0ede30
patches:
# Patch fixes error:
#
# erfa/ufunc.c:9916:54: error: incompatible function pointer types
# initializing 'PyUFuncGenericFunction' ... with an expression of type ...
#
# It has been upstreamed: https://github.com/liberfa/pyerfa/pull/89
# Make sure to remove python3.10 erfa_generator.py below when we remove the
# patch.
- patches/0001-Fix-compilation-with-Wincompatible-function-pointer-.patch
build:
script: |
# regenerate erfa/ufunc.c from our patched erfa/ufunc.c.templ.
python3.10 erfa_generator.py
requirements:
host:
- numpy

View File

@ -0,0 +1,25 @@
From 740913f58345581d1739eb976ce73394356ad683 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Sun, 28 Aug 2022 10:00:45 -0700
Subject: [PATCH] Fix compilation with -Wincompatible-function-pointer-types
---
erfa/ufunc.c.templ | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/erfa/ufunc.c.templ b/erfa/ufunc.c.templ
index a24239a..934ca79 100644
--- a/erfa/ufunc.c.templ
+++ b/erfa/ufunc.c.templ
@@ -142,7 +142,7 @@ static inline void copy_to_eraLDBODY(char *ptr, npy_intp s, npy_intp n,
{%- for func in funcs %}
static void ufunc_loop_{{ func.pyname }}(
- char **args, npy_intp *dimensions, npy_intp* steps, void* data)
+ char **args, const npy_intp *dimensions, const npy_intp* steps, void* data)
{
{#- /* index and length of loop */ #}
npy_intp i_o;
--
2.25.1

View File

@ -31,6 +31,7 @@ source:
- patches/0012-Disable-lapack-detection.patch
- patches/0013-Add-extra-END-to-prini.f.patch
- patches/0014-BUG-Fix-signature-of-D_IIR_forback-1-2.patch
- patches/0015-Change-qh_eachvoronoi_all-FILE-type.patch
build:
cflags: |

View File

@ -1,7 +1,7 @@
From 90a2cac7e8812f0a3e64c6bbc45fb1ece8d5f4d1 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Fri, 18 Mar 2022 16:25:39 -0700
Subject: [PATCH 01/14] Fix dstevr in special/lapack_defs.h
Subject: [PATCH 01/15] Fix dstevr in special/lapack_defs.h
---
scipy/special/lapack_defs.h | 5 ++---

View File

@ -1,7 +1,7 @@
From 9e6c2ad31267a5ed0c30645e70a0b290b3973dd1 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Sat, 2 Apr 2022 14:20:25 -0700
Subject: [PATCH 02/14] loadDynamicLibrary flapack
Subject: [PATCH 02/15] loadDynamicLibrary flapack
We are using CLAPACK for our LAPACK, but CLAPACK only supports
LAPACK v3.2 since starting in v3.3 LAPACK started adding fortran

View File

@ -1,7 +1,7 @@
From f6e479ea524c286f0a96d5df60d1f8edb595f643 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Fri, 31 Dec 2021 22:27:07 -0800
Subject: [PATCH 03/14] Add lapack_extras to linalg/setup.py
Subject: [PATCH 03/15] Add lapack_extras to linalg/setup.py
---
scipy/linalg/setup.py | 2 +-

View File

@ -1,7 +1,7 @@
From 3c0ad123668366e82b64f459941eb36943745c43 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Sat, 25 Dec 2021 18:04:18 -0800
Subject: [PATCH 04/14] int to string
Subject: [PATCH 04/15] int to string
f2c does not handle implicit casts of function arguments correctly. The msg
argument of `xerrwv` is defined to be an `int *`, and then implicitly cast

View File

@ -1,7 +1,7 @@
From 25612fa1854608cbbdcb994abb8486fc6f4a0736 Mon Sep 17 00:00:00 2001
From: Roman Yurchak <rth.yurchak@gmail.com>
Date: Wed, 6 Apr 2022 21:19:55 -0700
Subject: [PATCH 05/14] disable blas detection
Subject: [PATCH 05/15] disable blas detection
BLAS and LAPACK aren't available on host because we only cross compile these
libraries (see CLAPACK/meta.yaml). Scipy tries to detect these libraries and

View File

@ -1,7 +1,7 @@
From 84a590dd8d7563306c09f1f3ba5299e68c9bd359 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Wed, 6 Apr 2022 21:21:53 -0700
Subject: [PATCH 06/14] fix fotran files minpack
Subject: [PATCH 06/15] fix fotran files minpack
---
scipy/optimize/minpack/chkder.f | 3 +--

View File

@ -1,7 +1,7 @@
From e3140b25165537ddc731f1d72e46ec9059faa6d6 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Sat, 18 Dec 2021 11:41:15 -0800
Subject: [PATCH 07/14] gemm_ no const
Subject: [PATCH 07/15] gemm_ no const
cgemm, dgemm, sgemm, and zgemm are declared with `const` in slu_cdefs.h, but
other places don't have the cosnt causing compile errors.

View File

@ -1,7 +1,7 @@
From e96f9c5c27ac6dee8e793b334517a0799b8a3f15 Mon Sep 17 00:00:00 2001
From 3187f7c7b940c7d3a74bf8a30db74a1e0214bace Mon Sep 17 00:00:00 2001
From: Joe Marshall <joe.marshall@nottingham.ac.uk>
Date: Wed, 6 Apr 2022 21:25:13 -0700
Subject: [PATCH 08/14] make int return values
Subject: [PATCH 08/15] make int return values
The return values of f2c functions are insignificant in most cases, so often it
is treated as returning void, when it really should return int (values are
@ -22,9 +22,10 @@ we change everything to return int from subroutines, and signatures are altered
to be consistent.
---
scipy/_build_utils/src/wrap_dummy_g77_abi.f | 16 ----
scipy/integrate/_odepackmodule.c | 6 +-
scipy/integrate/_odepackmodule.c | 8 +-
scipy/linalg/fblas_l1.pyf.src | 78 +++++++++++++------
scipy/linalg/setup.py | 7 +-
scipy/odr/__odrpack.c | 2 +-
scipy/optimize/_lsq/setup.py | 2 +-
.../linalg/_dsolve/SuperLU/SRC/cgsrfs.c | 7 --
.../linalg/_dsolve/SuperLU/SRC/dgscon.c | 3 -
@ -47,7 +48,7 @@ to be consistent.
scipy/sparse/linalg/_dsolve/_superlu_utils.c | 4 +-
.../linalg/_eigen/arpack/ARPACK/SRC/debug.h | 20 ++---
.../linalg/_eigen/arpack/ARPACK/SRC/stat.h | 26 +++----
26 files changed, 109 insertions(+), 145 deletions(-)
27 files changed, 111 insertions(+), 147 deletions(-)
diff --git a/scipy/_build_utils/src/wrap_dummy_g77_abi.f b/scipy/_build_utils/src/wrap_dummy_g77_abi.f
index caf99ac63..73cdebd96 100644
@ -84,10 +85,15 @@ index caf99ac63..73cdebd96 100644
COMPLEX X, Y
EXTERNAL CLADIV
diff --git a/scipy/integrate/_odepackmodule.c b/scipy/integrate/_odepackmodule.c
index 9974ae0f3..f74c379df 100644
index 9974ae0f3..26046ab71 100644
--- a/scipy/integrate/_odepackmodule.c
+++ b/scipy/integrate/_odepackmodule.c
@@ -158,13 +158,13 @@ typedef void lsoda_f_t(F_INT *n, double *t, double *y, double *ydot);
@@ -154,17 +154,17 @@ static PyObject *odepack_error;
#endif
#endif
-typedef void lsoda_f_t(F_INT *n, double *t, double *y, double *ydot);
+typedef int lsoda_f_t(F_INT *n, double *t, double *y, double *ydot);
typedef int lsoda_jac_t(F_INT *n, double *t, double *y, F_INT *ml, F_INT *mu,
double *pd, F_INT *nrowpd);
@ -288,6 +294,19 @@ index d384081a2..d318fa8b8 100644
depends = ['flapack_gen.pyf.src',
'flapack_gen_banded.pyf.src',
'flapack_gen_tri.pyf.src',
diff --git a/scipy/odr/__odrpack.c b/scipy/odr/__odrpack.c
index bd7100fb4..ec6f0ed69 100644
--- a/scipy/odr/__odrpack.c
+++ b/scipy/odr/__odrpack.c
@@ -13,7 +13,7 @@
#include "odrpack.h"
-void F_FUNC(dodrc,DODRC)(void (*fcn)(F_INT *n, F_INT *m, F_INT *np, F_INT *nq, F_INT *ldn, F_INT *ldm,
+void F_FUNC(dodrc,DODRC)(int (*fcn)(F_INT *n, F_INT *m, F_INT *np, F_INT *nq, F_INT *ldn, F_INT *ldm,
F_INT *ldnp, double *beta, double *xplusd, F_INT *ifixb, F_INT *ifixx,
F_INT *ldifx, F_INT *ideval, double *f, double *fjacb, double *fjacd,
F_INT *istop),
diff --git a/scipy/optimize/_lsq/setup.py b/scipy/optimize/_lsq/setup.py
index 7ce589c0c..6412886e0 100644
--- a/scipy/optimize/_lsq/setup.py

View File

@ -1,7 +1,7 @@
From aa5efca2d530f6b8be78151a5873595514b75bf3 Mon Sep 17 00:00:00 2001
From 3c3ada887e548b868ecb796741dd1a769a245b9a Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Sun, 26 Dec 2021 07:34:40 -0800
Subject: [PATCH 09/14] Rename _page_trend_test.py to prevent test unvendoring
Subject: [PATCH 09/15] Rename _page_trend_test.py to prevent test unvendoring
unvendor_tests will unvendor any file that ends in _test.py.
Prevent that by changing the name of this file.

View File

@ -1,7 +1,7 @@
From 5201d52021f584d625bf92dc8bf3094d879d0ad5 Mon Sep 17 00:00:00 2001
From 8901c3e687a46ee2e13b9357b5122c679b1fcf06 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Sat, 18 Dec 2021 12:31:51 -0800
Subject: [PATCH 10/14] sasum returns double not float
Subject: [PATCH 10/15] sasum returns double not float
---
scipy/sparse/linalg/_dsolve/SuperLU/SRC/slacon2.c | 2 +-

View File

@ -1,7 +1,7 @@
From 4a428bf011ab49fb44aeff962cc7bef63d9aa8a6 Mon Sep 17 00:00:00 2001
From 5b7d4751308016d821c2f6dfadc53e870eb4ed91 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Sat, 25 Dec 2021 15:08:18 -0800
Subject: [PATCH 11/14] skip fortran fails to link
Subject: [PATCH 11/15] skip fortran fails to link
These are tests and they have both void vs int return value problems and implicit
function argument cast problems. Not worth fixing for tests.

View File

@ -1,7 +1,7 @@
From 1e8a128867f7655c7e516be38fba6bdcc4990143 Mon Sep 17 00:00:00 2001
From 57a1a2f471d5f6ad25578cdc3472261254309785 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Wed, 6 Apr 2022 21:52:29 -0700
Subject: [PATCH 12/14] Disable lapack detection
Subject: [PATCH 12/15] Disable lapack detection
---
scipy/sparse/linalg/_propack/setup.py | 2 +-

View File

@ -1,7 +1,7 @@
From 1bfafd7da4804e5d386159332365ae5e8090341a Mon Sep 17 00:00:00 2001
From ce60b3e7c5d1327c9b4fe00dbfc2292ffef6456f Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Thu, 7 Apr 2022 10:41:26 -0700
Subject: [PATCH 13/14] Add extra END to prini.f
Subject: [PATCH 13/15] Add extra END to prini.f
---
scipy/linalg/src/id_dist/src/prini.f | 1 +

View File

@ -1,7 +1,7 @@
From 2fd75af054a9bb8324a3bd50957c3e059868eb07 Mon Sep 17 00:00:00 2001
From bf6124c9b92a8c536b6cfc02bd0467476d18129d Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Thu, 7 Apr 2022 11:02:29 -0700
Subject: [PATCH 14/14] BUG Fix signature of D_IIR_forback(1,2)
Subject: [PATCH 14/15] BUG Fix signature of D_IIR_forback(1,2)
The precision parameter has type float but it is declared in `_splinemodule.c`
with type double.

View File

@ -0,0 +1,51 @@
From e17fd39807ca476d4acf6ad0470040f3c772e4c1 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Mon, 29 Aug 2022 16:45:21 -0700
Subject: [PATCH 15/15] Change qh_eachvoronoi_all FILE type
---
scipy/spatial/_qhull.pyx | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/scipy/spatial/_qhull.pyx b/scipy/spatial/_qhull.pyx
index 93b2c7d01..33d0b9237 100644
--- a/scipy/spatial/_qhull.pyx
+++ b/scipy/spatial/_qhull.pyx
@@ -18,6 +18,7 @@ from . cimport _qhull
from . cimport setlist
from libc cimport stdlib
from scipy._lib.messagestream cimport MessageStream
+from libc.stdio cimport FILE
import os
import sys
@@ -184,7 +185,7 @@ cdef extern from "qhull_src/src/io_r.h":
ctypedef void printvridgeT(qhT *, void *fp, vertexT *vertex, vertexT *vertexA,
setT *centers, boolT unbounded)
- int qh_eachvoronoi_all(qhT *, void *fp, void* printvridge,
+ int qh_eachvoronoi_all(qhT *, FILE *fp, void* printvridge,
boolT isUpper, qh_RIDGE innerouter,
boolT inorder) nogil
@@ -829,7 +830,7 @@ cdef class _Qhull:
self._ridge_points = np.empty((10, 2), np.intc)
self._ridge_vertices = []
- qh_eachvoronoi_all(self._qh, <void*>self, &_visit_voronoi, self._qh[0].UPPERdelaunay,
+ qh_eachvoronoi_all(self._qh, <FILE*>self, &_visit_voronoi, self._qh[0].UPPERdelaunay,
qh_RIDGEall, 1)
self._ridge_points = self._ridge_points[:self._nridges]
@@ -991,7 +992,7 @@ cdef class _Qhull:
return extremes_arr
-cdef void _visit_voronoi(qhT *_qh, void *ptr, vertexT *vertex, vertexT *vertexA,
+cdef void _visit_voronoi(qhT *_qh, FILE *ptr, vertexT *vertex, vertexT *vertexA,
setT *centers, boolT unbounded):
cdef _Qhull qh = <_Qhull>ptr
cdef int point_1, point_2, ix
--
2.25.1