commit:     642410a6571a804cc79395eb04a61122213d9940
Author:     Yuan Liao <liaoyuan <AT> gmail <DOT> com>
AuthorDate: Fri Oct  4 22:44:45 2024 +0000
Commit:     Yuan Liao <liaoyuan <AT> gmail <DOT> com>
CommitDate: Fri Oct  4 22:44:45 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=642410a6

app-laptop/framework_tool: Add 0.1.0_p20240930

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

 app-laptop/framework_tool/Manifest                 |  30 +++
 .../framework_tool-0.1.0_p20240930.ebuild          | 291 +++++++++++++++++++++
 2 files changed, 321 insertions(+)

diff --git a/app-laptop/framework_tool/Manifest 
b/app-laptop/framework_tool/Manifest
index b109c8303..9a8e499b1 100644
--- a/app-laptop/framework_tool/Manifest
+++ b/app-laptop/framework_tool/Manifest
@@ -32,6 +32,16 @@ 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_p20240710.tar.gz 1159813 BLAKE2B 
b4b6d5db366773cd7eac49157eee224f13e59148fd392e7b32838352a7b8dde046c24d3fa766d0db9a4c578dc29b30c0321a4a95b86c3de3ead409c8417a101a
 SHA512 
078bee72f55ea8e83f33438858fb1e38ab627aaf20b2278b80f149bda50ea3dbef1920f42ec639f3824c4c3139246557c3616ce9f8afb93071212f97c085bd72
+DIST framework-system-0.1.0_p20240930.tar.gz 1162911 BLAKE2B 
3bb12344979ce1eba86cfe51f661bf667d1ce3e48d8ca84a5cdd921439daeed007936cdfe9ed91bf2bc29897386a523907834744dc125dfd6537ae7403b8afa1
 SHA512 
b09b8d8d1c4cfcdf0e316a4474d8efcd8beca20d4870858eefec4f461b1109beae50d9f2c19557e44ef7d4e454da03c0da58a0d38de4ebfd466aac1ae2bbb65a
+DIST futures-0.3.30.crate 53828 BLAKE2B 
4e595639500f7147ceb994359ef1656ed096ea679409a5721c05ff84ba439fe4e82563a7cf8dca9aed4cd16b03e89ba1385b0a34feed9d4923871225e131b91e
 SHA512 
98fc67bf1047609c8bb0763c00ab9cb39b6a6d0cb7d993bce4966ddc2492a6578b789e98095981b207ddd73ac4b1dfcd5224b352a0e970eed347537c6fbea43e
+DIST futures-channel-0.3.30.crate 31736 BLAKE2B 
57461dbb723fd53daa07b2fe6164125508cc3901e0138d2a60da5c814ade415a3611baa45c71487f1853812282ef358c132785ff40c630408e8544d57eee3483
 SHA512 
689531748821529c528772a6dd0f27362078ff5803d2e0b431ee5a0ecf8787b5a15262d65d52f48486ded46b88f7a9c477ad95cc2c5a3e8f5f9b9f53f367832c
+DIST futures-core-0.3.30.crate 14071 BLAKE2B 
76a9fa5aedd0d4ae8dd9db9639839b6b342125759c1b9f9bbf58aacb4ecca316ff1f24ff8f3c15f559ffbf974e4c2cd02a5418cb4c4d7612dac8449c8234eeb8
 SHA512 
3c7259ddacbe02e47a84178b75e5f13523bd0c8f8bc0b2375f7ecca60b7075695ee0a5cc4e1c1de26665cf250271173be803661e2f2f53e2a3b96380a8efe7c4
+DIST futures-executor-0.3.30.crate 17744 BLAKE2B 
927abec40eab31251409149179baa95a8d025f9cdb848afa83f95439c4768abbf6da8e2163291a086ea0b83b0b650d1e19cb8e15f70369b70efdc70eb3121f6b
 SHA512 
fa65c038e5eeee695b2673cd65cf7529713bef47da373290595b554bc287267ee5cd015ddeda5a22169cc8828717987364584a91a69685cdbfc0fc779abd764f
+DIST futures-io-0.3.30.crate 8910 BLAKE2B 
c9af4290f45a9fd0839e107fbdfa4abff4f9077ff45b61054670419076f1c4508d7d560d4d86f8cd7ce146e436e531b9f5e0abfed2c4f2406c57be209cfdd498
 SHA512 
077acf5eab1101917b5b4b4b83347d30d533110d9a34c2de6db1411ffae0f0530f457033c5a5c14249119e89375c9f12127790b46e486dcd003a12a6fad48bc2
+DIST futures-macro-0.3.30.crate 11278 BLAKE2B 
6311039db4bd31242e4f45bb7c581bec28eec9da850c47ffd9235c4baef5e5f1c72155f49573b2dc942a9cf246949b79c7d35200d04f91a13b0205cbd33d96c0
 SHA512 
