Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vita-rust/vita-newlib-shims
An umbrella repository for Rust std on PlayStation Vita with newlib
https://github.com/vita-rust/vita-newlib-shims
homebrew newlib psvita rust shims vita
Last synced: 22 days ago
JSON representation
An umbrella repository for Rust std on PlayStation Vita with newlib
- Host: GitHub
- URL: https://github.com/vita-rust/vita-newlib-shims
- Owner: vita-rust
- License: apache-2.0
- Created: 2023-05-21T08:16:45.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-18T14:10:39.000Z (about 1 year ago)
- Last Synced: 2024-10-04T21:43:54.730Z (about 1 month ago)
- Topics: homebrew, newlib, psvita, rust, shims, vita
- Language: Rust
- Homepage:
- Size: 54.7 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# vita-newlib-shims
[![MIT/Apache 2.0](https://img.shields.io/badge/license-MIT%2FApache-blue.svg)](https://github.com/vita-rust/vita-newlib-shims#license)
[![Crates.io](https://img.shields.io/crates/v/vita-newlib-shims.svg)](https://crates.io/crates/vita-newlib-shims)
[![GitHub Actions Build Status](https://img.shields.io/github/actions/workflow/status/vita-rust/vita-newlib-shims/ci.yml)](https://github.com/vita-rust/vita-newlib-shims/actions/workflows/ci.yml)
[![Current Release](https://img.shields.io/github/release/vita-rust/vita-newlib-shims.svg)](https://github.com/vita-rust/vita-newlib-shims/releases)
[![Main Commits RSS Feed](https://img.shields.io/badge/rss-commits-ffa500?logo=rss)](https://github.com/vita-rust/vita-newlib-shims/commits/main.atom)Standard library support for PlayStation Vita in Rust relies on Vita SDK newlib. Unfortunately, [not all](https://github.com/vitasdk/newlib/issues/86) of the POSIX functions are implemented in it.
This repository aims to temporarily fix that by providing shims for the missing functions.
To use this crate:
1. Add it as a dependency to your project
```bash
cargo add vita-newlib-shims
```
2. Import this crate in the root of your project:```rust
#[cfg(target_os = "vita")]
use vita_newlib_shims as _;
```
3. `VITASDK` environment variable must be set to your [Vita SDK] location.During build this crate will check the exported symbols from the `libc.a` object file using `arm-vita-eabi-nm` of your [Vita SDK] installation, and will only provide shims for the missing functions.
## License
Except where noted (below and/or in individual files), all code in this repository is dual-licensed at your option under either:
* MIT License ([LICENSE-MIT](LICENSE-MIT) or [http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT))
* Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0))[Vita SDK]: https://vitasdk.org