Skip to content

add boxedwine#5887

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

add boxedwine#5887
wangyenshu wants to merge 2 commits into
emscripten-forge:mainfrom
wangyenshu:boxedwine

Conversation

@wangyenshu

Copy link
Copy Markdown
Contributor

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: boxedwine
  • Version: 26R1.0

Build Notes

@Alex-PLACET

Copy link
Copy Markdown
Collaborator

Can you create some tests please ?

@wangyenshu

Copy link
Copy Markdown
Contributor Author

Hello. Do you mean the tests section in recipe.yaml? It has already been there:
For single thread:

    tests:
      - package_contents:
          files:
            - share/boxedwine-single-thread/boxedwine.wasm
            - share/boxedwine-single-thread/boxedwine.js
            - share/boxedwine-single-thread/boxedwine.html

@IsabelParedes IsabelParedes left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of changes needed.

It seems that you are packaging the entire build directory including the object files, this shouldn't be needed.

  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_approxRecip_1Ks.c.o (602 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_countLeadingZeros32.c.o (597 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_countLeadingZeros64.c.o (629 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_countLeadingZeros8.c.o (726 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_le128.c.o (452 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_lt128.c.o (452 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_mul64ByShifted32To128.c.o (481 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_mul64To128.c.o (516 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_normRoundPackToExtF80.c.o (754 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_normRoundPackToF32.c.o (622 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_normRoundPackToF64.c.o (631 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_normSubnormalExtF80Sig.c.o (533 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_normSubnormalF32Sig.c.o (532 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_normSubnormalF64Sig.c.o (533 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_roundPackToExtF80.c.o (1.86 KiB)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_roundPackToF32.c.o (1.04 KiB)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_roundPackToF64.c.o (1.10 KiB)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_roundToI32.c.o (781 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_roundToI64.c.o (772 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_roundToUI32.c.o (765 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_roundToUI64.c.o (761 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_shiftRightJam128.c.o (561 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_shiftRightJam32.c.o (462 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_shiftRightJam64.c.o (469 B)
  ├─ share/boxedwine-single-thread/home/runner/work/recipes/recipes/output/bld/rattler-build_boxedwine-single-thread_1784113409/work/lib/softfloat/source/s_shiftRightJam64Extra.c.o (516 B)

And when testing the packaged websites, they also do not seem to work so well.

Image

Thank you!

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Multi-threading generally doesn't work out of the box

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. It needs coop and coep header, either from server side or by a service worker.

@wangyenshu

wangyenshu commented Jul 17, 2026

Copy link
Copy Markdown
Contributor Author

And when testing the packaged websites, they also do not seem to work so well.

It requires a wine filesystem. The release in its github repo provide one. Building it is quite complicated. See https://github.com/danoon2/Boxedwine/blob/master/docs/How-To-Build-Wine-FileSystem.md for more details.

@wangyenshu
wangyenshu marked this pull request as draft July 18, 2026 13:42
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.

3 participants