220b5cc61c744617479d7e8ef9888785a17b9bc26c517c9c4445a39e8be21f111f77e53bfb3d143df18dfde23feccee17e349a84b897eb4d86f94d7ae4f714cc
+DIST futures-sink-0.3.30.crate 7852 BLAKE2B 
dc768e4ec4c9f9dfb22a20c1c977401d859072b9222e6f77978332f495cbd0f764b175a679c9d7c77028d7b56cda5e2d86188ee979c7f323187defa6a0485ce3
 SHA512 
1c198da8f4118d9a9ab2b597e3f7b4e1ac7094dfa547bb81f3c4148c45216ef55b309255849174a517ebddba6c874283425f1df6e56e2ba5150af091bacf46a3
+DIST futures-task-0.3.30.crate 11126 BLAKE2B 
c2ded9b9b709fc10c44cfeaa72d4e7477e43331b14f3e72433b25126fef93f2812a09b4fdc3c246b7379d41d3764ba17fa87c3e9c131095864cbb5f54771a204
 SHA512 
c190fa0acf7ff15fa67fe172911cfae803b2a8c08168570a5518a40767d08134f147259a413ab25c45cac5dbf2f601a9753c77ab0eb2c180cad2fe48cfe3867d
+DIST futures-util-0.3.30.crate 159977 BLAKE2B 
9012edf76336952dab02cb61db48dfc74b6cfc17c137c36372709e8d575b306a4d7c4da89328067c9482a645aceb7b44ef57deb21a0c25964a5515e738a039d0
 SHA512 
7faae5aa35641d858d0f5430e4a69acd4ba9037852ad73c5a890bffeed411d28820883e18bad4ca8f7b0a765f9f4c5dbeaf5d0cfaaf90c2c69846434ae091951
 DIST generic-array-0.14.6.crate 15889 BLAKE2B 
7beac5446f5da4d077598af43c238eb7e71a12b0b91e6be5dbfc1ca33dc21d128fc93c9c8b18caac4b88830c8c8a643f2033acaca1d9a9f3d95329d042276156
 SHA512 
254e6fb6658f083f26e022916795c9ebfac241b9df2d811aac8316b17e1375e1c5aa54d72f1bf6c2627a88484a7df4b14eca231c90578e9aa3d9997047fa0f20
 DIST getopts-0.2.21.crate 18457 BLAKE2B 
10651e947e49acc768d99ae56ca5a7f37c1f61bbd1674e2ca58e3ae563fd64f3563d53ccdd0ae7a878710a39e13a99ac8c274974157db2c691f8c222de14992d
 SHA512 
5515ae6ccb0f03efb783683f46cfd1755342c4e83bb673ff8914c7f9dea0dae333f8d9703865e992659a359067df0e8b0e2253de0d4b0c7707cbe7d73401bb1f
 DIST git2-0.15.0.crate 198983 BLAKE2B 
0e340dedef36339cc6ce4cf9ac79014e7bcbdf9ebf688986d1836c3e2f480998a60a2722017381124682edc5dc511368497f03c9bd9a8c4d0e7690682789bf88
 SHA512 
8ea32850e592cb9bc8caa0d7a04042e284c11b9d46959807d8e6d496d93946342dc37fcdf1ed354010434798a404f415e8e980fee2ce4f5cb998e0f8736b5bc5
@@ -73,12 +83,14 @@ DIST num-traits-0.2.15.crate 49262 BLAKE2B 
942ab170b2acce1cb40e6847f766bf810a79e
 DIST once_cell-1.16.0.crate 32120 BLAKE2B 
59bfc8a44f1fec72442e3d34bf4be3a5af073f854f07b3618b2857c759dca4a0fa6ba358514ae28c25d745b01bb7b390ffe9ed6e296d163fd3dd67e49092b87a
 SHA512 
bc199570ee43bde9245a2c4637ae738e370ce9988635c8342349ceb6fb158f376247b69f9ec4ea0e6d76b934decdc77a524299ebde96c0a2c2d29d9501b9a568
 DIST os_str_bytes-6.4.1.crate 23101 BLAKE2B 
252fc826f646bbb999fa80b47f58ac9a77e409b10a99284c7b669304c0cd701a3d20e690350018f5d7de8c6c7d38521f3413ac81d08067dc26f76b7c0e5b056b
 SHA512 
2199502ad24449e08370686a596f905325f5b145e105e8c7bf90ed7729bbc405e065fce62c98eada40f77f0665ca041db41f16cc8e62473501eca32c24e56f43
 DIST percent-encoding-2.2.0.crate 10075 BLAKE2B 
397e59acc3953868c709244b89a2e0db3304c0b574ecba761026b570a485f2cb5b0b2a0159586d1f342ec395ef02ace536da3bc1c72093e1cf93f8b37b26b0ec
 SHA512 
