31 个版本 (16 个重大变更)

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.2 2015年7月18日

1242GUI

Download history 65707/week @ 2024-05-03 61419/week @ 2024-05-10 60742/week @ 2024-05-17 61124/week @ 2024-05-24 65342/week @ 2024-05-31 57927/week @ 2024-06-07 64661/week @ 2024-06-14 61904/week @ 2024-06-21 64994/week @ 2024-06-28 59755/week @ 2024-07-05 62642/week @ 2024-07-12 62593/week @ 2024-07-19 68735/week @ 2024-07-26 68621/week @ 2024-08-02 72729/week @ 2024-08-09 65658/week @ 2024-08-16

每月下载量 286,634
用于 719 个 Crates(直接使用 25 个)

MIT 许可证

555KB
12K SLoC

gtk-rs-core CI

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 绑定。特别值得一提的是

此外,Rust 绑定各种库托管在 GNOME 的 GitLab 实例上,可以在 https://gitlab.gnome.org/World/Rust 上找到。

当使用非 gtk-rs 仓库的 Crates 时,你需要小心并确保它们不会引入与核心 Crates(如 glib-rs)不兼容的版本。

再生

要使用 gir 重新生成 Crates,请按照以下方式使用 generator.py 文件

$ python3 generator.py

如果你还没有这样做,请通过以下方式检出所有子模块

$ git submodule update --checkout

开发

此仓库主要分为两个分支:mastercratemaster 包含尚未发布的代码,是新开发发生的地方。 crate 包含最后的发布源代码,不应进行更新。

此仓库的结构如下

- crate/
   |
   |-- README.md
   |-- Gir.toml
   |-- Cargo.toml
   |-- src/
   |-- sys/

crate 是一个“顶级”目录(例如这里的“atk”或“gdk”)。每个crate包含

  • README.md:对crate本身的说明和一些详细信息。
  • Cargo.toml:crate的描述,由cargoRust使用。
  • Gir.toml:由gir使用的配置,用于生成crate的大部分代码。
  • src:crate的源代码。
  • sys:C API的1:1绑定。

girgir-files 顶级目录不是crate,而是包含gir工具和生成器使用的gir文件的git子模块。

运行generator.py时,工具将自动更新这些git子模块,并在gir文件上运行gir工具以重新生成代码。

在开发过程中,使用不同版本的gir工具或gir文件执行生成器是有用的,例如,在向子模块提交更新之前,测试代码生成是否成功。这可以通过指定生成器脚本的参数来完成,例如,在本地gir文件的副本上运行生成器

$ python3 generator.py --gir-files-directory ../gir-files/

有关详细信息,请参阅python3 generator.py --help

依赖关系

~0.4–360KB