add Macaulay2 - #5959
Conversation
|
I disabled openmp for Macaulay2. Maybe it is better to remove the omp.h requirement or use a dummy file. |
|
My fault. I removed -fopenmp. Now it works. No modification needed for Eigen. I will delete that message. |
|
I get this error in local build and I cannot figure out the cause: |
|
@IsabelParedes It works! A web demo is here: https://macaulay2-wasm.wasmer.app/. |
|
The build process succeds on my local machine. I guess that the optimization step exhausts github action's memory. |
|
@mkoeppe Macaulay2 is compiled to WebAssembly. Does passagemath provide a interface that allows Macaulay2 to be called in jupyterlite? |
|
Only a subprocess-based one. (And M2 is not available as a callable library, last time I checked.) |
|
My attempt to add a library build: |
|
Macaulay2 has a jupyter kernel https://github.com/Macaulay2/Macaulay2-Jupyter-Kernel. I don't know if it is process based. |
|
@IsabelParedes Hello. Could you speed up the review for this recipe a little bit? So that Macaulay2 community can use the wasm binary without building. |
IsabelParedes
left a comment
There was a problem hiding this comment.
A few changes needed. Thank you!
There was a problem hiding this comment.
Could you convert these sed commands into *.patch files?
sed edits could silently fail in future releases, plus patch files are easier to read.
There was a problem hiding this comment.
But '.patch' file will more likely fail with new releases. It is too rigid and specifies changes for each line.
There was a problem hiding this comment.
I can add a '.patch' file that will not be used for this release for readability.
There was a problem hiding this comment.
Yes, patches failing to apply on new releases is the intention. If a patch fails to apply on a new release, then maybe that patch is no longer needed because the changes have been integrated upstream. This works better with smaller patches where each patch addresses one particular issue, as opposed to one large patch to fix everything.
With sed these failures are not obvious. On new releases there will be no indicator if a sed command is needed or not, or if it needs to be modified.
But I leave this up to you. If you prefer sed that's fine.
Co-authored-by: Isabel Paredes <isabel.paredes@quantstack.net>
Co-authored-by: Isabel Paredes <isabel.paredes@quantstack.net>
|
No license files are copied. So COPYING-GPL-2 does not exist in release. I have to fall back to README.md. |
The license files are there. They're just nested. |
IsabelParedes
left a comment
There was a problem hiding this comment.
Tiny change to fix the licenses. Thanks!
There was a problem hiding this comment.
Yes, patches failing to apply on new releases is the intention. If a patch fails to apply on a new release, then maybe that patch is no longer needed because the changes have been integrated upstream. This works better with smaller patches where each patch addresses one particular issue, as opposed to one large patch to fix everything.
With sed these failures are not obvious. On new releases there will be no indicator if a sed command is needed or not, or if it needs to be modified.
But I leave this up to you. If you prefer sed that's fine.
Pre-submission Checks
emscripten-wasm32platform (not a noarch package), in other words, the package requires compilation.Recipe Structure
Added
recipes/recipes_emscripten/[package-name]/recipe.yamlwith proper structure:contextsection withversion(and optionallyname)packagesection with name and version using Jinja2 templatessourcesection with:.tar.gz,.tar.bz2,.tar.xz,.tgz, or.zip)${{ version }}template for version updatescurl -sL <url> | sha256sum)[package-name]/patches/directorybuildsection with appropriate script/method${PYTHON} -m pip install . ${PIP_ARGS}$R CMD INSTALL $R_ARGS .emcmake/emmakeoremconfigure/emmakerust-nightlyandmaturinor appropriate Rust build toolrequirementssection (build, host, run as needed)testssectiontest_import_[package].pyfile created and referencedaboutsection with license, homepage, summaryPR Formatting
Add [package-name]orUpdate [package-name] to [version]Package Details
Build Notes
This pr depends on #5876 and #5873.