Skip to content

Add scipy-tests - #6334

Merged
DerThorsten merged 3 commits into
emscripten-forge:mainfrom
jjerphan:scipy-tests
Aug 24, 2026
Merged

Add scipy-tests#6334
DerThorsten merged 3 commits into
emscripten-forge:mainfrom
jjerphan:scipy-tests

Conversation

@jjerphan

@jjerphan jjerphan commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Template A: Checklist for adding a package

Pre-submission Checks

  • Package requires building for emscripten-wasm32 platform (not a noarch package), in other words, the package requires compilation.

scipy-tests is an additional output of the existing scipy recipe (not a new recipes/recipes_emscripten/scipy-tests/ directory). It overlays SciPy's test modules, including any wasm test extensions, onto site-packages/scipy.

Recipe Structure

Added recipes/recipes_emscripten/[package-name]/recipe.yaml with proper structure:

  • context section with version (and optionally name)
  • package section with name and version using Jinja2 templates
  • source section with:
    • Source URL is valid and points to archive file (.tar.gz, .tar.bz2, .tar.xz, .tgz, or .zip)
    • Source URL contains ${{ version }} template for version updates
    • SHA256 hash is correct (verified with curl -sL <url> | sha256sum)
    • Patches (if any) are included in [package-name]/patches/ directory
  • build section with appropriate script/method
    • Python packages: ${PYTHON} -m pip install . ${PIP_ARGS}
    • R packages: $R CMD INSTALL $R_ARGS .
    • C++ packages: Uses emcmake/emmake or emconfigure/emmake
    • Rust packages: Uses rust-nightly and maturin or appropriate Rust build tool
    • Build number is 0
    • If the script is longer than 3 lines, a build.sh is included
  • requirements section (build, host, run as needed)
  • tests section
    • Python packages: test_import_[package].py file created and referenced
    • C++ packages: Test executable or package_contents test
    • R packages: Package contents test
  • about section with license, homepage, summary

Build number is 2 for both scipy and scipy-tests (the template's "0" is for a brand-new recipe). Tests are package_contents plus test_scipy_tests.py (overlay check), not test_import_scipy-tests.py. Source URL, SHA256, and patches are unchanged from the existing scipy recipe.

PR Formatting

  • PR title follows format: Add [package-name] or Update [package-name] to [version]
  • PR description includes:
    • Version being added/updated
    • Any special build considerations or patches applied

Package Details

  • Package Name: scipy-tests
  • Version: 1.18.0

Build Notes

One SciPy build, two packages: scipy stays runtime-only; scipy-tests ships the test modules. Other recipes can add scipy-tests as a test requirement and call scipy.test(). scipy-tests depends on the matching scipy build, plus pytest, hypothesis, and gmpy2. Meson is invoked with --tags=runtime,python-runtime,tests so the test files exist to package.

Keep scipy runtime-only so other recipes can depend on scipy-tests
when they need to run scipy.test().

Signed-off-by: Julien Jerphanion <git@jjerphan.xyz>
jjerphan and others added 2 commits August 24, 2026 09:34
The runtime package contents change with this split, so rebuild 1.18.0.

Signed-off-by: Julien Jerphanion <git@jjerphan.xyz>
@DerThorsten
DerThorsten merged commit 2a75bb5 into emscripten-forge:main Aug 24, 2026
3 checks passed
@jjerphan
jjerphan deleted the scipy-tests branch August 24, 2026 08:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants