24 个版本 (破坏性更新)
0.20.1 | 2024 年 8 月 12 日 |
---|---|
0.20.0 | 2024 年 7 月 10 日 |
0.19.8 | 2024 年 6 月 19 日 |
0.19.0 | 2024 年 2 月 4 日 |
0.1.0 | 2017 年 3 月 4 日 |
#1323 在 GUI
每月下载量 25,901
用于 77 个 Crates (2 个直接使用)
530KB
12K SLoC
gtk-rs-core
gtk-rs
组织旨在提供基于 GObject
的库的 Rust 安全绑定。更多关于它的信息可以在 https://gtk-rs.org 上找到。
此存储库包含 gtk-rs 组织的所有“核心”Crates。有关每个 Crates 的更多信息,请参阅它们目录中的 README.md
文件。
最低支持的 Rust 版本
目前,最低支持的 Rust 版本是 1.70.0
。
文档
生态系统
gtk-rs-core
仓库包含基于 GObject
的基础库的 Rust Crates。然而,有一个庞大的 GObject
库生态系统,其中许多库基于 gtk-rs
中包含的工具进行了 Rust 绑定。特别值得注意的是
- gtk3-rs - GTK 3 的绑定
- gtk4-rs - GTK 4 的绑定
- gstreamer-rs - GStreamer 媒体框架的绑定
此外,各种库的 Rust 绑定托管在 GNOME 的 GitLab 实例上,可以在 https://gitlab.gnome.org/World/Rust 上找到。
当使用不是 gtk-rs
存储库的 Crates 时,您需要小心,并确保它们不会引入与核心 Crates(如 glib-rs
)不兼容的版本。
重新生成
要使用 gir 重新生成包,请按照以下步骤使用 generator.py
文件
$ python3 generator.py
如果您还没有这样做,请在开发之前通过以下方式检出所有子模块
$ git submodule update --checkout
开发
此存储库主要分为两个分支:master
和 crate
。 master
包含尚未发布的代码,是新的开发正在进行的地方。 crate
包含最新发布的源代码,不应该被更新。
此存储库的结构如下
- crate/
|
|-- README.md
|-- Gir.toml
|-- Cargo.toml
|-- src/
|-- sys/
crate
是一个 "顶级" 目录(例如,这里的 "atk" 或 "gdk")。每个包包含以下内容
README.md
:关于包本身的说明以及一些细节。Cargo.toml
:包的描述,由cargo
和Rust
使用。Gir.toml
:由 gir 使用的配置,用于生成大多数包的代码。src
:包的源代码。sys
:与 C API 的 1:1 绑定。
gir
和 gir-files
顶级目录不是包,而是包含 gir 工具和生成器使用的 gir 文件 的 git 子模块。
运行 generator.py
时,工具将自动更新这些 git 子模块,并在 gir 文件 上运行 gir 工具以重新生成代码。
在开发过程中,执行具有不同版本的 gir 工具或 gir 文件 的生成器很有用,例如在将更新子模块的拉取请求提交之前测试代码生成是否成功。这可以通过指定生成器脚本的参数来完成,例如,在本地 gir 文件的副本上运行生成器
$ python3 generator.py --gir-files-directory ../gir-files/
有关更多详细信息,请参阅 python3 generator.py --help
依赖关系
~115–475KB
~10K SLoC