Add Nix flake with devShell
This commit is contained in:
parent
1cc004ed52
commit
58a28c2715
@ -1,14 +0,0 @@
|
|||||||
[target.armv7-unknown-linux-gnueabihf]
|
|
||||||
linker = "/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc"
|
|
||||||
rustflags = [
|
|
||||||
"-C", "link-arg=-march=armv7-a",
|
|
||||||
"-C", "link-arg=-marm",
|
|
||||||
"-C", "link-arg=-mfpu=neon",
|
|
||||||
"-C", "link-arg=-mfloat-abi=hard",
|
|
||||||
"-C", "link-arg=-mcpu=cortex-a9",
|
|
||||||
"-C", "link-arg=--sysroot=/usr/local/oecore-x86_64/sysroots/cortexa9hf-neon-oe-linux-gnueabi",
|
|
||||||
]
|
|
||||||
|
|
||||||
[build]
|
|
||||||
# Set the default --target flag
|
|
||||||
target = "armv7-unknown-linux-gnueabihf"
|
|
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -1,5 +1,7 @@
|
|||||||
# This file is automatically @generated by Cargo.
|
# This file is automatically @generated by Cargo.
|
||||||
# It is not intended for manual editing.
|
# It is not intended for manual editing.
|
||||||
|
version = 3
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "anyhow"
|
name = "anyhow"
|
||||||
version = "1.0.37"
|
version = "1.0.37"
|
||||||
|
12
README.md
12
README.md
@ -169,7 +169,17 @@ Steps you can try if the script isn't working:
|
|||||||
|
|
||||||
If you want to play with the `restream` code, you will have to [install Rust](https://www.rust-lang.org/learn/get-started).
|
If you want to play with the `restream` code, you will have to [install Rust](https://www.rust-lang.org/learn/get-started).
|
||||||
|
|
||||||
There are two ways of building the required restream binary for streaming the reMarkable framebuffer. For both approaches, the generated restream binary will be located under `target/armv7-unknown-linux-gnueabihf/release/restream`.
|
There are three ways of building the required restream binary for streaming the reMarkable framebuffer. For these approaches, the generated restream binary will be located under `target/armv7-unknown-linux-gnueabihf/release/restream`.
|
||||||
|
|
||||||
|
- **Using nix flakes**
|
||||||
|
With [Nix](https://nixos.org/guides/install-nix.html) installed and
|
||||||
|
[Nix flakes](https://nixos.wiki/wiki/Flakes#Installing_flakes) enabled, you
|
||||||
|
can easily setup the devlopment environment with:
|
||||||
|
```
|
||||||
|
nix develop
|
||||||
|
```
|
||||||
|
After which you can simply run `cargo build --release` to build the restream
|
||||||
|
binary.
|
||||||
|
|
||||||
- **Using docker and the toltec toolchain:**
|
- **Using docker and the toltec toolchain:**
|
||||||
You can use the [toltec toolchain docker images](https://github.com/toltec-dev/toolchain) to build a restream binary compatible with the reMarkable.
|
You can use the [toltec toolchain docker images](https://github.com/toltec-dev/toolchain) to build a restream binary compatible with the reMarkable.
|
||||||
|
67
flake.lock
generated
Normal file
67
flake.lock
generated
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-utils": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1634851050,
|
||||||
|
"narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "c91f3de5adaf1de973b797ef7485e441a65b8935",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1635844945,
|
||||||
|
"narHash": "sha256-tZcL307dj28jgEU1Wdn+zwG9neyW0H2+ZjdVhvJxh9g=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "b67e752c29f18a0ca5534a07661366d6a2c2e649",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"rust-overlay": "rust-overlay"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rust-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": [
|
||||||
|
"flake-utils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1635992196,
|
||||||
|
"narHash": "sha256-+Duob7Ashxc/2pyhzZI3peZRLUlbzcmy2ZLzZN0Oups=",
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"rev": "a7d961b654c38b85877db7af4fac57ba3eaede16",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
49
flake.nix
Normal file
49
flake.nix
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
description = "Stream the reMarkable screen to your computer";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
rust-overlay = {
|
||||||
|
url = "github:oxalica/rust-overlay";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
inputs.flake-utils.follows = "flake-utils";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
outputs = {self, nixpkgs, flake-utils, rust-overlay, ... }:
|
||||||
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
|
let
|
||||||
|
overlays = [ (import rust-overlay) ];
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system overlays;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
with pkgs;
|
||||||
|
{
|
||||||
|
devShell = mkShell {
|
||||||
|
buildInputs = [
|
||||||
|
remarkable-toolchain
|
||||||
|
(rust-bin.stable.latest.default.override {
|
||||||
|
targets = [ "armv7-unknown-linux-gnueabihf" ];
|
||||||
|
extensions = [ "rust-src" ];
|
||||||
|
})
|
||||||
|
openssl.dev
|
||||||
|
pkg-config
|
||||||
|
cargo-watch
|
||||||
|
cargo-limit
|
||||||
|
shellcheck
|
||||||
|
lz4
|
||||||
|
];
|
||||||
|
CARGO_BUILD_TARGET="armv7-unknown-linux-gnueabihf";
|
||||||
|
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER="${pkgs.remarkable-toolchain}/sysroots/x86_64-codexsdk-linux/usr/bin/arm-remarkable-linux-gnueabi/arm-remarkable-linux-gnueabi-gcc";
|
||||||
|
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUSTFLAGS=[
|
||||||
|
"-C link-arg=-march=armv7-a"
|
||||||
|
"-C link-arg=-marm"
|
||||||
|
"-C link-arg=-mfpu=neon"
|
||||||
|
"-C link-arg=-mfloat-abi=hard"
|
||||||
|
"-C link-arg=-mcpu=cortex-a9"
|
||||||
|
"-C link-arg=--sysroot=${pkgs.remarkable-toolchain}/sysroots/cortexa9hf-neon-remarkable-linux-gnueabi"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user