git: 0fe0d014a700 - main - sysutils/magika: New port: Fast and accurate AI powered file content types detection
Yuri Victorovich <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.cvs.ports |
|---|---|
| Message-ID | <6a75688f.31a0c.72f02a82__21044.8619489156$1786079432$gmane$org@gitrepo.freebsd.org> |
The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=0fe0d014a7006bec3465b9a7600e87dbd32a5a61 commit 0fe0d014a7006bec3465b9a7600e87dbd32a5a61 Author: Yuri Victorovich <[email protected]> AuthorDate: 2026-08-07 02:53:01 +0000 Commit: Yuri Victorovich <[email protected]> CommitDate: 2026-08-07 05:09:29 +0000 sysutils/magika: New port: Fast and accurate AI powered file content types detection --- sysutils/Makefile | 1 + sysutils/magika/Makefile | 187 ++++++++++++++++++++ sysutils/magika/distinfo | 305 ++++++++++++++++++++++++++++++++ sysutils/magika/files/patch-src_main.rs | 48 +++++ sysutils/magika/pkg-descr | 11 ++ 5 files changed, 552 insertions(+) diff --git a/sysutils/Makefile b/sysutils/Makefile index e12f9b727052..18d751484b28 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -715,6 +715,7 @@ SUBDIR += mac_rtprio SUBDIR += mackerel-agent SUBDIR += magicrescue + SUBDIR += magika SUBDIR += manck SUBDIR += mapchan SUBDIR += mapdir diff --git a/sysutils/magika/Makefile b/sysutils/magika/Makefile new file mode 100644 index 000000000000..303aa3ecdd38 --- /dev/null +++ b/sysutils/magika/Makefile @@ -0,0 +1,187 @@ +PORTNAME= magika +DISTVERSIONPREFIX= cli/v +DISTVERSION= 1.1.0 +CATEGORIES= sysutils # machine-learning + +MAINTAINER= [email protected] +COMMENT= Fast and accurate AI powered file content types detection +WWW= https://securityresearch.google/magika/ \ + https://github.com/google/magika + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/../../LICENSE + +LIB_DEPENDS= libonnxruntime.so:misc/onnxruntime + +USES= cargo + +USE_GITHUB= yes +GH_ACCOUNT= google + +WRKSRC_SUBDIR= rust/cli + +CARGO_CRATES= addr2line-0.25.1 \ + adler2-2.0.1 \ + anstream-0.6.21 \ + anstyle-1.0.13 \ + anstyle-parse-0.2.7 \ + anstyle-query-1.1.4 \ + anstyle-wincon-3.0.10 \ + anyhow-1.0.100 \ + async-channel-2.5.0 \ + autocfg-1.5.0 \ + backtrace-0.3.76 \ + base64-0.22.1 \ + base64ct-1.8.0 \ + bitflags-2.9.4 \ + byteorder-1.5.0 \ + bytes-1.11.1 \ + cc-1.2.40 \ + cfg-if-1.0.3 \ + clap-4.5.48 \ + clap_builder-4.5.48 \ + clap_derive-4.5.47 \ + clap_lex-0.7.5 \ + colorchoice-1.0.4 \ + colored-3.0.0 \ + concurrent-queue-2.5.0 \ + core-foundation-0.9.4 \ + core-foundation-sys-0.8.7 \ + crossbeam-utils-0.8.21 \ + der-0.7.10 \ + errno-0.3.14 \ + event-listener-5.4.1 \ + event-listener-strategy-0.5.4 \ + fastrand-2.3.0 \ + find-msvc-tools-0.1.3 \ + fnv-1.0.7 \ + foreign-types-0.3.2 \ + foreign-types-shared-0.1.1 \ + futures-core-0.3.31 \ + getrandom-0.3.3 \ + gimli-0.32.3 \ + heck-0.5.0 \ + hermit-abi-0.5.2 \ + hmac-sha256-1.1.14 \ + http-1.3.1 \ + httparse-1.10.1 \ + io-uring-0.7.10 \ + is_terminal_polyfill-1.70.1 \ + itoa-1.0.15 \ + libc-0.2.176 \ + linux-raw-sys-0.11.0 \ + lock_api-0.4.14 \ + log-0.4.28 \ + lzma-rust2-0.15.7 \ + matrixmultiply-0.3.10 \ + memchr-2.7.6 \ + miniz_oxide-0.8.9 \ + mio-1.0.4 \ + native-tls-0.2.14 \ + ndarray-0.17.1 \ + num-complex-0.4.6 \ + num-integer-0.1.46 \ + num-traits-0.2.19 \ + num_cpus-1.17.0 \ + object-0.37.3 \ + once_cell-1.21.3 \ + once_cell_polyfill-1.70.1 \ + openssl-0.10.78 \ + openssl-macros-0.1.1 \ + openssl-probe-0.1.6 \ + openssl-sys-0.9.114 \ + ort-2.0.0-rc.12 \ + ort-sys-2.0.0-rc.12 \ + parking-2.2.1 \ + parking_lot-0.12.5 \ + parking_lot_core-0.9.12 \ + pem-rfc7468-0.7.0 \ + percent-encoding-2.3.2 \ + pin-project-lite-0.2.16 \ + pkg-config-0.3.32 \ + portable-atomic-1.11.1 \ + portable-atomic-util-0.2.4 \ + proc-macro2-1.0.101 \ + quote-1.0.41 \ + r-efi-5.3.0 \ + rawpointer-0.2.1 \ + redox_syscall-0.5.18 \ + rustc-demangle-0.1.26 \ + rustix-1.1.2 \ + rustls-pemfile-2.2.0 \ + rustls-pki-types-1.12.0 \ + ryu-1.0.20 \ + schannel-0.1.28 \ + scopeguard-1.2.0 \ + security-framework-2.11.1 \ + security-framework-sys-2.15.0 \ + serde-1.0.228 \ + serde_core-1.0.228 \ + serde_derive-1.0.228 \ + serde_json-1.0.145 \ + shlex-1.3.0 \ + signal-hook-registry-1.4.6 \ + slab-0.4.11 \ + smallvec-1.15.1 \ + socket2-0.6.0 \ + socks-0.3.4 \ + strsim-0.11.1 \ + syn-2.0.106 \ + tempfile-3.23.0 \ + thiserror-1.0.69 \ + thiserror-impl-1.0.69 \ + tokio-1.47.1 \ + tokio-macros-2.5.0 \ + tracing-0.1.41 \ + tracing-core-0.1.34 \ + unicode-ident-1.0.19 \ + ureq-3.1.2 \ + ureq-proto-0.5.2 \ + utf-8-0.7.6 \ + utf8parse-0.2.2 \ + vcpkg-0.2.15 \ + wasi-0.11.1+wasi-snapshot-preview1 \ + wasi-0.14.7+wasi-0.2.4 \ + wasip2-1.0.1+wasi-0.2.4 \ + webpki-root-certs-1.0.2 \ + winapi-0.3.9 \ + winapi-i686-pc-windows-gnu-0.4.0 \ + winapi-x86_64-pc-windows-gnu-0.4.0 \ + windows-link-0.2.0 \ + windows-sys-0.59.0 \ + windows-sys-0.60.2 \ + windows-sys-0.61.1 \ + windows-targets-0.52.6 \ + windows-targets-0.53.4 \ + windows_aarch64_gnullvm-0.52.6 \ + windows_aarch64_gnullvm-0.53.0 \ + windows_aarch64_msvc-0.52.6 \ + windows_aarch64_msvc-0.53.0 \ + windows_i686_gnu-0.52.6 \ + windows_i686_gnu-0.53.0 \ + windows_i686_gnullvm-0.52.6 \ + windows_i686_gnullvm-0.53.0 \ + windows_i686_msvc-0.52.6 \ + windows_i686_msvc-0.53.0 \ + windows_x86_64_gnu-0.52.6 \ + windows_x86_64_gnu-0.53.0 \ + windows_x86_64_gnullvm-0.52.6 \ + windows_x86_64_gnullvm-0.53.0 \ + windows_x86_64_msvc-0.52.6 \ + windows_x86_64_msvc-0.53.0 \ + wit-bindgen-0.46.0 \ + zeroize-1.8.2 + +OPENSSLINC= /usr/include +OPENSSLLIB= /usr/lib + +MAKE_ENV+= ORT_STRATEGY=compile \ + ORT_LIB_PATH=${LOCALBASE}/lib \ + ORT_PREFER_DYNAMIC_LINK=1 + +PLIST_FILES= bin/${PORTNAME} + +post-install: + @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME} + +.include <bsd.port.mk> diff --git a/sysutils/magika/distinfo b/sysutils/magika/distinfo new file mode 100644 index 000000000000..14a11b21d112 --- /dev/null +++ b/sysutils/magika/distinfo @@ -0,0 +1,305 @@ +TIMESTAMP = 1786057853 +SHA256 (rust/crates/addr2line-0.25.1.crate) = 1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b +SIZE (rust/crates/addr2line-0.25.1.crate) = 43134 +SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa +SIZE (rust/crates/adler2-2.0.1.crate) = 13366 +SHA256 (rust/crates/anstream-0.6.21.crate) = 43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a +SIZE (rust/crates/anstream-0.6.21.crate) = 29516 +SHA256 (rust/crates/anstyle-1.0.13.crate) = 5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78 +SIZE (rust/crates/anstyle-1.0.13.crate) = 17651 +SHA256 (rust/crates/anstyle-parse-0.2.7.crate) = 4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2 +SIZE (rust/crates/anstyle-parse-0.2.7.crate) = 21707 +SHA256 (rust/crates/anstyle-query-1.1.4.crate) = 9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2 +SIZE (rust/crates/anstyle-query-1.1.4.crate) = 10192 +SHA256 (rust/crates/anstyle-wincon-3.0.10.crate) = 3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a +SIZE (rust/crates/anstyle-wincon-3.0.10.crate) = 12558 +SHA256 (rust/crates/anyhow-1.0.100.crate) = a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61 +SIZE (rust/crates/anyhow-1.0.100.crate) = 54059 +SHA256 (rust/crates/async-channel-2.5.0.crate) = 924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2 +SIZE (rust/crates/async-channel-2.5.0.crate) = 18624 +SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8 +SIZE (rust/crates/autocfg-1.5.0.crate) = 18729 +SHA256 (rust/crates/backtrace-0.3.76.crate) = bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6 +SIZE (rust/crates/backtrace-0.3.76.crate) = 89458 +SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6 +SIZE (rust/crates/base64-0.22.1.crate) = 81597 +SHA256 (rust/crates/base64ct-1.8.0.crate) = 55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba +SIZE (rust/crates/base64ct-1.8.0.crate) = 31211 +SHA256 (rust/crates/bitflags-2.9.4.crate) = 2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394 +SIZE (rust/crates/bitflags-2.9.4.crate) = 47950 +SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b +SIZE (rust/crates/byteorder-1.5.0.crate) = 23288 +SHA256 (rust/crates/bytes-1.11.1.crate) = 1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33 +SIZE (rust/crates/bytes-1.11.1.crate) = 78584 +SHA256 (rust/crates/cc-1.2.40.crate) = e1d05d92f4b1fd76aad469d46cdd858ca761576082cd37df81416691e50199fb +SIZE (rust/crates/cc-1.2.40.crate) = 91094 +SHA256 (rust/crates/cfg-if-1.0.3.crate) = 2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9 +SIZE (rust/crates/cfg-if-1.0.3.crate) = 8719 +SHA256 (rust/crates/clap-4.5.48.crate) = e2134bb3ea021b78629caa971416385309e0131b351b25e01dc16fb54e1b5fae +SIZE (rust/crates/clap-4.5.48.crate) = 61935 +SHA256 (rust/crates/clap_builder-4.5.48.crate) = c2ba64afa3c0a6df7fa517765e31314e983f51dda798ffba27b988194fb65dc9 +SIZE (rust/crates/clap_builder-4.5.48.crate) = 170133 +SHA256 (rust/crates/clap_derive-4.5.47.crate) = bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c +SIZE (rust/crates/clap_derive-4.5.47.crate) = 33550 +SHA256 (rust/crates/clap_lex-0.7.5.crate) = b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675 +SIZE (rust/crates/clap_lex-0.7.5.crate) = 13469 +SHA256 (rust/crates/colorchoice-1.0.4.crate) = b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75 +SIZE (rust/crates/colorchoice-1.0.4.crate) = 8196 +SHA256 (rust/crates/colored-3.0.0.crate) = fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e +SIZE (rust/crates/colored-3.0.0.crate) = 34497 +SHA256 (rust/crates/concurrent-queue-2.5.0.crate) = 4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973 +SIZE (rust/crates/concurrent-queue-2.5.0.crate) = 22654 +SHA256 (rust/crates/core-foundation-0.9.4.crate) = 91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f +SIZE (rust/crates/core-foundation-0.9.4.crate) = 27743 +SHA256 (rust/crates/core-foundation-sys-0.8.7.crate) = 773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b +SIZE (rust/crates/core-foundation-sys-0.8.7.crate) = 37712 +SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28 +SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691 +SHA256 (rust/crates/der-0.7.10.crate) = e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb +SIZE (rust/crates/der-0.7.10.crate) = 90111 +SHA256 (rust/crates/errno-0.3.14.crate) = 39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb +SIZE (rust/crates/errno-0.3.14.crate) = 12002 +SHA256 (rust/crates/event-listener-5.4.1.crate) = e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab +SIZE (rust/crates/event-listener-5.4.1.crate) = 43782 +SHA256 (rust/crates/event-listener-strategy-0.5.4.crate) = 8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93 +SIZE (rust/crates/event-listener-strategy-0.5.4.crate) = 16179 +SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be +SIZE (rust/crates/fastrand-2.3.0.crate) = 15076 +SHA256 (rust/crates/find-msvc-tools-0.1.3.crate) = 0399f9d26e5191ce32c498bebd31e7a3ceabc2745f0ac54af3f335126c3f24b3 +SIZE (rust/crates/find-msvc-tools-0.1.3.crate) = 30486 +SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1 +SIZE (rust/crates/fnv-1.0.7.crate) = 11266 +SHA256 (rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1 +SIZE (rust/crates/foreign-types-0.3.2.crate) = 7504 +SHA256 (rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b +SIZE (rust/crates/foreign-types-shared-0.1.1.crate) = 5672 +SHA256 (rust/crates/futures-core-0.3.31.crate) = 05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e +SIZE (rust/crates/futures-core-0.3.31.crate) = 14318 +SHA256 (rust/crates/getrandom-0.3.3.crate) = 26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4 +SIZE (rust/crates/getrandom-0.3.3.crate) = 49493 +SHA256 (rust/crates/gimli-0.32.3.crate) = e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7 +SIZE (rust/crates/gimli-0.32.3.crate) = 289789 +SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea +SIZE (rust/crates/heck-0.5.0.crate) = 11517 +SHA256 (rust/crates/hermit-abi-0.5.2.crate) = fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c +SIZE (rust/crates/hermit-abi-0.5.2.crate) = 17435 +SHA256 (rust/crates/hmac-sha256-1.1.14.crate) = ec9d92d097f4749b64e8cc33d924d9f40a2d4eb91402b458014b781f5733d60f +SIZE (rust/crates/hmac-sha256-1.1.14.crate) = 10732 +SHA256 (rust/crates/http-1.3.1.crate) = f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565 +SIZE (rust/crates/http-1.3.1.crate) = 106063 +SHA256 (rust/crates/httparse-1.10.1.crate) = 6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87 +SIZE (rust/crates/httparse-1.10.1.crate) = 45190 +SHA256 (rust/crates/io-uring-0.7.10.crate) = 046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b +SIZE (rust/crates/io-uring-0.7.10.crate) = 103070 +SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf +SIZE (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7492 +SHA256 (rust/crates/itoa-1.0.15.crate) = 4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c +SIZE (rust/crates/itoa-1.0.15.crate) = 11231 +SHA256 (rust/crates/libc-0.2.176.crate) = 58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174 +SIZE (rust/crates/libc-0.2.176.crate) = 790040 +SHA256 (rust/crates/linux-raw-sys-0.11.0.crate) = df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039 +SIZE (rust/crates/linux-raw-sys-0.11.0.crate) = 2659624 +SHA256 (rust/crates/lock_api-0.4.14.crate) = 224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965 +SIZE (rust/crates/lock_api-0.4.14.crate) = 29249 +SHA256 (rust/crates/log-0.4.28.crate) = 34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432 +SIZE (rust/crates/log-0.4.28.crate) = 51131 +SHA256 (rust/crates/lzma-rust2-0.15.7.crate) = 1670343e58806300d87950e3401e820b519b9384281bbabfb15e3636689ffd69 +SIZE (rust/crates/lzma-rust2-0.15.7.crate) = 253988 +SHA256 (rust/crates/matrixmultiply-0.3.10.crate) = a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08 +SIZE (rust/crates/matrixmultiply-0.3.10.crate) = 58170 +SHA256 (rust/crates/memchr-2.7.6.crate) = f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273 +SIZE (rust/crates/memchr-2.7.6.crate) = 97616 +SHA256 (rust/crates/miniz_oxide-0.8.9.crate) = 1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316 +SIZE (rust/crates/miniz_oxide-0.8.9.crate) = 67132 +SHA256 (rust/crates/mio-1.0.4.crate) = 78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c +SIZE (rust/crates/mio-1.0.4.crate) = 104212 +SHA256 (rust/crates/native-tls-0.2.14.crate) = 87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e +SIZE (rust/crates/native-tls-0.2.14.crate) = 29385 +SHA256 (rust/crates/ndarray-0.17.1.crate) = 0c7c9125e8f6f10c9da3aad044cc918cf8784fa34de857b1aa68038eb05a50a9 +SIZE (rust/crates/ndarray-0.17.1.crate) = 316954 +SHA256 (rust/crates/num-complex-0.4.6.crate) = 73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495 +SIZE (rust/crates/num-complex-0.4.6.crate) = 30352 +SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f +SIZE (rust/crates/num-integer-0.1.46.crate) = 22331 +SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841 +SIZE (rust/crates/num-traits-0.2.19.crate) = 51631 +SHA256 (rust/crates/num_cpus-1.17.0.crate) = 91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b +SIZE (rust/crates/num_cpus-1.17.0.crate) = 15874 +SHA256 (rust/crates/object-0.37.3.crate) = ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe +SIZE (rust/crates/object-0.37.3.crate) = 344032 +SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d +SIZE (rust/crates/once_cell-1.21.3.crate) = 34534 +SHA256 (rust/crates/once_cell_polyfill-1.70.1.crate) = a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad +SIZE (rust/crates/once_cell_polyfill-1.70.1.crate) = 7510 +SHA256 (rust/crates/openssl-0.10.78.crate) = f38c4372413cdaaf3cc79dd92d29d7d9f5ab09b51b10dded508fb90bb70b9222 +SIZE (rust/crates/openssl-0.10.78.crate) = 292622 +SHA256 (rust/crates/openssl-macros-0.1.1.crate) = a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c +SIZE (rust/crates/openssl-macros-0.1.1.crate) = 5601 +SHA256 (rust/crates/openssl-probe-0.1.6.crate) = d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e +SIZE (rust/crates/openssl-probe-0.1.6.crate) = 8128 +SHA256 (rust/crates/openssl-sys-0.9.114.crate) = 13ce1245cd07fcc4cfdb438f7507b0c7e4f3849a69fd84d52374c66d83741bb6 +SIZE (rust/crates/openssl-sys-0.9.114.crate) = 75617 +SHA256 (rust/crates/ort-2.0.0-rc.12.crate) = d7de3af33d24a745ffb8fab904b13478438d1cd52868e6f17735ef6e1f8bf133 +SIZE (rust/crates/ort-2.0.0-rc.12.crate) = 149216 +SHA256 (rust/crates/ort-sys-2.0.0-rc.12.crate) = d7b497d21a8b6fbb4b5a544f8fadb77e801a09ae0add9e411d31c6f89e3c1e90 +SIZE (rust/crates/ort-sys-2.0.0-rc.12.crate) = 55131 +SHA256 (rust/crates/parking-2.2.1.crate) = f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba +SIZE (rust/crates/parking-2.2.1.crate) = 10685 +SHA256 (rust/crates/parking_lot-0.12.5.crate) = 93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a +SIZE (rust/crates/parking_lot-0.12.5.crate) = 46735 +SHA256 (rust/crates/parking_lot_core-0.9.12.crate) = 2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1 +SIZE (rust/crates/parking_lot_core-0.9.12.crate) = 34110 +SHA256 (rust/crates/pem-rfc7468-0.7.0.crate) = 88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412 +SIZE (rust/crates/pem-rfc7468-0.7.0.crate) = 24159 +SHA256 (rust/crates/percent-encoding-2.3.2.crate) = 9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220 +SIZE (rust/crates/percent-encoding-2.3.2.crate) = 11583 +SHA256 (rust/crates/pin-project-lite-0.2.16.crate) = 3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b +SIZE (rust/crates/pin-project-lite-0.2.16.crate) = 30504 +SHA256 (rust/crates/pkg-config-0.3.32.crate) = 7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c +SIZE (rust/crates/pkg-config-0.3.32.crate) = 21370 +SHA256 (rust/crates/portable-atomic-1.11.1.crate) = f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483 +SIZE (rust/crates/portable-atomic-1.11.1.crate) = 185506 +SHA256 (rust/crates/portable-atomic-util-0.2.4.crate) = d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507 +SIZE (rust/crates/portable-atomic-util-0.2.4.crate) = 47043 +SHA256 (rust/crates/proc-macro2-1.0.101.crate) = 89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de +SIZE (rust/crates/proc-macro2-1.0.101.crate) = 53886 +SHA256 (rust/crates/quote-1.0.41.crate) = ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1 +SIZE (rust/crates/quote-1.0.41.crate) = 31408 +SHA256 (rust/crates/r-efi-5.3.0.crate) = 69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f +SIZE (rust/crates/r-efi-5.3.0.crate) = 64532 +SHA256 (rust/crates/rawpointer-0.2.1.crate) = 60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3 +SIZE (rust/crates/rawpointer-0.2.1.crate) = 7490 +SHA256 (rust/crates/redox_syscall-0.5.18.crate) = ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d +SIZE (rust/crates/redox_syscall-0.5.18.crate) = 30747 +SHA256 (rust/crates/rustc-demangle-0.1.26.crate) = 56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace +SIZE (rust/crates/rustc-demangle-0.1.26.crate) = 30340 +SHA256 (rust/crates/rustix-1.1.2.crate) = cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e +SIZE (rust/crates/rustix-1.1.2.crate) = 422717 +SHA256 (rust/crates/rustls-pemfile-2.2.0.crate) = dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50 +SIZE (rust/crates/rustls-pemfile-2.2.0.crate) = 25849 +SHA256 (rust/crates/rustls-pki-types-1.12.0.crate) = 229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79 +SIZE (rust/crates/rustls-pki-types-1.12.0.crate) = 64740 +SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f +SIZE (rust/crates/ryu-1.0.20.crate) = 48738 +SHA256 (rust/crates/schannel-0.1.28.crate) = 891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1 +SIZE (rust/crates/schannel-0.1.28.crate) = 42312 +SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49 +SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619 +SHA256 (rust/crates/security-framework-2.11.1.crate) = 897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02 +SIZE (rust/crates/security-framework-2.11.1.crate) = 80188 +SHA256 (rust/crates/security-framework-sys-2.15.0.crate) = cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0 +SIZE (rust/crates/security-framework-sys-2.15.0.crate) = 20718 +SHA256 (rust/crates/serde-1.0.228.crate) = 9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e +SIZE (rust/crates/serde-1.0.228.crate) = 83652 +SHA256 (rust/crates/serde_core-1.0.228.crate) = 41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad +SIZE (rust/crates/serde_core-1.0.228.crate) = 63111 +SHA256 (rust/crates/serde_derive-1.0.228.crate) = d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79 +SIZE (rust/crates/serde_derive-1.0.228.crate) = 59605 +SHA256 (rust/crates/serde_json-1.0.145.crate) = 402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c +SIZE (rust/crates/serde_json-1.0.145.crate) = 155748 +SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64 +SIZE (rust/crates/shlex-1.3.0.crate) = 18713 +SHA256 (rust/crates/signal-hook-registry-1.4.6.crate) = b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b +SIZE (rust/crates/signal-hook-registry-1.4.6.crate) = 19277 +SHA256 (rust/crates/slab-0.4.11.crate) = 7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589 +SIZE (rust/crates/slab-0.4.11.crate) = 18549 +SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03 +SIZE (rust/crates/smallvec-1.15.1.crate) = 38116 +SHA256 (rust/crates/socket2-0.6.0.crate) = 233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807 +SIZE (rust/crates/socket2-0.6.0.crate) = 57974 +SHA256 (rust/crates/socks-0.3.4.crate) = f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b +SIZE (rust/crates/socks-0.3.4.crate) = 13172 +SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f +SIZE (rust/crates/strsim-0.11.1.crate) = 14266 +SHA256 (rust/crates/syn-2.0.106.crate) = ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6 +SIZE (rust/crates/syn-2.0.106.crate) = 301514 +SHA256 (rust/crates/tempfile-3.23.0.crate) = 2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16 +SIZE (rust/crates/tempfile-3.23.0.crate) = 43063 +SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52 +SIZE (rust/crates/thiserror-1.0.69.crate) = 22198 +SHA256 (rust/crates/thiserror-impl-1.0.69.crate) = 4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1 +SIZE (rust/crates/thiserror-impl-1.0.69.crate) = 18365 +SHA256 (rust/crates/tokio-1.47.1.crate) = 89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038 +SIZE (rust/crates/tokio-1.47.1.crate) = 829790 +SHA256 (rust/crates/tokio-macros-2.5.0.crate) = 6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8 +SIZE (rust/crates/tokio-macros-2.5.0.crate) = 12617 +SHA256 (rust/crates/tracing-0.1.41.crate) = 784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0 +SIZE (rust/crates/tracing-0.1.41.crate) = 82448 +SHA256 (rust/crates/tracing-core-0.1.34.crate) = b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678 +SIZE (rust/crates/tracing-core-0.1.34.crate) = 63760 +SHA256 (rust/crates/unicode-ident-1.0.19.crate) = f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d +SIZE (rust/crates/unicode-ident-1.0.19.crate) = 47480 +SHA256 (rust/crates/ureq-3.1.2.crate) = 99ba1025f18a4a3fc3e9b48c868e9beb4f24f4b4b1a325bada26bd4119f46537 +SIZE (rust/crates/ureq-3.1.2.crate) = 133481 +SHA256 (rust/crates/ureq-proto-0.5.2.crate) = 60b4531c118335662134346048ddb0e54cc86bd7e81866757873055f0e38f5d2 +SIZE (rust/crates/ureq-proto-0.5.2.crate) = 64346 +SHA256 (rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9 +SIZE (rust/crates/utf-8-0.7.6.crate) = 10422 +SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821 +SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499 +SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426 +SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735 +SHA256 (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b +SIZE (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = 28477 +SHA256 (rust/crates/wasi-0.14.7+wasi-0.2.4.crate) = 883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c +SIZE (rust/crates/wasi-0.14.7+wasi-0.2.4.crate) = 18219 +SHA256 (rust/crates/wasip2-1.0.1+wasi-0.2.4.crate) = 0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7 +SIZE (rust/crates/wasip2-1.0.1+wasi-0.2.4.crate) = 132087 +SHA256 (rust/crates/webpki-root-certs-1.0.2.crate) = 4e4ffd8df1c57e87c325000a3d6ef93db75279dc3a231125aac571650f22b12a +SIZE (rust/crates/webpki-root-certs-1.0.2.crate) = 173652 +SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419 +SIZE (rust/crates/winapi-0.3.9.crate) = 1200382 +SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6 +SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815 +SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f +SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998 +SHA256 (rust/crates/windows-link-0.2.0.crate) = 45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65 +SIZE (rust/crates/windows-link-0.2.0.crate) = 6170 +SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b +SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323 +SHA256 (rust/crates/windows-sys-0.60.2.crate) = f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb +SIZE (rust/crates/windows-sys-0.60.2.crate) = 2518479 +SHA256 (rust/crates/windows-sys-0.61.1.crate) = 6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f +SIZE (rust/crates/windows-sys-0.61.1.crate) = 2517255 +SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973 +SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403 +SHA256 (rust/crates/windows-targets-0.53.4.crate) = 2d42b7b7f66d2a06854650af09cfdf8713e427a439c97ad65a6375318033ac4b +SIZE (rust/crates/windows-targets-0.53.4.crate) = 7161 +SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3 +SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718 +SHA256 (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764 +SIZE (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 782443 +SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469 +SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615 +SHA256 (rust/crates/windows_aarch64_msvc-0.53.0.crate) = c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c +SIZE (rust/crates/windows_aarch64_msvc-0.53.0.crate) = 834446 +SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b +SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402 +SHA256 (rust/crates/windows_i686_gnu-0.53.0.crate) = c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3 +SIZE (rust/crates/windows_i686_gnu-0.53.0.crate) = 936973 +SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66 +SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940 +SHA256 (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11 +SIZE (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 854056 +SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66 +SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163 +SHA256 (rust/crates/windows_i686_msvc-0.53.0.crate) = 581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d +SIZE (rust/crates/windows_i686_msvc-0.53.0.crate) = 903450 +SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78 +SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363 +SHA256 (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba +SIZE (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 902585 +SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d +SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707 +SHA256 (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57 +SIZE (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 782434 +SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec +SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564 +SHA256 (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486 +SIZE (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 834400 +SHA256 (rust/crates/wit-bindgen-0.46.0.crate) = f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59 +SIZE (rust/crates/wit-bindgen-0.46.0.crate) = 60508 +SHA256 (rust/crates/zeroize-1.8.2.crate) = b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0 +SIZE (rust/crates/zeroize-1.8.2.crate) = 20907 +SHA256 (google-magika-cli-v1.1.0_GH0.tar.gz) = 87fd85f33d2c644d657de024b83cdc36bbdcf4a2961be5e93fe74e081477076c +SIZE (google-magika-cli-v1.1.0_GH0.tar.gz) = 84264523 diff --git a/sysutils/magika/files/patch-src_main.rs b/sysutils/magika/files/patch-src_main.rs new file mode 100644 index 000000000000..2b5083b604e4 --- /dev/null +++ b/sysutils/magika/files/patch-src_main.rs @@ -0,0 +1,48 @@ +-- Avoid assertions in the end of the process due to incorrect onnxruntime +-- un-initialization order. +-- Other distros have the same problem. + +--- src/main.rs.orig 2026-04-24 10:28:49 UTC ++++ src/main.rs +@@ -157,12 +157,40 @@ struct Experimental { + parallel_execution: Option<bool>, + } + ++// 1. Declare the raw Unix system call directly so we don't need the external libc crate ++extern "C" { ++ fn _exit(status: i32) -> !; ++} ++ + #[tokio::main] + async fn main() -> Result<()> { + let mut tasks = JoinSet::new(); + let result = start(&mut tasks).await; + while tasks.join_next().await.is_some() {} +- result ++ ++ // 2. Flush standard streams to ensure all printed results hit the terminal ++ use std::io::Write; ++ let _ = std::io::stdout().flush(); ++ let _ = std::io::stderr().flush(); ++ ++ // 3. Determine the correct status code based on execution success ++ let code = match result { ++ Ok(_) => 0, ++ Err(e) => { ++ eprintln!("Error: {:?}", e); ++ 1 ++ } ++ }; ++ ++ // 4. Invoke the raw kernel-level exit. This drops the process image instantly, ++ // preventing the broken C++ ONNX static destructors from ever running. ++ unsafe { ++ _exit(code); ++ } ++ ++ // 5. Satisfy the compiler's expected return type contract ++ #[allow(unreachable_code)] ++ Ok(()) + } + + async fn start(tasks: &mut JoinSet<()>) -> Result<()> { diff --git a/sysutils/magika/pkg-descr b/sysutils/magika/pkg-descr new file mode 100644 index 000000000000..5cc0287320e3 --- /dev/null +++ b/sysutils/magika/pkg-descr @@ -0,0 +1,11 @@ +Magika is a novel AI-powered file type detection tool that relies on the recent +advance of deep learning to provide accurate detection. Under the hood, Magika +employs a custom, highly optimized model that only weighs about a few MBs, and +enables precise file identification within milliseconds, even when running on a +single CPU. Magika has been trained and evaluated on a dataset of ~100M samples +across 200+ content types (covering both binary and textual file formats), and +it achieves an average ~99% accuracy on our test set. + +Magika is used at scale to help improve Google users' safety by routing Gmail, +Drive, and Safe Browsing files to the proper security and content policy +scanners, processing hundreds billions samples on a weekly basis.