|
| 1 | +## Checklist for Adding Packages |
| 2 | + |
| 3 | +### Pre-submission Checks |
| 4 | +- [ ] Package requires building for `emscripten-wasm32` platform (not a noarch package), in other words, the package requires compilation. |
| 5 | + |
| 6 | +### Recipe Structure |
| 7 | +- [ ] Created directory: `recipes/recipes_emscripten/[package-name]/` |
| 8 | +- [ ] Added `recipe.yaml` with proper structure: |
| 9 | + - [ ] `context` section with `version` (and optionally `name`) |
| 10 | + - [ ] `package` section with name and version using Jinja2 templates |
| 11 | + - [ ] `source` section with: |
| 12 | + - Source URL is valid and points to archive file (`.tar.gz`, `.tar.bz2`, `.tar.xz`, `.tgz`, or `.zip`) |
| 13 | + - Source URL contains `${{ version }}` template for version updates |
| 14 | + - SHA256 hash is correct (verified with `curl -sL <url> | sha256sum`) |
| 15 | + - Patches (if any) are included in `[package-name]/patches/` directory |
| 16 | + - [ ] `build` section with appropriate script/method |
| 17 | + - Python packages: `${PYTHON} -m pip install . ${PIP_ARGS}` |
| 18 | + - R packages: `$R CMD INSTALL $R_ARGS .` |
| 19 | + - C++ packages: Uses `emcmake`/`emmake` or `emconfigure`/`emmake` |
| 20 | + - Rust packages: Uses `rust-nightly` and `maturin` or appropriate Rust build tool |
| 21 | + - [ ] `requirements` section (build, host, run as needed) |
| 22 | + - [ ] `tests` section |
| 23 | + - Python packages: `test_import_[package].py` file created and referenced |
| 24 | + - C++ packages: Test executable or package_contents test |
| 25 | + - R packages: Package contents test |
| 26 | + - [ ] `about` section with license, homepage, summary |
| 27 | + |
| 28 | +### Build Verification |
| 29 | +- [ ] (Optional) Locally, recipe builds successfully: |
| 30 | + ```bash |
| 31 | + rattler-build build \ |
| 32 | + --package-format tar-bz2 \ |
| 33 | + -c https://repo.prefix.dev/emscripten-forge-4x \ |
| 34 | + -c microsoft \ |
| 35 | + -c conda-forge \ |
| 36 | + --target-platform emscripten-wasm32 \ |
| 37 | + --skip-existing none \ |
| 38 | + -m variant.yaml \ |
| 39 | + --recipe recipes/recipes_emscripten/[package-name] |
| 40 | + ``` |
| 41 | +- [ ] All tests pass |
| 42 | + |
| 43 | + |
| 44 | +## Checklist for Updating Packages |
| 45 | + |
| 46 | +- [ ] ⚠️ Bump build number if the version remains unchanged, or reset build number if updating the package to a newer version |
| 47 | +- [ ] Tests pass |
| 48 | + |
| 49 | +### PR Formatting |
| 50 | +- [ ] PR title follows format: `Add [package-name]` or `Update [package-name] to [version]` |
| 51 | +- [ ] PR description includes: |
| 52 | + - [ ] Package purpose/description |
| 53 | + - [ ] Version being added/updated |
| 54 | + - [ ] Any special build considerations or patches applied |
| 55 | + - [ ] (Optional) Test results summary |
| 56 | + |
| 57 | +--- |
| 58 | + |
| 59 | +## Description |
| 60 | +<!-- Provide a brief description of the package and why it's being added --> |
| 61 | + |
| 62 | +## Package Details |
| 63 | +- **Package Name**: |
| 64 | +- **Version**: |
| 65 | +- **Homepage**: |
| 66 | +- **License**: |
| 67 | + |
| 68 | +## Build Notes |
| 69 | +<!-- Any special build considerations, patches applied, or issues encountered --> |
| 70 | + |
| 71 | +## Test Results |
| 72 | +<!-- Summary of test results --> |
0 commit comments