pyodide/packages/scipy/meta.yaml

60 lines
2.0 KiB
YAML

package:
name: scipy
version: 0.17.1
source:
# We can't use the version from PyPi as it includes Cythonized files
# generated with an older Cython that does not support Python 3.7
# This requires,
# pip install Cython Tempita
# on the host for the build
url: https://github.com/scipy/scipy/archive/v0.17.1.tar.gz
sha256: bf22383d9e2526ffdc53a6c7d3d66dab45a86291ed35d8e281bd1a5d2c34187b
patches:
# these patches can be found as commits in
# https://github.com/rth/scipy/tree/0.17.1-pyodide
# on top of the v0.17.1 tag
- patches/fix-blas.patch
- patches/fix-build-gcc5-a80460.patch
- patches/force_malloc.patch
- patches/disable_scipy_stats_mvn.patch
- patches/skip-fortran-fails-to-link.patch
- patches/skip_ellip_harm_2_pyx_ctypes.patch
- patches/make-int-return-values.patch
build:
# linker and C flags are set to error on anything to do with function declarations being wrong. By default these
# are just warnings, but in webassembbly, any conflicts mean that a randomly selected 50% of calls to the function
# will fail. This is understandably bad. Better to fail at compile or link time
cflags: -I ../../../numpy/config -I../../../CLAPACK/build/CLAPACK-3.2.1/INCLUDE -Werror=implicit-function-declaration -Werror=mismatched-parameter-types -DUNDERSCORE_G77 -Werror=mismatched-return-types
ldflags: -L$(PYODIDE_ROOT)/packages/numpy/build/numpy-1.15.4/install/lib/python3.8/site-packages/numpy/core/lib/ -Wl,--fatal-warnings
script: |
# Regenerate header files after make-int-return-values patch to fix return
# types of f2c functions.
echo "Regenerating cython wrappers"
cd scipy/linalg
python _cython_wrapper_generators.py
cd ..
requirements:
run:
- numpy
- CLAPACK
test:
imports:
- scipy
- scipy.cluster
- scipy.constants
- scipy.fftpack
- scipy.odr
- scipy.sparse
- scipy.interpolate
- scipy.integrate
- scipy.linalg
- scipy.misc
- scipy.ndimage
- scipy.spatial
- scipy.special