Crates.io | t-rust-less-lib |
lib.rs | t-rust-less-lib |
version | 0.2.18 |
source | src |
created_at | 2020-07-04 13:34:33.389112 |
updated_at | 2024-06-02 09:05:51.15495 |
description | Password manager library |
homepage | |
repository | https://github.com/untoldwind/t-rust-less |
max_upload_size | |
id | 261307 |
size | 682,945 |
Spritual successor of https://github.com/untoldwind/trustless taking over the concepts that worked, improving those that did not turned out so well and avoiding all the quirky stuff (potentially by replacing it with new quirky stuff).
Some major changes:
t-rust-less
is a ground up rewrite in rust (as the name suggests)trustless
tried to be compatible with gpg
, t-rust-less
drops this idea entirely
in favor of adding some modern ciphers and key-derivations to the mix.trustless
store will not be compatible with a t-rust-less
whatsoever.
Sorry, but an export
-> import
will be required.Best use the ./build-release.sh
script with will bootstrap a docker container containing all the relevant dependencies.
Otherwise you need:
api.capnp
or secret_store.capnp
you also need the Capn Proto compiler (capnpc), i.e. install capnproto
package.openssl-sys
perl is requiredOn one needs AUR mingw-w64-gcc
, mingw-w64-crt
(or mingw-w64-gcc-bin
, mingw-w64-crt-bin
).
Add ~/.cargo/config
:
[target.x86_64-pc-windows-gnu]
linker = "/usr/bin/x86_64-w64-mingw32-gcc"
ar = "/usr/x86_64-w64-mingw32/bin/ar"
cd cli; cargo build --target x86_64-pc-windows-gnu --features crossterm_backend --no-default-features --release
(unluckily we cannot automatically toggle features based on target)
If you get an linkage error with __onexitbegin
, __onexitend
, most likely the crt2.o
does not match:
mv ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-gnu/lib/crt2.o ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-gnu/lib/crt2.o.bak
cp /usr/x86_64-w64-mingw32/lib/crt2.o ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-gnu/lib/crt2.o
Requires emscripten.
cargo build --release --target=wasm32-unknown-emscripten
Some tests are pretty slow and will be ignored during a regular development cycle with
cargo test
. To run the full suit for regression:
cargo test --release