Skip to content

Commit

Permalink
Rust rewrite
Browse files Browse the repository at this point in the history
The previous version in C++ was brittle in may regards.
This change reimplements everything in Rust and makes error handling much better.

This further packages `es2command-sys` crate which provides a minimal set of headers from the epson source which allows to derive the epsonscan2 library interface without downloading the original source.
  • Loading branch information
Jan Rüth committed Apr 21, 2024
1 parent 8978b41 commit da5b2cd
Show file tree
Hide file tree
Showing 43 changed files with 5,765 additions and 660 deletions.
7 changes: 7 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[target.aarch64-unknown-linux-gnu]
strip = { path = "aarch64-linux-gnu-strip" }
objcopy = { path = "aarch64-linux-gnu-objcopy" }

[target.armv7-unknown-linux-gnueabihf]
strip = { path = "arm-linux-gnueabihf-strip" }
objcopy = { path = "arm-linux-gnueabihf-objcopy" }
47 changes: 0 additions & 47 deletions .github/workflows/build.yaml

This file was deleted.

36 changes: 36 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Rust check

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

env:
CARGO_TERM_COLOR: always
RUSTFLAGS: -Dwarnings

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: sudo apt-get install -y libssl-dev pkg-config clang build-essential libusb-1.0-0 libusb-1.0-0-dev g++ g++-aarch64-linux-gnu g++-arm-linux-gnueabihf
- name: Install rust dependencies
run: cargo install cross --git https://github.com/cross-rs/cross && cargo install cargo-deb cargo-sort
- name: Lint
run: make lint
- name: Tests usual
run: make test
- name: Build x86_64
run: make build && make deb
- name: Build aarch64
run: TARGET=aarch64-unknown-linux-gnu make build-cross && TARGET=aarch64-unknown-linux-gnu make deb
- name: Build armv7
run: TARGET=armv7-unknown-linux-gnueabihf make build-cross && TARGET=armv7-unknown-linux-gnueabihf make deb
- uses: actions/upload-artifact@v3
with:
name: packages
path: target/debian/*.deb
24 changes: 0 additions & 24 deletions .github/workflows/native.yaml

This file was deleted.

9 changes: 1 addition & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
Makefile
epsonscan2-*
CMakeFiles
CMakeCache.txt
cmake_install.cmake
ess2devstate
.vscode
build
.DS_Store
include/*
target/
129 changes: 0 additions & 129 deletions CMakeLists.txt

This file was deleted.

Loading

0 comments on commit da5b2cd

Please sign in to comment.