# Copyright 2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Autogenerated by pycargoebuild 0.16.0 EAPI=8 RUST_MIN_VER=1.90.0 ZIG_SLOT="0.15" ZIG_NEEDS_LLVM=1 ZIG_OPTIONAL=1 CRATES=" adler2@2.0.1 aho-corasick@1.1.4 allocator-api2@0.2.21 android_system_properties@0.1.5 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.103 approx@0.5.1 async-trait@0.1.89 atomic-waker@1.1.2 atomic@0.6.1 autocfg@1.5.1 aws-lc-rs@1.17.1 aws-lc-sys@0.42.0 axum-core@0.5.6 axum@0.8.9 base64@0.22.1 bincode@1.3.3 bit-set@0.5.3 bit-vec@0.6.3 bitflags@1.3.2 bitflags@2.13.0 block-buffer@0.10.4 bumpalo@3.20.3 by_address@1.2.1 bytemuck@1.25.0 bytes@1.11.1 castaway@0.2.4 cc@1.2.64 cfg-if@1.0.4 cfg_aliases@0.2.1 chacha20@0.10.1 chrono@0.4.45 clap@4.6.2 clap_builder@4.6.2 clap_derive@4.6.1 clap_lex@1.1.0 claude-code-transcripts@0.1.11 cmake@0.1.58 colorchoice@1.0.5 combine@4.6.7 compact_str@0.9.1 convert_case@0.10.0 core-foundation-sys@0.8.7 core-foundation@0.10.1 core-foundation@0.9.4 cpufeatures@0.2.17 cpufeatures@0.3.0 crc32fast@1.5.0 critical-section@1.2.0 crossterm@0.29.0 crossterm_winapi@0.9.1 crypto-common@0.1.7 csscolorparser@0.6.2 darling@0.23.0 darling_core@0.23.0 darling_macro@0.23.0 defmt-macros@1.1.0 defmt-parser@1.0.0 defmt@1.1.0 deltae@0.3.2 deranged@0.5.8 derive_more-impl@2.1.1 derive_more@2.1.1 diff@0.1.13 digest@0.10.7 dirs-sys@0.5.0 dirs@6.0.0 displaydoc@0.2.6 document-features@0.2.12 dunce@1.0.5 either@1.16.0 encoding_rs@0.8.35 env_filter@2.0.0 env_logger@0.11.11 equivalent@1.0.2 errno@0.3.14 euclid@0.22.14 fancy-regex@0.11.0 fast-srgb8@1.0.0 filedescriptor@0.8.3 find-msvc-tools@0.1.9 finl_unicode@1.4.0 fixedbitset@0.4.2 flate2@1.1.9 fnv@1.0.7 foldhash@0.1.5 foldhash@0.2.0 form_urlencoded@1.2.2 fs2@0.4.3 fs_extra@1.3.0 futures-channel@0.3.32 futures-core@0.3.32 futures-executor@0.3.32 futures-io@0.3.32 futures-macro@0.3.32 futures-sink@0.3.32 futures-task@0.3.32 futures-timer@3.0.4 futures-util@0.3.32 futures@0.3.32 generic-array@0.14.7 getopts@0.2.24 getrandom@0.2.17 getrandom@0.3.4 getrandom@0.4.2 git2@0.21.0 glob@0.3.3 h2@0.4.14 hashbrown@0.15.5 hashbrown@0.16.1 hashbrown@0.17.1 heck@0.5.0 hex@0.4.3 http-body-util@0.1.3 http-body@1.0.1 http@1.4.2 httparse@1.10.1 httpdate@1.0.3 hyper-rustls@0.27.9 hyper-util@0.1.20 hyper@1.10.1 iana-time-zone-haiku@0.1.2 iana-time-zone@0.1.65 icu_collections@2.2.0 icu_locale_core@2.2.0 icu_normalizer@2.2.0 icu_normalizer_data@2.2.0 icu_properties@2.2.0 icu_properties_data@2.2.0 icu_provider@2.2.0 id-arena@2.3.0 ident_case@1.0.1 idna@1.1.0 idna_adapter@1.2.2 indexmap@2.14.0 indoc@2.0.7 instability@0.3.12 int-enum@1.2.0 ipnet@2.12.0 is_terminal_polyfill@1.70.2 itertools@0.14.0 itertools@0.15.0 itoa@1.0.18 jiff-static@0.2.29 jiff@0.2.29 jni-macros@0.22.4 jni-sys-macros@0.4.1 jni-sys@0.4.1 jni@0.22.4 jobserver@0.1.34 js-sys@0.3.100 kasuari@0.4.12 lab@0.11.0 lazy_static@1.5.0 leb128fmt@0.1.0 libc@0.2.186 libgit2-sys@0.18.5+1.9.4 libm@0.2.16 libredox@0.1.17 libz-sys@1.1.29 line-clipping@0.3.7 linked-hash-map@0.5.6 linux-raw-sys@0.12.1 litemap@0.8.2 litrs@1.0.0 lock_api@0.4.14 log@0.4.33 lru-slab@0.1.2 lru@0.18.1 mac_address@1.1.8 matchit@0.8.4 memchr@2.8.2 memmem@0.1.1 memoffset@0.9.1 mime@0.3.17 minimal-lexical@0.2.1 miniz_oxide@0.8.9 mio@1.2.1 nix@0.29.0 nom@7.1.3 nom@8.0.0 num-conv@0.2.2 num-derive@0.4.2 num-traits@0.2.19 num_threads@0.1.7 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@4.6.0 palette@0.7.6 palette_derive@0.7.6 parking_lot@0.12.5 parking_lot_core@0.9.12 percent-encoding@2.3.2 pest@2.8.6 pest_derive@2.8.6 pest_generator@2.8.6 pest_meta@2.8.6 phf@0.11.3 phf_codegen@0.11.3 phf_generator@0.11.3 phf_macros@0.11.3 phf_shared@0.11.3 pin-project-lite@0.2.17 pkg-config@0.3.33 plist@1.9.0 portable-atomic-util@0.2.7 portable-atomic@1.13.1 potential_utf@0.1.5 powerfmt@0.2.0 pretty_assertions@1.4.1 prettyplease@0.2.37 proc-macro-crate@3.5.0 proc-macro-error-attr2@2.0.0 proc-macro-error2@2.0.1 proc-macro2-diagnostics@0.10.1 proc-macro2@1.0.106 pulldown-cmark-escape@0.11.0 pulldown-cmark@0.13.4 quick-xml@0.39.4 quinn-proto@0.11.16 quinn-udp@0.5.15 quinn@0.11.11 quote@1.0.45 r-efi@5.3.0 r-efi@6.0.0 rand@0.10.2 rand@0.8.6 rand_core@0.10.1 rand_core@0.6.4 rand_pcg@0.10.2 ratatui-core@0.1.2 ratatui-crossterm@0.1.2 ratatui-macros@0.7.2 ratatui-termina@0.1.0 ratatui-termwiz@0.1.2 ratatui-widgets@0.3.2 ratatui@0.30.2 redox_syscall@0.5.18 redox_users@0.5.2 regex-automata@0.4.16 regex-syntax@0.8.11 regex@1.13.1 relative-path@1.9.3 reqwest@0.13.4 ring@0.17.14 rstest@0.26.1 rstest_macros@0.26.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.14.1 rustls-platform-verifier-android@0.1.1 rustls-platform-verifier@0.7.0 rustls-webpki@0.103.13 rustls@0.23.40 rustversion@1.0.22 ryu@1.0.23 same-file@1.0.6 schannel@0.1.29 scopeguard@1.2.0 security-framework-sys@2.17.0 security-framework@3.7.0 semver@1.0.28 serde@1.0.228 serde_core@1.0.228 serde_derive@1.0.228 serde_json@1.0.150 serde_path_to_error@0.1.20 serde_spanned@1.1.1 serde_urlencoded@0.7.1 sha2@0.10.9 shlex@2.0.1 signal-hook-mio@0.2.5 signal-hook-registry@1.4.8 signal-hook@0.3.18 simd-adler32@0.3.9 simd_cesu8@1.1.1 simdutf8@0.1.5 siphasher@1.0.3 slab@0.4.12 smallvec@1.15.2 socket2@0.6.4 stable_deref_trait@1.2.1 static_assertions@1.1.0 strsim@0.11.1 strum@0.28.0 strum_macros@0.28.0 subtle@2.6.1 syn@1.0.109 syn@2.0.117 sync_wrapper@1.0.2 synstructure@0.13.2 syntect@5.3.0 system-configuration-sys@0.6.0 system-configuration@0.7.0 termina@0.3.3 terminfo@0.9.0 termios@0.3.3 termwiz@0.23.3 thiserror-impl@1.0.69 thiserror-impl@2.0.18 thiserror@1.0.69 thiserror@2.0.18 time-core@0.1.8 time-macros@0.2.27 time@0.3.47 tinystr@0.8.3 tinyvec@1.11.0 tinyvec_macros@0.1.1 tmux_interface@0.4.0 tokio-macros@2.7.0 tokio-rustls@0.26.4 tokio-util@0.7.18 tokio@1.53.0 toml@1.1.2+spec-1.1.0 toml_datetime@1.1.1+spec-1.1.0 toml_edit@0.25.12+spec-1.1.0 toml_parser@1.1.2+spec-1.1.0 toml_writer@1.1.1+spec-1.1.0 tower-http@0.6.11 tower-layer@0.3.3 tower-service@0.3.3 tower@0.5.3 tracing-attributes@0.1.31 tracing-core@0.1.36 tracing@0.1.44 try-lock@0.2.5 tui-markdown@0.3.8 typenum@1.20.1 ucd-trie@0.1.7 unicase@2.9.0 unicode-ident@1.0.24 unicode-segmentation@1.13.3 unicode-truncate@2.0.1 unicode-width@0.2.2 unicode-xid@0.2.6 untrusted@0.9.0 url@2.5.8 utf8_iter@1.0.4 utf8parse@0.2.2 uuid@1.24.0 vcpkg@0.2.15 version_check@0.9.5 vtparse@0.6.2 walkdir@2.5.0 want@0.3.1 wasi@0.11.1+wasi-snapshot-preview1 wasip2@1.0.3+wasi-0.2.9 wasip3@0.4.0+wasi-0.3.0-rc-2026-01-06 wasm-bindgen-futures@0.4.73 wasm-bindgen-macro-support@0.2.123 wasm-bindgen-macro@0.2.123 wasm-bindgen-shared@0.2.123 wasm-bindgen@0.2.123 wasm-encoder@0.244.0 wasm-metadata@0.244.0 wasm-streams@0.5.0 wasmparser@0.244.0 web-sys@0.3.100 web-time@1.1.0 webpki-root-certs@1.0.8 wezterm-bidi@0.2.3 wezterm-blob-leases@0.1.1 wezterm-color-types@0.3.0 wezterm-dynamic-derive@0.1.1 wezterm-dynamic@0.2.1 wezterm-input-types@0.1.0 which@8.0.5 winapi-i686-pc-windows-gnu@0.4.0 winapi-util@0.1.11 winapi-x86_64-pc-windows-gnu@0.4.0 winapi@0.3.9 windows-core@0.62.2 windows-implement@0.60.2 windows-interface@0.59.3 windows-link@0.2.1 windows-registry@0.6.1 windows-result@0.4.1 windows-strings@0.5.1 windows-sys@0.52.0 windows-sys@0.61.2 windows-targets@0.52.6 windows_aarch64_gnullvm@0.52.6 windows_aarch64_msvc@0.52.6 windows_i686_gnu@0.52.6 windows_i686_gnullvm@0.52.6 windows_i686_msvc@0.52.6 windows_x86_64_gnu@0.52.6 windows_x86_64_gnullvm@0.52.6 windows_x86_64_msvc@0.52.6 winnow@1.0.3 wit-bindgen-core@0.51.0 wit-bindgen-rust-macro@0.51.0 wit-bindgen-rust@0.51.0 wit-bindgen@0.51.0 wit-bindgen@0.57.1 wit-component@0.244.0 wit-parser@0.244.0 writeable@0.6.3 yaml-rust@0.4.5 yansi@1.0.1 yoke-derive@0.8.2 yoke@0.8.3 zerofrom-derive@0.1.7 zerofrom@0.1.8 zeroize@1.8.2 zerotrie@0.2.4 zerovec-derive@0.11.3 zerovec@0.11.6 zmij@1.0.21 " declare -A GIT_CRATES=( [libghostty-vt-sys]='https://github.com/uzaaft/libghostty-rs;20edad15d7984c727acc4f4facdadf045609f543;libghostty-rs-%commit%/crates/libghostty-vt-sys' [libghostty-vt]='https://github.com/uzaaft/libghostty-rs;20edad15d7984c727acc4f4facdadf045609f543;libghostty-rs-%commit%/crates/libghostty-vt' ) inherit cargo zig-utils GHOSTTY_COMMIT="bfe633a9487892ff3d27ed727db540267f22ef90" UUCODE_0_1_URI="https://github.com/jacobsandlund/uucode/archive/\ 5f05f8f83a75caea201f12cc8ea32a2d82ea9732.tar.gz" UUCODE_0_2_URI="https://deps.files.ghostty.org/\ uucode-0.2.0-ZZjBPqZVVABQepOqZHR7vV_NcaN-wats0IB6o-Exj6m9.tar.gz" WAYLAND_PROTOCOLS_URI="https://gitlab.freedesktop.org/wayland/wayland-protocols/-/archive/\ 1.47/wayland-protocols-1.47.tar.bz2" ZIG_WAYLAND_PROTOCOLS_URI="https://deps.files.ghostty.org/\ wayland-protocols-258d8f88f2c8c25a830c6316f87d23ce1a0f12d9.tar.gz" DESCRIPTION="Terminal-native AI agent multiplexer" HOMEPAGE="https://github.com/grouzen/flowmux" SRC_URI=" https://github.com/grouzen/flowmux/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz https://github.com/ghostty-org/ghostty/archive/${GHOSTTY_COMMIT}.tar.gz -> ${P}-ghostty.tar.gz https://deps.files.ghostty.org/DearBindings_v0.17_ImGui_v1.92.5-docking.tar.gz -> ${P}-bindings.tar.gz https://deps.files.ghostty.org/breakpad-b99f444ba5f6b98cac261cbb391d8766b34a5918.tar.gz -> ${P}-breakpad.tar.gz https://deps.files.ghostty.org/fontconfig-2.14.2.tar.gz -> ${P}-fontconfig.tar.gz https://deps.files.ghostty.org/freetype-1220b81f6ecfb3fd222f76cf9106fecfa6554ab07ec7fdc4124b9bb063ae2adf969d.tar.gz -> ${P}-freetype.tar.gz https://deps.files.ghostty.org/gettext-0.24.tar.gz -> ${P}-gettext.tar.gz https://deps.files.ghostty.org/glslang-12201278a1a05c0ce0b6eb6026c65cd3e9247aa041b1c260324bf29cee559dd23ba1.tar.gz -> ${P}-glslang.tar.gz https://deps.files.ghostty.org/gobject-2025-11-08-23-1.tar.zst -> ${P}-gobject.tar.zst https://deps.files.ghostty.org/gtk4-layer-shell-1.1.0.tar.gz -> ${P}-gtk4-layer-shell.tar.gz https://deps.files.ghostty.org/harfbuzz-11.0.0.tar.xz -> ${P}-harfbuzz.tar.xz https://deps.files.ghostty.org/highway-66486a10623fa0d72fe91260f96c892e41aceb06.tar.gz -> ${P}-highway.tar.gz https://github.com/ocornut/imgui/archive/refs/tags/v1.92.5-docking.tar.gz -> ${P}-imgui.tar.gz https://deps.files.ghostty.org/ghostty-themes-release-20260525-155808-7335c0a.tgz -> ${P}-iterm2-themes.tgz https://deps.files.ghostty.org/JetBrainsMono-2.304.tar.gz -> ${P}-jetbrains-mono.tar.gz https://deps.files.ghostty.org/libpng-1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66.tar.gz -> ${P}-libpng.tar.gz https://deps.files.ghostty.org/libxev-34fa50878aec6e5fa8f532867001ab3c36fae23e.tar.gz -> ${P}-libxev.tar.gz https://deps.files.ghostty.org/libxml2-2.11.5.tar.gz -> ${P}-libxml2.tar.gz https://deps.files.ghostty.org/NerdFontsSymbolsOnly-3.4.0.tar.gz -> ${P}-nerd-fonts-symbols-only.tar.gz https://deps.files.ghostty.org/oniguruma-1220c15e72eadd0d9085a8af134904d9a0f5dfcbed5f606ad60edc60ebeccd9706bb.tar.gz -> ${P}-oniguruma.tar.gz https://deps.files.ghostty.org/pixels-12207ff340169c7d40c570b4b6a97db614fe47e0d83b5801a932dcd44917424c8806.tar.gz -> ${P}-pixels.tar.gz https://deps.files.ghostty.org/plasma_wayland_protocols-12207e0851c12acdeee0991e893e0132fc87bb763969a585dc16ecca33e88334c566.tar.gz -> ${P}-plasma-wayland-protocols.tar.gz https://deps.files.ghostty.org/sentry-1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e.tar.gz -> ${P}-sentry.tar.gz https://deps.files.ghostty.org/spirv_cross-1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da.tar.gz -> ${P}-spirv-cross.tar.gz ${UUCODE_0_1_URI} -> ${P}-uucode-0.1.0.tar.gz ${UUCODE_0_2_URI} -> ${P}-uucode-0.2.0.tar.gz https://deps.files.ghostty.org/vaxis-7dbb9fd3122e4ffad262dd7c151d80d863b68558.tar.gz -> ${P}-vaxis.tar.gz https://deps.files.ghostty.org/wayland-9cb3d7aa9dc995ffafdbdef7ab86a949d0fb0e7d.tar.gz -> ${P}-wayland.tar.gz ${ZIG_WAYLAND_PROTOCOLS_URI} -> ${P}-wayland-protocols.tar.gz ${WAYLAND_PROTOCOLS_URI} -> ${P}-wayland-protocols-1.47.tar.bz2 https://deps.files.ghostty.org/wuffs-122037b39d577ec2db3fd7b2130e7b69ef6cc1807d68607a7c232c958315d381b5cd.tar.gz -> ${P}-wuffs.tar.gz https://deps.files.ghostty.org/z2d-0.10.0-j5P_Hu-6FgBsZNgwphIqh17jDnj8_yPtD8yzjO6PpHRQ.tar.gz -> ${P}-z2d.tar.gz https://deps.files.ghostty.org/zf-3c52637b7e937c5ae61fd679717da3e276765b23.tar.gz -> ${P}-zf.tar.gz https://deps.files.ghostty.org/zig_js-04db83c617da1956ac5adc1cb9ba1e434c1cb6fd.tar.gz -> ${P}-zig-js.tar.gz https://deps.files.ghostty.org/zig_objc-f356ed02833f0f1b8e84d50bed9e807bf7cdc0ae.tar.gz -> ${P}-zig-objc.tar.gz https://deps.files.ghostty.org/zig_wayland-1b5c038ec10da20ed3a15b0b2a6db1c21383e8ea.tar.gz -> ${P}-zig-wayland.tar.gz https://github.com/ivanstepanovftw/zigimg/archive/d7b7ab0ba0899643831ef042bd73289510b39906.tar.gz -> ${P}-zigimg.tar.gz https://deps.files.ghostty.org/zlib-1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb.tar.gz -> ${P}-zlib.tar.gz ${CARGO_CRATE_URIS} " LICENSE="MIT" # Dependent crate licenses LICENSE+=" Apache-2.0 BSD CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 WTFPL-2 ZLIB || ( Apache-2.0 BSD-2 ) || ( Apache-2.0 Boost-1.0 ) " # Vendored Ghostty build dependencies LICENSE+=" BSD FTL libpng MPL-2.0 OFL-1.1" SLOT="0" KEYWORDS="~amd64" RESTRICT="test" # Upstream mouse click tests currently fail. RDEPEND=" app-misc/tmux dev-vcs/git " BDEPEND=" || ( =dev-lang/zig-0.15.2*[llvm(+)] =dev-lang/zig-bin-0.15.2* ) " ZIG_DISTFILES=( "${P}-bindings.tar.gz" "${P}-breakpad.tar.gz" "${P}-fontconfig.tar.gz" "${P}-freetype.tar.gz" "${P}-gettext.tar.gz" "${P}-glslang.tar.gz" "${P}-gobject.tar.zst" "${P}-gtk4-layer-shell.tar.gz" "${P}-harfbuzz.tar.xz" "${P}-highway.tar.gz" "${P}-imgui.tar.gz" "${P}-iterm2-themes.tgz" "${P}-jetbrains-mono.tar.gz" "${P}-libpng.tar.gz" "${P}-libxev.tar.gz" "${P}-libxml2.tar.gz" "${P}-nerd-fonts-symbols-only.tar.gz" "${P}-oniguruma.tar.gz" "${P}-pixels.tar.gz" "${P}-plasma-wayland-protocols.tar.gz" "${P}-sentry.tar.gz" "${P}-spirv-cross.tar.gz" "${P}-uucode-0.1.0.tar.gz" "${P}-uucode-0.2.0.tar.gz" "${P}-vaxis.tar.gz" "${P}-wayland.tar.gz" "${P}-wayland-protocols.tar.gz" "${P}-wayland-protocols-1.47.tar.bz2" "${P}-wuffs.tar.gz" "${P}-z2d.tar.gz" "${P}-zf.tar.gz" "${P}-zig-js.tar.gz" "${P}-zig-objc.tar.gz" "${P}-zig-wayland.tar.gz" "${P}-zigimg.tar.gz" "${P}-zlib.tar.gz" ) pkg_setup() { rust_pkg_setup zig-utils_setup } src_prepare() { default local archive source for archive in "${ZIG_DISTFILES[@]}"; do source="${DISTDIR}/${archive}" if [[ "${archive}" == "${P}-wayland-protocols-1.47.tar.bz2" ]]; then source="${T}/${archive%.bz2}" bunzip2 --stdout "${DISTDIR}/${archive}" > "${source}" || die fi ZIG_GLOBAL_CACHE_DIR="${T}/zig-packages" \ "${ZIG_EXE}" fetch --global-cache-dir "${T}/zig-packages" \ "file://${source}" || die done } src_compile() { local -x GHOSTTY_SOURCE_DIR="${WORKDIR}/ghostty-${GHOSTTY_COMMIT}" local -x GHOSTTY_ZIG_SYSTEM_DIR="${T}/zig-packages/p" local -x LIBGHOSTTY_VT_SYS_OPTIMIZE="ReleaseFast" local -x ZIG_GLOBAL_CACHE_DIR="${T}/zig-build-cache" local -x ZIG_LOCAL_CACHE_DIR="${T}/zig-local-cache" local -x ZIG="${ZIG_EXE}" cargo_src_compile } src_test() { local -x GHOSTTY_SOURCE_DIR="${WORKDIR}/ghostty-${GHOSTTY_COMMIT}" local -x GHOSTTY_ZIG_SYSTEM_DIR="${T}/zig-packages/p" local -x LIBGHOSTTY_VT_SYS_OPTIMIZE="ReleaseFast" local -x ZIG_GLOBAL_CACHE_DIR="${T}/zig-build-cache" local -x ZIG_LOCAL_CACHE_DIR="${T}/zig-local-cache" local -x ZIG="${ZIG_EXE}" cargo_src_test } src_install() { dobin "$(cargo_target_dir)/${PN}" } QA_FLAGS_IGNORED="usr/bin/${PN}"