890a5256d2b4290e12e04a02c3529f3a017faa2b6016a4dd0f08b36509f0b1107eacfcb4702024d6a21ff8852a11f263c1adc096b16ef8d12c45a734c087fe68
+DIST pin-project-lite-0.2.14.crate 28817 BLAKE2B 
8e9875967059faff399fbffff82cf8835982c46ea8df942acf50b038e3f500e04d3d8cde39da5a71ebcc38b869553f8c49830e484d1109b353247a4cfdeda89e
 SHA512 
f90a6b9f5ab8701718f72677a4f3597c1b9f32e5fa53198b47a94696227ea37815997599abaa6058b217c5b32a94602582c6b13fdb66e2d683bc98921de95293
 DIST pin-utils-0.1.0.crate 7580 BLAKE2B 
457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178
 SHA512 
828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70
 DIST pkg-config-0.3.26.crate 18662 BLAKE2B 
2ad92dfdc8ac0414b12a61dd30ea4ac5f142bbb55d0555ecfa3a53e750367e1b11766a693ef11f8cbe5a2ddb978327632458b2bcf75be7aa8f973262033349ee
 SHA512 
509c4d1494cccc20de6a62d9d037c63ff77ebee8d907747c57ba0926d177b08fcac0231ccdda14511b453deb0b76ddd10f8fbdf63ff94257d72a12a889546435
 DIST plain-0.2.3.crate 10664 BLAKE2B 
b0ea38fcf6d4f4e3ff91d572b5639f01eac4f19b2c451d27bca49d994a07c6f46118cd58a1b86b3d2a61b7ac9e17e8236f1cc98414738d8c86086d37e0fe4d35
 SHA512 
6909e4b4b4a0a49e6a226d7393b121ec04beb8a13b1652c23337eb09b3c2e5f202b53a7663dfe7828dcb32c3d18135b514e9a982967c188e127a63b6cbeda252
 DIST proc-macro-error-1.0.4.crate 25293 BLAKE2B 
ef918c5efaf2545ab38787c8d0c07315af00431139e4dff66346bf798e3a429f91d12a79776c150412fdda0b158a72badd5e1044ac4d6917f8482d4b5a7110b7
 SHA512 
8a47bc9d3e24e9561d1e384d8f5a633284c2cf9b5e6733c5f9d1dbfe1870ccc8e2152482852e50b551cecb68e009148585b910ffb0508a7b4875598eaf8657db
 DIST proc-macro-error-attr-1.0.4.crate 7971 BLAKE2B 
98e2925881c2be186e22c2c439697e91d43f807eb61a5d13e3b0b4321ed50a74f3d699942c04b89b6fea0f156bb5d19ebcf22f9cd4b98a7e6917c437600ed823
 SHA512 
2606afa9ec78d7dad4500c98d3a5ecbd02c6b53ab829c742bed7f57b322a95238ab4e01cf268746815f1424fd9b02eddfa30e72f98c66106f57765f3d3116495
 DIST proc-macro2-1.0.56.crate 44454 BLAKE2B 
b2a1f28979245a784a4b3a0af8cb04bd01ef3e7aba32c45122fc05a6cceddb1b7303890827f1a2cb99b0b2ae013cd772bffd6e94ea226f0030cde867d6c22aad
 SHA512 
511fd8332eca47ed834736d405e18d53d83642cf528bebb8fd67fa5561e19b0a43c359b3e8020ecd28f9fafdb065c484ca360abc0287a0f97e94d4f779145f03
+DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 
4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3
 SHA512 
1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
 DIST ptr_meta-0.2.0.crate 6141 BLAKE2B 
c8930d7bdb1d328d2c05bba87e0b220501f1716abc11522f8a9c31ee3a4fc566f5792a7549c651129c8eb4f744bd8ddd480e122cf9b29b837abed55f24cd6176
 SHA512 
442bb26c3eebf92f08a93697c71ca27f4b72746648e02c20d7adab9762ccaeaef366778acef51148722cdb4621ad98d09011b44e307a749ba352bd935b761a46
 DIST ptr_meta_derive-0.2.0.crate 2353 BLAKE2B 
0bc2bf89d92b924d700fb2439e337d62e49bb8fce00946af2917acf37af9cb3db556fff91083fd468296cb41de44088403f1571d4f688d446c1004d1432b6d57
 SHA512 
dcf4400510bb3d202a39036df1dcfd1e6e716fad7caae02ed97c5be299425e00103ad21813b5e2e0d7b1584e6bbca62de52e4719624d4165984a25669aceb85d
 DIST quote-1.0.26.crate 28397 BLAKE2B 
b468a5e9350843ea81e540d17c9fcb302b46fbd450e10280c5fff6fd7c98a439df8c3d3d47e551bc6d67ed02052b5b5c65d215d5ff8ee34f045747e75c1ba37e
 SHA512 
