commit:     75a8e9cb19fe907220c23f5090179f56077c0daf
Author:     Yuan Liao <liaoyuan <AT> gmail <DOT> com>
AuthorDate: Sat May 11 17:33:56 2024 +0000
Commit:     Yuan Liao <liaoyuan <AT> gmail <DOT> com>
CommitDate: Sat May 11 17:33:56 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=75a8e9cb

app-laptop/framework_tool: Add 0.1.0_p20240511

Signed-off-by: Yuan Liao <liaoyuan <AT> gmail.com>

 app-laptop/framework_tool/Manifest                 |   6 +
 .../framework_tool-0.1.0_p20240511.ebuild          | 256 +++++++++++++++++++++
 2 files changed, 262 insertions(+)

diff --git a/app-laptop/framework_tool/Manifest 
b/app-laptop/framework_tool/Manifest
index 776cff2e31..c3068d563a 100644
--- a/app-laptop/framework_tool/Manifest
+++ b/app-laptop/framework_tool/Manifest
@@ -1,4 +1,5 @@
 DIST aho-corasick-0.7.20.crate 111440 BLAKE2B 
3f5d54fea2793ce1c2c4d5b3049b910f45a5721e7538cb2557df63dc3069ab3f6b66aceb5e9a48f21c43ae29778fd045428ea103b2a6de81659e605e30e64ca6
 SHA512 
ad31f3d1b3fe41e593d4ca7e721bbad62936f2e6a17fd1e0997353edb6fc906d1bef2b79f0ac7c7676abe637bbabb23ff22059947be379a2441011f8178983c5
+DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 
8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830
 SHA512 
ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69
 DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 
86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e
 SHA512 
b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191
 DIST autocfg-1.1.0.crate 13272 BLAKE2B 
7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203
 SHA512 
df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
 DIST bit_field-0.10.1.crate 10576 BLAKE2B 
3a906092be85cce6af9e2ac48632d8545864c5fd1610e7e28731bd5cc44c9513f2c7eb52fa1be0b4eed65bffe130ddc98c95dfeba2f9de28ada4091396e5695d
 SHA512 
4848d7ec592642913c7bd06cd3a0da49d3bb14291866cd22ead8e9a6b2939a787035d5cded87be3d2d3491283e31ea2cfb105885df4114720da98beb82990ee6
@@ -28,6 +29,7 @@ DIST errno-0.2.8.crate 9276 BLAKE2B 
b73738deb47d1f76ec91ffd15558126d32312647b826
 DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 
781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c
 SHA512 
f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916
 DIST form_urlencoded-1.1.0.crate 8734 BLAKE2B 
eaca73d73d16242f3fa3e38e23531c67c01404697bc7b7eb7c64fa04167dcb403a41818487fc46c5d9118842818472d549a2f5fcef5e4d962461e1c103d895d1
 SHA512 
9e245495dbf235b147e4216b313f2e6a96357d2782a66d71c08c2902c6a065701ca8ecdbb6b2035983a83c44cf36c921b5c71d63af0e02dd39bf5f8347117e11
 DIST framework-system-0.1.0_p20240407.tar.gz 618728 BLAKE2B 
4714dc6792c690a345e0cd413caa2e306bbfb615c718a922d9f4e0d2b2e12f3e3d268d370d86a986aeddbf9b7532a565b4c5d57f20647a1eb3ae00549bac3fa7
 SHA512 
58eae1ba7a409d8df351647c1f6a71ef739b485747e425fa621d8661f72ab1e9c423bde707f9e8c2aaa8019ab3da9265d510bd668175cde23afd43c8007adacb
+DIST framework-system-0.1.0_p20240511.tar.gz 1149529 BLAKE2B 
60ec9c823ced9a874fb6fb683e7de438ee9c508f5217b6913703051c7ec9b30fb115be36680b3a6342ac72d7353bb1cc77bea66afaa676862e0c799a3bc42a7a
 SHA512 
