32个版本

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.2.1 2015年10月20日

10 in Unix API

Download history 95233/week @ 2024-05-04 91081/week @ 2024-05-11 92011/week @ 2024-05-18 91639/week @ 2024-05-25 87452/week @ 2024-06-01 79070/week @ 2024-06-08 87201/week @ 2024-06-15 85480/week @ 2024-06-22 90709/week @ 2024-06-29 89621/week @ 2024-07-06 91538/week @ 2024-07-13 90642/week @ 2024-07-20 97737/week @ 2024-07-27 94769/week @ 2024-08-03 97619/week @ 2024-08-10 91387/week @ 2024-08-17

每月 398,194 次下载
用于 1,068 个crate (直接使用152个)

MIT 许可证

435KB
10K 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)不兼容的版本。

重新生成

要重新生成crate,请使用gir,按照以下方式使用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.tomlgir使用的配置,用于生成大多数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