6fcfe4d31f601aa60beb858c25df217421b0a184d185eebc7a4cb9fbf97c687992b77bebd8671a9e6193716387c3e926fed9b75a08684eb2d9a5b155fbc321a5
@@ -86,6 +98,7 @@ DIST regex-1.10.4.crate 253191 BLAKE2B 
08bdb925efbea1ee9f885a89ec6b4692e39d7b170
 DIST regex-automata-0.4.6.crate 617565 BLAKE2B 
8f1e2a3cc1d2d50478776281d2bf10164ef441dcf7127994f4a0341ec40588ec8dc1c07fdf9f670da9e61a7753551500b80314df130370b61d2c03c2b2e3135a
 SHA512 
b288e1facae2612f73d3de3fe9fd1af13d337107004f990263abe6277b31b948478ad9c2b807dcafa73fa565e48bdf2113139f5ca67eb73165b7d29e2ee5c9f1
 DIST regex-syntax-0.8.3.crate 347497 BLAKE2B 
9ac2f63098ffa3fff51fe2bc0bcf9ef164cf9389a909a3f0cb668d2598e7ca65d573e47d571ee2e6bba3a1a96ef7c298b8d681e1ef89c8c53b7d590e0e22839b
 SHA512 
925f7bcc50d94c65d34fcc770c6e58dd5b8a045541c0109e77b8efe842eef4c110087ac9c0f86c7c3022ed013abbc5c0a187d796dce292ad5361a0cdf7153d76
 DIST rusb-0.9.1.crate 40156 BLAKE2B 
6826d1366591ef2446ea978e40070c9d8cb68ac1775f63e2d421018c530e54f3e186e2621543363c805d239fbe21aa2a0d7f741e814d32c3abf157fcc49b07d1
 SHA512 
0fc3058cbb9dea4a3f4199b3339f3798d289f0aac7c698c40e67b87a31ebde47675de312ce58a8d9eb22bd20ac23d882152b130c2f050335e6575c1b01694bc6
+DIST rust-hwio-9bcff4277d8f3d7dce2b12c6ad81d092ae35c4ba.gh.tar.gz 3502 BLAKE2B 
b055ccc1d1936cca89626ba50ac428e67624197b9078da148a195b59a45f0aea8271926a0e5e8f9d1ce6d2a5ca2bdbfde3aa790fca1e4743e3c02cda642e5930
 SHA512 
963c5e2ad80850c88dfb8fd46df46a03bd077adafc59698ce5ca59c4fea41e32a15d71393d9adfb0c8c484498695014bbc9ae3c670162b024f70266b2436611d
 DIST rust-hwio-9e6e7529ffd6caf7aa6a17be1eca6756b302f736.gh.tar.gz 3509 BLAKE2B 
f963e2114c116077b2c3d793601597b6c738bf688547f2b156140f56188bb90b290f3a9b7dc8a90a83016eee9e007cc22b3335341bbf93bf4c88b512cd9452a4
 SHA512 
7a881440701436e0cc784ba052cfa01c08dc6ea968fb1c325dfcea2112d827fe99747ee70a1a126c0a9bc0f3921ee8f7a57a862159f9b65ea6aee918c54e5ac3
 DIST rustc_version-0.4.0.crate 12175 BLAKE2B 
6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da
 SHA512 
f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db
 DIST rustix-0.36.5.crate 287459 BLAKE2B 
ffe3cbf130c6bfca2b6b12c045c6843d18a148a8305bd55b4be1d3c4154d273d047c484cd1973a7284b2bd69c14187373f09e0713f097b576724fa0279a056a7
 SHA512 
4e682d94c170f578c426ca6db9434ac5b7b4b9d93903954b12367e87bcc4f747b2a6125b449354972f606fce74c3b18b64470c33540ba6e894e828a15c59e2c8
@@ -97,6 +110,7 @@ DIST serde-1.0.151.crate 76931 BLAKE2B 
26ee4c3589bda4bd7ccbb6a7ce6f44f2974283961
 DIST serde_derive-1.0.151.crate 55587 BLAKE2B 
907291356ec3e74c46d2bfaaedeacf8f35d828cbe5bab7b3ef3992f98129eb576824bd379e42407dba48deb892faebea679b67b7ebaae92d07f9bfeb3aa14a82
 SHA512 
c190fa40aead16ba9381c9059d71ae9e4318b4eebc759cfb55e2680301cef39ff2201a8d81c023e9f67f675d81be64ad45ba69dcf606a0b6774844d7460ad169
 DIST serde_json-1.0.91.crate 144654 BLAKE2B 
857f25cb43f8153ed4266fdc38b0a426ea04edd9e7954ceeab384729abb51ead1378a819eca6ced5cf20ed0cf237548b4c81ad507e3f4684aeb9bfd7e4958684
 SHA512 
