39个版本

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日

606Unix API

Download history 95951/week @ 2024-05-04 91554/week @ 2024-05-11 92575/week @ 2024-05-18 92302/week @ 2024-05-25 87936/week @ 2024-06-01 79594/week @ 2024-06-08 87756/week @ 2024-06-15 85957/week @ 2024-06-22 91012/week @ 2024-06-29 89930/week @ 2024-07-06 92116/week @ 2024-07-13 91033/week @ 2024-07-20 98066/week @ 2024-07-27 95380/week @ 2024-08-03 98479/week @ 2024-08-10 91727/week @ 2024-08-17

400,382 每月下载量
1,088 个crate中使用 (直接使用206个)

MIT 许可证

320KB
7K SLoC

gtk-rs-core CI

gtk-rs组织旨在提供对基于GObject的库的安全Rust绑定。您可以在https://gtk-rs.org上了解更多信息。

此仓库包含gtk-rs组织的所有“核心”crate。有关每个crate的更多信息,请参阅其目录中的README.md文件。

最低支持的Rust版本

目前,最低支持的Rust版本是1.70.0

文档

生态系统

gtk-rs-core仓库包含Rust crate,用于基础GObject库。然而,存在大量的GObject库生态系统,其中许多库基于gtk-rs中包含的工具进行了Rust绑定。特别值得一提的是

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

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

重新生成

要使用 gir 重新生成 crate,请按照以下方式使用 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,而是 git 子模块,分别包含 gir 工具和生成器使用的 gir 文件

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

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

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

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

依赖关系

~0.4–360KB