# rust-crate **Repository Path**: belanLu/rust-crate ## Basic Information - **Project Name**: rust-crate - **Description**: 该库包含binden所有rust crate以及cargo2gn相关脚本 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-02-23 - **Last Updated**: 2023-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rust-crate #### 介绍 该库包含binden所有rust crate以及cargo2gn相关脚本 #### 安装教程 1. 先在本地clone本仓库git clone https://gitee.com/belanLu/rust-crate.git 2. 在~/.cargo下创建config文件。 touch ~/.cargo/config 并在文件中添加下面内容来替换crates的镜像源: ``` # 放到 `$HOME/.cargo/config` 文件中 [source.crates-io] #registry = "https://github.com/rust-lang/crates.io-index" replace-with = 'ustc' #replace-with = 'sjtu' [source.tuna] registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git" [source.ustc] registry = "git://mirrors.ustc.edu.cn/crates.io-index" [source.sjtu] registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index" [source.rustcc] registry = "git://crates.rustcc.cn/crates.io-index" ``` 3. 删除用户home路径下的缓存的crate rm -rf ~/.cargo/registry/cache/github.com-xxxxxx(不要直接复制执行这条命令) 4. 在该仓目录下执行想要拉取的crate。例如拉取cxx:使用命令:python3 ./get_rust_pkg.py cxx(默认拉取最新version,如果要拉取指定版本,使用:python3 ./get_rust_pkg.py cxx-1.2.3 5. cd cxx 6. 使用cargo编译cxx,执行: cargo build 7. cargo build成功后,将cargo缓存文件拷贝到本仓目录下:cp -rf ~/.cargo/registry/cache/github.com-xxxxx/* . 8. 使用tar解压所有crate,脚本弄丢了,自己写一下】 9. 使用脚本消除所有的version信息。python3 ../rename_crate_dir.py 10. 执行脚本为所有crate添加配置文件cargo2gn.json 执行:python3 ../add_config_json.py 11. 执行cargo2gn.py 转换BUILD.gn。 python3 ../cargo2gn.py --config cargo2gn.json 12. 可以从cargo.out中查看转换情况。