Gentoo Archives: gentoo-commits

From: Georgy Yakovlev <gyakovlev@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/cargo-ebuild:master commit in: /, src/
Date: Thu, 07 Oct 2021 16:23:19
Message-Id: 1633623714.02ddf334369229a1f7aab44a8e919a954e2124c5.gyakovlev@gentoo
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())?;