summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-selftest/recipes-extended/zvariant/zvariant-crates.inc258
-rw-r--r--meta-selftest/recipes-extended/zvariant/zvariant-git-crates.inc14
-rw-r--r--meta-selftest/recipes-extended/zvariant/zvariant/0001-Tweak-zvariant-crate-config.patch1292
-rw-r--r--meta-selftest/recipes-extended/zvariant/zvariant_3.12.0.bb27
-rw-r--r--meta/lib/oeqa/selftest/cases/devtool.py93
5 files changed, 1684 insertions, 0 deletions
diff --git a/meta-selftest/recipes-extended/zvariant/zvariant-crates.inc b/meta-selftest/recipes-extended/zvariant/zvariant-crates.inc
new file mode 100644
index 0000000000..3a9759c4a5
--- /dev/null
+++ b/meta-selftest/recipes-extended/zvariant/zvariant-crates.inc
@@ -0,0 +1,258 @@
1# Autogenerated with 'bitbake -c update_crates zvariant'
2
3# from Cargo.lock
4SRC_URI += " \
5 crate://crates.io/anes/0.1.6;name=anes-0.1.6 \
6 crate://crates.io/anyhow/1.0.70;name=anyhow-1.0.70 \
7 crate://crates.io/arrayvec/0.7.2;name=arrayvec-0.7.2 \
8 crate://crates.io/atty/0.2.14;name=atty-0.2.14 \
9 crate://crates.io/autocfg/1.1.0;name=autocfg-1.1.0 \
10 crate://crates.io/bitflags/1.3.2;name=bitflags-1.3.2 \
11 crate://crates.io/bumpalo/3.12.0;name=bumpalo-3.12.0 \
12 crate://crates.io/byteorder/1.4.3;name=byteorder-1.4.3 \
13 crate://crates.io/cast/0.3.0;name=cast-0.3.0 \
14 crate://crates.io/cfg-if/1.0.0;name=cfg-if-1.0.0 \
15 crate://crates.io/chrono/0.4.24;name=chrono-0.4.24 \
16 crate://crates.io/ciborium/0.2.0;name=ciborium-0.2.0 \
17 crate://crates.io/ciborium-io/0.2.0;name=ciborium-io-0.2.0 \
18 crate://crates.io/ciborium-ll/0.2.0;name=ciborium-ll-0.2.0 \
19 crate://crates.io/clap/3.2.23;name=clap-3.2.23 \
20 crate://crates.io/clap_lex/0.2.4;name=clap_lex-0.2.4 \
21 crate://crates.io/criterion/0.4.0;name=criterion-0.4.0 \
22 crate://crates.io/criterion-plot/0.5.0;name=criterion-plot-0.5.0 \
23 crate://crates.io/crossbeam-channel/0.5.7;name=crossbeam-channel-0.5.7 \
24 crate://crates.io/crossbeam-deque/0.8.3;name=crossbeam-deque-0.8.3 \
25 crate://crates.io/crossbeam-epoch/0.9.14;name=crossbeam-epoch-0.9.14 \
26 crate://crates.io/crossbeam-utils/0.8.15;name=crossbeam-utils-0.8.15 \
27 crate://crates.io/either/1.8.1;name=either-1.8.1 \
28 crate://crates.io/enumflags2/0.7.5;name=enumflags2-0.7.5 \
29 crate://crates.io/enumflags2_derive/0.7.4;name=enumflags2_derive-0.7.4 \
30 crate://crates.io/form_urlencoded/1.1.0;name=form_urlencoded-1.1.0 \
31 crate://crates.io/futures-channel/0.3.27;name=futures-channel-0.3.27 \
32 crate://crates.io/futures-core/0.3.27;name=futures-core-0.3.27 \
33 crate://crates.io/futures-executor/0.3.27;name=futures-executor-0.3.27 \
34 crate://crates.io/futures-macro/0.3.27;name=futures-macro-0.3.27 \
35 crate://crates.io/futures-task/0.3.27;name=futures-task-0.3.27 \
36 crate://crates.io/futures-util/0.3.27;name=futures-util-0.3.27 \
37 crate://crates.io/getrandom/0.2.8;name=getrandom-0.2.8 \
38 crate://crates.io/half/1.8.2;name=half-1.8.2 \
39 crate://crates.io/hashbrown/0.12.3;name=hashbrown-0.12.3 \
40 crate://crates.io/heck/0.3.3;name=heck-0.3.3 \
41 crate://crates.io/hermit-abi/0.1.19;name=hermit-abi-0.1.19 \
42 crate://crates.io/hermit-abi/0.2.6;name=hermit-abi-0.2.6 \
43 crate://crates.io/idna/0.3.0;name=idna-0.3.0 \
44 crate://crates.io/indexmap/1.9.2;name=indexmap-1.9.2 \
45 crate://crates.io/itertools/0.9.0;name=itertools-0.9.0 \
46 crate://crates.io/itertools/0.10.5;name=itertools-0.10.5 \
47 crate://crates.io/itoa/1.0.6;name=itoa-1.0.6 \
48 crate://crates.io/js-sys/0.3.61;name=js-sys-0.3.61 \
49 crate://crates.io/lazy_static/1.4.0;name=lazy_static-1.4.0 \
50 crate://crates.io/libc/0.2.140;name=libc-0.2.140 \
51 crate://crates.io/log/0.4.17;name=log-0.4.17 \
52 crate://crates.io/memchr/2.5.0;name=memchr-2.5.0 \
53 crate://crates.io/memoffset/0.8.0;name=memoffset-0.8.0 \
54 crate://crates.io/num-integer/0.1.45;name=num-integer-0.1.45 \
55 crate://crates.io/num-traits/0.2.15;name=num-traits-0.2.15 \
56 crate://crates.io/num_cpus/1.15.0;name=num_cpus-1.15.0 \
57 crate://crates.io/once_cell/1.17.1;name=once_cell-1.17.1 \
58 crate://crates.io/oorandom/11.1.3;name=oorandom-11.1.3 \
59 crate://crates.io/os_str_bytes/6.5.0;name=os_str_bytes-6.5.0 \
60 crate://crates.io/percent-encoding/2.2.0;name=percent-encoding-2.2.0 \
61 crate://crates.io/pin-project-lite/0.2.9;name=pin-project-lite-0.2.9 \
62 crate://crates.io/pin-utils/0.1.0;name=pin-utils-0.1.0 \
63 crate://crates.io/pkg-config/0.3.26;name=pkg-config-0.3.26 \
64 crate://crates.io/plotters/0.3.4;name=plotters-0.3.4 \
65 crate://crates.io/plotters-backend/0.3.4;name=plotters-backend-0.3.4 \
66 crate://crates.io/plotters-svg/0.3.3;name=plotters-svg-0.3.3 \
67 crate://crates.io/ppv-lite86/0.2.17;name=ppv-lite86-0.2.17 \
68 crate://crates.io/proc-macro-crate/0.1.5;name=proc-macro-crate-0.1.5 \
69 crate://crates.io/proc-macro-crate/1.3.1;name=proc-macro-crate-1.3.1 \
70 crate://crates.io/proc-macro-error/1.0.4;name=proc-macro-error-1.0.4 \
71 crate://crates.io/proc-macro-error-attr/1.0.4;name=proc-macro-error-attr-1.0.4 \
72 crate://crates.io/proc-macro2/1.0.53;name=proc-macro2-1.0.53 \
73 crate://crates.io/quote/1.0.26;name=quote-1.0.26 \
74 crate://crates.io/rand/0.8.5;name=rand-0.8.5 \
75 crate://crates.io/rand_chacha/0.3.1;name=rand_chacha-0.3.1 \
76 crate://crates.io/rand_core/0.6.4;name=rand_core-0.6.4 \
77 crate://crates.io/rayon/1.7.0;name=rayon-1.7.0 \
78 crate://crates.io/rayon-core/1.11.0;name=rayon-core-1.11.0 \
79 crate://crates.io/regex/1.7.2;name=regex-1.7.2 \
80 crate://crates.io/regex-syntax/0.6.29;name=regex-syntax-0.6.29 \
81 crate://crates.io/ryu/1.0.13;name=ryu-1.0.13 \
82 crate://crates.io/same-file/1.0.6;name=same-file-1.0.6 \
83 crate://crates.io/scopeguard/1.1.0;name=scopeguard-1.1.0 \
84 crate://crates.io/serde/1.0.158;name=serde-1.0.158 \
85 crate://crates.io/serde_bytes/0.11.9;name=serde_bytes-0.11.9 \
86 crate://crates.io/serde_derive/1.0.158;name=serde_derive-1.0.158 \
87 crate://crates.io/serde_json/1.0.94;name=serde_json-1.0.94 \
88 crate://crates.io/serde_repr/0.1.12;name=serde_repr-0.1.12 \
89 crate://crates.io/slab/0.4.8;name=slab-0.4.8 \
90 crate://crates.io/static_assertions/1.1.0;name=static_assertions-1.1.0 \
91 crate://crates.io/strum/0.18.0;name=strum-0.18.0 \
92 crate://crates.io/strum_macros/0.18.0;name=strum_macros-0.18.0 \
93 crate://crates.io/syn/1.0.109;name=syn-1.0.109 \
94 crate://crates.io/syn/2.0.8;name=syn-2.0.8 \
95 crate://crates.io/system-deps/1.3.2;name=system-deps-1.3.2 \
96 crate://crates.io/textwrap/0.16.0;name=textwrap-0.16.0 \
97 crate://crates.io/thiserror/1.0.40;name=thiserror-1.0.40 \
98 crate://crates.io/thiserror-impl/1.0.40;name=thiserror-impl-1.0.40 \
99 crate://crates.io/time/0.3.20;name=time-0.3.20 \
100 crate://crates.io/time-core/0.1.0;name=time-core-0.1.0 \
101 crate://crates.io/time-macros/0.2.8;name=time-macros-0.2.8 \
102 crate://crates.io/tinytemplate/1.2.1;name=tinytemplate-1.2.1 \
103 crate://crates.io/tinyvec/1.6.0;name=tinyvec-1.6.0 \
104 crate://crates.io/tinyvec_macros/0.1.1;name=tinyvec_macros-0.1.1 \
105 crate://crates.io/toml/0.5.11;name=toml-0.5.11 \
106 crate://crates.io/toml_datetime/0.6.1;name=toml_datetime-0.6.1 \
107 crate://crates.io/toml_edit/0.19.8;name=toml_edit-0.19.8 \
108 crate://crates.io/unicode-bidi/0.3.13;name=unicode-bidi-0.3.13 \
109 crate://crates.io/unicode-ident/1.0.8;name=unicode-ident-1.0.8 \
110 crate://crates.io/unicode-normalization/0.1.22;name=unicode-normalization-0.1.22 \
111 crate://crates.io/unicode-segmentation/1.10.1;name=unicode-segmentation-1.10.1 \
112 crate://crates.io/url/2.3.1;name=url-2.3.1 \
113 crate://crates.io/uuid/1.3.0;name=uuid-1.3.0 \
114 crate://crates.io/version-compare/0.0.10;name=version-compare-0.0.10 \
115 crate://crates.io/version_check/0.9.4;name=version_check-0.9.4 \
116 crate://crates.io/walkdir/2.3.3;name=walkdir-2.3.3 \
117 crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1;name=wasi-0.11.0+wasi-snapshot-preview1 \
118 crate://crates.io/wasm-bindgen/0.2.84;name=wasm-bindgen-0.2.84 \
119 crate://crates.io/wasm-bindgen-backend/0.2.84;name=wasm-bindgen-backend-0.2.84 \
120 crate://crates.io/wasm-bindgen-macro/0.2.84;name=wasm-bindgen-macro-0.2.84 \
121 crate://crates.io/wasm-bindgen-macro-support/0.2.84;name=wasm-bindgen-macro-support-0.2.84 \
122 crate://crates.io/wasm-bindgen-shared/0.2.84;name=wasm-bindgen-shared-0.2.84 \
123 crate://crates.io/web-sys/0.3.61;name=web-sys-0.3.61 \
124 crate://crates.io/winapi/0.3.9;name=winapi-0.3.9 \
125 crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0;name=winapi-i686-pc-windows-gnu-0.4.0 \
126 crate://crates.io/winapi-util/0.1.5;name=winapi-util-0.1.5 \
127 crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0;name=winapi-x86_64-pc-windows-gnu-0.4.0 \
128 crate://crates.io/winnow/0.4.0;name=winnow-0.4.0 \
129 crate://crates.io/zvariant_derive/3.12.0;name=zvariant_derive-3.12.0 \
130 crate://crates.io/zvariant_utils/1.0.0;name=zvariant_utils-1.0.0 \
131"
132
133SRC_URI[anes-0.1.6.sha256sum] = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
134SRC_URI[anyhow-1.0.70.sha256sum] = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4"
135SRC_URI[arrayvec-0.7.2.sha256sum] = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
136SRC_URI[atty-0.2.14.sha256sum] = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
137SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
138SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
139SRC_URI[bumpalo-3.12.0.sha256sum] = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
140SRC_URI[byteorder-1.4.3.sha256sum] = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
141SRC_URI[cast-0.3.0.sha256sum] = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
142SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
143SRC_URI[chrono-0.4.24.sha256sum] = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
144SRC_URI[ciborium-0.2.0.sha256sum] = "b0c137568cc60b904a7724001b35ce2630fd00d5d84805fbb608ab89509d788f"
145SRC_URI[ciborium-io-0.2.0.sha256sum] = "346de753af073cc87b52b2083a506b38ac176a44cfb05497b622e27be899b369"
146SRC_URI[ciborium-ll-0.2.0.sha256sum] = "213030a2b5a4e0c0892b6652260cf6ccac84827b83a85a534e178e3906c4cf1b"
147SRC_URI[clap-3.2.23.sha256sum] = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
148SRC_URI[clap_lex-0.2.4.sha256sum] = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
149SRC_URI[criterion-0.4.0.sha256sum] = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb"
150SRC_URI[criterion-plot-0.5.0.sha256sum] = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
151SRC_URI[crossbeam-channel-0.5.7.sha256sum] = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c"
152SRC_URI[crossbeam-deque-0.8.3.sha256sum] = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
153SRC_URI[crossbeam-epoch-0.9.14.sha256sum] = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
154SRC_URI[crossbeam-utils-0.8.15.sha256sum] = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
155SRC_URI[either-1.8.1.sha256sum] = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
156SRC_URI[enumflags2-0.7.5.sha256sum] = "e75d4cd21b95383444831539909fbb14b9dc3fdceb2a6f5d36577329a1f55ccb"
157SRC_URI[enumflags2_derive-0.7.4.sha256sum] = "f58dc3c5e468259f19f2d46304a6b28f1c3d034442e14b322d2b850e36f6d5ae"
158SRC_URI[form_urlencoded-1.1.0.sha256sum] = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
159SRC_URI[futures-channel-0.3.27.sha256sum] = "164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac"
160SRC_URI[futures-core-0.3.27.sha256sum] = "86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd"
161SRC_URI[futures-executor-0.3.27.sha256sum] = "1997dd9df74cdac935c76252744c1ed5794fac083242ea4fe77ef3ed60ba0f83"
162SRC_URI[futures-macro-0.3.27.sha256sum] = "3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6"
163SRC_URI[futures-task-0.3.27.sha256sum] = "fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879"
164SRC_URI[futures-util-0.3.27.sha256sum] = "3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab"
165SRC_URI[getrandom-0.2.8.sha256sum] = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
166SRC_URI[half-1.8.2.sha256sum] = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
167SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
168SRC_URI[heck-0.3.3.sha256sum] = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
169SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
170SRC_URI[hermit-abi-0.2.6.sha256sum] = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
171SRC_URI[idna-0.3.0.sha256sum] = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
172SRC_URI[indexmap-1.9.2.sha256sum] = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
173SRC_URI[itertools-0.9.0.sha256sum] = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b"
174SRC_URI[itertools-0.10.5.sha256sum] = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
175SRC_URI[itoa-1.0.6.sha256sum] = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
176SRC_URI[js-sys-0.3.61.sha256sum] = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
177SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
178SRC_URI[libc-0.2.140.sha256sum] = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c"
179SRC_URI[log-0.4.17.sha256sum] = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
180SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
181SRC_URI[memoffset-0.8.0.sha256sum] = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
182SRC_URI[num-integer-0.1.45.sha256sum] = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
183SRC_URI[num-traits-0.2.15.sha256sum] = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
184SRC_URI[num_cpus-1.15.0.sha256sum] = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
185SRC_URI[once_cell-1.17.1.sha256sum] = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
186SRC_URI[oorandom-11.1.3.sha256sum] = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
187SRC_URI[os_str_bytes-6.5.0.sha256sum] = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267"
188SRC_URI[percent-encoding-2.2.0.sha256sum] = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
189SRC_URI[pin-project-lite-0.2.9.sha256sum] = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
190SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
191SRC_URI[pkg-config-0.3.26.sha256sum] = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
192SRC_URI[plotters-0.3.4.sha256sum] = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97"
193SRC_URI[plotters-backend-0.3.4.sha256sum] = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142"
194SRC_URI[plotters-svg-0.3.3.sha256sum] = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f"
195SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
196SRC_URI[proc-macro-crate-0.1.5.sha256sum] = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785"
197SRC_URI[proc-macro-crate-1.3.1.sha256sum] = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
198SRC_URI[proc-macro-error-1.0.4.sha256sum] = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
199SRC_URI[proc-macro-error-attr-1.0.4.sha256sum] = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
200SRC_URI[proc-macro2-1.0.53.sha256sum] = "ba466839c78239c09faf015484e5cc04860f88242cff4d03eb038f04b4699b73"
201SRC_URI[quote-1.0.26.sha256sum] = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
202SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
203SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
204SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
205SRC_URI[rayon-1.7.0.sha256sum] = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
206SRC_URI[rayon-core-1.11.0.sha256sum] = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
207SRC_URI[regex-1.7.2.sha256sum] = "cce168fea28d3e05f158bda4576cf0c844d5045bc2cc3620fa0292ed5bb5814c"
208SRC_URI[regex-syntax-0.6.29.sha256sum] = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
209SRC_URI[ryu-1.0.13.sha256sum] = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
210SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
211SRC_URI[scopeguard-1.1.0.sha256sum] = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
212SRC_URI[serde-1.0.158.sha256sum] = "771d4d9c4163ee138805e12c710dd365e4f44be8be0503cb1bb9eb989425d9c9"
213SRC_URI[serde_bytes-0.11.9.sha256sum] = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294"
214SRC_URI[serde_derive-1.0.158.sha256sum] = "e801c1712f48475582b7696ac71e0ca34ebb30e09338425384269d9717c62cad"
215SRC_URI[serde_json-1.0.94.sha256sum] = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea"
216SRC_URI[serde_repr-0.1.12.sha256sum] = "bcec881020c684085e55a25f7fd888954d56609ef363479dc5a1305eb0d40cab"
217SRC_URI[slab-0.4.8.sha256sum] = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
218SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
219SRC_URI[strum-0.18.0.sha256sum] = "57bd81eb48f4c437cadc685403cad539345bf703d78e63707418431cecd4522b"
220SRC_URI[strum_macros-0.18.0.sha256sum] = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c"
221SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
222SRC_URI[syn-2.0.8.sha256sum] = "bcc02725fd69ab9f26eab07fad303e2497fad6fb9eba4f96c4d1687bdf704ad9"
223SRC_URI[system-deps-1.3.2.sha256sum] = "0f3ecc17269a19353b3558b313bba738b25d82993e30d62a18406a24aba4649b"
224SRC_URI[textwrap-0.16.0.sha256sum] = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
225SRC_URI[thiserror-1.0.40.sha256sum] = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
226SRC_URI[thiserror-impl-1.0.40.sha256sum] = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
227SRC_URI[time-0.3.20.sha256sum] = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
228SRC_URI[time-core-0.1.0.sha256sum] = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
229SRC_URI[time-macros-0.2.8.sha256sum] = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36"
230SRC_URI[tinytemplate-1.2.1.sha256sum] = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
231SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
232SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
233SRC_URI[toml-0.5.11.sha256sum] = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
234SRC_URI[toml_datetime-0.6.1.sha256sum] = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622"
235SRC_URI[toml_edit-0.19.8.sha256sum] = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13"
236SRC_URI[unicode-bidi-0.3.13.sha256sum] = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
237SRC_URI[unicode-ident-1.0.8.sha256sum] = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
238SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
239SRC_URI[unicode-segmentation-1.10.1.sha256sum] = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
240SRC_URI[url-2.3.1.sha256sum] = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
241SRC_URI[uuid-1.3.0.sha256sum] = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79"
242SRC_URI[version-compare-0.0.10.sha256sum] = "d63556a25bae6ea31b52e640d7c41d1ab27faba4ccb600013837a3d0b3994ca1"
243SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
244SRC_URI[walkdir-2.3.3.sha256sum] = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
245SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
246SRC_URI[wasm-bindgen-0.2.84.sha256sum] = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
247SRC_URI[wasm-bindgen-backend-0.2.84.sha256sum] = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
248SRC_URI[wasm-bindgen-macro-0.2.84.sha256sum] = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
249SRC_URI[wasm-bindgen-macro-support-0.2.84.sha256sum] = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
250SRC_URI[wasm-bindgen-shared-0.2.84.sha256sum] = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
251SRC_URI[web-sys-0.3.61.sha256sum] = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
252SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
253SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
254SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
255SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
256SRC_URI[winnow-0.4.0.sha256sum] = "deac0939bd6e4f24ab5919fbf751c97a8cfc8543bb083a305ed5c0c10bb241d1"
257SRC_URI[zvariant_derive-3.12.0.sha256sum] = "34c20260af4b28b3275d6676c7e2a6be0d4332e8e0aba4616d34007fd84e462a"
258SRC_URI[zvariant_utils-1.0.0.sha256sum] = "53b22993dbc4d128a17a3b6c92f1c63872dd67198537ee728d8b5d7c40640a8b"
diff --git a/meta-selftest/recipes-extended/zvariant/zvariant-git-crates.inc b/meta-selftest/recipes-extended/zvariant/zvariant-git-crates.inc
new file mode 100644
index 0000000000..f24cfe8e7c
--- /dev/null
+++ b/meta-selftest/recipes-extended/zvariant/zvariant-git-crates.inc
@@ -0,0 +1,14 @@
1SRC_URI += "\
2 git://github.com/gtk-rs/glib;protocol=https;nobranch=1;name=glib;destsuffix=glib;type=git-dependency \
3 git://github.com/gtk-rs/sys;protocol=https;nobranch=1;name=glib-sys;destsuffix=glib-sys;subpath=glib-sys;type=git-dependency \
4 git://github.com/gtk-rs/sys;protocol=https;nobranch=1;name=gobject-sys;destsuffix=gobject-sys;subpath=gobject-sys;type=git-dependency \
5"
6
7SRCREV_FORMAT .= "_glib"
8SRCREV_glib = "c9ee583cea07830c099cdcccd33eda9ef705ea93"
9
10SRCREV_FORMAT .= "_glib-sys"
11SRCREV_glib-sys = "5f35e26c65d24f8f018f643218de0f5807ba5f01"
12
13SRCREV_FORMAT .= "_gobject-sys"
14SRCREV_gobject-sys = "5f35e26c65d24f8f018f643218de0f5807ba5f01"
diff --git a/meta-selftest/recipes-extended/zvariant/zvariant/0001-Tweak-zvariant-crate-config.patch b/meta-selftest/recipes-extended/zvariant/zvariant/0001-Tweak-zvariant-crate-config.patch
new file mode 100644
index 0000000000..ac6c5117bb
--- /dev/null
+++ b/meta-selftest/recipes-extended/zvariant/zvariant/0001-Tweak-zvariant-crate-config.patch
@@ -0,0 +1,1292 @@
1From e85ce4136694899f0010d48f47c5e905c3a9d461 Mon Sep 17 00:00:00 2001
2From: Frederic Martinsons <frederic.martinsons@gmail.com>
3Date: Thu, 23 Mar 2023 07:12:37 +0100
4Subject: [PATCH] Tweak zvariant crate config
5
6This library crate is a part of zbus project, and is aimed to
7be published amongst the whole project.
8
9Nevertheless, this recipe is for showing example of real
10code which uses a local registry via git url inside yocto
11environment.
12
13I didn't find a real example of binary crate that uses git
14dependency but it seems to me a very common use case
15when we are working on multiple local crates that are not
16aimed to be published on public registry.
17
18Long story short, this patch add a modified Cargo.toml
19to use the zvariant_derive dependency from crates.io instead
20of zbus local one and a pre generated Cargo.lock in order
21to make cargo patch process inside cargo_common.bbclass work
22
23It also copied the LICENCE file from zbus project instead
24of symlink to it.
25
26Upstream-Status: Inappropriate
27Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com>
28---
29 zvariant/Cargo.lock | 1198 +++++++++++++++++++++++++++++++++++++++++++
30 zvariant/Cargo.toml | 2 +-
31 zvariant/LICENSE | 24 +-
32 3 files changed, 1222 insertions(+), 2 deletions(-)
33 create mode 100644 zvariant/Cargo.lock
34 mode change 120000 => 100644 zvariant/LICENSE
35
36diff --git a/zvariant/Cargo.lock b/zvariant/Cargo.lock
37new file mode 100644
38index 00000000..02a83d42
39--- /dev/null
40+++ b/zvariant/Cargo.lock
41@@ -0,0 +1,1198 @@
42+# This file is automatically @generated by Cargo.
43+# It is not intended for manual editing.
44+version = 3
45+
46+[[package]]
47+name = "anes"
48+version = "0.1.6"
49+source = "registry+https://github.com/rust-lang/crates.io-index"
50+checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
51+
52+[[package]]
53+name = "anyhow"
54+version = "1.0.70"
55+source = "registry+https://github.com/rust-lang/crates.io-index"
56+checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4"
57+
58+[[package]]
59+name = "arrayvec"
60+version = "0.7.2"
61+source = "registry+https://github.com/rust-lang/crates.io-index"
62+checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
63+dependencies = [
64+ "serde",
65+]
66+
67+[[package]]
68+name = "atty"
69+version = "0.2.14"
70+source = "registry+https://github.com/rust-lang/crates.io-index"
71+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
72+dependencies = [
73+ "hermit-abi 0.1.19",
74+ "libc",
75+ "winapi",
76+]
77+
78+[[package]]
79+name = "autocfg"
80+version = "1.1.0"
81+source = "registry+https://github.com/rust-lang/crates.io-index"
82+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
83+
84+[[package]]
85+name = "bitflags"
86+version = "1.3.2"
87+source = "registry+https://github.com/rust-lang/crates.io-index"
88+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
89+
90+[[package]]
91+name = "bumpalo"
92+version = "3.12.0"
93+source = "registry+https://github.com/rust-lang/crates.io-index"
94+checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
95+
96+[[package]]
97+name = "byteorder"
98+version = "1.4.3"
99+source = "registry+https://github.com/rust-lang/crates.io-index"
100+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
101+
102+[[package]]
103+name = "cast"
104+version = "0.3.0"
105+source = "registry+https://github.com/rust-lang/crates.io-index"
106+checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
107+
108+[[package]]
109+name = "cfg-if"
110+version = "1.0.0"
111+source = "registry+https://github.com/rust-lang/crates.io-index"
112+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
113+
114+[[package]]
115+name = "chrono"
116+version = "0.4.24"
117+source = "registry+https://github.com/rust-lang/crates.io-index"
118+checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
119+dependencies = [
120+ "num-integer",
121+ "num-traits",
122+ "serde",
123+]
124+
125+[[package]]
126+name = "ciborium"
127+version = "0.2.0"
128+source = "registry+https://github.com/rust-lang/crates.io-index"
129+checksum = "b0c137568cc60b904a7724001b35ce2630fd00d5d84805fbb608ab89509d788f"
130+dependencies = [
131+ "ciborium-io",
132+ "ciborium-ll",
133+ "serde",
134+]
135+
136+[[package]]
137+name = "ciborium-io"
138+version = "0.2.0"
139+source = "registry+https://github.com/rust-lang/crates.io-index"
140+checksum = "346de753af073cc87b52b2083a506b38ac176a44cfb05497b622e27be899b369"
141+
142+[[package]]
143+name = "ciborium-ll"
144+version = "0.2.0"
145+source = "registry+https://github.com/rust-lang/crates.io-index"
146+checksum = "213030a2b5a4e0c0892b6652260cf6ccac84827b83a85a534e178e3906c4cf1b"
147+dependencies = [
148+ "ciborium-io",
149+ "half",
150+]
151+
152+[[package]]
153+name = "clap"
154+version = "3.2.23"
155+source = "registry+https://github.com/rust-lang/crates.io-index"
156+checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
157+dependencies = [
158+ "bitflags",
159+ "clap_lex",
160+ "indexmap",
161+ "textwrap",
162+]
163+
164+[[package]]
165+name = "clap_lex"
166+version = "0.2.4"
167+source = "registry+https://github.com/rust-lang/crates.io-index"
168+checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
169+dependencies = [
170+ "os_str_bytes",
171+]
172+
173+[[package]]
174+name = "criterion"
175+version = "0.4.0"
176+source = "registry+https://github.com/rust-lang/crates.io-index"
177+checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb"
178+dependencies = [
179+ "anes",
180+ "atty",
181+ "cast",
182+ "ciborium",
183+ "clap",
184+ "criterion-plot",
185+ "itertools 0.10.5",
186+ "lazy_static",
187+ "num-traits",
188+ "oorandom",
189+ "plotters",
190+ "rayon",
191+ "regex",
192+ "serde",
193+ "serde_derive",
194+ "serde_json",
195+ "tinytemplate",
196+ "walkdir",
197+]
198+
199+[[package]]
200+name = "criterion-plot"
201+version = "0.5.0"
202+source = "registry+https://github.com/rust-lang/crates.io-index"
203+checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
204+dependencies = [
205+ "cast",
206+ "itertools 0.10.5",
207+]
208+
209+[[package]]
210+name = "crossbeam-channel"
211+version = "0.5.7"
212+source = "registry+https://github.com/rust-lang/crates.io-index"
213+checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c"
214+dependencies = [
215+ "cfg-if",
216+ "crossbeam-utils",
217+]
218+
219+[[package]]
220+name = "crossbeam-deque"
221+version = "0.8.3"
222+source = "registry+https://github.com/rust-lang/crates.io-index"
223+checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
224+dependencies = [
225+ "cfg-if",
226+ "crossbeam-epoch",
227+ "crossbeam-utils",
228+]
229+
230+[[package]]
231+name = "crossbeam-epoch"
232+version = "0.9.14"
233+source = "registry+https://github.com/rust-lang/crates.io-index"
234+checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
235+dependencies = [
236+ "autocfg",
237+ "cfg-if",
238+ "crossbeam-utils",
239+ "memoffset",
240+ "scopeguard",
241+]
242+
243+[[package]]
244+name = "crossbeam-utils"
245+version = "0.8.15"
246+source = "registry+https://github.com/rust-lang/crates.io-index"
247+checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
248+dependencies = [
249+ "cfg-if",
250+]
251+
252+[[package]]
253+name = "either"
254+version = "1.8.1"
255+source = "registry+https://github.com/rust-lang/crates.io-index"
256+checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
257+
258+[[package]]
259+name = "enumflags2"
260+version = "0.7.5"
261+source = "registry+https://github.com/rust-lang/crates.io-index"
262+checksum = "e75d4cd21b95383444831539909fbb14b9dc3fdceb2a6f5d36577329a1f55ccb"
263+dependencies = [
264+ "enumflags2_derive",
265+ "serde",
266+]
267+
268+[[package]]
269+name = "enumflags2_derive"
270+version = "0.7.4"
271+source = "registry+https://github.com/rust-lang/crates.io-index"
272+checksum = "f58dc3c5e468259f19f2d46304a6b28f1c3d034442e14b322d2b850e36f6d5ae"
273+dependencies = [
274+ "proc-macro2",
275+ "quote",
276+ "syn 1.0.109",
277+]
278+
279+[[package]]
280+name = "form_urlencoded"
281+version = "1.1.0"
282+source = "registry+https://github.com/rust-lang/crates.io-index"
283+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
284+dependencies = [
285+ "percent-encoding",
286+]
287+
288+[[package]]
289+name = "futures-channel"
290+version = "0.3.27"
291+source = "registry+https://github.com/rust-lang/crates.io-index"
292+checksum = "164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac"
293+dependencies = [
294+ "futures-core",
295+]
296+
297+[[package]]
298+name = "futures-core"
299+version = "0.3.27"
300+source = "registry+https://github.com/rust-lang/crates.io-index"
301+checksum = "86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd"
302+
303+[[package]]
304+name = "futures-executor"
305+version = "0.3.27"
306+source = "registry+https://github.com/rust-lang/crates.io-index"
307+checksum = "1997dd9df74cdac935c76252744c1ed5794fac083242ea4fe77ef3ed60ba0f83"
308+dependencies = [
309+ "futures-core",
310+ "futures-task",
311+ "futures-util",
312+]
313+
314+[[package]]
315+name = "futures-macro"
316+version = "0.3.27"
317+source = "registry+https://github.com/rust-lang/crates.io-index"
318+checksum = "3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6"
319+dependencies = [
320+ "proc-macro2",
321+ "quote",
322+ "syn 1.0.109",
323+]
324+
325+[[package]]
326+name = "futures-task"
327+version = "0.3.27"
328+source = "registry+https://github.com/rust-lang/crates.io-index"
329+checksum = "fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879"
330+
331+[[package]]
332+name = "futures-util"
333+version = "0.3.27"
334+source = "registry+https://github.com/rust-lang/crates.io-index"
335+checksum = "3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab"
336+dependencies = [
337+ "futures-core",
338+ "futures-macro",
339+ "futures-task",
340+ "pin-project-lite",
341+ "pin-utils",
342+ "slab",
343+]
344+
345+[[package]]
346+name = "getrandom"
347+version = "0.2.8"
348+source = "registry+https://github.com/rust-lang/crates.io-index"
349+checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
350+dependencies = [
351+ "cfg-if",
352+ "libc",
353+ "wasi",
354+]
355+
356+[[package]]
357+name = "glib"
358+version = "0.10.0"
359+source = "git+https://github.com/gtk-rs/glib?rev=c9ee583cea0#c9ee583cea07830c099cdcccd33eda9ef705ea93"
360+dependencies = [
361+ "bitflags",
362+ "futures-channel",
363+ "futures-core",
364+ "futures-executor",
365+ "futures-task",
366+ "futures-util",
367+ "glib-macros",
368+ "glib-sys",
369+ "gobject-sys",
370+ "libc",
371+ "once_cell",
372+]
373+
374+[[package]]
375+name = "glib-macros"
376+version = "0.10.0"
377+source = "git+https://github.com/gtk-rs/glib?rev=c9ee583cea0#c9ee583cea07830c099cdcccd33eda9ef705ea93"
378+dependencies = [
379+ "anyhow",
380+ "heck",
381+ "itertools 0.9.0",
382+ "proc-macro-crate 0.1.5",
383+ "proc-macro-error",
384+ "proc-macro2",
385+ "quote",
386+ "syn 1.0.109",
387+]
388+
389+[[package]]
390+name = "glib-sys"
391+version = "0.10.0"
392+source = "git+https://github.com/gtk-rs/sys#5f35e26c65d24f8f018f643218de0f5807ba5f01"
393+dependencies = [
394+ "libc",
395+ "system-deps",
396+]
397+
398+[[package]]
399+name = "gobject-sys"
400+version = "0.10.0"
401+source = "git+https://github.com/gtk-rs/sys#5f35e26c65d24f8f018f643218de0f5807ba5f01"
402+dependencies = [
403+ "glib-sys",
404+ "libc",
405+ "system-deps",
406+]
407+
408+[[package]]
409+name = "half"
410+version = "1.8.2"
411+source = "registry+https://github.com/rust-lang/crates.io-index"
412+checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
413+
414+[[package]]
415+name = "hashbrown"
416+version = "0.12.3"
417+source = "registry+https://github.com/rust-lang/crates.io-index"
418+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
419+
420+[[package]]
421+name = "heck"
422+version = "0.3.3"
423+source = "registry+https://github.com/rust-lang/crates.io-index"
424+checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
425+dependencies = [
426+ "unicode-segmentation",
427+]
428+
429+[[package]]
430+name = "hermit-abi"
431+version = "0.1.19"
432+source = "registry+https://github.com/rust-lang/crates.io-index"
433+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
434+dependencies = [
435+ "libc",
436+]
437+
438+[[package]]
439+name = "hermit-abi"
440+version = "0.2.6"
441+source = "registry+https://github.com/rust-lang/crates.io-index"
442+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
443+dependencies = [
444+ "libc",
445+]
446+
447+[[package]]
448+name = "idna"
449+version = "0.3.0"
450+source = "registry+https://github.com/rust-lang/crates.io-index"
451+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
452+dependencies = [
453+ "unicode-bidi",
454+ "unicode-normalization",
455+]
456+
457+[[package]]
458+name = "indexmap"
459+version = "1.9.2"
460+source = "registry+https://github.com/rust-lang/crates.io-index"
461+checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
462+dependencies = [
463+ "autocfg",
464+ "hashbrown",
465+]
466+
467+[[package]]
468+name = "itertools"
469+version = "0.9.0"
470+source = "registry+https://github.com/rust-lang/crates.io-index"
471+checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b"
472+dependencies = [
473+ "either",
474+]
475+
476+[[package]]
477+name = "itertools"
478+version = "0.10.5"
479+source = "registry+https://github.com/rust-lang/crates.io-index"
480+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
481+dependencies = [
482+ "either",
483+]
484+
485+[[package]]
486+name = "itoa"
487+version = "1.0.6"
488+source = "registry+https://github.com/rust-lang/crates.io-index"
489+checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
490+
491+[[package]]
492+name = "js-sys"
493+version = "0.3.61"
494+source = "registry+https://github.com/rust-lang/crates.io-index"
495+checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
496+dependencies = [
497+ "wasm-bindgen",
498+]
499+
500+[[package]]
501+name = "lazy_static"
502+version = "1.4.0"
503+source = "registry+https://github.com/rust-lang/crates.io-index"
504+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
505+
506+[[package]]
507+name = "libc"
508+version = "0.2.140"
509+source = "registry+https://github.com/rust-lang/crates.io-index"
510+checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c"
511+
512+[[package]]
513+name = "log"
514+version = "0.4.17"
515+source = "registry+https://github.com/rust-lang/crates.io-index"
516+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
517+dependencies = [
518+ "cfg-if",
519+]
520+
521+[[package]]
522+name = "memchr"
523+version = "2.5.0"
524+source = "registry+https://github.com/rust-lang/crates.io-index"
525+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
526+
527+[[package]]
528+name = "memoffset"
529+version = "0.8.0"
530+source = "registry+https://github.com/rust-lang/crates.io-index"
531+checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
532+dependencies = [
533+ "autocfg",
534+]
535+
536+[[package]]
537+name = "num-integer"
538+version = "0.1.45"
539+source = "registry+https://github.com/rust-lang/crates.io-index"
540+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
541+dependencies = [
542+ "autocfg",
543+ "num-traits",
544+]
545+
546+[[package]]
547+name = "num-traits"
548+version = "0.2.15"
549+source = "registry+https://github.com/rust-lang/crates.io-index"
550+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
551+dependencies = [
552+ "autocfg",
553+]
554+
555+[[package]]
556+name = "num_cpus"
557+version = "1.15.0"
558+source = "registry+https://github.com/rust-lang/crates.io-index"
559+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
560+dependencies = [
561+ "hermit-abi 0.2.6",
562+ "libc",
563+]
564+
565+[[package]]
566+name = "once_cell"
567+version = "1.17.1"
568+source = "registry+https://github.com/rust-lang/crates.io-index"
569+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
570+
571+[[package]]
572+name = "oorandom"
573+version = "11.1.3"
574+source = "registry+https://github.com/rust-lang/crates.io-index"
575+checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
576+
577+[[package]]
578+name = "os_str_bytes"
579+version = "6.5.0"
580+source = "registry+https://github.com/rust-lang/crates.io-index"
581+checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267"
582+
583+[[package]]
584+name = "percent-encoding"
585+version = "2.2.0"
586+source = "registry+https://github.com/rust-lang/crates.io-index"
587+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
588+
589+[[package]]
590+name = "pin-project-lite"
591+version = "0.2.9"
592+source = "registry+https://github.com/rust-lang/crates.io-index"
593+checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
594+
595+[[package]]
596+name = "pin-utils"
597+version = "0.1.0"
598+source = "registry+https://github.com/rust-lang/crates.io-index"
599+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
600+
601+[[package]]
602+name = "pkg-config"
603+version = "0.3.26"
604+source = "registry+https://github.com/rust-lang/crates.io-index"
605+checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
606+
607+[[package]]
608+name = "plotters"
609+version = "0.3.4"
610+source = "registry+https://github.com/rust-lang/crates.io-index"
611+checksum = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97"
612+dependencies = [
613+ "num-traits",
614+ "plotters-backend",
615+ "plotters-svg",
616+ "wasm-bindgen",
617+ "web-sys",
618+]
619+
620+[[package]]
621+name = "plotters-backend"
622+version = "0.3.4"
623+source = "registry+https://github.com/rust-lang/crates.io-index"
624+checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142"
625+
626+[[package]]
627+name = "plotters-svg"
628+version = "0.3.3"
629+source = "registry+https://github.com/rust-lang/crates.io-index"
630+checksum = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f"
631+dependencies = [
632+ "plotters-backend",
633+]
634+
635+[[package]]
636+name = "ppv-lite86"
637+version = "0.2.17"
638+source = "registry+https://github.com/rust-lang/crates.io-index"
639+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
640+
641+[[package]]
642+name = "proc-macro-crate"
643+version = "0.1.5"
644+source = "registry+https://github.com/rust-lang/crates.io-index"
645+checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785"
646+dependencies = [
647+ "toml",
648+]
649+
650+[[package]]
651+name = "proc-macro-crate"
652+version = "1.3.1"
653+source = "registry+https://github.com/rust-lang/crates.io-index"
654+checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
655+dependencies = [
656+ "once_cell",
657+ "toml_edit",
658+]
659+
660+[[package]]
661+name = "proc-macro-error"
662+version = "1.0.4"
663+source = "registry+https://github.com/rust-lang/crates.io-index"
664+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
665+dependencies = [
666+ "proc-macro-error-attr",
667+ "proc-macro2",
668+ "quote",
669+ "syn 1.0.109",
670+ "version_check",
671+]
672+
673+[[package]]
674+name = "proc-macro-error-attr"
675+version = "1.0.4"
676+source = "registry+https://github.com/rust-lang/crates.io-index"
677+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
678+dependencies = [
679+ "proc-macro2",
680+ "quote",
681+ "version_check",
682+]
683+
684+[[package]]
685+name = "proc-macro2"
686+version = "1.0.53"
687+source = "registry+https://github.com/rust-lang/crates.io-index"
688+checksum = "ba466839c78239c09faf015484e5cc04860f88242cff4d03eb038f04b4699b73"
689+dependencies = [
690+ "unicode-ident",
691+]
692+
693+[[package]]
694+name = "quote"
695+version = "1.0.26"
696+source = "registry+https://github.com/rust-lang/crates.io-index"
697+checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
698+dependencies = [
699+ "proc-macro2",
700+]
701+
702+[[package]]
703+name = "rand"
704+version = "0.8.5"
705+source = "registry+https://github.com/rust-lang/crates.io-index"
706+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
707+dependencies = [
708+ "libc",
709+ "rand_chacha",
710+ "rand_core",
711+]
712+
713+[[package]]
714+name = "rand_chacha"
715+version = "0.3.1"
716+source = "registry+https://github.com/rust-lang/crates.io-index"
717+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
718+dependencies = [
719+ "ppv-lite86",
720+ "rand_core",
721+]
722+
723+[[package]]
724+name = "rand_core"
725+version = "0.6.4"
726+source = "registry+https://github.com/rust-lang/crates.io-index"
727+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
728+dependencies = [
729+ "getrandom",
730+]
731+
732+[[package]]
733+name = "rayon"
734+version = "1.7.0"
735+source = "registry+https://github.com/rust-lang/crates.io-index"
736+checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
737+dependencies = [
738+ "either",
739+ "rayon-core",
740+]
741+
742+[[package]]
743+name = "rayon-core"
744+version = "1.11.0"
745+source = "registry+https://github.com/rust-lang/crates.io-index"
746+checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
747+dependencies = [
748+ "crossbeam-channel",
749+ "crossbeam-deque",
750+ "crossbeam-utils",
751+ "num_cpus",
752+]
753+
754+[[package]]
755+name = "regex"
756+version = "1.7.2"
757+source = "registry+https://github.com/rust-lang/crates.io-index"
758+checksum = "cce168fea28d3e05f158bda4576cf0c844d5045bc2cc3620fa0292ed5bb5814c"
759+dependencies = [
760+ "regex-syntax",
761+]
762+
763+[[package]]
764+name = "regex-syntax"
765+version = "0.6.29"
766+source = "registry+https://github.com/rust-lang/crates.io-index"
767+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
768+
769+[[package]]
770+name = "ryu"
771+version = "1.0.13"
772+source = "registry+https://github.com/rust-lang/crates.io-index"
773+checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
774+
775+[[package]]
776+name = "same-file"
777+version = "1.0.6"
778+source = "registry+https://github.com/rust-lang/crates.io-index"
779+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
780+dependencies = [
781+ "winapi-util",
782+]
783+
784+[[package]]
785+name = "scopeguard"
786+version = "1.1.0"
787+source = "registry+https://github.com/rust-lang/crates.io-index"
788+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
789+
790+[[package]]
791+name = "serde"
792+version = "1.0.158"
793+source = "registry+https://github.com/rust-lang/crates.io-index"
794+checksum = "771d4d9c4163ee138805e12c710dd365e4f44be8be0503cb1bb9eb989425d9c9"
795+dependencies = [
796+ "serde_derive",
797+]
798+
799+[[package]]
800+name = "serde_bytes"
801+version = "0.11.9"
802+source = "registry+https://github.com/rust-lang/crates.io-index"
803+checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294"
804+dependencies = [
805+ "serde",
806+]
807+
808+[[package]]
809+name = "serde_derive"
810+version = "1.0.158"
811+source = "registry+https://github.com/rust-lang/crates.io-index"
812+checksum = "e801c1712f48475582b7696ac71e0ca34ebb30e09338425384269d9717c62cad"
813+dependencies = [
814+ "proc-macro2",
815+ "quote",
816+ "syn 2.0.8",
817+]
818+
819+[[package]]
820+name = "serde_json"
821+version = "1.0.94"
822+source = "registry+https://github.com/rust-lang/crates.io-index"
823+checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea"
824+dependencies = [
825+ "itoa",
826+ "ryu",
827+ "serde",
828+]
829+
830+[[package]]
831+name = "serde_repr"
832+version = "0.1.12"
833+source = "registry+https://github.com/rust-lang/crates.io-index"
834+checksum = "bcec881020c684085e55a25f7fd888954d56609ef363479dc5a1305eb0d40cab"
835+dependencies = [
836+ "proc-macro2",
837+ "quote",
838+ "syn 2.0.8",
839+]
840+
841+[[package]]
842+name = "slab"
843+version = "0.4.8"
844+source = "registry+https://github.com/rust-lang/crates.io-index"
845+checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
846+dependencies = [
847+ "autocfg",
848+]
849+
850+[[package]]
851+name = "static_assertions"
852+version = "1.1.0"
853+source = "registry+https://github.com/rust-lang/crates.io-index"
854+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
855+
856+[[package]]
857+name = "strum"
858+version = "0.18.0"
859+source = "registry+https://github.com/rust-lang/crates.io-index"
860+checksum = "57bd81eb48f4c437cadc685403cad539345bf703d78e63707418431cecd4522b"
861+
862+[[package]]
863+name = "strum_macros"
864+version = "0.18.0"
865+source = "registry+https://github.com/rust-lang/crates.io-index"
866+checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c"
867+dependencies = [
868+ "heck",
869+ "proc-macro2",
870+ "quote",
871+ "syn 1.0.109",
872+]
873+
874+[[package]]
875+name = "syn"
876+version = "1.0.109"
877+source = "registry+https://github.com/rust-lang/crates.io-index"
878+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
879+dependencies = [
880+ "proc-macro2",
881+ "quote",
882+ "unicode-ident",
883+]
884+
885+[[package]]
886+name = "syn"
887+version = "2.0.8"
888+source = "registry+https://github.com/rust-lang/crates.io-index"
889+checksum = "bcc02725fd69ab9f26eab07fad303e2497fad6fb9eba4f96c4d1687bdf704ad9"
890+dependencies = [
891+ "proc-macro2",
892+ "quote",
893+ "unicode-ident",
894+]
895+
896+[[package]]
897+name = "system-deps"
898+version = "1.3.2"
899+source = "registry+https://github.com/rust-lang/crates.io-index"
900+checksum = "0f3ecc17269a19353b3558b313bba738b25d82993e30d62a18406a24aba4649b"
901+dependencies = [
902+ "heck",
903+ "pkg-config",
904+ "strum",
905+ "strum_macros",
906+ "thiserror",
907+ "toml",
908+ "version-compare",
909+]
910+
911+[[package]]
912+name = "textwrap"
913+version = "0.16.0"
914+source = "registry+https://github.com/rust-lang/crates.io-index"
915+checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
916+
917+[[package]]
918+name = "thiserror"
919+version = "1.0.40"
920+source = "registry+https://github.com/rust-lang/crates.io-index"
921+checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
922+dependencies = [
923+ "thiserror-impl",
924+]
925+
926+[[package]]
927+name = "thiserror-impl"
928+version = "1.0.40"
929+source = "registry+https://github.com/rust-lang/crates.io-index"
930+checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
931+dependencies = [
932+ "proc-macro2",
933+ "quote",
934+ "syn 2.0.8",
935+]
936+
937+[[package]]
938+name = "time"
939+version = "0.3.20"
940+source = "registry+https://github.com/rust-lang/crates.io-index"
941+checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
942+dependencies = [
943+ "serde",
944+ "time-core",
945+ "time-macros",
946+]
947+
948+[[package]]
949+name = "time-core"
950+version = "0.1.0"
951+source = "registry+https://github.com/rust-lang/crates.io-index"
952+checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
953+
954+[[package]]
955+name = "time-macros"
956+version = "0.2.8"
957+source = "registry+https://github.com/rust-lang/crates.io-index"
958+checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36"
959+dependencies = [
960+ "time-core",
961+]
962+
963+[[package]]
964+name = "tinytemplate"
965+version = "1.2.1"
966+source = "registry+https://github.com/rust-lang/crates.io-index"
967+checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
968+dependencies = [
969+ "serde",
970+ "serde_json",
971+]
972+
973+[[package]]
974+name = "tinyvec"
975+version = "1.6.0"
976+source = "registry+https://github.com/rust-lang/crates.io-index"
977+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
978+dependencies = [
979+ "tinyvec_macros",
980+]
981+
982+[[package]]
983+name = "tinyvec_macros"
984+version = "0.1.1"
985+source = "registry+https://github.com/rust-lang/crates.io-index"
986+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
987+
988+[[package]]
989+name = "toml"
990+version = "0.5.11"
991+source = "registry+https://github.com/rust-lang/crates.io-index"
992+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
993+dependencies = [
994+ "serde",
995+]
996+
997+[[package]]
998+name = "toml_datetime"
999+version = "0.6.1"
1000+source = "registry+https://github.com/rust-lang/crates.io-index"
1001+checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622"
1002+
1003+[[package]]
1004+name = "toml_edit"
1005+version = "0.19.8"
1006+source = "registry+https://github.com/rust-lang/crates.io-index"
1007+checksum = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13"
1008+dependencies = [
1009+ "indexmap",
1010+ "toml_datetime",
1011+ "winnow",
1012+]
1013+
1014+[[package]]
1015+name = "unicode-bidi"
1016+version = "0.3.13"
1017+source = "registry+https://github.com/rust-lang/crates.io-index"
1018+checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
1019+
1020+[[package]]
1021+name = "unicode-ident"
1022+version = "1.0.8"
1023+source = "registry+https://github.com/rust-lang/crates.io-index"
1024+checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
1025+
1026+[[package]]
1027+name = "unicode-normalization"
1028+version = "0.1.22"
1029+source = "registry+https://github.com/rust-lang/crates.io-index"
1030+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
1031+dependencies = [
1032+ "tinyvec",
1033+]
1034+
1035+[[package]]
1036+name = "unicode-segmentation"
1037+version = "1.10.1"
1038+source = "registry+https://github.com/rust-lang/crates.io-index"
1039+checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
1040+
1041+[[package]]
1042+name = "url"
1043+version = "2.3.1"
1044+source = "registry+https://github.com/rust-lang/crates.io-index"
1045+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
1046+dependencies = [
1047+ "form_urlencoded",
1048+ "idna",
1049+ "percent-encoding",
1050+ "serde",
1051+]
1052+
1053+[[package]]
1054+name = "uuid"
1055+version = "1.3.0"
1056+source = "registry+https://github.com/rust-lang/crates.io-index"
1057+checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79"
1058+dependencies = [
1059+ "serde",
1060+]
1061+
1062+[[package]]
1063+name = "version-compare"
1064+version = "0.0.10"
1065+source = "registry+https://github.com/rust-lang/crates.io-index"
1066+checksum = "d63556a25bae6ea31b52e640d7c41d1ab27faba4ccb600013837a3d0b3994ca1"
1067+
1068+[[package]]
1069+name = "version_check"
1070+version = "0.9.4"
1071+source = "registry+https://github.com/rust-lang/crates.io-index"
1072+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
1073+
1074+[[package]]
1075+name = "walkdir"
1076+version = "2.3.3"
1077+source = "registry+https://github.com/rust-lang/crates.io-index"
1078+checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
1079+dependencies = [
1080+ "same-file",
1081+ "winapi-util",
1082+]
1083+
1084+[[package]]
1085+name = "wasi"
1086+version = "0.11.0+wasi-snapshot-preview1"
1087+source = "registry+https://github.com/rust-lang/crates.io-index"
1088+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
1089+
1090+[[package]]
1091+name = "wasm-bindgen"
1092+version = "0.2.84"
1093+source = "registry+https://github.com/rust-lang/crates.io-index"
1094+checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
1095+dependencies = [
1096+ "cfg-if",
1097+ "wasm-bindgen-macro",
1098+]
1099+
1100+[[package]]
1101+name = "wasm-bindgen-backend"
1102+version = "0.2.84"
1103+source = "registry+https://github.com/rust-lang/crates.io-index"
1104+checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
1105+dependencies = [
1106+ "bumpalo",
1107+ "log",
1108+ "once_cell",
1109+ "proc-macro2",
1110+ "quote",
1111+ "syn 1.0.109",
1112+ "wasm-bindgen-shared",
1113+]
1114+
1115+[[package]]
1116+name = "wasm-bindgen-macro"
1117+version = "0.2.84"
1118+source = "registry+https://github.com/rust-lang/crates.io-index"
1119+checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
1120+dependencies = [
1121+ "quote",
1122+ "wasm-bindgen-macro-support",
1123+]
1124+
1125+[[package]]
1126+name = "wasm-bindgen-macro-support"
1127+version = "0.2.84"
1128+source = "registry+https://github.com/rust-lang/crates.io-index"
1129+checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
1130+dependencies = [
1131+ "proc-macro2",
1132+ "quote",
1133+ "syn 1.0.109",
1134+ "wasm-bindgen-backend",
1135+ "wasm-bindgen-shared",
1136+]
1137+
1138+[[package]]
1139+name = "wasm-bindgen-shared"
1140+version = "0.2.84"
1141+source = "registry+https://github.com/rust-lang/crates.io-index"
1142+checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
1143+
1144+[[package]]
1145+name = "web-sys"
1146+version = "0.3.61"
1147+source = "registry+https://github.com/rust-lang/crates.io-index"
1148+checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
1149+dependencies = [
1150+ "js-sys",
1151+ "wasm-bindgen",
1152+]
1153+
1154+[[package]]
1155+name = "winapi"
1156+version = "0.3.9"
1157+source = "registry+https://github.com/rust-lang/crates.io-index"
1158+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
1159+dependencies = [
1160+ "winapi-i686-pc-windows-gnu",
1161+ "winapi-x86_64-pc-windows-gnu",
1162+]
1163+
1164+[[package]]
1165+name = "winapi-i686-pc-windows-gnu"
1166+version = "0.4.0"
1167+source = "registry+https://github.com/rust-lang/crates.io-index"
1168+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
1169+
1170+[[package]]
1171+name = "winapi-util"
1172+version = "0.1.5"
1173+source = "registry+https://github.com/rust-lang/crates.io-index"
1174+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
1175+dependencies = [
1176+ "winapi",
1177+]
1178+
1179+[[package]]
1180+name = "winapi-x86_64-pc-windows-gnu"
1181+version = "0.4.0"
1182+source = "registry+https://github.com/rust-lang/crates.io-index"
1183+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
1184+
1185+[[package]]
1186+name = "winnow"
1187+version = "0.4.0"
1188+source = "registry+https://github.com/rust-lang/crates.io-index"
1189+checksum = "deac0939bd6e4f24ab5919fbf751c97a8cfc8543bb083a305ed5c0c10bb241d1"
1190+dependencies = [
1191+ "memchr",
1192+]
1193+
1194+[[package]]
1195+name = "zvariant"
1196+version = "3.12.0"
1197+dependencies = [
1198+ "arrayvec",
1199+ "byteorder",
1200+ "chrono",
1201+ "criterion",
1202+ "enumflags2",
1203+ "glib",
1204+ "libc",
1205+ "rand",
1206+ "serde",
1207+ "serde_bytes",
1208+ "serde_json",
1209+ "serde_repr",
1210+ "static_assertions",
1211+ "time",
1212+ "url",
1213+ "uuid",
1214+ "zvariant_derive",
1215+]
1216+
1217+[[package]]
1218+name = "zvariant_derive"
1219+version = "3.12.0"
1220+source = "registry+https://github.com/rust-lang/crates.io-index"
1221+checksum = "34c20260af4b28b3275d6676c7e2a6be0d4332e8e0aba4616d34007fd84e462a"
1222+dependencies = [
1223+ "proc-macro-crate 1.3.1",
1224+ "proc-macro2",
1225+ "quote",
1226+ "syn 1.0.109",
1227+ "zvariant_utils",
1228+]
1229+
1230+[[package]]
1231+name = "zvariant_utils"
1232+version = "1.0.0"
1233+source = "registry+https://github.com/rust-lang/crates.io-index"
1234+checksum = "53b22993dbc4d128a17a3b6c92f1c63872dd67198537ee728d8b5d7c40640a8b"
1235+dependencies = [
1236+ "proc-macro2",
1237+ "quote",
1238+ "syn 1.0.109",
1239+]
1240diff --git a/zvariant/Cargo.toml b/zvariant/Cargo.toml
1241index 45367729..6981862a 100644
1242--- a/zvariant/Cargo.toml
1243+++ b/zvariant/Cargo.toml
1244@@ -27,7 +27,7 @@ byteorder = "1.4.3"
1245 serde = { version = "1.0", features = ["derive"] }
1246 arrayvec = { version = "0.7.2", features = ["serde"], optional = true }
1247 enumflags2 = { version = "0.7.5", features = ["serde"], optional = true }
1248-zvariant_derive = { version = "=3.12.0", path = "../zvariant_derive" }
1249+zvariant_derive = "3.12.0"
1250 serde_bytes = { version = "0.11", optional = true }
1251 static_assertions = "1.1.0"
1252 libc = "0.2.137"
1253diff --git a/zvariant/LICENSE b/zvariant/LICENSE
1254deleted file mode 120000
1255index ea5b6064..00000000
1256--- a/zvariant/LICENSE
1257+++ /dev/null
1258@@ -1 +0,0 @@
1259-../LICENSE
1260\ No newline at end of file
1261diff --git a/zvariant/LICENSE b/zvariant/LICENSE
1262new file mode 100644
1263index 00000000..31aa7938
1264--- /dev/null
1265+++ b/zvariant/LICENSE
1266@@ -0,0 +1,23 @@
1267+Permission is hereby granted, free of charge, to any
1268+person obtaining a copy of this software and associated
1269+documentation files (the "Software"), to deal in the
1270+Software without restriction, including without
1271+limitation the rights to use, copy, modify, merge,
1272+publish, distribute, sublicense, and/or sell copies of
1273+the Software, and to permit persons to whom the Software
1274+is furnished to do so, subject to the following
1275+conditions:
1276+
1277+The above copyright notice and this permission notice
1278+shall be included in all copies or substantial portions
1279+of the Software.
1280+
1281+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
1282+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
1283+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
1284+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
1285+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
1286+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1287+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
1288+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
1289+DEALINGS IN THE SOFTWARE.
1290--
12912.34.1
1292
diff --git a/meta-selftest/recipes-extended/zvariant/zvariant_3.12.0.bb b/meta-selftest/recipes-extended/zvariant/zvariant_3.12.0.bb
new file mode 100644
index 0000000000..ae66cea390
--- /dev/null
+++ b/meta-selftest/recipes-extended/zvariant/zvariant_3.12.0.bb
@@ -0,0 +1,27 @@
1SUMMARY = "Provides API for encoding/decoding of data to/from D-Bus wire format"
2DESCRIPTION = "This crate provides API for encoding/decoding of data to/from D-Bus wire format.\
3This binary wire format is simple and very efficient and hence useful outside of D-Bus context as well.\
4A modified form of this format, GVariant is very commonly used for efficient storage of arbitrary \
5data and is also supported by this crate."
6HOMEPAGE = "https://gitlab.freedesktop.org/dbus/zbus/"
7LICENSE = "MIT"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=b377b220f43d747efdec40d69fcaa69d"
9
10SRC_URI = " \
11 git://gitlab.freedesktop.org/dbus/zbus;protocol=https;branch=main;subpath=zvariant \
12 file://0001-Tweak-zvariant-crate-config.patch;striplevel=2 \
13"
14
15SRCREV = "07506776fab5f58e029760bb4b288f670c7eecd6"
16S = "${WORKDIR}/zvariant"
17
18python do_clean_lic_file_symlink() {
19 bb.utils.remove("LICENCE")
20}
21
22addtask clean_lic_file_symlink after do_unpack before do_patch
23
24inherit cargo cargo-update-recipe-crates
25
26require ${BPN}-crates.inc
27require ${BPN}-git-crates.inc
diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py
index 81d02017c1..94873fd19f 100644
--- a/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/meta/lib/oeqa/selftest/cases/devtool.py
@@ -848,6 +848,99 @@ class DevtoolModifyTests(DevtoolBase):
848 # Try building 848 # Try building
849 bitbake(testrecipe) 849 bitbake(testrecipe)
850 850
851 def test_devtool_modify_git_crates_subpath(self):
852 # This tests two things in devtool context:
853 # - that we support local git dependencies for cargo based recipe
854 # - that we support patches in SRC_URI when git url contains subpath parameter
855
856 # Check preconditions:
857 # recipe inherits cargo
858 # git:// uri with a subpath as the main package
859 # some crate:// in SRC_URI
860 # others git:// in SRC_URI
861 # cointains a patch
862 testrecipe = 'zvariant'
863 bb_vars = get_bb_vars(['SRC_URI', 'FILE', 'WORKDIR', 'CARGO_HOME'], testrecipe)
864 recipefile = bb_vars['FILE']
865 workdir = bb_vars['WORKDIR']
866 cargo_home = bb_vars['CARGO_HOME']
867 src_uri = bb_vars['SRC_URI'].split()
868 self.assertTrue(src_uri[0].startswith('git://'),
869 'This test expects the %s recipe to have a git repo has its main uri' % testrecipe)
870 self.assertIn(';subpath=', src_uri[0],
871 'This test expects the %s recipe to have a git uri with subpath' % testrecipe)
872 self.assertTrue(any([uri.startswith('crate://') for uri in src_uri]),
873 'This test expects the %s recipe to have some crates in its src uris' % testrecipe)
874 self.assertGreater(sum(map(lambda x:x.startswith('git://'), src_uri)), 2,
875 'This test expects the %s recipe to have several git:// uris' % testrecipe)
876 self.assertTrue(any([uri.startswith('file://') and '.patch' in uri for uri in src_uri]),
877 'This test expects the %s recipe to have a patch in its src uris' % testrecipe)
878
879 self._test_recipe_contents(recipefile, {}, ['cargo'])
880
881 # Clean up anything in the workdir/sysroot/sstate cache
882 bitbake('%s -c cleansstate' % testrecipe)
883 # Try modifying a recipe
884 tempdir = tempfile.mkdtemp(prefix='devtoolqa')
885 self.track_for_cleanup(tempdir)
886 self.track_for_cleanup(self.workspacedir)
887 self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe)
888 self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
889 result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir))
890 self.assertExists(os.path.join(tempdir, 'Cargo.toml'), 'Extracted source could not be found')
891 self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created. devtool output: %s' % result.output)
892 matches = glob.glob(os.path.join(self.workspacedir, 'appends', 'zvariant_*.bbappend'))
893 self.assertTrue(matches, 'bbappend not created')
894 # Test devtool status
895 result = runCmd('devtool status')
896 self.assertIn(testrecipe, result.output)
897 self.assertIn(tempdir, result.output)
898 # Check git repo
899 self._check_src_repo(tempdir)
900 # Check that the patch is correctly applied
901 # last commit message in the tree must contain
902 # %% original patch: <patchname>
903 # ..
904 patchname = None
905 for uri in src_uri:
906 if uri.startswith('file://') and '.patch' in uri:
907 patchname = uri.replace("file://", "").partition('.patch')[0] + '.patch'
908 self.assertIsNotNone(patchname)
909 result = runCmd('git -C %s log -1' % tempdir)
910 self.assertIn("%%%% original patch: %s" % patchname, result.output)
911
912 # Configure the recipe to check that the git dependencies are correctly patched in cargo config
913 bitbake('-c configure %s' % testrecipe)
914
915 cargo_config_path = os.path.join(cargo_home, 'config')
916 with open(cargo_config_path, "r") as f:
917 cargo_config_contents = [line.strip('\n') for line in f.readlines()]
918
919 # Get back git dependencies of the recipe (ignoring the main one)
920 # and check that they are all correctly patched to be fetched locally
921 git_deps = [uri for uri in src_uri if uri.startswith("git://")][1:]
922 for git_dep in git_deps:
923 raw_url, _, raw_parms = git_dep.partition(";")
924 parms = {}
925 for parm in raw_parms.split(";"):
926 name_parm, _, value_parm = parm.partition('=')
927 parms[name_parm]=value_parm
928 self.assertIn('protocol', parms, 'git dependencies uri should contain the "protocol" parameter')
929 self.assertIn('name', parms, 'git dependencies uri should contain the "name" parameter')
930 self.assertIn('destsuffix', parms, 'git dependencies uri should contain the "destsuffix" parameter')
931 self.assertIn('type', parms, 'git dependencies uri should contain the "type" parameter')
932 self.assertEqual(parms['type'], 'git-dependency', 'git dependencies uri should have "type=git-dependency"')
933 raw_url = raw_url.replace("git://", '%s://' % parms['protocol'])
934 patch_line = '[patch."%s"]' % raw_url
935 path_patched = os.path.join(workdir, parms['destsuffix'])
936 path_override_line = '%s = { path = "%s" }' % (parms['name'], path_patched)
937 # Would have been better to use tomllib to read this file :/
938 self.assertIn(patch_line, cargo_config_contents)
939 self.assertIn(path_override_line, cargo_config_contents)
940
941 # Try to package the recipe
942 bitbake('-c package_qa %s' % testrecipe)
943
851 def test_devtool_modify_localfiles(self): 944 def test_devtool_modify_localfiles(self):
852 # Check preconditions 945 # Check preconditions
853 testrecipe = 'lighttpd' 946 testrecipe = 'lighttpd'