diff --git a/Makefile.envs b/Makefile.envs index c55cb7d21..a204910c4 100644 --- a/Makefile.envs +++ b/Makefile.envs @@ -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) diff --git a/docs/project/changelog.md b/docs/project/changelog.md index 6f133ad3b..d27368811 100644 --- a/docs/project/changelog.md +++ b/docs/project/changelog.md @@ -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` diff --git a/emsdk/patches/0001-Apply-relocations-before-static-constructor-17628.patch b/emsdk/patches/0001-Apply-relocations-before-static-constructor-17628.patch deleted file mode 100644 index ce0c59c05..000000000 --- a/emsdk/patches/0001-Apply-relocations-before-static-constructor-17628.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 9e7a17c0fa2df60c98c67cdafac8b61a18fd0f83 Mon Sep 17 00:00:00 2001 -From: Sam Clegg -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 - diff --git a/packages/astropy/meta.yaml b/packages/astropy/meta.yaml index 55aac1a0e..d5b48872b 100644 --- a/packages/astropy/meta.yaml +++ b/packages/astropy/meta.yaml @@ -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 diff --git a/packages/astropy/patches/0001-Fix-types-of-_sigma_clip_fast.patch b/packages/astropy/patches/0001-Fix-types-of-_sigma_clip_fast.patch new file mode 100644 index 000000000..f0140c452 --- /dev/null +++ b/packages/astropy/patches/0001-Fix-types-of-_sigma_clip_fast.patch @@ -0,0 +1,50 @@ +From da8662eb625d3471ea612ab855dc6f1193e1cb13 Mon Sep 17 00:00:00 2001 +From: Hood Chatham +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 + diff --git a/packages/galpy/meta.yaml b/packages/galpy/meta.yaml index 0d3a9ef6c..c3588ac06 100644 --- a/packages/galpy/meta.yaml +++ b/packages/galpy/meta.yaml @@ -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) diff --git a/packages/galpy/patches/0001-Fix-function-pointer-disagreement.patch b/packages/galpy/patches/0001-Fix-function-pointer-disagreement.patch new file mode 100644 index 000000000..803dc0bf3 --- /dev/null +++ b/packages/galpy/patches/0001-Fix-function-pointer-disagreement.patch @@ -0,0 +1,25 @@ +From 3d71b3dc10499b473eba715b28d03d6c4633be6b Mon Sep 17 00:00:00 2001 +From: Hood Chatham +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 + diff --git a/packages/gsw/meta.yaml b/packages/gsw/meta.yaml index 847c37f0d..a4dd97f6a 100644 --- a/packages/gsw/meta.yaml +++ b/packages/gsw/meta.yaml @@ -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: diff --git a/packages/gsw/patches/0001-Add-consts-to-PyUFuncGenericFunction-declarations.patch b/packages/gsw/patches/0001-Add-consts-to-PyUFuncGenericFunction-declarations.patch new file mode 100644 index 000000000..f2f843253 --- /dev/null +++ b/packages/gsw/patches/0001-Add-consts-to-PyUFuncGenericFunction-declarations.patch @@ -0,0 +1,159 @@ +From e6e9ca182ef403b4fca9033a48969f33e7a5c10d Mon Sep 17 00:00:00 2001 +From: Hood Chatham +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 + diff --git a/packages/libyaml/meta.yaml b/packages/libyaml/meta.yaml index 159e4f5b1..f3fb1eed4 100644 --- a/packages/libyaml/meta.yaml +++ b/packages/libyaml/meta.yaml @@ -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 diff --git a/packages/pyerfa/meta.yaml b/packages/pyerfa/meta.yaml index a6ee73167..982252285 100644 --- a/packages/pyerfa/meta.yaml +++ b/packages/pyerfa/meta.yaml @@ -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 diff --git a/packages/pyerfa/patches/0001-Fix-compilation-with-Wincompatible-function-pointer-.patch b/packages/pyerfa/patches/0001-Fix-compilation-with-Wincompatible-function-pointer-.patch new file mode 100644 index 000000000..a7e22ca5b --- /dev/null +++ b/packages/pyerfa/patches/0001-Fix-compilation-with-Wincompatible-function-pointer-.patch @@ -0,0 +1,25 @@ +From 740913f58345581d1739eb976ce73394356ad683 Mon Sep 17 00:00:00 2001 +From: Hood Chatham +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 + diff --git a/packages/scipy/meta.yaml b/packages/scipy/meta.yaml index 90a0018ab..2cfe6e1c9 100644 --- a/packages/scipy/meta.yaml +++ b/packages/scipy/meta.yaml @@ -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: | diff --git a/packages/scipy/patches/0001-Fix-dstevr-in-special-lapack_defs.h.patch b/packages/scipy/patches/0001-Fix-dstevr-in-special-lapack_defs.h.patch index c7c8b64aa..df29b6339 100644 --- a/packages/scipy/patches/0001-Fix-dstevr-in-special-lapack_defs.h.patch +++ b/packages/scipy/patches/0001-Fix-dstevr-in-special-lapack_defs.h.patch @@ -1,7 +1,7 @@ From 90a2cac7e8812f0a3e64c6bbc45fb1ece8d5f4d1 Mon Sep 17 00:00:00 2001 From: Hood Chatham 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 ++--- diff --git a/packages/scipy/patches/0002-loadDynamicLibrary-flapack.patch b/packages/scipy/patches/0002-loadDynamicLibrary-flapack.patch index 5b97d3a28..b588308b6 100644 --- a/packages/scipy/patches/0002-loadDynamicLibrary-flapack.patch +++ b/packages/scipy/patches/0002-loadDynamicLibrary-flapack.patch @@ -1,7 +1,7 @@ From 9e6c2ad31267a5ed0c30645e70a0b290b3973dd1 Mon Sep 17 00:00:00 2001 From: Hood Chatham 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 diff --git a/packages/scipy/patches/0003-Add-lapack_extras-to-linalg-setup.py.patch b/packages/scipy/patches/0003-Add-lapack_extras-to-linalg-setup.py.patch index 87b2c0d3d..4d40f0c57 100644 --- a/packages/scipy/patches/0003-Add-lapack_extras-to-linalg-setup.py.patch +++ b/packages/scipy/patches/0003-Add-lapack_extras-to-linalg-setup.py.patch @@ -1,7 +1,7 @@ From f6e479ea524c286f0a96d5df60d1f8edb595f643 Mon Sep 17 00:00:00 2001 From: Hood Chatham 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 +- diff --git a/packages/scipy/patches/0004-int-to-string.patch b/packages/scipy/patches/0004-int-to-string.patch index ff7967253..704180ed4 100644 --- a/packages/scipy/patches/0004-int-to-string.patch +++ b/packages/scipy/patches/0004-int-to-string.patch @@ -1,7 +1,7 @@ From 3c0ad123668366e82b64f459941eb36943745c43 Mon Sep 17 00:00:00 2001 From: Hood Chatham 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 diff --git a/packages/scipy/patches/0005-disable-blas-detection.patch b/packages/scipy/patches/0005-disable-blas-detection.patch index 1b3056a08..ef688147e 100644 --- a/packages/scipy/patches/0005-disable-blas-detection.patch +++ b/packages/scipy/patches/0005-disable-blas-detection.patch @@ -1,7 +1,7 @@ From 25612fa1854608cbbdcb994abb8486fc6f4a0736 Mon Sep 17 00:00:00 2001 From: Roman Yurchak 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 diff --git a/packages/scipy/patches/0006-fix-fotran-files-minpack.patch b/packages/scipy/patches/0006-fix-fotran-files-minpack.patch index f22f4a678..04ee45740 100644 --- a/packages/scipy/patches/0006-fix-fotran-files-minpack.patch +++ b/packages/scipy/patches/0006-fix-fotran-files-minpack.patch @@ -1,7 +1,7 @@ From 84a590dd8d7563306c09f1f3ba5299e68c9bd359 Mon Sep 17 00:00:00 2001 From: Hood Chatham 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 +-- diff --git a/packages/scipy/patches/0007-gemm_-no-const.patch b/packages/scipy/patches/0007-gemm_-no-const.patch index 7b4b5d4db..10fec79bb 100644 --- a/packages/scipy/patches/0007-gemm_-no-const.patch +++ b/packages/scipy/patches/0007-gemm_-no-const.patch @@ -1,7 +1,7 @@ From e3140b25165537ddc731f1d72e46ec9059faa6d6 Mon Sep 17 00:00:00 2001 From: Hood Chatham 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. diff --git a/packages/scipy/patches/0008-make-int-return-values.patch b/packages/scipy/patches/0008-make-int-return-values.patch index ae12a7f8e..c1afeb7ab 100644 --- a/packages/scipy/patches/0008-make-int-return-values.patch +++ b/packages/scipy/patches/0008-make-int-return-values.patch @@ -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 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 diff --git a/packages/scipy/patches/0009-Rename-_page_trend_test.py-to-prevent-test-unvendori.patch b/packages/scipy/patches/0009-Rename-_page_trend_test.py-to-prevent-test-unvendori.patch index c5817e3d4..ba522728f 100644 --- a/packages/scipy/patches/0009-Rename-_page_trend_test.py-to-prevent-test-unvendori.patch +++ b/packages/scipy/patches/0009-Rename-_page_trend_test.py-to-prevent-test-unvendori.patch @@ -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 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. diff --git a/packages/scipy/patches/0010-sasum-returns-double-not-float.patch b/packages/scipy/patches/0010-sasum-returns-double-not-float.patch index e4bafcb8b..61a2b69c5 100644 --- a/packages/scipy/patches/0010-sasum-returns-double-not-float.patch +++ b/packages/scipy/patches/0010-sasum-returns-double-not-float.patch @@ -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 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 +- diff --git a/packages/scipy/patches/0011-skip-fortran-fails-to-link.patch b/packages/scipy/patches/0011-skip-fortran-fails-to-link.patch index 321a2f064..cfa43645d 100644 --- a/packages/scipy/patches/0011-skip-fortran-fails-to-link.patch +++ b/packages/scipy/patches/0011-skip-fortran-fails-to-link.patch @@ -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 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. diff --git a/packages/scipy/patches/0012-Disable-lapack-detection.patch b/packages/scipy/patches/0012-Disable-lapack-detection.patch index cc7b9b9c6..d0ad2c574 100644 --- a/packages/scipy/patches/0012-Disable-lapack-detection.patch +++ b/packages/scipy/patches/0012-Disable-lapack-detection.patch @@ -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 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 +- diff --git a/packages/scipy/patches/0013-Add-extra-END-to-prini.f.patch b/packages/scipy/patches/0013-Add-extra-END-to-prini.f.patch index 0ab688d28..c104a4040 100644 --- a/packages/scipy/patches/0013-Add-extra-END-to-prini.f.patch +++ b/packages/scipy/patches/0013-Add-extra-END-to-prini.f.patch @@ -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 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 + diff --git a/packages/scipy/patches/0014-BUG-Fix-signature-of-D_IIR_forback-1-2.patch b/packages/scipy/patches/0014-BUG-Fix-signature-of-D_IIR_forback-1-2.patch index e62ba585c..207e4d1c3 100644 --- a/packages/scipy/patches/0014-BUG-Fix-signature-of-D_IIR_forback-1-2.patch +++ b/packages/scipy/patches/0014-BUG-Fix-signature-of-D_IIR_forback-1-2.patch @@ -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 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. diff --git a/packages/scipy/patches/0015-Change-qh_eachvoronoi_all-FILE-type.patch b/packages/scipy/patches/0015-Change-qh_eachvoronoi_all-FILE-type.patch new file mode 100644 index 000000000..a52245c0c --- /dev/null +++ b/packages/scipy/patches/0015-Change-qh_eachvoronoi_all-FILE-type.patch @@ -0,0 +1,51 @@ +From e17fd39807ca476d4acf6ad0470040f3c772e4c1 Mon Sep 17 00:00:00 2001 +From: Hood Chatham +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, self, &_visit_voronoi, self._qh[0].UPPERdelaunay, ++ qh_eachvoronoi_all(self._qh, 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 +