b0bfa3d64fe9fb0d09ec8dcb6e41eba75ad0f0c4e34e0ffd5e2a3230057d7499a57ffda8c1615bea5195ef398afe414f3b0a143a39865123c1c5f976ea1a0337
 DIST sha2-0.10.6.crate 20558 BLAKE2B 
ceae6f1e28606371f93f5e4fd617b2cb057ed9aa4aa2d81bf4c6af4ca47d639a51f50d0fe4fa77667022c770056d6d711beb4835b2341ae0a8d667f11a4a51a3
 SHA512 
38dea4c300ea8dee22587ab0af6d66dbde824e1cb071e02e7790bf978efff6bdb6d4076d61c5acb38e86e69261a65811a7bd0182299d53ef053202ee54d2b05c
+DIST slab-0.4.9.crate 17108 BLAKE2B 
8e5288c4d00efa915e7be27b55f2204850968624f0d8101c091a357131106bceeea7a63c98007420c12f67893dd2228b15d3f23508108c3a0ceaa605474bc7a9
 SHA512 
b6b5423ae026472920f7c9a4abe0962314140a36dc562c0a9e3fa60725b2b8b7a8b343110d9d4c0e18fb318b0103e14c0ccbc9ae350d5563a5ac80c35f228c40
 DIST smbios-lib-b3e2fff8a6f4b8c2d729467cbbf0c8c41974cd1c.gh.tar.gz 139972 
BLAKE2B 
0bfccc2764291a162f28a75ea51bdcc36c0f76b0e2d48a16322d7174bf20c69f0453587738bb3ffcf0e128394cab86ae12b7c9565229a3b756fc42b16868e8ba
 SHA512 
f65547b4cb1724968465340cc765b68a4c57c27eabd9c740f6e7ac6d6c996f336ed4e7e41d2ead6bf8480bf8c6e0b5db710cf2824549373364ea7d15fa8b937d
 DIST spin-0.5.2.crate 12004 BLAKE2B 
d67d9156ca6dbcf4022711cce797cd423a4977115abac4cafaa507aa2e1071b637275637a20934d4d0d6d2bf82c98c74a4506720326d1804952aa0fd5fc4895c
 SHA512 
fc57f7906da2b7a298c5f89215e881e8827b4d9f934dbf138338e0ee30122d8459483be566268fa374b41d63d8dbf65d42e0b322535ba35c827d7edb2176f267
 DIST spin-0.9.4.crate 30180 BLAKE2B 
24dfdab3e643abe5cd9ecdc14c07bafe7424ef19979b7e5b856a262ffdeb87e58291061313af2c1396ea33e14d96a728719937790d204398fe271710ddf2f8dd
 SHA512 
156b1c471292e8cb874b59129454b56b5e84a0f10b5d064433e0abfc3384c1a594b12b095acd26da350d7f81e6849da9c07c9a506b4aa0ac4808ce3f70b5511c
@@ -104,6 +118,8 @@ DIST strsim-0.10.0.crate 11355 BLAKE2B 
bcb25ad0a7284e24e4f17ebe0ccb621bdc4118e49
 DIST syn-1.0.107.crate 237539 BLAKE2B 
5a65968806c72fedf69638661f827a0426b9e49c2f9a5e5208f986105f8facca2bdf241f92f74bde790e9a0dd68240d4827a345a939c087364360e19a5cbeff3
 SHA512 
58132adb76643521a6a9cbc0316431318ac25f8517bba3cbb98e7e28ed536f9e24f643e898fa21a2f74cc8c1aeafaecf9b4199b23048c7be8c0bab2fe3aa7623
 DIST syn-2.0.13.crate 240619 BLAKE2B 
80536a808aa671424fd940d28013b96988b0f51c29400c5fe1ca7e6789587c670cef7e746a527701641bcb9df73925ab2fa581ad5f877b2d5cdec31590ccf223
 SHA512 
940ed62d2d5676034292e675ffac2fbc495976ebced6a295cc4da8914e9e9f059275e892e0033bebfd26e3692236c504dd36973e7f62b8e1943f19ec6491d9e1
 DIST termcolor-1.1.3.crate 17242 BLAKE2B 
5aef69c0004081bd3cc4d531d13d63627cc02313868c0faab62358d13abfa7b4ba82f142c2801d25a6ae46ecbc8b7bdbeaa21c9105ea3b8950ab6a38cdb88513
 SHA512 
5838fcbfd70f300cb4b62aab50565db52074c56b152ccc8ac1173e4676c0d5a636271bf5a645a77da6e1d4edbf0091af2cd4dd6d73b85c3d198c760898c06f3a
+DIST thiserror-1.0.40.crate 18709 BLAKE2B 
8057ebcd11546f8b3ae5d760c1dd1764386f3c29dc43bc7a4aef20604970c65356daef137734e80260051d41e39979943bfda496459696b924a95f455159704c
 SHA512 