b09c55aa3185ed3c91f555f3eac08c1d6387b233de4d3e678ee960c94444061a07cfca48b4a780db3047a4715d3fcbd73860d11a444ae92b3d418ce53893aba8
 DIST getopts-0.2.21.crate 18457 BLAKE2B 
10651e947e49acc768d99ae56ca5a7f37c1f61bbd1674e2ca58e3ae563fd64f3563d53ccdd0ae7a878710a39e13a99ac8c274974157db2c691f8c222de14992d
 SHA512 
5515ae6ccb0f03efb783683f46cfd1755342c4e83bb673ff8914c7f9dea0dae333f8d9703865e992659a359067df0e8b0e2253de0d4b0c7707cbe7d73401bb1f
 DIST git2-0.15.0.crate 198983 BLAKE2B 
0e340dedef36339cc6ce4cf9ac79014e7bcbdf9ebf688986d1836c3e2f480998a60a2722017381124682edc5dc511368497f03c9bd9a8c4d0e7690682789bf88
 SHA512 
8ea32850e592cb9bc8caa0d7a04042e284c11b9d46959807d8e6d496d93946342dc37fcdf1ed354010434798a404f415e8e980fee2ce4f5cb998e0f8736b5bc5
 DIST heck-0.4.0.crate 11161 BLAKE2B 
13b8bc39cf3ab90e71433e3c7b3e5f1c19404bec58dc4298dca05d94d5c14c2fc97350de737cb78aa45196b1241aa8f1ccf3a11ca309da5fe0f6a657673412b3
 SHA512 
33bdbf4ff9ecc4f4d74cf06590e056f4d96bf0d990d5381b9da5b65682b2495ed74e27b45419c2afa986c1f6200909d5175b137ae73ced5cc8ac869e4e1bce8f
@@ -55,6 +57,7 @@ DIST log-0.4.17.crate 38028 BLAKE2B 
b46be3719fc0a53e50b1f342762e188587e9f1ceb692
 DIST mach-0.2.3.crate 18940 BLAKE2B 
457f29cdbb3837a02f790c01078e59b72c6f961f4266709e0e2c7c8d77ca9a29ec39e398a7aa4feee482b101af6f7a6161244281a1a8515faec9e98dc3ccd29c
 SHA512 
7dc2ae20b109c8314e757648d758140c325c735431ae0fffd2c6e0095cfc7a1760fdeb45628eb8a1af6caabf7a939234759603b8c89cd84b80570a832346103e
 DIST mach-0.3.2.crate 19611 BLAKE2B 
683aba7d140a3697933835efe4e2e5a6a107f0a6122ce4533bd9079c0de4346dd1a817abeca4372a44a85406a424af9deff87496e79359df4c8d9ff89daab7e9
 SHA512 
73622b37915f3445a57cbac5eb378bfee61f5a2383c0dd8bd7c29b5e46447405ebaeb706f3a3274e5afe37b0506afaf1511836cb8897d9d480a3abd41f18fa26
 DIST memchr-2.5.0.crate 65812 BLAKE2B 
57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab
 SHA512 
444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
+DIST memchr-2.7.2.crate 96220 BLAKE2B 
2399064b6db21838d4aa0b25ed0bf04940ee3820741658cc6bf62e5ade08f41320df743ff13f99b2781da7b844e18deb1cfe25fe570f0e93f98ff03ca5d442e3
 SHA512 
cadcb4239c7f3aaab042592c5186770a225621e32f8583052fd3dbebb4a6d9b99be28f589b39b5ca36cb2d56fb3709e7d4ba91838ebb882e28e51280c02bbc40
 DIST memoffset-0.6.5.crate 7686 BLAKE2B 
9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009
 SHA512 
11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
 DIST nix-0.25.1.crate 272312 BLAKE2B 
5981fec66eb96dfeb4b380130c4f2927a1f904b10744690e361b480355be31ac625f52614f95a89ea19fa07cc383b0975b3985f743c64f6780800e64a2f11f14
 SHA512 
e80b3a4e38b26687ba39b52ebebc6415e9618ca41e037d571fcaa33638ef28d022be02e2265db0149088a927fb81935329e651e2cda5c29c92038eb07fe55538
 DIST no-std-compat-0.4.1.crate 7600 BLAKE2B 
