pyocd / cmsis-pack-manager

A Rust and Python module for handling CMSIS Pack files
Apache License 2.0
27 stars 34 forks source link

Consider replacing milksnake with maturin #187

Closed dvzrv closed 1 year ago

dvzrv commented 2 years ago

Hi! It looks like maturin is the more actively maintained project, whereas milksnake appears rather dead (no release in four years, open pull requests are ignored).

Would it be possible for this project to facilitate maturin instead of milksnake (unless I'm misinterpreting the scope).

I'm asking this because I'm packaging maturin on Arch Linux already and packaging a rather undead package for building cmsis-pack-manager could potentially be circumvented.

mathias-arm commented 2 years ago

We have been considering it. When we moved to GitHub Actions and added support for universal2 binaries on Mac, I tried using maturin but did not succeed. CFFI is what we use and that seems to be maturin's third priority (with PyO3 and rust-cpython ahead of CFFI) and there was not that many examples at the time. I am sure things have evolved since then.

If you (or someone else) can try to get maturin working with cmsis-pack-manager and cibuidwheel I would certainly give it another shot.

dvzrv commented 2 years ago

@mathias-arm Thanks for getting back on this inquiry!

I'm afraid I lack the expertise (and time) to drive such a change for this project though. But maybe someone else has? :)

dvzrv commented 2 years ago

FWIW, due to milksnake seemingly being abandonware it will stop working (as in, downstreams will not be able to package it without a lot of pain and will be more likely to remove it if that is the case) in the not too distant future, as it is not yet PEP517 ready (somewhat related PR to improve the setuptools integration: https://github.com/getsentry/milksnake/pull/30)

mbrossard commented 1 year ago

Could you try to build the maturin branch? I am not sure I have properly connected all the pieces. I need to update GitHub Actions configuration, and setuptools_scm needs to be replaced.