3个版本
0.1.3 | 2024年6月25日 |
---|---|
0.1.2 | 2024年4月3日 |
0.1.1 | 2024年4月2日 |
#105 in Cargo插件
每月263次下载
19KB
312 行
Cargo-pak
打包flatpak文件的最简单方法
教程
依赖关系
你需要
- Rust稳定版(以及cargo和其他工具)
- cargo-pak
- flatpak-builder
- mold
rustup update
cargo install cargo-pak
apt-get install flatpak-builder mold
创建一个Rust应用程序
cargo new hello
cd hello
fn main() {
println!("hello world!");
}
创建应用配置文件
文件必须命名为 pak.toml
!!
此配置包含flatpak清单和.Desktop文件的详细信息。以下示例是一个基于X11的图形应用程序。
app_id="xyz.toastxc.Hello"
app_name= "hello"
# defined in Cargo.toml (release is performant)
profile="release"
# cargo-pack will default to package name in Cargo.toml
# bin="hello-world"
# definitions: https://docs.flatpak.org/en/latest/sandbox-permissions.html
permissions = [
"--share=network",
"--socket=x11",
"--device=dri"
]
# definitions: https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
[desktopfile]
terminal= false
如果你想要使用CLI,它会更简单一些。应用程序名称和版本等信息将从Cargo.toml中提取
app_id="xyz.toastxc.Hello"
[desktopfile]
terminal= true
图标
为了让.Desktop文件中的图标正常工作,你必须在目录的根目录下留下一个.png
文件,与bin名称相同。(例如hello-world.png
)例如
[package]
name = "hello"
version = "0.1.0"
edition = "2021"
hello.png
即使文件不是png格式,也要重命名它。此程序可以转换文件类型和大小。
命令
这些命令的工作方式类似于docker-compose;它们依赖于目录。你必须位于你的rust项目文件的根目录中才能使此命令生效
生成
此命令根据pak.toml生成桌面文件和flatpak清单文件
cargo-pak generate
构建
基于桌面和清单文件构建flatpak应用程序
cargo-pak build
安装
(以root身份)安装flatpak
cargo-pak install
移除
从你的系统中移除flatpak
cargo-pak remove
常见问题解答
为什么我的图标不工作?
cargo-pak会自动转换和调整图标大小,只要图标符合以下条件,它应该就能正常工作
- 正方形(正好1:1比例)
- 在根目录中(./)支持大多数文件类型和大小
构建不正常!
如果你已修改文件,可能需要再次运行cargo-pak generate
。
依赖关系
~2.1–3MB
~63K SLoC