28c4c943ba5384ca9fb155a53b981803c87d3cca60e0690f1c6d0f877e7bda79dc679938e625407c7b5e953aeffb921dc7d242b19f4d0fe28a14a7866a681736
 SHA512 
0e264b0004b735b640e132cfa057472feb12b906ddfc08f1b95bfcb262f6e1286653e92fc6e83df5fc553c06f410cb931cbf80b9a9303ca7f21cd625b82a82e5
@@ -78,8 +81,11 @@ DIST ptr_meta-0.2.0.crate 6141 BLAKE2B 
c8930d7bdb1d328d2c05bba87e0b220501f1716ab
 DIST ptr_meta_derive-0.2.0.crate 2353 BLAKE2B 
0bc2bf89d92b924d700fb2439e337d62e49bb8fce00946af2917acf37af9cb3db556fff91083fd468296cb41de44088403f1571d4f688d446c1004d1432b6d57
 SHA512 
dcf4400510bb3d202a39036df1dcfd1e6e716fad7caae02ed97c5be299425e00103ad21813b5e2e0d7b1584e6bbca62de52e4719624d4165984a25669aceb85d
 DIST quote-1.0.26.crate 28397 BLAKE2B 
b468a5e9350843ea81e540d17c9fcb302b46fbd450e10280c5fff6fd7c98a439df8c3d3d47e551bc6d67ed02052b5b5c65d215d5ff8ee34f045747e75c1ba37e
 SHA512 
6fcfe4d31f601aa60beb858c25df217421b0a184d185eebc7a4cb9fbf97c687992b77bebd8671a9e6193716387c3e926fed9b75a08684eb2d9a5b155fbc321a5
 DIST redox_hwio-0.1.6.crate 3250 BLAKE2B 
7da44d692edc380e1be70753e19b38e7fdec27a8f56243418059895738bc7e5fe1017d8a3f04aaebea510991cc44935401a860e7d19308058ca4c990e1c0a594
 SHA512 
dd3a3ae970a545343eb330f6f2f196ba7c68ea746487aea05f8d46d19d0bbf866a7fbb46889115d728edd5f63c9cd971db2ef42746f4fc0d67654da5ac5bfb88
+DIST regex-1.10.4.crate 253191 BLAKE2B 
08bdb925efbea1ee9f885a89ec6b4692e39d7b17039f788e5b3c1dbfb7847d4f53b67f0c61e4085af7ef4901e67e33ea94948668bf706fef19b4102a06ef0447
 SHA512 
88ef121a51759f418d5dc01607a6e02651bd00343dae92962c02a80f30343d3f079a0375457780ce46bf205ca38f279b03989154638199fe2fcede10554bf21b
 DIST regex-1.7.0.crate 239421 BLAKE2B 
6e9434bb9835bd8e15c81e817aa64e8443c4188219caf46579078c6b7cbd98ee588af0f526e0fd5a01814762dfaa113ca3d15f7cfa14e969d5acda3a631e9560
 SHA512 
974c15a593d86c33e0bb34f7a67957fe96dec07b3752f2b6b968d657845f5d2342a5ee9ec1359109c43e4f46c9b2b2b678d59f7b752455a0ab1435c1fa56ca3c
+DIST regex-automata-0.4.6.crate 617565 BLAKE2B 
8f1e2a3cc1d2d50478776281d2bf10164ef441dcf7127994f4a0341ec40588ec8dc1c07fdf9f670da9e61a7753551500b80314df130370b61d2c03c2b2e3135a
 SHA512 
b288e1facae2612f73d3de3fe9fd1af13d337107004f990263abe6277b31b948478ad9c2b807dcafa73fa565e48bdf2113139f5ca67eb73165b7d29e2ee5c9f1
 DIST regex-syntax-0.6.28.crate 299288 BLAKE2B 
8554370e269e888e603c403089aa6eb4a087ae65fec016a428e424289990a07826e37a2e51cd353c7d530d5b3421e2db6a8f9d50e62379867bb5b6cbc57f2436
 SHA512 
