Skip to content

add regina (gui) - #6736

Open
wangyenshu wants to merge 2 commits into
emscripten-forge:mainfrom
wangyenshu:regina
Open

wangyenshu wants to merge 2 commits into
emscripten-forge:mainfrom
wangyenshu:regina

Conversation

@wangyenshu

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: regina
  • Version: 7.4.1

Build Notes

@wangyenshu

Copy link
Copy Markdown
Contributor Author

libregina-engine.a should be fine. But I don't know how to get qt gui work in browser.

@wangyenshu

wangyenshu commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

Regina did work in boxedwine, though. https://wangyenshu.github.io/Regina-Boxedwine/ Everything works, even the python terminal.

Regina's cli tools are compiled to wasm as well.

@wangyenshu

Copy link
Copy Markdown
Contributor Author

I tried to use the frontend from https://github.com/wangyenshu/TeXmacs-wasm-archive.

I get

VM215:1 Cannot create window: no screens available

emscriptenLog @ VM215:1
_emscripten_log @ VM215:1
$func24862 @ regina-gui.wasm:0xf86045
$func24866 @ regina-gui.wasm:0xf89183
$func24849 @ regina-gui.wasm:0xf85873
$func24848 @ regina-gui.wasm:0xf85749
$func24858 @ regina-gui.wasm:0xf85e55
$func16995 @ regina-gui.wasm:0xa81f78
$func16998 @ regina-gui.wasm:0xa8239e
$func7426 @ regina-gui.wasm:0x677f2c
$func7446 @ regina-gui.wasm:0x67b41d
$func7510 @ regina-gui.wasm:0x683533
$func7613 @ regina-gui.wasm:0x68b737
$func2556 @ regina-gui.wasm:0x1490d3
$__main_argc_argv @ regina-gui.wasm:0x13a138
Module._main @ VM215:1
callMain @ VM215:1
doRun @ VM215:1
eval @ VM215:1
setTimeout
run @ VM215:1
removeRunDependency @ VM215:1
receiveInstance @ VM215:1
eval @ VM215:1
(anonymous) @ qtloader.js:346
Promise.then
Module.instantiateWasm @ qtloader.js:345
eval @ VM215:1
createWasm @ VM215:1
eval @ VM215:1
completeLoadEmscriptenModule @ qtloader.js:443
(anonymous) @ qtloader.js:332
Promise.then
loadEmscriptenModule @ qtloader.js:331
init @ (index):56
onload @ (index):14
qtloader.js:382 Aborted()
VM215:1 Uncaught RuntimeError: unreachable
    at regina-gui.wasm:0x117e612
    at ___trap (eval at completeLoadEmscriptenModule (qtloader.js:443:14), <anonymous>:1:214732)
    at abort (eval at completeLoadEmscriptenModule (qtloader.js:443:14), <anonymous>:1:3977)
    at __abort_js (eval at completeLoadEmscriptenModule (qtloader.js:443:14), <anonymous>:1:61753)
    at regina-gui.wasm:0x1166b11
    at regina-gui.wasm:0x6a1350
    at regina-gui.wasm:0xf85792
    at regina-gui.wasm:0xf85e55
    at regina-gui.wasm:0xa81f78
    at regina-gui.wasm:0xa8239e

Anyways the static library should be working. Let's merge it first.

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.

1 participant