diff options
Diffstat (limited to 'Mk/Scripts/cargo-crates-git-fetch.awk')
-rw-r--r-- | Mk/Scripts/cargo-crates-git-fetch.awk | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Mk/Scripts/cargo-crates-git-fetch.awk b/Mk/Scripts/cargo-crates-git-fetch.awk new file mode 100644 index 000000000000..241b6d3b72f2 --- /dev/null +++ b/Mk/Scripts/cargo-crates-git-fetch.awk @@ -0,0 +1,20 @@ +# MAINTAINER: rust@FreeBSD.org +# +# Return (index, site, filename, wrksrc, crates) 5-tuples from git URL specs in CARGO_CRATES + +END { + split(GIT_SOURCES, git_sources) + for (i = 1; i <= length(git_sources); i++) { + git_source = git_sources[i] + j = index(git_source, "@") + if (j == 0) { + warn("invalid source: %s", git_source) + } else { + crate_source = substr(git_source, j + 1) + crates = substr(git_source, 0, j - 1) + if (split_git_url(git_info, crate_source)) { + printf("%d %s %s %s %s\n", group++, git_info["site"], git_info["filename"], git_info["dir"], crates) + } + } + } +} |