# Copyright 2026 NymphOS Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 CRATES=" adler2@2.0.1 aead@0.6.1 aes-gcm@0.11.1 aes@0.9.3 aho-corasick@1.1.5 alias_record@0.3.0 allocator-api2@0.2.21 android_system_properties@0.1.6 ansi-to-tui@8.0.1 anstream@1.0.0 anstyle-parse@1.0.0 anstyle-query@1.1.5 anstyle-wincon@3.0.11 anstyle@1.0.14 anyhow@1.0.104 approx@0.5.1 arc-swap@1.9.2 argon2@0.6.0 array-init@2.1.0 async-priority-channel@0.2.0 atomic-waker@1.1.2 autocfg@1.5.1 base16ct@1.0.0 base64@0.22.1 base64@0.23.1 base64ct@1.8.3 bcrypt-pbkdf@0.11.0 bincode@1.3.3 binrw@0.15.2 binrw_derive@0.15.2 bit_field@0.10.3 bitflags@1.3.2 bitflags@2.13.1 bitvec@1.1.1 blake2@0.11.0 block-buffer@0.12.1 block-padding@0.4.2 blowfish@0.10.0 bon-macros@3.10.0 bon@3.10.0 bs58@0.5.1 bstr@1.13.1 bumpalo@3.20.3 by_address@1.2.1 bytemuck@1.25.2 bytemuck_derive@1.12.0 byteorder-lite@0.1.0 byteorder@1.5.0 bytes@1.12.1 castaway@0.2.4 cbc@0.2.1 cc@1.4.4 cfg-if@1.0.4 cfg_aliases@0.2.2 chacha20@0.10.2 chrono@0.4.45 cipher@0.5.2 clap@4.6.6 clap_builder@4.6.6 clap_complete@4.6.9 clap_complete_fig@4.5.2 clap_complete_nushell@4.6.2 clap_derive@4.6.4 clap_lex@1.1.0 clipboard-win@5.4.1 cmov@0.5.4 color_quant@1.1.0 colorchoice@1.0.5 combine@4.6.8 compact_str@0.10.0 concurrent-queue@2.5.0 const-oid@0.10.2 core-foundation-sys@0.8.7 core-foundation@0.10.1 cpubits@0.1.1 cpufeatures@0.3.1 crc32fast@1.5.1 critical-section@1.2.0 crossbeam-channel@0.5.16 crossbeam-utils@0.8.22 crunchy@0.2.4 crypto-bigint@0.7.5 crypto-common@0.2.2 crypto-primes@0.7.2 ctr@0.10.1 ctutils@0.4.2 curve25519-dalek-derive@0.1.1 curve25519-dalek@5.0.0 darling@0.23.0 darling@0.24.1 darling_core@0.23.0 darling_core@0.24.1 darling_macro@0.23.0 darling_macro@0.24.1 data-encoding@2.11.1 deadpool-runtime@0.3.1 deadpool@0.13.1 defmt-macros@1.1.1 defmt-parser@1.0.0 defmt@1.1.1 delegate@0.13.5 der@0.8.1 deranged@0.5.8 des@0.9.0 digest@0.11.3 dirs-sys@0.5.0 dirs@6.0.0 displaydoc@0.2.7 ds_parser@0.4.0 dyn-clone@1.0.20 ecdsa@0.17.0 ed25519-dalek@3.0.0 ed25519@3.0.0 either@1.18.0 elliptic-curve@0.14.1 enum_dispatch@0.3.13 equivalent@1.0.2 erased-serde@0.4.10 errno@0.3.14 error-code@3.4.0 event-listener@4.0.3 exr@1.74.2 fastrand@2.5.0 fax@0.2.7 fdeflate@0.3.7 fdlimit@0.3.0 ff@0.14.0 fiat-crypto@0.3.0 find-msvc-tools@0.1.11 flate2@1.1.10 fnv@1.0.7 foldhash@0.2.0 form_urlencoded@1.2.2 fsevent-sys@4.1.0 funty@2.0.0 futures-channel@0.3.34 futures-core@0.3.34 futures-executor@0.3.34 futures-io@0.3.34 futures-macro@0.3.34 futures-sink@0.3.34 futures-task@0.3.34 futures-util@0.3.34 futures@0.3.34 generic-array@0.14.9 generic-array@1.4.5 getrandom@0.2.17 getrandom@0.4.3 ghash@0.6.0 gif@0.14.2 globset@0.4.20 group@0.14.0 half@2.7.1 hashbrown@0.12.3 hashbrown@0.16.1 hashbrown@0.17.1 heck@0.5.0 hex-literal@1.1.0 hex@0.4.3 hkdf@0.13.0 hmac@0.13.0 http-body-util@0.1.5 http-body@1.1.0 http@1.5.0 httparse@1.10.1 hybrid-array@0.4.14 hyper-rustls@0.27.9 hyper-util@0.1.20 hyper@1.11.1 iana-time-zone-haiku@0.1.2 iana-time-zone@0.1.65 icu_collections@2.3.0 icu_locale_core@2.3.0 icu_normalizer@2.3.0 icu_normalizer_data@2.3.0 icu_properties@2.3.0 icu_properties_data@2.3.0 icu_provider@2.3.1 ident_case@1.0.1 idna@1.1.0 idna_adapter@1.2.2 image-webp@0.2.4 image@0.25.10 indexmap@1.9.3 indexmap@2.14.1 indoc@2.0.7 inotify-sys@0.1.8 inotify@0.11.5 inout@0.2.2 instability@0.3.13 internal-russh-num-bigint@0.5.0 inventory@0.3.24 ipnet@2.12.1 is_terminal_polyfill@1.70.2 itertools@0.14.0 itertools@0.15.0 itoa@1.0.18 jiff-core@0.1.0 jiff-static@0.2.35 jiff-tzdb-platform@0.1.3 jiff-tzdb@0.1.8 jiff@0.2.35 jni-macros@0.22.4 jni-sys-macros@0.4.1 jni-sys@0.4.1 jni@0.22.4 js-sys@0.3.104 kasuari@0.4.12 keccak@0.2.2 kem@0.3.0 kqueue-sys@1.1.2 kqueue@1.2.1 lazy_static@1.5.0 lebe@0.5.3 libc@0.2.189 libm@0.2.16 libredox@0.1.21 line-clipping@0.3.8 linux-raw-sys@0.12.1 litemap@0.8.3 lock_api@0.4.14 log@0.4.34 lru@0.18.3 lua-src@551.0.1 luajit-src@210.7.3+1ee778a matchers@0.2.0 md5@0.8.1 memchr@2.8.3 memoffset@0.9.1 miniz_oxide@0.8.9 miniz_oxide@0.9.1 mio@1.2.2 ml-kem@0.3.2 mlua-sys@0.12.0 mlua@0.12.1 mlua_derive@0.12.1 module-lattice@0.2.3 moxcms@0.8.1 moxcms@0.9.0 nix@0.31.3 nom@8.0.0 notify-types@2.1.0 notify@8.2.0 nu-ansi-term@0.50.3 num-bigint@0.4.8 num-complex@0.4.6 num-conv@0.2.2 num-integer@0.1.47 num-traits@0.2.19 num_threads@0.1.7 objc2-encode@4.1.0 objc2-foundation@0.3.2 objc2@0.6.4 once_cell@1.21.4 once_cell_polyfill@1.70.2 onig@6.5.3 onig_sys@69.9.3 openssl-probe@0.2.1 option-ext@0.2.0 ordered-float@2.10.1 ordered-float@5.5.0 owo-colors@4.4.0 p256@0.14.0 p384@0.14.0 p521@0.14.0 pageant@0.2.2 palette@0.7.7 palette_derive@0.7.7 palette_math@0.7.7 parking@2.2.1 parking_lot@0.12.5 parking_lot_core@0.9.12 password-hash@0.6.1 paste@1.0.15 pbkdf2@0.13.0 pem-rfc7468@1.0.0 percent-encoding@2.3.2 phc@0.6.1 pin-project-lite@0.2.17 pkcs1@0.8.0-rc.4 pkcs5@0.8.1 pkcs8@0.11.0 pkg-config@0.3.34 plist@1.10.0 png@0.18.1 poly1305@0.9.1 polyval@0.7.3 portable-atomic-util@0.2.7 portable-atomic@1.15.0 potential_utf@0.1.6 powerfmt@0.2.0 prettyplease@0.3.0 primefield@0.14.0 primeorder@0.14.0 proc-macro2@1.0.107 pulp-wasm-simd-flag@0.1.1 pulp@0.22.3 pxfm@0.1.30 qoi@0.4.1 quantette@0.6.0 quick-error@2.0.1 quick-xml@0.41.0 quote@1.0.47 r-efi@6.0.0 radium@0.7.0 rand@0.10.2 rand@0.8.8 rand_core@0.10.1 rand_core@0.6.4 ratatui-widgets@0.3.2 raw-cpuid@11.6.0 reborrow@0.5.5 redox_syscall@0.5.18 redox_users@0.5.2 ref-cast-impl@1.0.27 ref-cast@1.0.27 regex-automata@0.4.18 regex-syntax@0.8.11 regex@1.13.1 reqwest@0.13.4 rfc6979@0.6.0 ring@0.17.14 rsa@0.10.0-rc.18 russh-cryptovec@0.62.0 russh-util@0.52.0 russh@0.63.1 rustc-hash@2.1.3 rustc_version@0.4.1 rustix@1.1.4 rustls-native-certs@0.8.4 rustls-pki-types@1.15.1 rustls-platform-verifier-android@0.1.1 rustls-platform-verifier@0.7.0 rustls-webpki@0.103.15 rustls@0.23.43 rustversion@1.0.23 safe_arch@1.2.0 salsa20@0.11.0 same-file@1.0.6 schannel@0.1.29 schemars@0.9.0 schemars@1.2.2 scopeguard@1.2.0 scrypt@0.12.0 sec1@0.8.1 security-framework-sys@2.17.0 security-framework@3.7.0 semver@1.0.28 serde-value@0.7.0 serde@1.0.229 serde_core@1.0.229 serde_derive@1.0.229 serde_json@1.0.151 serde_spanned@1.1.1 serde_with@3.22.0 serde_with_macros@3.22.0 serdect@0.4.3 sha1@0.11.0 sha2@0.11.0 sha3@0.11.0 sha3@0.12.0 sharded-slab@0.1.7 shlex@2.0.1 signal-hook-registry@1.4.8 signal-hook-tokio@0.4.0 signal-hook@0.4.4 signature@3.0.0 simd-adler32@0.3.10 simd_cesu8@1.2.0 simdutf8@0.1.5 slab@0.4.12 smallvec@1.15.2 socket2@0.6.5 spki@0.8.0 sponge-cursor@0.1.0 ssh-cipher@0.3.0 ssh-encoding@0.3.0 ssh-key@0.7.0-rc.11 stable_deref_trait@1.2.1 static_assertions@1.1.0 strsim@0.11.1 strum@0.27.2 strum@0.28.0 strum_macros@0.27.2 strum_macros@0.28.0 subtle@2.6.1 symlink@0.1.0 syn@2.0.119 syn@3.0.4 sync_wrapper@1.0.2 synstructure@0.13.2 syntect@5.3.0 tap@1.0.1 tempfile@3.27.0 thiserror-impl@1.0.69 thiserror-impl@2.0.20 thiserror@1.0.69 thiserror@2.0.20 thread_local@1.1.10 tiff@0.11.3 tikv-jemalloc-sys@0.7.1+5.3.1-0-g81034ce1f1373e37dc865038e1bc8eeecf559ce8 tikv-jemallocator@0.7.0 time-core@0.1.9 time-macros@0.2.32 time@0.3.55 tinystr@0.8.4 tinyvec@1.12.0 tinyvec_macros@0.1.1 tokio-macros@2.7.2 tokio-rustls@0.26.4 tokio-stream@0.1.19 tokio-util@0.7.19 tokio@1.53.1 toml@1.1.4+spec-1.1.0 toml_datetime@1.1.1+spec-1.1.0 toml_parser@1.1.3+spec-1.1.0 toml_writer@1.1.2+spec-1.1.0 tower-http@0.6.11 tower-layer@0.3.3 tower-service@0.3.3 tower@0.5.3 tracing-appender@0.2.5 tracing-attributes@0.1.31 tracing-core@0.1.36 tracing-log@0.2.0 tracing-subscriber@0.3.23 tracing@0.1.44 trash@5.2.6 try-lock@0.2.5 twox-hash@2.1.4 typed-builder-macro@0.23.2 typed-builder@0.23.2 typed-path@0.12.3 typeid@1.0.3 typenum@1.20.1 uds_windows@1.2.1 unicode-ident@1.0.24 unicode-normalization@0.1.25 unicode-segmentation@1.13.3 unicode-truncate@2.0.1 unicode-width@0.2.2 universal-hash@0.6.1 untrusted@0.9.0 url@2.5.8 urlencoding@2.1.3 utf8_iter@1.0.4 utf8parse@0.2.2 uzers@0.12.2 valuable@0.1.1 vergen-gitcl@10.0.1 vergen-lib@10.0.1 vergen@10.0.1 version_check@0.9.5 walkdir@2.5.0 want@0.3.1 wasi@0.11.1+wasi-snapshot-preview1 wasm-bindgen-futures@0.4.77 wasm-bindgen-macro-support@0.2.127 wasm-bindgen-macro@0.2.127 wasm-bindgen-shared@0.2.127 wasm-bindgen@0.2.127 wasm-streams@0.5.0 web-sys@0.3.104 webpki-root-certs@1.0.9 weezl@0.1.12 which@8.0.6 wide@1.7.0 winapi-util@0.1.11 windows-collections@0.3.2 windows-core@0.56.0 windows-core@0.62.2 windows-future@0.3.2 windows-implement@0.56.0 windows-implement@0.60.2 windows-interface@0.56.0 windows-interface@0.59.3 windows-link@0.2.1 windows-numerics@0.3.1 windows-result@0.1.2 windows-result@0.4.1 windows-strings@0.5.1 windows-sys@0.52.0 windows-sys@0.60.2 windows-sys@0.61.2 windows-targets@0.52.6 windows-targets@0.53.5 windows-threading@0.2.1 windows@0.56.0 windows@0.62.2 windows_aarch64_gnullvm@0.52.6 windows_aarch64_gnullvm@0.53.1 windows_aarch64_msvc@0.52.6 windows_aarch64_msvc@0.53.1 windows_i686_gnu@0.52.6 windows_i686_gnu@0.53.1 windows_i686_gnullvm@0.52.6 windows_i686_gnullvm@0.53.1 windows_i686_msvc@0.52.6 windows_i686_msvc@0.53.1 windows_x86_64_gnu@0.52.6 windows_x86_64_gnu@0.53.1 windows_x86_64_gnullvm@0.52.6 windows_x86_64_gnullvm@0.53.1 windows_x86_64_msvc@0.52.6 windows_x86_64_msvc@0.53.1 winnow@1.0.4 wnaf@0.14.0 writeable@0.6.4 wyz@0.5.1 yazi-prebuilt@0.1.0 yoke-derive@0.8.2 yoke@0.8.3 zerocopy-derive@0.8.56 zerocopy@0.8.56 zerofrom-derive@0.1.7 zerofrom@0.1.8 zeroize@1.9.0 zerotrie@0.2.5 zerovec-derive@0.11.6 zerovec@0.11.8 zlib-rs@0.6.7 zmij@1.0.23 zune-core@0.5.3 zune-inflate@0.2.54 zune-jpeg@0.5.15" declare -A GIT_CRATES=( [ratatui-core]='https://github.com/yazi-rs/ratatui;dde5e05eccfe5b7cb7712b4bdf76edd0c2cd1f25;ratatui-%commit%/ratatui-core' ) RUST_MIN_VER="1.95.0" inherit cargo desktop shell-completion xdg DESCRIPTION="Blazing fast terminal file manager written in Rust, based on async I/O" HOMEPAGE="https://yazi-rs.github.io/" SRC_URI="https://github.com/sxyazi/yazi/archive/v${PV}.tar.gz -> ${P}.tar.gz ${CARGO_CRATE_URIS}" LICENSE="MIT" # Dependent crate licenses LICENSE+=" Apache-2.0 BSD Boost-1.0 BlueOak-1.0.0 CC0-1.0 CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 ZLIB" SLOT="0" KEYWORDS="~amd64" RDEPEND="dev-libs/oniguruma" DEPEND="${RDEPEND}" QA_FLAGS_IGNORED="usr/bin/ya.*" src_prepare() { export YAZI_GEN_COMPLETIONS=true sed -E 's/strip\s+= true/strip = false/' -i Cargo.toml || die "sed failed" sed "s|^\\[patch\\.'https://github\\.com/yazi-rs/ratatui'\\]\$|[patch.crates-io]|g" -i "${ECARGO_HOME}/config.toml" || die "sed failed" default } src_compile() { # workaround for GCC 15 issues: # unvendor libonig from rust-onig. see bugs 943785, 945008 export RUSTONIG_SYSTEM_LIBONIG=1 cargo_src_compile cargo_src_compile -p yazi-cli } src_install() { dobin "$(cargo_target_dir)/yazi" dobin "$(cargo_target_dir)/ya" dodoc README.md yazi-config/preset/{keymap-default,theme-dark,theme-light,yazi-default}.toml newbashcomp yazi-boot/completions/yazi.bash yazi dozshcomp yazi-boot/completions/_yazi dofishcomp yazi-boot/completions/yazi.fish newbashcomp yazi-cli/completions/ya.bash ya dozshcomp yazi-cli/completions/_ya dofishcomp yazi-cli/completions/ya.fish domenu assets/yazi.desktop }