33 个不稳定版本

0.20.0 2024 年 7 月 10 日
0.19.2 2024 年 2 月 13 日
0.18.2 2023 年 9 月 14 日
0.18.0 2023 年 7 月 23 日
0.1.3 2015 年 7 月 18 日

#177 in 图像

Download history 66214/week @ 2024-05-03 61956/week @ 2024-05-10 61188/week @ 2024-05-17 61819/week @ 2024-05-24 66077/week @ 2024-05-31 58632/week @ 2024-06-07 65466/week @ 2024-06-14 62356/week @ 2024-06-21 65900/week @ 2024-06-28 60348/week @ 2024-07-05 63520/week @ 2024-07-12 63692/week @ 2024-07-19 70388/week @ 2024-07-26 69700/week @ 2024-08-02 73530/week @ 2024-08-09 66243/week @ 2024-08-16

290,923 每月下载量
用于 782 个crate (直接使用 39 个)

MIT 许可证

160KB
3.5K 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 仓库包含基于 GObject 的基础库的 Rust crate。然而,有一个庞大的基于 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,而是包含gir工具和由生成器使用的gir文件的git子模块。

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

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

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

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

依赖项

~0–9MB
~67K SLoC