From 90f1edb2c1f76c28744899bc2bede4f2de47d550 Mon Sep 17 00:00:00 2001 From: Vinzenz Schroeter Date: Sat, 12 Jul 2025 13:02:12 +0200 Subject: [PATCH] update servicepoint to v0.16.0 --- Cargo.lock | 16 ++-------------- Cargo.toml | 2 +- README.md | 7 ++++++- src/containers/bitmap.rs | 2 +- src/containers/brightness_grid.rs | 2 +- src/containers/char_grid.rs | 7 ++++--- src/containers/cp437_grid.rs | 2 +- 7 files changed, 16 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 63012a0..41db3cd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -187,17 +187,6 @@ dependencies = [ "wasi", ] -[[package]] -name = "inherent" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c38228f24186d9cc68c729accb4d413be9eaed6ad07ff79e0270d9e56f3de13" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -395,14 +384,13 @@ dependencies = [ [[package]] name = "servicepoint" -version = "0.15.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2800caad491cb44f67e5dd5b8c61ece368eecfe588155d03c7d9864acbad6919" +checksum = "9b04582e916474f1bc1605cad3773262c425d9062b487e49a0df59662f2cca8d" dependencies = [ "bitvec", "bzip2", "flate2", - "inherent", "log", "once_cell", "rust-lzma", diff --git a/Cargo.toml b/Cargo.toml index f6bef14..cd9619c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ keywords = ["cccb", "cccb-servicepoint", "cbindgen"] crate-type = ["staticlib", "cdylib", "rlib"] [dependencies.servicepoint] -version = "0.15.1" +version = "0.16.0" default-features = false [dependencies.env_logger] diff --git a/README.md b/README.md index e5a3249..10f3193 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,9 @@ A full example including Makefile is available as part of this crate. This library is still in early development. You can absolutely use it, and it works, but expect minor breaking changes with every version bump. -Please specify the full version including patch in your Cargo.toml until 1.0 is released. +Pin a specific version until 1.0 is released. + +Release notes are published [here](https://git.berlin.ccc.de/servicepoint/servicepoint-binding-c/releases). ## Installation @@ -81,6 +83,9 @@ When linked dynamically, you have to provide the `cdylib` at runtime in the _sam guarantees yet. The Makefile in the example directory contains a bunch of additional compiler flags you might want to add depending on your use case. +The nix flake provides a package for referencing in your flake. +The package provides a pkg-config file for automatic linking. + ## Notes on differences to rust library - function names are: `sp_` \ \. diff --git a/src/containers/bitmap.rs b/src/containers/bitmap.rs index 5974016..8bfb6eb 100644 --- a/src/containers/bitmap.rs +++ b/src/containers/bitmap.rs @@ -1,7 +1,7 @@ use crate::{containers::ByteSlice, macros::wrap}; use servicepoint::{ Bitmap, BitmapCommand, CompressionCode, DataRef, DisplayBitVec, Grid, - Origin, Packet, + GridMut, Origin, Packet, }; use std::ptr::NonNull; diff --git a/src/containers/brightness_grid.rs b/src/containers/brightness_grid.rs index 3b3fabb..e269ced 100644 --- a/src/containers/brightness_grid.rs +++ b/src/containers/brightness_grid.rs @@ -1,7 +1,7 @@ use crate::{containers::ByteSlice, macros::wrap}; use servicepoint::{ Brightness, BrightnessGrid, BrightnessGridCommand, ByteGrid, DataRef, Grid, - Origin, Packet, + GridMut, Origin, Packet, }; use std::{mem::transmute, ptr::NonNull}; diff --git a/src/containers/char_grid.rs b/src/containers/char_grid.rs index 8946b50..bfc3119 100644 --- a/src/containers/char_grid.rs +++ b/src/containers/char_grid.rs @@ -1,5 +1,5 @@ use crate::{containers::ByteSlice, macros::wrap}; -use servicepoint::{CharGrid, CharGridCommand, Grid, Origin, Packet}; +use servicepoint::{CharGrid, CharGridCommand, Grid, GridMut, Origin, Packet}; use std::ptr::NonNull; wrap! { @@ -25,8 +25,9 @@ wrap! { /// Loads a [CharGrid] with the specified dimensions from the provided data. /// /// returns: new CharGrid or NULL in case of an error - fn load(width: val usize, height: val usize, data: slice ByteSlice) -> move_ok *mut CharGrid { - CharGrid::load_utf8(width, height, data.to_vec()) + fn load(width: val usize, height: val usize, data: slice ByteSlice) -> move_some *mut CharGrid { + String::from_utf8(data.to_vec()).ok() + .and_then(|s| CharGrid::load(width, height, &*s.chars().collect::>())) }; methods: /// Returns the current value at the specified position. diff --git a/src/containers/cp437_grid.rs b/src/containers/cp437_grid.rs index b67d1ae..1c4e729 100644 --- a/src/containers/cp437_grid.rs +++ b/src/containers/cp437_grid.rs @@ -1,6 +1,6 @@ use crate::{containers::ByteSlice, macros::wrap}; use servicepoint::{ - Cp437Grid, Cp437GridCommand, DataRef, Grid, Origin, Packet, + Cp437Grid, Cp437GridCommand, DataRef, Grid, GridMut, Origin, Packet, }; use std::ptr::NonNull;