db1b1fab3aa61dc6bbc672670eb70cee2f838fa713d3a927022900eddde253108d123bded1aa6df8d314e1aa2f8ff37bc72fc9b0803fe3a56447a64290ab2a91
+DIST thiserror-impl-1.0.40.crate 15138 BLAKE2B 
7590428b5a97efde6a823440a9c91e1d1835b20df4ad8a700c1eeddd98516f1203605853fc6dc65528c5fd92480d04f9a8412aa7c20a524cb94435b0a0032f1d
 SHA512 
9027f2d4127864c34d2d92ad3b2753a95893d26f5b2dcdec869884a98232c5304db1700a38112ced258e5f3832218cdea3a4bb21223098e1b20d06af1fd7edd2
 DIST tinyvec-1.6.0.crate 45991 BLAKE2B 
e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9
 SHA512 
e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c
 DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 
2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484
 SHA512 
10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
 DIST toml-0.5.11.crate 54910 BLAKE2B 
9ecd5103b33ab47d4be23c897c7095ca381cb79bedcaac4918cddc36fc7cf5d34ab664da52c2273d935f04486e9325241d6b66785d50aac78453c219aab49e1e
 SHA512 
eddb82aeb8fdeb5436579292c6f7a64a90a2c7bb54070beb437bc7890b99795d0505faa8d6451a99e8bcf440f78db8a1b273a697c8ad44275cc4163a9ee49317
@@ -129,19 +145,33 @@ DIST winapi-util-0.1.5.crate 10164 BLAKE2B 
fc800aceae5249a858c806c3e969ef2545766
 DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 
2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82
 SHA512 
4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
 DIST windows-0.42.0.crate 11983675 BLAKE2B 
1c751571bcf8991646c400de7e17799a38510d8d2dbc0c36eb5cd756490578c35d72d479e93125131a9dffdecf22c438bcf08a0fe0ebfa0e7c45f544758b9ee7
 SHA512 
e289d5c3335cad29a27ade20258b47cd7f28a1fb85060f74b8ab163a1ca938530c9040eb90e60e542d400ee38a0b7773d8e2ffca297485d488e59e22d7f3a809
 DIST windows-0.48.0.crate 11864177 BLAKE2B 
39c0e4f058f68a829ee08721818a0b04287af20dfe6e03a125b75566b4c8a58b56557d685600f1f9c215811154f9782f12368d42848445d54dcf9bfd6471349d
 SHA512 
7c906f885fa0a730f1cb1ef4e62f5b602a49d44343febe1d38fcd4cbc28e0342766983796042585fe457aa229333558715b6270e378946faa8f398a7ecc2af8c
+DIST windows-0.52.0.crate 11843715 BLAKE2B 
0d35225f5d61f71b0cb768f03825031101e05c83d7f12e05cb17b14ba28e6bc6a3d5aaee5ba07e54c1a773b6eadde4ce3523ab87e8e313e5578e2de01a3dcdc7
 SHA512 
8a9d443cfae3b44ab50bdffd70b70ea3b3d536f464e4beb7cfa9e15eb4e4505cbac20266b44d589bb7231790a87f473ead6d2160b8cd18d62f31b78bf61417da
+DIST windows-core-0.52.0.crate 42154 BLAKE2B 
9670bf02261b4ab2a24eff97dad11e305deac823cacfae286965b62b11bc035f19a55ca710eaa4359c8a4905433a94fe62a836b77ddd68f244ad6ac2c9657f58
 SHA512 
0c8f1c7e63c11bdcf1361150ecc83abbfba8da2c6d28523799bd286bf8aa1df61ffed19175e8cb3ef516a9afb6248b640c2101a2e0c09a99bfd7a18c6741bd36
+DIST windows-implement-0.52.0.crate 8705 BLAKE2B 
1269a950a4c3458bd5aa9aa8e1414f077b651891a74b29050f528394ef874c053b5969a0be1e30f864c0288814250264c989c845f7af6ca54ec6b9282dbd60ba
 SHA512 
ae252a0bf64ed7bcf0a34420fe76af4623daccec0b41591d5e52c4b42be3c02b91669f25f6db58a8b88d58ed693557ddb364534b32d96b95b810516342ba0366
+DIST windows-interface-0.52.0.crate 9685 BLAKE2B 
65d9abe750ebd74775370d99c96fe8d4459e351ee5271349022c9e8d2f7e26b2fdb4296fbca136b50137193e45c6bb98d80f37e4c5e04b94004f078ffc047e97
 SHA512 
3d62c9d598c389d10ad6fb6ed84b7f9c2e70d8d449a0d34dbb343b1a9dcc435b5b4a44fe8843500e53b8dcede5ea3aebaed6883ab280b5217387e15bb8a3c073
 DIST windows-sys-0.42.0.crate 3006791 BLAKE2B 
