Skip to content

Add ntl, passagemath-ntl, passagemath-flint#4990

Open
mkoeppe wants to merge 7 commits into
emscripten-forge:mainfrom
passagemath:ntl
Open

Add ntl, passagemath-ntl, passagemath-flint#4990
mkoeppe wants to merge 7 commits into
emscripten-forge:mainfrom
passagemath:ntl

Conversation

@mkoeppe

@mkoeppe mkoeppe commented Mar 2, 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.

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

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: ntl, passagemath-ntl, passagemath-flint
  • Version: 11.6.0, 10.8.4, 10.8.4

Build Notes

@mkoeppe mkoeppe force-pushed the ntl branch 3 times, most recently from 40ae778 to 575622e Compare March 2, 2026 06:54
@mkoeppe mkoeppe marked this pull request as ready for review March 8, 2026 03:08
@mkoeppe mkoeppe marked this pull request as draft March 9, 2026 06:35
@mkoeppe

mkoeppe commented Mar 9, 2026

Copy link
Copy Markdown
Contributor Author

This does not do a crossbuild correctly

2026-03-09T06:18:19.2530572Z  │ │ compiler_name=gcc
2026-03-09T06:18:19.2531051Z  │ │ language_standard=2017
2026-03-09T06:18:19.2531523Z  │ │ cpu_type=x86
2026-03-09T06:18:19.2532231Z  │ │ os_name=linux

@mkoeppe

mkoeppe commented Mar 21, 2026

Copy link
Copy Markdown
Contributor Author

conda-forge uses an ad-hoc patch for cross-building for another platform. https://github.com/conda-forge/ntl-feedstock/blob/main/recipe/0001-Do-not-run-binaries-when-cross-compiling-for-Silicon.patch
We could use the same approach if there is no better solution.

@wangyenshu

Copy link
Copy Markdown
Contributor

Hello. I am working on adding singular system to emscripten-forge, which depends on ntl. I would like to help. I have a working ntl compiling script in https://github.com/Singular/Singular-in-browser/blob/main/build.sh (NTL blocks). This is not cleaned yet but can be used as a reference.

@mkoeppe

mkoeppe commented Jun 29, 2026

Copy link
Copy Markdown
Contributor Author

Great, I'll be happy to collaborate on this. I'll take a look at your script in the next days.

@wangyenshu wangyenshu mentioned this pull request Jul 1, 2026
10 tasks
@mkoeppe mkoeppe force-pushed the ntl branch 3 times, most recently from c4cabd4 to c3136c2 Compare July 5, 2026 02:02
@mkoeppe mkoeppe changed the title Add ntl Add ntl, passagemath-ntl, passagemath-flint Jul 5, 2026
@mkoeppe mkoeppe marked this pull request as ready for review July 5, 2026 04:06
This was referenced Jul 5, 2026
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