ba5fb1622a330b67a4eb820551c7f20dbfdc6b38eb697b9bfddea4cf0060b473472045e93aaf6cb9727ae609e06ed285e1e42f06f34ac730ac39fb90425bbe85
+DIST regex-syntax-0.8.3.crate 347497 BLAKE2B 
9ac2f63098ffa3fff51fe2bc0bcf9ef164cf9389a909a3f0cb668d2598e7ca65d573e47d571ee2e6bba3a1a96ef7c298b8d681e1ef89c8c53b7d590e0e22839b
 SHA512 
925f7bcc50d94c65d34fcc770c6e58dd5b8a045541c0109e77b8efe842eef4c110087ac9c0f86c7c3022ed013abbc5c0a187d796dce292ad5361a0cdf7153d76
 DIST rusb-0.9.1.crate 40156 BLAKE2B 
6826d1366591ef2446ea978e40070c9d8cb68ac1775f63e2d421018c530e54f3e186e2621543363c805d239fbe21aa2a0d7f741e814d32c3abf157fcc49b07d1
 SHA512 
0fc3058cbb9dea4a3f4199b3339f3798d289f0aac7c698c40e67b87a31ebde47675de312ce58a8d9eb22bd20ac23d882152b130c2f050335e6575c1b01694bc6
 DIST rustc_version-0.4.0.crate 12175 BLAKE2B 
6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da
 SHA512 
f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db
 DIST rustix-0.36.5.crate 287459 BLAKE2B 
ffe3cbf130c6bfca2b6b12c045c6843d18a148a8305bd55b4be1d3c4154d273d047c484cd1973a7284b2bd69c14187373f09e0713f097b576724fa0279a056a7
 SHA512 
4e682d94c170f578c426ca6db9434ac5b7b4b9d93903954b12367e87bcc4f747b2a6125b449354972f606fce74c3b18b64470c33540ba6e894e828a15c59e2c8