7a0962364ecc416cf0ae7e49cce1298a12d819003e488f6e77aff1a52710f00378638b6a05db5557a031e1b75659587657971ddc63eaab35495133762f99a7b2
 SHA512 
b07b119688f3e3ad234d36979947f34e8e19988fb62101afbe18ec8afc9c8a4261128939df8bbb849d5c5982422cb4c50dbcba70f2bf401fbb7c605df1b2b354
 DIST windows-targets-0.48.0.crate 7466 BLAKE2B 
4ef6d89ad5b1acf26a1a24348122b86d3943bd95935499bc9032fbc7aa01c04999c723df7fecb4989854cb6b7cceffe141537dfb05a9eaf3902c4cb490533116
 SHA512 
1d2a29602a1e0846c8577ec9167c5f9972091998a5df449d67b13ad918bf37680e7f97247baf5e3010c166d0b3182418c2925470998b92893ee9469939b91e22
+DIST windows-targets-0.52.6.crate 6403 BLAKE2B 
eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c
 SHA512 
d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f
 DIST windows_aarch64_gnullvm-0.42.0.crate 357917 BLAKE2B 
58da715a46692ed786fa554338d446eaaa50c63ec1d4090cf0690a9211c0221034479e9066cad1c98234410519833826ae3163bf6724c3b06097d5b84d7b9fcf
 SHA512 
8bd60142e8982ddb14dde4e93b9753f9ac34830c05c2a1dd4568377f9a928651bf9f026a0080e5bc7dfa62a45942376736954e3ac800855d00eef0c72929f338
 DIST windows_aarch64_gnullvm-0.48.0.crate 366543 BLAKE2B 
9b10f65089fe6da3ff38a1061783f635644ae84f567f891eaced280af68f7ff3919b34289e8850aa34554bb0346903273ff0a7fa743ca8794c2d23a9f1b0185f
 SHA512 
80c5aa74c5669f7acff3882a8e7575f15e8d7cc58c11a1cb731ff423eb9cc9ba43cc6b80e52803c0d44e6a9001655ba87de6f43a9fe858da6d6e3a5c983a2711
+DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 
8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334
 SHA512 
f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5
 DIST windows_aarch64_msvc-0.42.0.crate 659424 BLAKE2B 
a8c9a288767756f2086bd0706774cdcce5c8639431ad76ed122d4b6d13c936ca8fb1a463d34835b3a2728f4444e2f4b91ee772f00c54f348094da69c05ce6b93
 SHA512 
20c0840adec84dde03b143e5b82bb0003fee675310487f0071a81ed7f40ee647c4018ccb9ebdbc4aeada717ec8600a30dfb15510c6b336f07becdb7167668fd0
 DIST windows_aarch64_msvc-0.48.0.crate 671479 BLAKE2B 
0c80f210437628e1d878d1d14e884fea532c7539b3030aa76d46f27d02372c715c6e33d7efdbbd770666472b44a66c30711a33d819ede9cdcd51c96355802d45
 SHA512 
617e47a7202f1db4dbd3ecea509682135ccd85e3a458c0331b9bc7aa1d84e5756b59c881cb098d5c6d4c951248d13c8253a8e8a50938e1997bd19ceba77262df
+DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B 
adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b
 SHA512 
a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b
 DIST windows_i686_gnu-0.42.0.crate 728570 BLAKE2B 
b72079610b5c4fc798a79fa757b19f8c8baceaf7f4ce824193a65fadaac988ebdff1719a74d676b7dd017e11ceb029402bbac4e55c35206172e15a9bef422f78
 SHA512 
a24dd1ba5eb7d5231853bebadfde0575ae9071a565868d2f3d1bc6ec0a87380c569a621f0cba2552af7a1e46ac62f09f87cfbce3f674be06be1a7c1d3f421474
 DIST windows_i686_gnu-0.48.0.crate 741490 BLAKE2B 
5a4a584f8d8ee5bbd2d4c5b6749a66f2d43fc9e4ef90faab2227709b270f0d46fc26578c029edd96877c71309316ddb32d91c39f46d88f9a484c614f866e3dbe
 SHA512 
15149fdd48b61b6d993acd392dbd353d0280d984ea88745217e4207937174bb90cdd9701f69ff0fe06a842f03607cbb57937d20d79ab577181e605a8a8fadc68
+DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 
5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405
 SHA512 
a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822
+DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B 
fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e
 SHA512 
95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f
 DIST windows_i686_msvc-0.42.0.crate 717477 BLAKE2B 
a37e068f45590f0c31349acbdb56848106d6de0e1f8030e6bd5e1e174bd9a46737db54fbd61de99054e5e8c5263eaef0508c440f43c39dca82baa77792ff2743
 SHA512 
