Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: emscripten support #84

Draft
wants to merge 22 commits into
base: main
Choose a base branch
from
Draft

WIP: emscripten support #84

wants to merge 22 commits into from

Conversation

h-vetinari
Copy link
Member

This PR is not immediately meant for merging, but for figuring out what's necessary for emscripten support. Builds on #82 & #83

Rattler-build support (at least for this recipe) still needs a bunch of fixes in our infra, see links in #83; for emscripten we don't have compiler jinja's yet, etc.

Inspired by previous work in emscripten-forge.

@conda-forge-webservices
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/recipe.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/recipe.yaml:

This is a v1 recipe and not yet lintable. We are working on it!

@h-vetinari
Copy link
Member Author

I think the next step here is to build emscripten_emscripten-wasm32.

- bin/zlib.js
requirements:
build:
- if: cross_target_platform == "emscripten-wasm32"
Copy link
Member

Choose a reason for hiding this comment

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

why do we need the compiler here if we don't do anything?

Copy link
Member Author

Choose a reason for hiding this comment

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

This is an artefact of the conda-build recipe, where the run-exports from the global build don't get forwarded to the outputs, so they need(ed) another build-section to inherit the right REs for libgcc and __glibc.

That it's still here is an artefact of first the translation and me not noticing to remove it so far.

file: build_global
# see https://github.com/prefix-dev/rattler-build/issues/1056
env:
CROSS_TARGET_PLATFORM: ${{ cross_target_platform }}
Copy link
Member

Choose a reason for hiding this comment

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

this should not be necessary since you are using the cross_target_platform variable in the cache (to determine the requirements). In that sense, you might have found a bug in rattler-build, indeed!

Copy link
Member Author

Choose a reason for hiding this comment

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

That was what I was trying to communicate in prefix-dev/rattler-build#1056 😅

Copy link
Member

Choose a reason for hiding this comment

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

Well you never said that you are using them in the recipe.yaml output. You only showed me bits and pieces from the build script :D

Copy link
Member Author

Choose a reason for hiding this comment

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

Well you never said that you are using them in the recipe.yaml output

There are two comments where I'm talking about nothing else than variables picked up from the recipe (rather than the build script).

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