1 |
commit: 02ddf334369229a1f7aab44a8e919a954e2124c5 |
2 |
Author: Miezhiko <Miezhiko <AT> gmail <DOT> com> |
3 |
AuthorDate: Wed Sep 22 11:10:28 2021 +0000 |
4 |
Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Oct 7 16:21:54 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/cargo-ebuild.git/commit/?id=02ddf334 |
7 |
|
8 |
package-name option support, it needs for Cargo.toml without root package |
9 |
|
10 |
Signed-off-by: Miezhiko <Miezhiko <AT> gmail.com> |
11 |
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org> |
12 |
|
13 |
.gitignore | 1 + |
14 |
Cargo.lock | 307 +++++++++++------------------------------------------------- |
15 |
Cargo.toml | 4 +- |
16 |
src/lib.rs | 25 +++-- |
17 |
src/main.rs | 8 +- |
18 |
5 files changed, 84 insertions(+), 261 deletions(-) |
19 |
|
20 |
diff --git a/.gitignore b/.gitignore |
21 |
index 11d7baa..a2687e6 100644 |
22 |
--- a/.gitignore |
23 |
+++ b/.gitignore |
24 |
@@ -1,2 +1,3 @@ |
25 |
target |
26 |
*.rs.bk |
27 |
+*.ebuild |
28 |
|
29 |
diff --git a/Cargo.lock b/Cargo.lock |
30 |
index a2137a9..3f35df7 100644 |
31 |
--- a/Cargo.lock |
32 |
+++ b/Cargo.lock |
33 |
@@ -22,9 +22,9 @@ dependencies = [ |
34 |
|
35 |
[[package]] |
36 |
name = "anyhow" |
37 |
-version = "1.0.43" |
38 |
+version = "1.0.44" |
39 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
40 |
-checksum = "28ae2b3dec75a406790005a200b1bd89785afc02517a00ca99ecfe093ee9e6cf" |
41 |
+checksum = "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1" |
42 |
|
43 |
[[package]] |
44 |
name = "atty" |
45 |
@@ -43,12 +43,6 @@ version = "1.0.1" |
46 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
47 |
checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" |
48 |
|
49 |
-[[package]] |
50 |
-name = "base-x" |
51 |
-version = "0.2.8" |
52 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
53 |
-checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b" |
54 |
- |
55 |
[[package]] |
56 |
name = "bitflags" |
57 |
version = "1.3.2" |
58 |
@@ -78,19 +72,13 @@ dependencies = [ |
59 |
|
60 |
[[package]] |
61 |
name = "bstr" |
62 |
-version = "0.2.16" |
63 |
+version = "0.2.17" |
64 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
65 |
-checksum = "90682c8d613ad3373e66de8c6411e0ae2ab2571e879d2efbf73558cc66f21279" |
66 |
+checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" |
67 |
dependencies = [ |
68 |
"memchr", |
69 |
] |
70 |
|
71 |
-[[package]] |
72 |
-name = "bumpalo" |
73 |
-version = "3.7.0" |
74 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
75 |
-checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" |
76 |
- |
77 |
[[package]] |
78 |
name = "byte-tools" |
79 |
version = "0.3.1" |
80 |
@@ -134,7 +122,7 @@ version = "7.0.1" |
81 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
82 |
checksum = "7fb04b88bd5b2036e30704f95c6ee16f3b5ca3b4ca307da2889d9006648e5c88" |
83 |
dependencies = [ |
84 |
- "semver 1.0.4", |
85 |
+ "semver", |
86 |
"serde", |
87 |
"toml", |
88 |
"url", |
89 |
@@ -157,16 +145,16 @@ checksum = "c297bd3135f558552f99a0daa180876984ea2c4ffa7470314540dff8c654109a" |
90 |
dependencies = [ |
91 |
"camino", |
92 |
"cargo-platform", |
93 |
- "semver 1.0.4", |
94 |
+ "semver", |
95 |
"serde", |
96 |
"serde_json", |
97 |
] |
98 |
|
99 |
[[package]] |
100 |
name = "cc" |
101 |
-version = "1.0.69" |
102 |
+version = "1.0.70" |
103 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
104 |
-checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2" |
105 |
+checksum = "d26a6ce4b6a484fa3edb70f7efa6fc430fd2b87285fe8b84304fd0936faa0dc0" |
106 |
dependencies = [ |
107 |
"jobserver", |
108 |
] |
109 |
@@ -192,12 +180,6 @@ dependencies = [ |
110 |
"vec_map", |
111 |
] |
112 |
|
113 |
-[[package]] |
114 |
-name = "const_fn" |
115 |
-version = "0.4.8" |
116 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
117 |
-checksum = "f92cfa0fd5690b3cf8c1ef2cabbd9b7ef22fa53cf5e1f92b05103f6d5d1cf6e7" |
118 |
- |
119 |
[[package]] |
120 |
name = "crates-index" |
121 |
version = "0.17.0" |
122 |
@@ -209,7 +191,7 @@ dependencies = [ |
123 |
"hex", |
124 |
"home", |
125 |
"memchr", |
126 |
- "semver 1.0.4", |
127 |
+ "semver", |
128 |
"serde", |
129 |
"serde_derive", |
130 |
"serde_json", |
131 |
@@ -244,12 +226,6 @@ dependencies = [ |
132 |
"generic-array", |
133 |
] |
134 |
|
135 |
-[[package]] |
136 |
-name = "discard" |
137 |
-version = "1.0.4" |
138 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
139 |
-checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0" |
140 |
- |
141 |
[[package]] |
142 |
name = "either" |
143 |
version = "1.6.1" |
144 |
@@ -306,9 +282,9 @@ dependencies = [ |
145 |
|
146 |
[[package]] |
147 |
name = "git2" |
148 |
-version = "0.13.21" |
149 |
+version = "0.13.22" |
150 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
151 |
-checksum = "659cd14835e75b64d9dba5b660463506763cf0aa6cb640aeeb0e98d841093490" |
152 |
+checksum = "9c1cbbfc9a1996c6af82c2b4caf828d2c653af4fcdbb0e5674cc966eee5a4197" |
153 |
dependencies = [ |
154 |
"bitflags", |
155 |
"libc", |
156 |
@@ -462,15 +438,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" |
157 |
|
158 |
[[package]] |
159 |
name = "libc" |
160 |
-version = "0.2.101" |
161 |
+version = "0.2.102" |
162 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
163 |
-checksum = "3cb00336871be5ed2c8ed44b60ae9959dc5b9f08539422ed43f09e34ecaeba21" |
164 |
+checksum = "a2a5ac8f984bfcf3a823267e5fde638acc3325f6496633a5da6bb6eb2171e103" |
165 |
|
166 |
[[package]] |
167 |
name = "libgit2-sys" |
168 |
-version = "0.12.22+1.1.0" |
169 |
+version = "0.12.23+1.2.0" |
170 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
171 |
-checksum = "89c53ac117c44f7042ad8d8f5681378dfbc6010e49ec2c0d1f11dfedc7a4a1c3" |
172 |
+checksum = "29730a445bae719db3107078b46808cc45a5b7a6bae3f31272923af969453356" |
173 |
dependencies = [ |
174 |
"cc", |
175 |
"libc", |
176 |
@@ -553,9 +529,9 @@ checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" |
177 |
|
178 |
[[package]] |
179 |
name = "openssl-sys" |
180 |
-version = "0.9.66" |
181 |
+version = "0.9.67" |
182 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
183 |
-checksum = "1996d2d305e561b70d1ee0c53f1542833f4e1ac6ce9a6708b6ff2738ca67dc82" |
184 |
+checksum = "69df2d8dfc6ce3aaf44b40dec6f487d5a886516cf6879c49e98e0710f310a058" |
185 |
dependencies = [ |
186 |
"autocfg", |
187 |
"cc", |
188 |
@@ -615,9 +591,9 @@ dependencies = [ |
189 |
|
190 |
[[package]] |
191 |
name = "phf" |
192 |
-version = "0.9.0" |
193 |
+version = "0.10.0" |
194 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
195 |
-checksum = "b2ac8b67553a7ca9457ce0e526948cad581819238f4a9d1ea74545851fa24f37" |
196 |
+checksum = "b9fc3db1018c4b59d7d582a739436478b6035138b6aecbce989fc91c3e98409f" |
197 |
dependencies = [ |
198 |
"phf_macros", |
199 |
"phf_shared", |
200 |
@@ -626,9 +602,9 @@ dependencies = [ |
201 |
|
202 |
[[package]] |
203 |
name = "phf_generator" |
204 |
-version = "0.9.1" |
205 |
+version = "0.10.0" |
206 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
207 |
-checksum = "d43f3220d96e0080cc9ea234978ccd80d904eafb17be31bb0f76daaea6493082" |
208 |
+checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" |
209 |
dependencies = [ |
210 |
"phf_shared", |
211 |
"rand", |
212 |
@@ -636,9 +612,9 @@ dependencies = [ |
213 |
|
214 |
[[package]] |
215 |
name = "phf_macros" |
216 |
-version = "0.9.0" |
217 |
+version = "0.10.0" |
218 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
219 |
-checksum = "b706f5936eb50ed880ae3009395b43ed19db5bff2ebd459c95e7bf013a89ab86" |
220 |
+checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" |
221 |
dependencies = [ |
222 |
"phf_generator", |
223 |
"phf_shared", |
224 |
@@ -650,9 +626,9 @@ dependencies = [ |
225 |
|
226 |
[[package]] |
227 |
name = "phf_shared" |
228 |
-version = "0.9.0" |
229 |
+version = "0.10.0" |
230 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
231 |
-checksum = "a68318426de33640f02be62b4ae8eb1261be2efbc337b60c54d845bf4484e0d9" |
232 |
+checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" |
233 |
dependencies = [ |
234 |
"siphasher", |
235 |
] |
236 |
@@ -710,9 +686,9 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" |
237 |
|
238 |
[[package]] |
239 |
name = "proc-macro2" |
240 |
-version = "1.0.28" |
241 |
+version = "1.0.29" |
242 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
243 |
-checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612" |
244 |
+checksum = "b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d" |
245 |
dependencies = [ |
246 |
"unicode-xid", |
247 |
] |
248 |
@@ -783,20 +759,11 @@ version = "0.6.25" |
249 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
250 |
checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" |
251 |
|
252 |
-[[package]] |
253 |
-name = "rustc_version" |
254 |
-version = "0.2.3" |
255 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
256 |
-checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" |
257 |
-dependencies = [ |
258 |
- "semver 0.9.0", |
259 |
-] |
260 |
- |
261 |
[[package]] |
262 |
name = "rustsec" |
263 |
-version = "0.24.2" |
264 |
+version = "0.24.3" |
265 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
266 |
-checksum = "c29c220a60ceaeedb2c5bf51826b3d3c5d77b2523693f0579c8a85dd03f11947" |
267 |
+checksum = "bcf7c16b24c1facb34fc8392fdcf4986c369335973441ccc2ff11ba7341b7ee2" |
268 |
dependencies = [ |
269 |
"cargo-lock", |
270 |
"crates-index", |
271 |
@@ -807,7 +774,7 @@ dependencies = [ |
272 |
"humantime", |
273 |
"humantime-serde", |
274 |
"platforms", |
275 |
- "semver 1.0.4", |
276 |
+ "semver", |
277 |
"serde", |
278 |
"smol_str", |
279 |
"thiserror", |
280 |
@@ -830,15 +797,6 @@ dependencies = [ |
281 |
"winapi-util", |
282 |
] |
283 |
|
284 |
-[[package]] |
285 |
-name = "semver" |
286 |
-version = "0.9.0" |
287 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
288 |
-checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" |
289 |
-dependencies = [ |
290 |
- "semver-parser", |
291 |
-] |
292 |
- |
293 |
[[package]] |
294 |
name = "semver" |
295 |
version = "1.0.4" |
296 |
@@ -848,26 +806,20 @@ dependencies = [ |
297 |
"serde", |
298 |
] |
299 |
|
300 |
-[[package]] |
301 |
-name = "semver-parser" |
302 |
-version = "0.7.0" |
303 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
304 |
-checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" |
305 |
- |
306 |
[[package]] |
307 |
name = "serde" |
308 |
-version = "1.0.129" |
309 |
+version = "1.0.130" |
310 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
311 |
-checksum = "d1f72836d2aa753853178eda473a3b9d8e4eefdaf20523b919677e6de489f8f1" |
312 |
+checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" |
313 |
dependencies = [ |
314 |
"serde_derive", |
315 |
] |
316 |
|
317 |
[[package]] |
318 |
name = "serde_derive" |
319 |
-version = "1.0.129" |
320 |
+version = "1.0.130" |
321 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
322 |
-checksum = "e57ae87ad533d9a56427558b516d0adac283614e347abf85b0dc0cbbf0a249f3" |
323 |
+checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" |
324 |
dependencies = [ |
325 |
"proc-macro2", |
326 |
"quote", |
327 |
@@ -876,9 +828,9 @@ dependencies = [ |
328 |
|
329 |
[[package]] |
330 |
name = "serde_json" |
331 |
-version = "1.0.66" |
332 |
+version = "1.0.68" |
333 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
334 |
-checksum = "336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127" |
335 |
+checksum = "0f690853975602e1bfe1ccbf50504d67174e3bcf340f23b5ea9992e0587a52d8" |
336 |
dependencies = [ |
337 |
"itoa", |
338 |
"ryu", |
339 |
@@ -897,17 +849,11 @@ dependencies = [ |
340 |
"opaque-debug", |
341 |
] |
342 |
|
343 |
-[[package]] |
344 |
-name = "sha1" |
345 |
-version = "0.6.0" |
346 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
347 |
-checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" |
348 |
- |
349 |
[[package]] |
350 |
name = "siphasher" |
351 |
-version = "0.3.6" |
352 |
+version = "0.3.7" |
353 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
354 |
-checksum = "729a25c17d72b06c68cb47955d44fda88ad2d3e7d77e025663fdd69b93dd71a1" |
355 |
+checksum = "533494a8f9b724d33625ab53c6c4800f7cc445895924a8ef649222dcb76e938b" |
356 |
|
357 |
[[package]] |
358 |
name = "smartstring" |
359 |
@@ -925,70 +871,12 @@ version = "0.1.17" |
360 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
361 |
checksum = "6ca0f7ce3a29234210f0f4f0b56f8be2e722488b95cb522077943212da3b32eb" |
362 |
|
363 |
-[[package]] |
364 |
-name = "standback" |
365 |
-version = "0.2.17" |
366 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
367 |
-checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff" |
368 |
-dependencies = [ |
369 |
- "version_check", |
370 |
-] |
371 |
- |
372 |
[[package]] |
373 |
name = "static_assertions" |
374 |
version = "1.1.0" |
375 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
376 |
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" |
377 |
|
378 |
-[[package]] |
379 |
-name = "stdweb" |
380 |
-version = "0.4.20" |
381 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
382 |
-checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5" |
383 |
-dependencies = [ |
384 |
- "discard", |
385 |
- "rustc_version", |
386 |
- "stdweb-derive", |
387 |
- "stdweb-internal-macros", |
388 |
- "stdweb-internal-runtime", |
389 |
- "wasm-bindgen", |
390 |
-] |
391 |
- |
392 |
-[[package]] |
393 |
-name = "stdweb-derive" |
394 |
-version = "0.5.3" |
395 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
396 |
-checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef" |
397 |
-dependencies = [ |
398 |
- "proc-macro2", |
399 |
- "quote", |
400 |
- "serde", |
401 |
- "serde_derive", |
402 |
- "syn", |
403 |
-] |
404 |
- |
405 |
-[[package]] |
406 |
-name = "stdweb-internal-macros" |
407 |
-version = "0.2.9" |
408 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
409 |
-checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11" |
410 |
-dependencies = [ |
411 |
- "base-x", |
412 |
- "proc-macro2", |
413 |
- "quote", |
414 |
- "serde", |
415 |
- "serde_derive", |
416 |
- "serde_json", |
417 |
- "sha1", |
418 |
- "syn", |
419 |
-] |
420 |
- |
421 |
-[[package]] |
422 |
-name = "stdweb-internal-runtime" |
423 |
-version = "0.1.5" |
424 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
425 |
-checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0" |
426 |
- |
427 |
[[package]] |
428 |
name = "strsim" |
429 |
version = "0.8.0" |
430 |
@@ -997,9 +885,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" |
431 |
|
432 |
[[package]] |
433 |
name = "structopt" |
434 |
-version = "0.3.22" |
435 |
+version = "0.3.23" |
436 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
437 |
-checksum = "69b041cdcb67226aca307e6e7be44c8806423d83e018bd662360a93dabce4d71" |
438 |
+checksum = "bf9d950ef167e25e0bdb073cf1d68e9ad2795ac826f2f3f59647817cf23c0bfa" |
439 |
dependencies = [ |
440 |
"clap", |
441 |
"lazy_static", |
442 |
@@ -1008,9 +896,9 @@ dependencies = [ |
443 |
|
444 |
[[package]] |
445 |
name = "structopt-derive" |
446 |
-version = "0.4.15" |
447 |
+version = "0.4.16" |
448 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
449 |
-checksum = "7813934aecf5f51a54775e00068c237de98489463968231a51746bbbc03f9c10" |
450 |
+checksum = "134d838a2c9943ac3125cf6df165eda53493451b719f3255b2a26b85f772d0ba" |
451 |
dependencies = [ |
452 |
"heck", |
453 |
"proc-macro-error", |
454 |
@@ -1021,9 +909,9 @@ dependencies = [ |
455 |
|
456 |
[[package]] |
457 |
name = "syn" |
458 |
-version = "1.0.75" |
459 |
+version = "1.0.76" |
460 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
461 |
-checksum = "b7f58f7e8eaa0009c5fec437aabf511bd9933e4b2d7407bd05273c01a8906ea7" |
462 |
+checksum = "c6f107db402c2c2055242dbf4d2af0e69197202e9faacbef9571bbe47f5a1b84" |
463 |
dependencies = [ |
464 |
"proc-macro2", |
465 |
"quote", |
466 |
@@ -1057,18 +945,18 @@ dependencies = [ |
467 |
|
468 |
[[package]] |
469 |
name = "thiserror" |
470 |
-version = "1.0.26" |
471 |
+version = "1.0.25" |
472 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
473 |
-checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2" |
474 |
+checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6" |
475 |
dependencies = [ |
476 |
"thiserror-impl", |
477 |
] |
478 |
|
479 |
[[package]] |
480 |
name = "thiserror-impl" |
481 |
-version = "1.0.26" |
482 |
+version = "1.0.25" |
483 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
484 |
-checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745" |
485 |
+checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d" |
486 |
dependencies = [ |
487 |
"proc-macro2", |
488 |
"quote", |
489 |
@@ -1086,47 +974,18 @@ dependencies = [ |
490 |
|
491 |
[[package]] |
492 |
name = "time" |
493 |
-version = "0.2.27" |
494 |
+version = "0.3.2" |
495 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
496 |
-checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242" |
497 |
+checksum = "3e0a10c9a9fb3a5dce8c2239ed670f1a2569fcf42da035f5face1b19860d52b0" |
498 |
dependencies = [ |
499 |
- "const_fn", |
500 |
"libc", |
501 |
- "standback", |
502 |
- "stdweb", |
503 |
- "time-macros", |
504 |
- "version_check", |
505 |
- "winapi", |
506 |
-] |
507 |
- |
508 |
-[[package]] |
509 |
-name = "time-macros" |
510 |
-version = "0.1.1" |
511 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
512 |
-checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1" |
513 |
-dependencies = [ |
514 |
- "proc-macro-hack", |
515 |
- "time-macros-impl", |
516 |
-] |
517 |
- |
518 |
-[[package]] |
519 |
-name = "time-macros-impl" |
520 |
-version = "0.1.2" |
521 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
522 |
-checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f" |
523 |
-dependencies = [ |
524 |
- "proc-macro-hack", |
525 |
- "proc-macro2", |
526 |
- "quote", |
527 |
- "standback", |
528 |
- "syn", |
529 |
] |
530 |
|
531 |
[[package]] |
532 |
name = "tinyvec" |
533 |
-version = "1.3.1" |
534 |
+version = "1.4.0" |
535 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
536 |
-checksum = "848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338" |
537 |
+checksum = "5241dd6f21443a3606b432718b166d3cedc962fd4b8bea54a8bc7f514ebda986" |
538 |
dependencies = [ |
539 |
"tinyvec_macros", |
540 |
] |
541 |
@@ -1148,9 +1007,9 @@ dependencies = [ |
542 |
|
543 |
[[package]] |
544 |
name = "typenum" |
545 |
-version = "1.13.0" |
546 |
+version = "1.14.0" |
547 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
548 |
-checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" |
549 |
+checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec" |
550 |
|
551 |
[[package]] |
552 |
name = "ucd-trie" |
553 |
@@ -1231,9 +1090,9 @@ checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" |
554 |
|
555 |
[[package]] |
556 |
name = "unicode-width" |
557 |
-version = "0.1.8" |
558 |
+version = "0.1.9" |
559 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
560 |
-checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" |
561 |
+checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" |
562 |
|
563 |
[[package]] |
564 |
name = "unicode-xid" |
565 |
@@ -1289,60 +1148,6 @@ version = "0.10.2+wasi-snapshot-preview1" |
566 |
source = "registry+https://github.com/rust-lang/crates.io-index" |
567 |
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" |
568 |
|
569 |
-[[package]] |
570 |
-name = "wasm-bindgen" |
571 |
-version = "0.2.76" |
572 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
573 |
-checksum = "8ce9b1b516211d33767048e5d47fa2a381ed8b76fc48d2ce4aa39877f9f183e0" |
574 |
-dependencies = [ |
575 |
- "cfg-if", |
576 |
- "wasm-bindgen-macro", |
577 |
-] |
578 |
- |
579 |
-[[package]] |
580 |
-name = "wasm-bindgen-backend" |
581 |
-version = "0.2.76" |
582 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
583 |
-checksum = "cfe8dc78e2326ba5f845f4b5bf548401604fa20b1dd1d365fb73b6c1d6364041" |
584 |
-dependencies = [ |
585 |
- "bumpalo", |
586 |
- "lazy_static", |
587 |
- "log", |
588 |
- "proc-macro2", |
589 |
- "quote", |
590 |
- "syn", |
591 |
- "wasm-bindgen-shared", |
592 |
-] |
593 |
- |
594 |
-[[package]] |
595 |
-name = "wasm-bindgen-macro" |
596 |
-version = "0.2.76" |
597 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
598 |
-checksum = "44468aa53335841d9d6b6c023eaab07c0cd4bddbcfdee3e2bb1e8d2cb8069fef" |
599 |
-dependencies = [ |
600 |
- "quote", |
601 |
- "wasm-bindgen-macro-support", |
602 |
-] |
603 |
- |
604 |
-[[package]] |
605 |
-name = "wasm-bindgen-macro-support" |
606 |
-version = "0.2.76" |
607 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
608 |
-checksum = "0195807922713af1e67dc66132c7328206ed9766af3858164fb583eedc25fbad" |
609 |
-dependencies = [ |
610 |
- "proc-macro2", |
611 |
- "quote", |
612 |
- "syn", |
613 |
- "wasm-bindgen-backend", |
614 |
- "wasm-bindgen-shared", |
615 |
-] |
616 |
- |
617 |
-[[package]] |
618 |
-name = "wasm-bindgen-shared" |
619 |
-version = "0.2.76" |
620 |
-source = "registry+https://github.com/rust-lang/crates.io-index" |
621 |
-checksum = "acdb075a845574a1fa5f09fd77e43f7747599301ea3417a9fbffdeedfc1f4a29" |
622 |
- |
623 |
[[package]] |
624 |
name = "winapi" |
625 |
version = "0.3.9" |
626 |
|
627 |
diff --git a/Cargo.toml b/Cargo.toml |
628 |
index 902d237..4140a60 100644 |
629 |
--- a/Cargo.toml |
630 |
+++ b/Cargo.toml |
631 |
@@ -30,10 +30,10 @@ itertools = "^0.10" |
632 |
rustsec = "0.24.2" |
633 |
structopt = "^0.3" |
634 |
serde = { version = "1.0", features = ["derive"] } |
635 |
-time = "^0.2" |
636 |
+time = "^0.3" |
637 |
|
638 |
[dependencies.phf] |
639 |
-version = "0.9" |
640 |
+version = "0.10" |
641 |
features = ["macros"] |
642 |
|
643 |
[dependencies.tera] |
644 |
|
645 |
diff --git a/src/lib.rs b/src/lib.rs |
646 |
index f478bc0..94ebf71 100644 |
647 |
--- a/src/lib.rs |
648 |
+++ b/src/lib.rs |
649 |
@@ -23,7 +23,9 @@ use audit::audit_package; |
650 |
use license::{normalize_license, split_spdx_license}; |
651 |
use metadata::EbuildConfig; |
652 |
|
653 |
-pub fn gen_ebuild_data(manifest_path: Option<&Path>, audit: bool) -> Result<EbuildConfig> { |
654 |
+pub fn gen_ebuild_data( manifest_path: Option<&Path> |
655 |
+ , package_name: Option<&str> |
656 |
+ , audit: bool ) -> Result<EbuildConfig> { |
657 |
let mut cmd = MetadataCommand::new(); |
658 |
|
659 |
cmd.features(CargoOpt::AllFeatures); |
660 |
@@ -41,10 +43,19 @@ pub fn gen_ebuild_data(manifest_path: Option<&Path>, audit: bool) -> Result<Ebui |
661 |
.as_ref() |
662 |
.ok_or_else(|| format_err!("cargo metadata did not resolve the depend graph"))?; |
663 |
|
664 |
- let root = resolve |
665 |
- .root |
666 |
- .as_ref() |
667 |
- .ok_or_else(|| format_err!("cargo metadata failed to resolve the root package"))?; |
668 |
+ let root = |
669 |
+ if let Some(pkg_name) = package_name { |
670 |
+ let found_package = |
671 |
+ metadata.packages.iter().find(|&p| { |
672 |
+ p.name == pkg_name |
673 |
+ }).ok_or_else(|| format_err!("cargo metadata contains no specified package"))?; |
674 |
+ &found_package.id |
675 |
+ } else { |
676 |
+ resolve |
677 |
+ .root |
678 |
+ .as_ref() |
679 |
+ .ok_or_else(|| format_err!("cargo metadata failed to resolve the root package"))? |
680 |
+ }; |
681 |
|
682 |
if audit { |
683 |
audit_package(metadata.workspace_root.as_ref(), manifest_path)?; |
684 |
@@ -54,7 +65,7 @@ pub fn gen_ebuild_data(manifest_path: Option<&Path>, audit: bool) -> Result<Ebui |
685 |
let mut crates = Vec::new(); |
686 |
let mut root_pkg = None; |
687 |
|
688 |
- for pkg in metadata.packages { |
689 |
+ for pkg in &metadata.packages { |
690 |
if &pkg.id == root { |
691 |
root_pkg = Some(pkg.clone()); |
692 |
} |
693 |
@@ -79,7 +90,7 @@ pub fn gen_ebuild_data(manifest_path: Option<&Path>, audit: bool) -> Result<Ebui |
694 |
println!("WARNING: {} uses a license-file, not handled", pkg.name); |
695 |
} |
696 |
|
697 |
- if let Some(src) = pkg.source { |
698 |
+ if let Some(src) = &pkg.source { |
699 |
// Check if the crate is available at crates.io |
700 |
if src.is_crates_io() { |
701 |
crates.push(format!("\t{}-{}\n", pkg.name, pkg.version)); |
702 |
|
703 |
diff --git a/src/main.rs b/src/main.rs |
704 |
index 1072094..edffb18 100644 |
705 |
--- a/src/main.rs |
706 |
+++ b/src/main.rs |
707 |
@@ -23,6 +23,10 @@ struct Args { |
708 |
/// Path to Cargo.toml. |
709 |
manifest_path: Option<PathBuf>, |
710 |
|
711 |
+ #[structopt(name = "PACKAGE", long = "package-name")] |
712 |
+ /// Desired package name from cargo workspace |
713 |
+ package_name: Option<String>, |
714 |
+ |
715 |
#[structopt(name = "TEMPLATE", long = "template-path", short)] |
716 |
/// Non-standard template |
717 |
template_path: Option<PathBuf>, |
718 |
@@ -49,7 +53,9 @@ fn main() -> Result<()> { |
719 |
let Opt::Ebuild(opt) = Opt::from_args(); |
720 |
|
721 |
// compute the data from the package that the build needs |
722 |
- let ebuild_data = gen_ebuild_data(opt.manifest_path.as_deref(), !opt.noaudit)?; |
723 |
+ let ebuild_data = gen_ebuild_data( opt.manifest_path.as_deref() |
724 |
+ , opt.package_name.as_deref() |
725 |
+ , !opt.noaudit )?; |
726 |
let ebuild_path = format!("{}-{}.ebuild", ebuild_data.name, ebuild_data.version); |
727 |
|
728 |
write_ebuild(ebuild_data, ebuild_path.as_ref(), opt.template_path.as_deref())?; |