Skip to content

Update osqp to 1.0.3#5570

Open
vineetbansal wants to merge 95 commits intopyodide:stablefrom
vineetbansal:stable
Open

Update osqp to 1.0.3#5570
vineetbansal wants to merge 95 commits intopyodide:stablefrom
vineetbansal:stable

Conversation

@vineetbansal
Copy link
Contributor

@vineetbansal vineetbansal commented Apr 3, 2025

Description

Updated osqp to 1.0.3.

Checklists

teonbrooks and others added 30 commits January 1, 2025 11:55
…5307)

Co-authored-by: David Fritz <dfritz@purestorage.com>
Co-authored-by: Gyeongjae Choi <def6488@gmail.com>
Previously, in asan builds we attempted to use an undefined variable in instantiateWasm
so we would crash on startup. This fixes it.
I figured out a way to remove the super inefficient `calculate_wasm_func_nargs_fallback` and
replace it with wasm-gc code. This should perform much better. The cpython patch message says:

Part of the ongoing quest to support JSPI. The JSPI spec removed its dependence on
JS type reflection, and now the plan is for runtimes to ship JSPI while keeping
type reflection in stage 3. So we need an alternative way to count the number of
parameters of a function. It is possible to count them by repeatedly trying to
instantiate a webassembly module with the function as an import of a different type
signature. But this is pretty inefficient.

Since WebAssembly gc is now stage 4, there is a new option. WebAssembly gc added the
`ref.test` instruction which can ask if a funcref has a given type. It's a bit difficult
to apply because even our usual assembler the wasm binary toolkit doesn't support this
instruction yet. But all JS engines that support JSPI support it. We just have to do some
manual work to produce the binary.

This code also has to be written carefully to interact properly with memory snapshots.
Importantly, no JS initialization code can be called from the C initialization code.
For this reason, we make a C function pointer to fill from JS and fill it in a preRun
function.

Upstream PR:
python/cpython#128628
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Gyeongjae Choi <def6488@gmail.com>
Use a docker image with beta rustup. Resolves pyodide#5345.
hoodmane and others added 17 commits April 3, 2025 22:53
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
We didn't suggest anything for package maintainers, for people who want to use bundlers,
or for people who want to use it in node. This provides some more suggestions for first links
for people to look at depending on their needs.
…de#5542)

Adds the selenium fixture to test_xbuildenv_runner_works so that it isn't run until
pyodide is built
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Added recipe for OSQP, the widely used QP solver.

Disabled here because it's an externally built wheel for pyodide_2024_0 and
we don't have a pyodide_2025 abi available yet. Cherry-picked from stable
where it is working.
* Delete stderr hook which was only needed for node 14
* Fix indentation of multiline strings
…ide#5550)

agriyakhetarpal tells me that this is a nonstandard behavior.
When we made the cli runner, we added a special case hook for initializing
the environment so that virtual environments, .pth hooks, sitecustomize files,
and other things that are processed on interpreter startup can be added.
…ion (pyodide#5555)

Another weird edgecase. Useful for cloudflare because its rpc objects are non function callables.
@hoodmane
Copy link
Member

hoodmane commented Apr 3, 2025

Now there is Cmake 4.0 related chaos. #5568 fixes the Cmake 4.0 troubles but there still seems to be a problem with opencv. But rebasing on #5568 would get this a bit closer.

@hoodmane
Copy link
Member

hoodmane commented Apr 6, 2025

Stable CI should be good now so if you rebase / merge stable it should work.

@ryanking13
Copy link
Member

Hi @vineetbansal would you like update the osqp to use pyodide_2025_0 abi? We have updated the ABI recently, you can use pyodide0.28.0a3 to build osqp using pyodide_2025.0 abi.

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.