Il piano della serata è di vedere come si ossidano progetti in C in teoria ma soprattutto in pratica. Andremo a lavorare su https://github.com/rust-torino/uastar-rs, libreria già ossidata da @dodomorandi, per renderla più idiomatica.
https://matrix.to/#/!NZiaAxaPaxjbtgvMtG:matrix.org?via=matrix.org
- blog post di lu_zero https://dev.to/luzero/oxidizing-code-o2f
- repository di c2rust se vuoi compilarlo https://github.com/immunant/c2rust
- Dockerfile per compilare c2rust da alex179ohm https://gist.github.com/alex179ohm/b5d0a39e4bd7a76c17a8cfef65940f6b
- binari di c2rust per linux e mac os https://github.com/rust-torino/c2rust-bins
- esempio di progetto ossidato https://github.com/rust-av/speexdsp-rs
Perchè son piccoli, non hanno dipendenze e possibilmente hanno i test
- https://github.com/starwing/amoeba
- https://github.com/antirez/linenoise
- https://github.com/nodejs/http-parser
- https://github.com/ariya/FastLZ
Qua ci sono vari ed eventuali https://github.com/nothings/single_file_libs
Altri più grossi:
Immagine docker pre-buildata (grazie al Dockerfile di alex179ohm, vedi sopra) Ospitata qui sul repo:
docker pull docker.pkg.github.com/tohacknight/rustoxidation/docker-c2rust:latest
Nella cartella con i sorgenti di interesse dare:
docker run --rm -v ${PWD}:/app -e USER=$( id -u ) -e GROUP=$( id -g ) -it docker.pkg.github.com/tohacknight/rustoxidation/docker-c2rust bash