diff --git a/app-laptop/framework_tool/framework_tool-0.1.0_p20240511.ebuild 
b/app-laptop/framework_tool/framework_tool-0.1.0_p20240511.ebuild
new file mode 100644
index 0000000000..5442f3fc48
--- /dev/null
+++ b/app-laptop/framework_tool/framework_tool-0.1.0_p20240511.ebuild
@@ -0,0 +1,256 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+is_live() {
+       [[ ${PV} == 9999 ]]
+}
+
+CRATES="
+       aho-corasick@1.1.3
+       android_system_properties@0.1.5
+       autocfg@1.1.0
+       bit_field@0.10.1
+       bitflags@1.3.2
+       built@0.5.2
+       bumpalo@3.12.1
+       cargo-lock@8.0.3
+       cc@1.0.79
+       cfg-if@1.0.0
+       chrono@0.4.24
+       clap@4.0.32
+       clap-verbosity-flag@2.0.1
+       clap_derive@4.0.21
+       clap_lex@0.3.0
+       codespan-reporting@0.11.1
+       convert_case@0.4.0
+       core-foundation@0.6.4
+       core-foundation-sys@0.6.2
+       core-foundation-sys@0.8.4
+       cxx@1.0.94
+       cxx-build@1.0.94
+       cxxbridge-flags@1.0.94
+       cxxbridge-macro@1.0.94
+       derive_more@0.99.17
+       env_logger@0.10.0
+       errno@0.2.8
+       errno-dragonfly@0.1.2
+       form_urlencoded@1.1.0
+       getopts@0.2.21
+       git2@0.15.0
+       heck@0.4.0
+       hermit-abi@0.2.6
+       hidapi@2.1.0
+       humantime@2.1.0
+       iana-time-zone@0.1.56
+       iana-time-zone-haiku@0.1.1
+       idna@0.3.0
+       io-kit-sys@0.1.0
+       io-lifetimes@1.0.3
+       is-terminal@0.4.2
+       itoa@1.0.5
+       jobserver@0.1.26
+       js-sys@0.3.61
+       lazy_static@1.4.0
+       libc@0.2.139
+       libgit2-sys@0.14.2+1.5.1
+       libusb1-sys@0.6.4
+       libz-sys@1.1.9
+       link-cplusplus@1.0.8
+       linux-raw-sys@0.1.4
+       lock_api@0.4.9
+       log@0.4.17
+       mach@0.2.3
+       mach@0.3.2
+       memchr@2.7.2
+       memoffset@0.6.5
+       nix@0.25.1
+       no-std-compat@0.4.1
+       num@0.4.0
+       num-complex@0.4.2
+       num-derive@0.3.3
+       num-integer@0.1.45
+       num-iter@0.1.43
+       num-rational@0.4.1
+       num-traits@0.2.15
+       once_cell@1.16.0
+       os_str_bytes@6.4.1
+       percent-encoding@2.2.0
+       pin-utils@0.1.0
+       pkg-config@0.3.26
+       plain@0.2.3
+       proc-macro-error@1.0.4
+       proc-macro-error-attr@1.0.4
+       proc-macro2@1.0.56
+       ptr_meta@0.2.0
+       ptr_meta_derive@0.2.0
+       quote@1.0.26
+       redox_hwio@0.1.6
+       regex@1.10.4
+       regex-automata@0.4.6
+       regex-syntax@0.8.3
+       rusb@0.9.1
+       rustc_version@0.4.0
+       rustix@0.36.5
+       ryu@1.0.12
+       scopeguard@1.1.0
+       scratch@1.0.5
+       semver@1.0.17
+       serde@1.0.151
+       serde_derive@1.0.151
+       serde_json@1.0.91
+       spin@0.5.2
+       spin@0.9.4
+       strsim@0.10.0
+       syn@1.0.107
+       syn@2.0.13
+       termcolor@1.1.3
+       tinyvec@1.6.0
+       tinyvec_macros@0.1.1
+       toml@0.5.11
+       ucs2@0.3.2
+       uefi-macros@0.11.0
+       unicode-bidi@0.3.13
+       unicode-ident@1.0.6
+       unicode-normalization@0.1.22
+       unicode-width@0.1.10
+       url@2.3.1
+       vcpkg@0.2.15
+       version_check@0.9.4
+       wasm-bindgen@0.2.84
+       wasm-bindgen-backend@0.2.84
+       wasm-bindgen-macro@0.2.84
+       wasm-bindgen-macro-support@0.2.84
+       wasm-bindgen-shared@0.2.84
+       winapi@0.3.9
+       winapi-i686-pc-windows-gnu@0.4.0
+       winapi-util@0.1.5
+       winapi-x86_64-pc-windows-gnu@0.4.0
+       windows@0.42.0
+       windows@0.48.0
+       windows-sys@0.42.0
+       windows-targets@0.48.0
+       windows_aarch64_gnullvm@0.42.0
+       windows_aarch64_gnullvm@0.48.0
+       windows_aarch64_msvc@0.42.0
+       windows_aarch64_msvc@0.48.0
+       windows_i686_gnu@0.42.0
+       windows_i686_gnu@0.48.0
+       windows_i686_msvc@0.42.0
+       windows_i686_msvc@0.48.0
+       windows_x86_64_gnu@0.42.0
+       windows_x86_64_gnu@0.48.0
+       windows_x86_64_gnullvm@0.42.0
+       windows_x86_64_gnullvm@0.48.0
+       windows_x86_64_msvc@0.42.0
+       windows_x86_64_msvc@0.48.0
+"
+
+if ! is_live; then
+       GIT_COMMIT_UEFI_RS="76130a0f1c1585012e598b8c514526bac09c68e0"
+       GIT_COMMIT_SMBIOS_LIB="b3e2fff8a6f4b8c2d729467cbbf0c8c41974cd1c"
+
+       declare -A GIT_CRATES=(
+               
[uefi]="https://github.com/FrameworkComputer/uefi-rs;${GIT_COMMIT_UEFI_RS};uefi-rs-%commit%/uefi";
+               
[uefi-services]="https://github.com/FrameworkComputer/uefi-rs;${GIT_COMMIT_UEFI_RS};uefi-rs-%commit%/uefi-services";
+               
[smbios-lib]="https://github.com/FrameworkComputer/smbios-lib;${GIT_COMMIT_SMBIOS_LIB}";
+       )
+fi
+
+inherit cargo
+
+MY_PN="framework-system"
+
+if is_live; then
+       inherit git-r3
+       
EGIT_REPO_URI="https://github.com/FrameworkComputer/framework-system.git";
+else
+       if [[ ${PV} == *_pre* || ${PV} == *_p* ]]; then
+               GIT_COMMIT="459323c2355bfb240516e903e0d093ef5fae48a0"
+               [[ -n ${GIT_COMMIT} ]] ||
+                       die "GIT_COMMIT is not defined for snapshot ebuild"
+               MY_PV="${GIT_COMMIT}"
+               MY_P="${MY_PN}-${MY_PV}"
+       else
+               MY_PV="v${PV}"
+               MY_P="${MY_PN}-${PV}"
+       fi
+
+       SRC_URI="
+               
https://github.com/FrameworkComputer/framework-system/archive/${MY_PV}.tar.gz 
-> ${MY_PN}-${PV}.tar.gz
+               ${CARGO_CRATE_URIS}
+       "
+       S="${WORKDIR}/${MY_P}"
+
+       KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Tool to interact with a Framework Laptop's hardware system"
+HOMEPAGE="https://github.com/FrameworkComputer/framework-system";
+
+LICENSE="BSD"
+# Crate licenses
+LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 Boost-1.0 MIT 
MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB"
+
+SLOT="0"
+
+RDEPEND="
+       virtual/libudev:=
+       virtual/libusb:1
+"
+
+DEPEND="
+       ${RDEPEND}
+"
+
+DOCS=( README.md support-matrices.md )
+
+# Usual setting for a Rust package
+QA_FLAGS_IGNORED="usr/bin/framework_tool"
+
+src_unpack() {
+       if is_live; then
+               git-r3_src_unpack
+               cargo_live_src_unpack
+       else
+               cargo_src_unpack
+       fi
+}
+
+src_prepare() {
+       default
+
+       # Upstream uses [patch] on some dependencies in Cargo.toml,
+       # which are not patched by cargo.eclass's ${ECARGO_HOME}/config
+       local crate commit crate_uri crate_dir
+       local -a sed_scripts
+       for crate in "${!GIT_CRATES[@]}"; do
+               IFS=';' read -r \
+                       crate_uri commit crate_dir <<< "${GIT_CRATES[${crate}]}"
+               # Taken from dev-util/difftastic::gentoo ebuilds
+               sed_scripts+=(
+                       
"s|^(${crate}[[:space:]]*=[[:space:]]*[{].*)([[:space:]]*git[[:space:]]*=[[:space:]]*['\"][[:graph:]]+['\"][[:space:]]*)(.*[}])|\1path
 = '${WORKDIR}/${crate_dir//%commit%/${commit}}'\3|;"
+                       
"s|^(${crate}[[:space:]]*=[[:space:]]*[{].*)([,][[:space:]]*branch[[:space:]]*=[[:space:]]*['\"][[:graph:]]+['\"][[:space:]]*)(.*[}])|\1\3|;"
+               )
+       done
+       sed -i -E -e "${sed_scripts[*]}" Cargo.toml ||
+               die "Failed to override dependencies in Cargo.toml"
+}
+
+src_install() {
+       dobin "target/$(usex debug debug release)/framework_tool"
+       einstalldocs
+}
+
+pkg_postinst() {
+       [[ -n ${REPLACING_VERSIONS} ]] && return
+       elog "Framework Laptop 13 Ryzen 7040 Series users might need to"
+       elog "follow these steps to use most features of framework_tool:"
+       elog
+       elog "1. Disable kernel_lockdown(7)"
+       elog "2. Run 'framework_tool' with option '--driver portio'"
+       elog
+       elog "For more information, please consult:"
+       elog "  https://github.com/FrameworkComputer/framework-system/issues/20";
+}

Reply via email to