740400e2b11c1d177f7f37f844cd2a0f84b97a5adb03a7656661deb026b593a799ace8da1f9013ba9f74446fc43260d01dff7d4be607129ec7d602f341b2b4d1
 DIST windows_i686_msvc-0.48.0.crate 730056 BLAKE2B 
4e4ad6ed94948145199c2ed50fc65e4af08455a0fd058bb0f763d481f30b029f99a2b8dbac087b29e762500a19270f6683baf62ba99d141eb002a5b0b5c8ea05
 SHA512 
11a50800e709712dbea907275bc0faa46d2eb2969118445ed5b932d9c5957a09592a5b26a40e554c1f5fd56c6d074a07637e6f88eedd2224e1001e62df7b469b
+DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 
99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc
 SHA512 
ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96
 DIST windows_x86_64_gnu-0.42.0.crate 692493 BLAKE2B 
e00eae443cfed3004809244654268ee1bec17975166ca876dd393dcfe8a2ef0ca65d81b04c8f513f95a0fae9405ba796c085951bc2c597d252a3122f7dbf6425
 SHA512 
7df7ee0c345f0a2c37d7f9ec3a2824116b4d7a943bf245787509e67809a4f31ebb1862e212efb2d943d82ccef77a716437cdc61004396ca86e95e688368c6dae
 DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B 
b227efb78a99c43d0538cceadada3fa1840df29adc665787fdcf845b73e77d782da8a9f9aa602e1da61401b550d0107176feb6c397c922a6240b38cc8f04a180
 SHA512 
38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602
+DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B 
e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687
 SHA512 
c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb
 DIST windows_x86_64_gnullvm-0.42.0.crate 357906 BLAKE2B 
02e08e696f18105f0c131fcf5db046ec945cb21ede76d2da477589e15d062ca6f04906dac80fdd2ef9fcda9244490aad86b401d0156eb6b65ba3599098e8cfe7
 SHA512 
242e11b4a0d50a0ffe8d0e26e971de30ef4d29260ae6749403d39cb4278297a240c1ec4112bb38151cbb11a6f3c8a743e84cd75b6a76adfeaee8e623649c9ecf
 DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 
295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58
 SHA512 
8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396
+DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B 
ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96
 SHA512 
67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd
 DIST windows_x86_64_msvc-0.42.0.crate 659377 BLAKE2B 
f01dbfcb86dcb7301790a1a704661864378021cbb92b147fdfcee978b7011bb770441c481b439985c298816c524c6a11f21a7bd81115e65882fa000a28566bcd
 SHA512 
94d6554ae293785d2fc9dc9d53480c98bc08ab2b78bd8684a0606e7e0ec156a454c1a653d214c21de382bc7ab5d898e45000ed73e6110f679da513ffabbf3cb9
 DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B 
abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786
 SHA512 
6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795
+DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 
8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719
 SHA512 
21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7
+DIST wmi-0.13.3.crate 53050 BLAKE2B 
c2d32e07f3f540edeb831cacf68448b487271089f565a52ea87633438c2a30d473396f7242c5a99520467deb4e9a3a70630d4ad36421c8d354ba707821e26da7
 SHA512 
2b0fa6de3485b511da9b472c94ccec580e11ba157443979b6f4d2e35b5392823b433f7285a2cc0863e68fa7ef036403ca69446f9c3dbd5d9db7035abd6da8fda

diff --git a/app-laptop/framework_tool/framework_tool-0.1.0_p20240930.ebuild 
b/app-laptop/framework_tool/framework_tool-0.1.0_p20240930.ebuild
new file mode 100644
index 000000000..d9afd502e
--- /dev/null
+++ b/app-laptop/framework_tool/framework_tool-0.1.0_p20240930.ebuild
@@ -0,0 +1,291 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+is_live() {
+       [[ ${PV} == 9999 ]]
+}
+
+CRATES="
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]+1.5.1
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+"
+
+if ! is_live; then
+       GIT_COMMIT_RUST_HWIO="9bcff4277d8f3d7dce2b12c6ad81d092ae35c4ba"
+       GIT_COMMIT_SMBIOS_LIB="b3e2fff8a6f4b8c2d729467cbbf0c8c41974cd1c"
+       GIT_COMMIT_UEFI_RS="76130a0f1c1585012e598b8c514526bac09c68e0"
+
+       declare -A GIT_CRATES=(
+               
[redox_hwio]="https://github.com/FrameworkComputer/rust-hwio;${GIT_COMMIT_RUST_HWIO};rust-hwio-%commit%";
+               
[smbios-lib]="https://github.com/FrameworkComputer/smbios-lib;${GIT_COMMIT_SMBIOS_LIB}";
+               
[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";
+       )
+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="8ffc2f9f73df2e7a39c4a0ce688d4dc16b1c4397"
+               [[ -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 "$(cargo_target_dir)/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