include ../build/Makefile-vars all: deps wasm # See https://github.com/sympy/sympy/releases VERSION = 1.11.1 URL = https://github.com/sympy/sympy/releases/download/sympy-${VERSION}/sympy-${VERSION}.tar.gz TARBALL = ${UPSTREAM}/sympy-${VERSION}.tar.gz include ../build/Makefile-rules ${BUILD_WASM}/.built: ${BUILD_WASM}/.build cd ${BUILD_WASM} \ && PYTHONPATH=$(shell cowasm-package-path @cowasm/py-setuptools):$(shell cowasm-package-path @cowasm/py-mpmath) pnpm-exec cpython setup.py build touch ${BUILD_WASM}/.built ${DIST_WASM}/.built: ${BUILD_WASM}/.built cd ${BUILD_WASM}/build/lib \ && pnpm-exec cpython -m cowasm_bundler sympy rm -rf ${DIST_WASM} && mkdir -p ${DIST_WASM} cd ${DIST_WASM} && tar xf ${BUILD_WASM}/build/lib/sympy.tar.xz touch ${DIST_WASM}/.built # This is a small test just that something works. It's NOT the full very massive test suite, # which might be hard to get to pass anywhere, let alone in WASM. test: deps ${DIST_WASM}/.built # Test that importing from the bundle works: PYTHONPATH=${DIST_WASM}:$(shell cowasm-package-path @cowasm/py-mpmath) pnpm-exec cpython -c 'import sympy' # A little test of functionality PYTHONPATH=${DIST_WASM}:$(shell cowasm-package-path @cowasm/py-mpmath) pnpm-exec cpython ${SRC}/test_basic.py # It's good to confirm *to what extent* the actual Python code tests pass when testing under native cpython, # and to see how long this takes (it's a while!). test-native: ${BUILD_WASM}/.built cd ${BUILD_WASM} \ && python-native setup.py test