Introduction
Getting Started
Design Documentation
This is the design documentation for the project. If you are not familiar with the project, please read the Getting Started first.
Application
Applications
Rust
Dependencies
- Target
- I/O
- toml (https://crates.io/crates/toml)
- serde (https://crates.io/crates/serde)
Mirrors
Install Rust
Reference: https://forge.rust-lang.org/infra/other-installation-methods.html
Standalone Installers (Rustup)
- Check the system environment
- List Rust versions (
https://static.rust-lang.org/dist/channel-rust-stable.toml) - Download the installation package for the corresponding version.
(
https://static.rust-lang.org/rustup/dist/{TARGET_TRIPLE}/rustup-init{.exe?}) - Install to the designated location
- Check the installation status
Standalone Installers (No Rustup)
- Check the system environment
- List Rust versions (
https://static.rust-lang.org/dist/channel-rust-stable.toml) - Download the installation package for the corresponding version.
(
https://static.rust-lang.org/rustup/dist/rustc-{VERSION}-{TARGET_TRIPLE}.tar.xz) - Unzip the installation package
- Install to the designated location
- Check the installation status
Source Code (No Rustup)
- Choose Host Rust versions
- Check the system environment
- List Rust Source versions (
https://static.rust-lang.org/dist/channel-rust-stable.toml) - Download the source code (
https://static.rust-lang.org/dist/rustc-{VERSION}-src.tar.xz) - Unzip the source code
- Compile the source code
- Install to the designated location (or system link)
- Check the installation status
Uninstall Rust
Rustup
- Run
rustup self uninstall - Check the uninstallation status
Source Code
- Remove the installation files (or system link)
- Clean the source code directory (optional)
- Check the uninstallation status
Update Rust
Rustup
- Run
rustup update
Source Code
- Choose Host Rust versions
- Check the system environment
- List Rust Source versions (
https://static.rust-lang.org/dist/channel-rust-stable.toml) - Download the source code (
https://static.rust-lang.org/dist/rustc-{VERSION}-src.tar.xz) - Unzip the source code (Overwrite)
- Compile the source code
- Install to the designated location (or system link)
- Check the installation status
LLVM
GCC
Python
GDB
LLDB
Git
Jujutsu
Version
Authors
Derive
User Interface(UI)
v1
#![allow(unused)]
fn main() {
use std::net::SocketAddr;
use std::time::Duration;
use algosul::ui::*;
use algosul::derive::*;
#[derive(UI, DataSync)]
#[ui(key = "time-sync", widget = "Taps::new()")]
enum TimeSync {
#[ui(title_key = "unknown")]
#[ui_cfg(class = "show", widget = "Text::new()")]
#[ui_cfg(class = "input", ignore)]
Unknown,
#[ui(title_key = "no-sync")]
No,
#[ui(title_key = "auto-sync")]
Auto {
url: String,
refresh_duration: Duration,
}
}
}
v2
- async +
Rc<RefCell<T>> SenderandReceiver
#![allow(unused)]
fn main() {
use algosul::{ui::*, derive::*};
#[derive(DataSync)]
enum TimeSync {
Unknown,
No,
Auto {
url: String,
refresh_duration: Duration,
}
}
impl Widget for TimeSync {
fn build(&self) -> Box<dyn Widget> {}
}
}
Utilities
I/O
Traits
Download
Upload
Execute
Virtual File System (VFS)
| Type | Identifier |
|---|---|
| File System | FileSystem |
| Path | Path |
| File | File |
| Directory | Directory |
| Device | Device |
| Socket | Socket |
Target
‘target’ indicates the target platform on which the software runs
Specification
Architectures
| bits | 32 | 64 |
|---|---|---|
| x86 | i586/i686 | x86_64 |
| aarch | arm (aarch32) | aarch64 |
| loongarch | loongarch32 | loongarch64 |
| riscv | riscv32imac | riscv64gc |
Operating Systems (OS)
Unix
Linux
Android
Darwin
Windows
Vendor
ABI
Adapter
LLVM Target
<arch>-<vendor>-<os>-<abi>
Rust Target
<arch>-<vendor>-<os>-<abi>