diff --git a/app-shells/fish/Manifest b/app-shells/fish/Manifest new file mode 100644 index 0000000..61e497d --- /dev/null +++ b/app-shells/fish/Manifest @@ -0,0 +1,3 @@ +DIST fish-4.3.2.tar.xz 2535720 BLAKE2B 770650e353b1f6a38bbaa7f6df1e24cf4d625e8c15fb8549810949349fd4964dd86621606297cdbd89c010d9b2d3e90045aca5c639701171bb82c1697d5a6f55 SHA512 a50c09996af84544a089673746d5d2848d70765a3cbd2896be24ab9b4efb28ec1c990c715d1dc5f20b0a0a550e243e17931aee930d2fcce19dc9e7a12e0f02b3 +DIST fish-shell-4.3.2-crates.tar.xz 6667516 BLAKE2B 8e44e0b0510a3ea4493c9a6d628fa54d24eefb1e834c96d35fed34e262f4b09e78228d7269cd77587700b1c323407b345f258c49227154082224bd3287e6c09a SHA512 69bb4afe8ca6034339d5f18773b5de25415d785b44a158b5587a0f71a27774741243c4d497d75ce92e9f8a3c9bdef6ed1b5df5f01d7aed752b0a5bcd7097daf8 +DIST rust-pcre2-85b7afba1a9d9bd445779800e5bcafeb732e4421.gh.tar.gz 743187 BLAKE2B 533671ee8e97e65b93aa9103135848e8a85d79a2f525100aa0120500def9479675f6140878fa7b9bb248e51175ceac7c5710ce247af6e10385a00b23c8986b68 SHA512 9323e4d11708d8dc0e7ed607e97b8d4fac6f4a0b955e5e07b76da8152178888bc0ae2d2c109dd58b97d5faa037216e88365fcacb606f23f912d2edb82ede23ad diff --git a/app-shells/fish/files/README.gentoo b/app-shells/fish/files/README.gentoo new file mode 100644 index 0000000..421d070 --- /dev/null +++ b/app-shells/fish/files/README.gentoo @@ -0,0 +1,19 @@ +fish is now installed on your system. +To run fish, type 'fish' in your terminal. + +It is advised not to set fish as a default login shell. +see https://bugs.gentoo.org/545830 for more details. +Executing fish using ~/.bashrc is an alternative +see https://wiki.gentoo.org/wiki/Fish#Caveats for details + +To set your colors, run 'fish_config' +To scan your man pages for completions, run 'fish_update_completions' +To autocomplete command suggestions press Ctrl + F or right arrow key. + +Please add a "BROWSER" variable to fish environment pointing to the +browser of your choice to get acces to fish help system: + BROWSER="/usr/bin/firefox" + +If you have issues with cut'n'paste in X-terminals, install the x11-misc/xsel package. + +Have fun! diff --git a/app-shells/fish/files/fish-4.3.0-use-cargo-eclass-for-build.patch b/app-shells/fish/files/fish-4.3.0-use-cargo-eclass-for-build.patch new file mode 100644 index 0000000..5844e8f --- /dev/null +++ b/app-shells/fish/files/fish-4.3.0-use-cargo-eclass-for-build.patch @@ -0,0 +1,46 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c65b3e422..caf670f0c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -60,18 +60,7 @@ add_custom_target( + fish ALL + COMMAND + "${CMAKE_COMMAND}" -E +- env ${VARS_FOR_CARGO} +- ${Rust_CARGO} +- build --bin fish +- $<$:--release> +- $<$:--profile=release-with-debug> +- --target ${Rust_CARGO_TARGET} +- --no-default-features +- --features=${FISH_CARGO_FEATURES} +- ${CARGO_FLAGS} +- && +- "${CMAKE_COMMAND}" -E +- copy "${rust_target_dir}/${rust_profile}/fish" "${CMAKE_CURRENT_BINARY_DIR}" ++ copy "${FISH_RUST_BUILD_DIR}/${rust_profile}/fish" "${CMAKE_CURRENT_BINARY_DIR}" + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + USES_TERMINAL + ) +diff --git a/cmake/Rust.cmake b/cmake/Rust.cmake +index d99e621e4..4d6b47f2a 100644 +--- a/cmake/Rust.cmake ++++ b/cmake/Rust.cmake +@@ -1,7 +1,7 @@ + include(FindRust) + find_package(Rust REQUIRED) + +-set(FISH_RUST_BUILD_DIR "${CMAKE_BINARY_DIR}/cargo/build") ++set(FISH_RUST_BUILD_DIR "${CMAKE_SOURCE_DIR}/target") + + if(DEFINED ASAN) + list(APPEND CARGO_FLAGS "-Z" "build-std") +@@ -18,7 +18,7 @@ else() + set(rust_target_dir "${FISH_RUST_BUILD_DIR}/${Rust_CARGO_HOST_TARGET}") + endif() + +-set(rust_profile $,debug,$,release-with-debug,release>>) ++set(rust_profile $,debug,release>) + + option(WITH_GETTEXT "Build with gettext localization support. Requires `msgfmt` to work." ON) + # Enable gettext feature unless explicitly disabled. diff --git a/app-shells/fish/fish-4.3.2.ebuild b/app-shells/fish/fish-4.3.2.ebuild new file mode 100644 index 0000000..9fabab0 --- /dev/null +++ b/app-shells/fish/fish-4.3.2.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES="" +RUST_MIN_VER="1.85.0" + +declare -A GIT_CRATES=( + [pcre2-sys]='https://github.com/fish-shell/rust-pcre2;85b7afba1a9d9bd445779800e5bcafeb732e4421;rust-pcre2-%commit%/pcre2-sys' + [pcre2]='https://github.com/fish-shell/rust-pcre2;85b7afba1a9d9bd445779800e5bcafeb732e4421;rust-pcre2-%commit%' +) + +inherit cargo cmake readme.gentoo-r1 xdg + +DESCRIPTION="Friendly Interactive SHell" +HOMEPAGE="https://fishshell.com/" + +MY_PV="${PV/_beta/b}" +MY_P="${PN}-${MY_PV}" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/fish-shell/fish-shell.git" +else + SRC_URI=" + https://github.com/fish-shell/fish-shell/releases/download/${MY_PV}/${MY_P}.tar.xz + https://github.com/gentoo-crate-dist/fish-shell/releases/download/${MY_PV}/fish-shell-${MY_PV}-crates.tar.xz + ${CARGO_CRATE_URIS} + " + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x64-macos" +fi + +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2 BSD BSD-2 CC0-1.0 GPL-2+ ISC LGPL-2+ MIT PSF-2 ZLIB" +# Dependent crate licenses +LICENSE+=" Apache-2.0 MIT MPL-2.0 Unicode-3.0 WTFPL-2 ZLIB" +SLOT="0" +IUSE="+doc nls test" + +RESTRICT="!test? ( test )" + +BDEPEND=" + doc? ( dev-python/sphinx ) + nls? ( sys-devel/gettext ) +" + +PATCHES=( + "${FILESDIR}/${PN}-4.3.0-use-cargo-eclass-for-build.patch" +) + +QA_FLAGS_IGNORED="usr/bin/.*" + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc" + -DWITH_DOCS="$(usex doc)" + -DWITH_GETTEXT="$(usex nls 1 0)" + ) + cargo_src_configure --no-default-features \ + --bin fish \ + --bin fish_indent \ + --bin fish_key_reader + cmake_src_configure +} + +src_compile() { + local -x PREFIX="${EPREFIX}/usr" + local -x DATADIR="${EPREFIX}/usr/share" + local -x DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + + # Bug: https://bugs.gentoo.org/950699 + local -x SYSCONFDIR="${EPREFIX}/etc" + + local -x FISH_BUILD_DOCS + FISH_BUILD_DOCS="$(usex doc 1 0)" + + cargo_src_compile +} + +src_test() { + local -x CARGO_TERM_COLOR=always + local -x TEST_VERBOSE=1 + # cargo_env cmake_src_compile fish_run_tests + cargo_env cmake_src_test fish_run_tests +} + +src_install() { + cmake_src_install + keepdir /usr/share/fish/vendor_{completions,conf,functions}.d + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog + xdg_pkg_postinst +} diff --git a/x11-terms/ghostty/Manifest b/x11-terms/ghostty/Manifest new file mode 100644 index 0000000..a15b261 --- /dev/null +++ b/x11-terms/ghostty/Manifest @@ -0,0 +1,36 @@ +DIST N-V-__8AAAzZywE3s51XfsLbP9eyEw57ae9swYB9aGB6fCMs.tar.gz 15555101 BLAKE2B 6290269a2bd67558d402d6da8a406875aab390e95ad58114ea7bfdc289171c9debb5facb672b280f4a77a0529901807535d21318f77ed851b3ad46df02f04bef SHA512 c2bca70a908354918b0f84d7ef30e28434200e4dad2002592fb5fe27b6fde0afff08828fb70277e7ccb1595a4ab22553c6374e0564a3aa0f3796cdd35e9e3693 +DIST N-V-__8AAB0eQwD-0MdOEBmz7intriBReIsIDNlukNVoNu6o.tar.gz 1572744 BLAKE2B 6d15d8f3c8feaf602043bb6e72316ee721c33ef24e110e3bf03fb12eac9703fd29e352268d202ecd2f18b526b4f1dbd90c8046e01ad8e64ddce3e55ad5db513e SHA512 8c9642495bafd6fad4ab9fb67f09b268c69ff9af0f4f20cf15dfc18852ff1f312bd8ca41de761b3f8d8e90e77d79f2ccacd3d4c5b19e475ecf09d021fdfe9088 +DIST N-V-__8AAB9YCQBaZtQjJZVndk-g_GDIK-NTZcIa63bFp9yZ.tar.gz 153910 BLAKE2B c94ef46699fa3c33755335b8132ebcc76e22075d3a2f6c515f849c769708bf1daf7eafe48d4d23a8c30ba403559ac1e6e7ba036447666ecdf1494cb7034bf82e SHA512 5c6d1162ab7ff77a66f7ad4663b5e80e0df6ccbfd84170d229b42f12adaeeda03146c82952bb8fe1d847f8cdd361507893f965a1f1a069d7beb59e84c28a3e3d +DIST N-V-__8AABzkUgISeKGgXAzgtutgJsZc0-kkeqBBscJgMkvy.tar.gz 3842427 BLAKE2B e8eae5a6380332d437edc78447ff1c53185616adacea77d057b69488dd50caa251357cb5950349eb8355a9357b681367aa948dd178b33dd48b6d5be92451a897 SHA512 570d2ff15116f48e195c73d9be1517b05e7c37541af10f6c05779a001e2d0295725349c1f4dd0bcca6f0c7e7e48c5162a60726c3e76cf04619c8e14bd0636ab6 +DIST N-V-__8AADYiAAB_80AWnH1AxXC0tql9thT-R-DYO1gBqTLc.tar.gz 3644 BLAKE2B 7445ee11bbe82024c232e4cb88394482a305a0ade814cd192d950875ced3d22864a2cd02421e3422410f9ea11c7cf698a3ced7dd00b7e810bea16aea1d9ddb64 SHA512 ca66e3092481e678033cb4522e984444d2123fedf5fed039a5af58b51d22c3869c9e00246f261d50ea5d11bd1d4b6b61bf32aa9bad13a4f131fd115c3feb484d +DIST N-V-__8AADcZkgn4cMhTUpIz6mShCKyqqB-NBtf_S2bHaTC-.tar.gz 27367136 BLAKE2B c318b4f39bd2c3e467029df806fe97f084c22d56b5a77b66cfbafdd7b666bd971625669c26aa3e0aa06dcbf4a6823cc12441c05431d83a215027438848d53fc4 SHA512 9e9913fec1d3eeff65e023ee00c5da456baceabd49ce0c0d21f19b9911a60b67546f4ee5716f6f5b7a160b4c13c47604da8762854eba6f17f9bf3fd1c6056828 +DIST N-V-__8AAG02ugUcWec-Ndp-i7JTsJ0dgF8nnJRUInkGLG7G.tar.xz 18152228 BLAKE2B 0775321ea24a257d6609f59e9f0fa7129416575938ff11e16f9df2a33bd9391e0dc20bf4be75131f1b8e15961dc04e3fef1d6ff88de71c556a9aab7889f0a185 SHA512 1184b9b56c4b9f28cac03a6746d699d522c4194818e2b3fe4c286400c249bad209260137dc5c2aacc640ddd0a44db8999006e137dcabf8493b890a9fcf359170 +DIST N-V-__8AAG3RoQEyRC2Vw7Qoro5SYBf62IHn3HjqtNVY6aWK.tar.gz 3780877 BLAKE2B bf6c3732b1c7d5e7216a97662a78914bb481cb3ab0ae9999de583c8f72ce815d0e39d1176d4277a2f335d73b39bf0b5ca0f0453b394c2074798935eb974eb258 SHA512 303528ead0f020c8e172beca54d00bb1281f4080885c9f44b979158516b585d71bbcb024999a5712a850e48647b19b1f634a1428ea29f39a48e8e6cbf7c71936 +DIST N-V-__8AAGmZhABbsPJLfbqrh6JTHsXhY6qCaLAQyx25e0XE.tar.gz 3563730 BLAKE2B d136901cb1609b6116b2767c13fc8dfa71a16b7bee180017dd2e0824c2d60490fc70315b3138e5b642475bf700dca9bb44b4d796a78561672d42c1be0ddd02cb SHA512 96f7ffcba67e6009b974169b2ce4106879018c541d9c2a7280489a00a666f2ceead80d1e2561c4c7fe12a3cbccc6dadc42d3fde5acaea9bb8b379598c44beb5b +DIST N-V-__8AAH0GaQC8a52s6vfIxg88OZgFgEW6DFxfSK4lX_l3.tar.gz 1833808 BLAKE2B 1cde8c084b7b1ab40af78339f5af4f84895c723eb6f16bfb1657a2cccf1aff7833a15d93a7b8a3708c9cd34d39b84411573093b1d9fbaa08dbfca83414bac6c6 SHA512 d3b88faa8d0fbfbbf8f14ba06a615289b5271a5b8a191373a21c1c9f5ef87830ad2f71905e0c0083ef4709a5d599f43898e9c3d7f9558f8a15e8d25305e61819 +DIST N-V-__8AAHffAgDU0YQmynL8K35WzkcnMUmBVQHQ0jlcKpjH.tar.gz 34139 BLAKE2B c2058dac06b7bbedb97c18fe8a2fdfa13e45afe180d6602e8c1347db313361c94abf06514c80a308bef6f72eea63b6a7aaeaa7985925d7f5754f5210ebf040cb SHA512 49ca33bfb2ee44515f555184b51191f7b706a228fb84ddc62e1e6b59c7d69a5ff836f38694daad0012a0f651b6199451974fe44ebe80081df00cf8c2759e3249 +DIST N-V-__8AAHjwMQDBXnLq3Q2QhaivE0kE2aD138vtX2Bq1g7c.tar.gz 645616 BLAKE2B a2ab2e5fc99586e92d92152680043b29ee1a957fb107f2aa760b90ea141a139f41295733ddcc6d554b1e82bf33c08fc7b7a593e7c423cfd1fbd664218885caa7 SHA512 7c89247d8504c635687dc61b39b39b5afefa4851b24409a8eab31273f1cbc88f3db89095ae4b135bd034147d2616c2e18fc74887300b89532eedeab75677f437 +DIST N-V-__8AAIC5lwAVPJJzxnCAahSvZTIlG-HhtOvnM1uh-66x.tar.gz 5613569 BLAKE2B c35b8faa3186803fa241cbfd57402d9a4476bd0409677436e7230fa46320f13029c54e90d63d00edcc674cdffb7a33699c8333e28b3d6973cbb2db6e0ca150b4 SHA512 546c4306a3523a676f7c335387b680ae57fb869aa18c52a0034bef7969e75810f43112e8be0e1a6e9738770fe5ba908bd2b6105f0362619bf1f5e30ea09786bc +DIST N-V-__8AAIrfdwARSa-zMmxWwFuwpXf1T3asIN7s5jqi9c1v.tar.gz 2122247 BLAKE2B c8f6a33b62141eb732e74194076627072fc7dca19eea797ae256e169f07e4722f47e20e65ffd3152bfb7c98eb5e8a5bc1b5d90b22640c911889c4f29fb2f7e34 SHA512 73287cc3f8f8261a27c2920b0f9430dd6e3ac8733fb2ba55e1b5934cee211023b6415e1d14ddad04ef3c7819727ed34d80aa503d2734bdfc2f1c733c4096463f +DIST N-V-__8AAJrvXQCqAT8Mg9o_tk6m0yf5Fz-gCNEOKLyTSerD.tar.gz 1554715 BLAKE2B 5bce9b666030b696f6ad63885fac48a058b11a39c95fed48b582c54a28ddeeb8af553f24b857440f1bb65d318f23bcaafa40869c352c4b3f995fcb190c311cf1 SHA512 3bb2a7b73113be42b09c2116e6c6f5a7ddb4e2ab06e0b13e10b7314acdccc4bb624ff602e16140c0484f6cde80efa190296226be3da195c6926819f07c723c12 +DIST N-V-__8AAKLKpwC4H27Ps_0iL3bPkQb-z6ZVSrB-x_3EEkub.tar.gz 2480637 BLAKE2B 9538fe61d9255b272fb34d08adf18876f421b378a89ce13349d50a761c17b70a982588f6d94799b4229dcf850c0948e651a7acb515f61b2dccf2abdecb5f6128 SHA512 9d7600af7e981227e37585dca71fbd7bc78b367a54d7705fe03e0f5549ce49e420548fa09b21c6bb137830f779a0a0b965611f50b163297b79fdc5903b4dc11d +DIST N-V-__8AAKYZBAB-CFHBKs3u4JkeiT4BMvyHu3Y5aaWF3Bbs.tar.gz 63808 BLAKE2B 82910f066a93e0c542c1872bdded6cdcf4b9dc7680c3738a1220b43f18c363de84deb4801eed73b9fc8eb41c3a93aadcff107073421e793a77783bd0daf90f03 SHA512 909432de8881e063bfddd41d83758effc3dee43818d04126ccf6bd06a0ba1d4afd9ecdb49c86c584cad01607f625367b642e5d529d149c3e1732b2136a6b3bb3 +DIST N-V-__8AAKrHGAAs2shYq8UkE6bGcR1QJtLTyOE_lcosMn6t.tar.gz 371496 BLAKE2B e57972088a665a76c1416a1972434c8d8f9837736c1ed54d6b935f71a5f12f9ff509eeade21ddac690d5fd3f11dca790eab44c8cc89812db7cbe1448b4ed55f5 SHA512 1a90c26e08280567c1ba2b023f04e14bbf0722eb8606d331cd60c420eca4ab6bb2cddc8cbfcf0c0bf00b00488a77e84eb4e95255f72a6600ade8a841e4d29671 +DIST N-V-__8AAKw-DAAaV8bOAAGqA0-oD7o-HNIlPFYKRXSPT03S.tar.gz 174379 BLAKE2B e30c953d160e19001c0b6340ca477d1ffcfe2c32a293797f3342de41441dcb22a81b1c59df93ef11646fe319ca9642386b4251a52e7cb37aaf4a61899bae0f7e SHA512 ed642352a88eb9b42ba36c5847dd2023c7b5cdf638e57a2212dba64239017cae597de33e7a4f3530fcc0aac4633a8bd0178138b7e72cb1d42414b87c23b831c4 +DIST N-V-__8AALIsAwDyo88G5mGJGN2lSVmmFMx4YePfUvp_2o3Y.tar.gz 55106 BLAKE2B 6d30d289e109ff6966c4aa14dee02daf41adb1d2fd6bf84055806319d12db65c057d221371ca4986ee7574de5d3c4f876fe91f4b87fe881401b005c996024d95 SHA512 755bf0e4d2f7f1a5e7272bf40b5eb6fdf3033308d3a3487929b15d53b50b896693dd0b7ef8fcb4d25fa73e6d20d2ae225bbf83288bee1e414a91db263e8c3d01 +DIST N-V-__8AALiNBAA-_0gprYr92CjrMj1I5bqNu0TSJOnjFNSr.tar.gz 69197 BLAKE2B cfcb476deee68dd64a6e022a548e6360038f108286ab7a33494358b4950759a20546de2ccdb9e8b3d4d4f82e6eb663c2cb122ff21de697157808fedf0ebcd481 SHA512 3b0728daea61d75dafa5dfacf47f6a6b3dd4c7e6d476917850cfd360d3cd2e48aa8e1210cf37f13738fdba37b1aca04b7c642b3204c9655da83e3ee24b3a26cf +DIST N-V-__8AALw2uwF_03u4JRkZwRLc3Y9hakkYV7NKRR9-RIZJ.tar.gz 5475126 BLAKE2B 67af8bc3227723e9056eb5d7e6f85809037d1b6f62c57bf447b04648c43c299a3840ac7a9ced2431343beb47332079c1827fd4d0a301fe0c6b24992f9b1b6fd9 SHA512 740b70daaf150a7619839f467eea6dc6d5dcd599861a977b1638c308b7902cb2de5d3927081143c2314e9b0c46c07d646ecec0e9e8d5097ddaa958766c07074d +DIST N-V-__8AAMVLTABmYkLqhZPLXnMl-KyN38R8UVYqGrxqO26s.tar.gz 2932840 BLAKE2B 006cb4a0c6330158f7425827f448098becbab478d0a1eb727490cc7dbfbba1706fff361396a494be45a6790fe0337ea9205c0f3470caee1ffbdb05532fc1aede SHA512 60ace3377f04c2c53fa067dde1a082fc3109b534a87ddf9c0a73fa65a82a3e15793351a39434ad4e0fe452cf60f019de27989ac90b74420bb92954efeb4962bc +DIST N-V-__8AANb6pwD7O1WG6L5nvD_rNMvnSc9Cpg1ijSlTYywv.tar.gz 1797806 BLAKE2B ea780443aa76f6448bf70295eeaeaf97253c3437b62fc8ca42e4cf681462105ff208a70524130a0791a204b576534804e7b02ca016b8d45e9f265f1dd24d30e7 SHA512 45e951822e2bf630190a33f863b8e05e9f12f57047736bbf973840fd06c583ab0516096c51a041934ca162bc63cf3e48e64220ed4af7c602ca1cb18bd5fe74e9 +DIST N-V-__8AAPlZGwBEa-gxrcypGBZ2R8Bse4JYSfo_ul8i2jlG.tar.gz 470991 BLAKE2B f299d2b87cf1f284cae20efea2bae19c9221508ee7556fe858a04bbf4f8f337f50a79b955b6601e0d86117b2018496e25f7f96082a0d970a4f8b3e03aed3af08 SHA512 28612a4358b5ec33e1e6ac434d04013dac746f8183c861afa9b6cf24e21db5f7531d8792442de83bffe56f33f7b56c5393a519b69a787501c06cdd60ece836e0 +DIST ghostty-1.2.3.tar.gz 38946351 BLAKE2B 6ff008abf9224d61bc3078f34a9da63349e706bc6895b669c93742d86d9d71b1b65ad4772a199630944643a7f123025459d5526a4d8992f245b4c19dcfe1a6d1 SHA512 e548d82e4bb1ae7a1834987473502417279b080f93868f00dce7889ea76d785be68e8cad6b7c9ae561e1b1bd3f6060d5a7d69311b080baf359b3c712bfdc4c3f +DIST gobject-0.3.0-Skun7ET3nQAc0LzvO0NAvTiGGnmkF36cnmbeCAF6MB7Z.tar.zst 1794041 BLAKE2B e4bb4507fcfdaa6bc7a0b8af3bf729d345526dc46929f68f7430094ae592744345b5120177811cd456f83d3394342ac0799624f6dc66c3ff468c44ce7e44cb43 SHA512 44257ba5b45a7cf629b5fe9e57624847218cfcddfb30a8091f7587deb46904266c8cc1e7ea7e41062ac7640eb35ce9f2673288722b1b7be15cd3b1b8646ae788 +DIST libxev-0.0.0-86vtc2UaEwDfiTKX3iBI-s_hdzfzWQUarT3MUrmUQl-Q.tar.gz 283123 BLAKE2B 1b34ac49042b1cfa89ff933973cb9b92f3e5945858e439c8b6d601cf24a2b700724119ab8f2e33babca66fdcb0809e3b6813940dbf994386b75588ed2521f755 SHA512 b4ea8f9982029ca659fc53571d059ec6edccc25a2ef298d149399659287113261f7564a9818dbee721620d4856a58c5ef8891bf6d5356c6f404209b1c91e6a3a +DIST vaxis-0.1.0-BWNV_FUICQAFZnTCL11TUvnUr1Y0_ZdqtXHhd51d76Rn.tar.gz 1207242 BLAKE2B 8f083f6b82a3c45ede1d0b345a77f6720b7963a3fa1ebe235b69b1fb92de31294b6972cfa6da4566e13fa7262fd82af274efc59c56c658595f17c6351b2a6f8b SHA512 c7f92290ef0b23f9ff51a71cae8d59d7b4d12efda46a02a0a2ee68d957ff0b75db587fa33bd3aab6e0dc6417b16a5fa95c584505dec6f699220d1c73f8e2f3cd +DIST wayland-0.4.0-dev-lQa1kjfIAQCmhhQu3xF0KH-94-TzeMXOqfnP0-Dg6Wyy.tar.gz 74941 BLAKE2B ee631b08cb82e6c0f6cfdde94b2093d3d27627f4590a1bbfed34fab09f5327e0dc69cdead9d63a39573c0a7d17300463f9898851c9d4c0656fb07a2c8741f4d7 SHA512 66933b049739a81ae21932f2fd5d2175cb387b853a130b6e02ce8be6f3d96803fa184442264389788a71d46e4075389c0e30f12f8d1c185f6f43eeda3062b76d +DIST z2d-0.8.1-j5P_Hq8vDwB8ZaDA54-SzESDLF2zznG_zvTHiQNJImZP.tar.gz 1530666 BLAKE2B 636f3e21fbc7d4edcf9fdff7f16930f24c78ae02014ff255603b5985140b615bb93eff9db9a87adbd4f7d3f2f3f2df7beadc225fa5ee2d314b04167ee8bf060b SHA512 d27f5fedf724d1754b5d31baf610a59c58b796956d6cdff364b45bc940dc03db84a685f750181ef61dae9d23cd43b49508961444f9959683db646abd680b714f +DIST zf-0.10.3-OIRy8aiIAACLrBllz0zjxaH0aOe5oNm3KtEMyCntST-9.tar.gz 31758 BLAKE2B 2a9a3e4af961f4a3572916210b6f512d9e1f2b76a5f366508e34bae5787e4139ddd1e44cd7eb61e51e8ef266423a6855a92bafa72175319e88d8a9706ee5e1a2 SHA512 3c956d9d90fe548c3af2a699a874e38b04d295907092ae2cab26222569fc96fd2796079959f8aebe7ac8835e446bb8269c5a2b3f3b9cc7cacc1ecec3e6299328 +DIST zg-0.13.4-AAAAAGiZ7QLz4pvECFa_wG4O4TP4FLABHHbemH2KakWM.tar.gz 19045076 BLAKE2B 01e2243999b4b7e95a77a5339561b46bdec144611360aacc910617984281891f1a3378aece617947f1e703bbb42e1e5c3da7dbbff6b3a9847064b04bfae53a56 SHA512 c518f2b18873b22f08de6233f3705b42d0f73f885d48d4c63c5ebfd57045fa16b4c6ca5f1f36fcb6050510e056848cc5875c796798d1dc853701d7a9cd4ffb28 +DIST zig_objc-0.0.0-Ir_SpwsPAQBJgi9YRm2ubJMfdoysSq5gKpsIj3izQ8Zk.tar.gz 21053 BLAKE2B 1624d2801bc25d06e8be03b7a1aa338b47e4641493ff241f819f736a192263381b4f54fa638581fb35d18fb827c514800afa4c5bc4de2d39e12acf3934a1c3ed SHA512 108e67b08333686fd7bc89fa688c7fc080798799679df7f93ea66185e3c2fdc94d1ddaf113789071e36b46389cd5ecf16280962a46c0a917ac2fa4422ef43202 +DIST zigimg-0.1.0-lly-O6N2EABOxke8dqyzCwhtUCAafqP35zC7wsZ4Ddxj.tar.gz 148092 BLAKE2B 1ac688d3d8a199d49fc5ea2a70d34ac0eee23645e02a2d1f9a291ea1fc736af089eef9c2050bcd3e41309b332717a166f8fa4d9cc8e0c58416ed326fc70ef66f SHA512 806087525f92c9301dd2a4d5a2ad1fc811258ccb54fe5ee7a86ec4493911a6b5b9e0e5fbbc2d6e65a99e74a5d85a47580221b569be7323b32d89573137944eac +DIST ziglyph-0.11.2-AAAAAHPtHwB4Mbzn1KvOV7Wpjo82NYEc_v0WC8oCLrkf.tar.gz 562290 BLAKE2B bc5efc55442634c17357182d71881b3ae8d92b338abaaeb25d0ec548fa4d940d0c0efd5b281167a6d02d20213261799ba3008f4513a5014cf7d9f92c7b6f0322 SHA512 b7d5502bc03a0396a064080ddaebf503ab35e13384fe3e332832f64696c241d5f978997816c09d8e855173ccc7d312244397f5f8076a4d207b065bd6f304ff0e diff --git a/x11-terms/ghostty/files/ghostty-1.1.0-build-disable-terminfo-database-installation.patch b/x11-terms/ghostty/files/ghostty-1.1.0-build-disable-terminfo-database-installation.patch new file mode 100644 index 0000000..f3212c6 --- /dev/null +++ b/x11-terms/ghostty/files/ghostty-1.1.0-build-disable-terminfo-database-installation.patch @@ -0,0 +1,57 @@ +From 79e953d91173a808dc2fbc33a39582ffc921263b Mon Sep 17 00:00:00 2001 +From: sin-ack +Date: Thu, 30 Jan 2025 23:21:16 +0000 +Subject: [PATCH] build: Disable terminfo database installation + +Database installation is unconditional in Ghostty and causes conflicts +with newer ncurses versions which have the database merged in. + +Bug: https://bugs.gentoo.org/948830 +Signed-off-by: sin-ack +--- + src/build/GhosttyResources.zig | 30 ------------------------------ + 1 file changed, 30 deletions(-) + +diff --git a/src/build/GhosttyResources.zig b/src/build/GhosttyResources.zig +index a7ff40cb..ad400d72 100644 +--- a/src/build/GhosttyResources.zig ++++ b/src/build/GhosttyResources.zig +@@ -46,36 +46,6 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { + const cap_install = b.addInstallFile(out_source, "share/terminfo/ghostty.termcap"); + try steps.append(&cap_install.step); + } +- +- // Compile the terminfo source into a terminfo database +- { +- const run_step = RunStep.create(b, "tic"); +- run_step.addArgs(&.{ "tic", "-x", "-o" }); +- const path = run_step.addOutputFileArg("terminfo"); +- run_step.addFileArg(source); +- _ = run_step.captureStdErr(); // so we don't see stderr +- +- // Ensure that `share/terminfo` is a directory, otherwise the `cp +- // -R` will create a file named `share/terminfo` +- const mkdir_step = RunStep.create(b, "make share/terminfo directory"); +- switch (cfg.target.result.os.tag) { +- // windows mkdir shouldn't need "-p" +- .windows => mkdir_step.addArgs(&.{"mkdir"}), +- else => mkdir_step.addArgs(&.{ "mkdir", "-p" }), +- } +- mkdir_step.addArg(b.fmt("{s}/share/terminfo", .{b.install_path})); +- try steps.append(&mkdir_step.step); +- +- // Use cp -R instead of Step.InstallDir because we need to preserve +- // symlinks in the terminfo database. Zig's InstallDir step doesn't +- // handle symlinks correctly yet. +- const copy_step = RunStep.create(b, "copy terminfo db"); +- copy_step.addArgs(&.{ "cp", "-R" }); +- copy_step.addFileArg(path); +- copy_step.addArg(b.fmt("{s}/share", .{b.install_path})); +- copy_step.step.dependOn(&mkdir_step.step); +- try steps.append(©_step.step); +- } + } + + // Shell-integration +-- +2.45.3 diff --git a/x11-terms/ghostty/files/ghostty-1.1.0-bzip2-dependency.patch b/x11-terms/ghostty/files/ghostty-1.1.0-bzip2-dependency.patch new file mode 100644 index 0000000..f31069b --- /dev/null +++ b/x11-terms/ghostty/files/ghostty-1.1.0-bzip2-dependency.patch @@ -0,0 +1,24 @@ +From a817b744a76356f8281e84dc6dc1d133f72796d5 Mon Sep 17 00:00:00 2001 +From: sin-ack +Date: Thu, 30 Jan 2025 22:44:34 +0000 +Subject: [PATCH] build: Fix bzip2 system dependency name + +--- + src/build/SharedDeps.zig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/build/SharedDeps.zig b/src/build/SharedDeps.zig +index 64068658..256c8adc 100644 +--- a/src/build/SharedDeps.zig ++++ b/src/build/SharedDeps.zig +@@ -111,7 +111,7 @@ pub fn add( + step.root_module.addImport("freetype", freetype_dep.module("freetype")); + + if (b.systemIntegrationOption("freetype", .{})) { +- step.linkSystemLibrary2("bzip2", dynamic_link_opts); ++ step.linkSystemLibrary2("bz2", dynamic_link_opts); + step.linkSystemLibrary2("freetype2", dynamic_link_opts); + } else { + step.linkLibrary(freetype_dep.artifact("freetype")); +-- +2.45.3 diff --git a/x11-terms/ghostty/files/ghostty-1.2.0-build-disable-terminfo-database-installation.patch b/x11-terms/ghostty/files/ghostty-1.2.0-build-disable-terminfo-database-installation.patch new file mode 100644 index 0000000..b5c5aaa --- /dev/null +++ b/x11-terms/ghostty/files/ghostty-1.2.0-build-disable-terminfo-database-installation.patch @@ -0,0 +1,75 @@ +From 012f68ee2cccb2b466724a41dad148ecdecde0a3 Mon Sep 17 00:00:00 2001 +From: sin-ack +Date: Tue, 16 Sep 2025 21:41:07 +0000 +Subject: [PATCH] build: Disable terminfo database installation + +Database installation is unconditional in Ghostty and causes conflicts +with newer ncurses versions which have the database merged in. + +Bug: https://bugs.gentoo.org/948830 +Signed-off-by: sin-ack +--- + src/build/GhosttyResources.zig | 40 ---------------------------------- + 1 file changed, 40 deletions(-) + +diff --git a/src/build/GhosttyResources.zig b/src/build/GhosttyResources.zig +index 266069f83..f6f7409ce 100644 +--- a/src/build/GhosttyResources.zig ++++ b/src/build/GhosttyResources.zig +@@ -19,10 +19,6 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { + // Terminfo + terminfo: { + const os_tag = cfg.target.result.os.tag; +- const terminfo_share_dir = if (os_tag == .freebsd) +- "site-terminfo" +- else +- "terminfo"; + + // Encode our terminfo + var str = std.ArrayList(u8).init(b.allocator); +@@ -68,42 +64,6 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { + + try steps.append(&cap_install.step); + } +- +- // Compile the terminfo source into a terminfo database +- { +- const run_step = RunStep.create(b, "tic"); +- run_step.addArgs(&.{ "tic", "-x", "-o" }); +- const path = run_step.addOutputFileArg(terminfo_share_dir); +- +- run_step.addFileArg(source); +- _ = run_step.captureStdErr(); // so we don't see stderr +- +- // Ensure that `share/terminfo` is a directory, otherwise the `cp +- // -R` will create a file named `share/terminfo` +- const mkdir_step = RunStep.create(b, "make share/terminfo directory"); +- switch (cfg.target.result.os.tag) { +- // windows mkdir shouldn't need "-p" +- .windows => mkdir_step.addArgs(&.{"mkdir"}), +- else => mkdir_step.addArgs(&.{ "mkdir", "-p" }), +- } +- +- mkdir_step.addArg(b.fmt( +- "{s}/share/{s}", +- .{ b.install_path, terminfo_share_dir }, +- )); +- +- try steps.append(&mkdir_step.step); +- +- // Use cp -R instead of Step.InstallDir because we need to preserve +- // symlinks in the terminfo database. Zig's InstallDir step doesn't +- // handle symlinks correctly yet. +- const copy_step = RunStep.create(b, "copy terminfo db"); +- copy_step.addArgs(&.{ "cp", "-R" }); +- copy_step.addFileArg(path); +- copy_step.addArg(b.fmt("{s}/share", .{b.install_path})); +- copy_step.step.dependOn(&mkdir_step.step); +- try steps.append(©_step.step); +- } + } + + // Shell-integration +-- +2.49.1 + diff --git a/x11-terms/ghostty/files/ghostty-1.2.0-bzip2-dependency.patch b/x11-terms/ghostty/files/ghostty-1.2.0-bzip2-dependency.patch new file mode 100644 index 0000000..0df224f --- /dev/null +++ b/x11-terms/ghostty/files/ghostty-1.2.0-bzip2-dependency.patch @@ -0,0 +1,26 @@ +From 502071bc786679c57405a1bb4613a3a2e4653920 Mon Sep 17 00:00:00 2001 +From: sin-ack +Date: Thu, 30 Jan 2025 22:44:34 +0000 +Subject: [PATCH] build: Fix bzip2 system dependency name + +Signed-off-by: sin-ack +--- + src/build/SharedDeps.zig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/build/SharedDeps.zig b/src/build/SharedDeps.zig +index 77dec3350..2babf317d 100644 +--- a/src/build/SharedDeps.zig ++++ b/src/build/SharedDeps.zig +@@ -121,7 +121,7 @@ pub fn add( + ); + + if (b.systemIntegrationOption("freetype", .{})) { +- step.linkSystemLibrary2("bzip2", dynamic_link_opts); ++ step.linkSystemLibrary2("bz2", dynamic_link_opts); + step.linkSystemLibrary2("freetype2", dynamic_link_opts); + } else { + step.linkLibrary(freetype_dep.artifact("freetype")); +-- +2.49.1 + diff --git a/x11-terms/ghostty/ghostty-1.2.3.ebuild b/x11-terms/ghostty/ghostty-1.2.3.ebuild new file mode 100644 index 0000000..219a7a7 --- /dev/null +++ b/x11-terms/ghostty/ghostty-1.2.3.ebuild @@ -0,0 +1,164 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Fast, feature-rich, and cross-platform terminal emulator" +HOMEPAGE="https://ghostty.org/ https://github.com/ghostty-org/ghostty" + +# FIXME: Zig build system currently requires us to include all packages +# even if the build doesn't use them. Add a way in zig.eclass to +# create empty package directories (this might need patching the +# .zon files as well) which will allow us to avoid downloading +# unused dependencies. +# +# In this particular case, we're downloading iTerm2 color +# schemes which have license issues. Binpkgs shouldn't be +# affected but source builds will be. +_iterm2_color_schemes_uri="https://github.com/mbadolato/iTerm2-Color-Schemes/releases/download/release-20251002-142451-4a5043e/ghostty-themes.tgz" + +# NOTE: Keep in sync with x11-terms/ghostty-terminfo ebuilds. +declare -g -r -A ZBS_DEPENDENCIES=( + [N-V-__8AAAzZywE3s51XfsLbP9eyEw57ae9swYB9aGB6fCMs.tar.gz]='https://deps.files.ghostty.org/wuffs-122037b39d577ec2db3fd7b2130e7b69ef6cc1807d68607a7c232c958315d381b5cd.tar.gz' + [N-V-__8AAB0eQwD-0MdOEBmz7intriBReIsIDNlukNVoNu6o.tar.gz]='https://deps.files.ghostty.org/zlib-1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb.tar.gz' + [N-V-__8AAB9YCQBaZtQjJZVndk-g_GDIK-NTZcIa63bFp9yZ.tar.gz]='https://deps.files.ghostty.org/zig_js-12205a66d423259567764fa0fc60c82be35365c21aeb76c5a7dc99698401f4f6fefc.tar.gz' + [N-V-__8AABzkUgISeKGgXAzgtutgJsZc0-kkeqBBscJgMkvy.tar.gz]='https://deps.files.ghostty.org/glslang-12201278a1a05c0ce0b6eb6026c65cd3e9247aa041b1c260324bf29cee559dd23ba1.tar.gz' + [N-V-__8AADYiAAB_80AWnH1AxXC0tql9thT-R-DYO1gBqTLc.tar.gz]='https://deps.files.ghostty.org/pixels-12207ff340169c7d40c570b4b6a97db614fe47e0d83b5801a932dcd44917424c8806.tar.gz' + [N-V-__8AADcZkgn4cMhTUpIz6mShCKyqqB-NBtf_S2bHaTC-.tar.gz]='https://deps.files.ghostty.org/gettext-0.24.tar.gz' + [N-V-__8AAG02ugUcWec-Ndp-i7JTsJ0dgF8nnJRUInkGLG7G.tar.xz]='https://deps.files.ghostty.org/harfbuzz-11.0.0.tar.xz' + [N-V-__8AAG3RoQEyRC2Vw7Qoro5SYBf62IHn3HjqtNVY6aWK.tar.gz]='https://deps.files.ghostty.org/libxml2-2.11.5.tar.gz' + [N-V-__8AAGmZhABbsPJLfbqrh6JTHsXhY6qCaLAQyx25e0XE.tar.gz]='https://deps.files.ghostty.org/highway-66486a10623fa0d72fe91260f96c892e41aceb06.tar.gz' + [N-V-__8AAH0GaQC8a52s6vfIxg88OZgFgEW6DFxfSK4lX_l3.tar.gz]='https://deps.files.ghostty.org/imgui-1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402.tar.gz' + [N-V-__8AAHffAgDU0YQmynL8K35WzkcnMUmBVQHQ0jlcKpjH.tar.gz]='https://deps.files.ghostty.org/utfcpp-1220d4d18426ca72fc2b7e56ce47273149815501d0d2395c2a98c726b31ba931e641.tar.gz' + [N-V-__8AAHjwMQDBXnLq3Q2QhaivE0kE2aD138vtX2Bq1g7c.tar.gz]='https://deps.files.ghostty.org/oniguruma-1220c15e72eadd0d9085a8af134904d9a0f5dfcbed5f606ad60edc60ebeccd9706bb.tar.gz' + [N-V-__8AAIC5lwAVPJJzxnCAahSvZTIlG-HhtOvnM1uh-66x.tar.gz]='https://deps.files.ghostty.org/JetBrainsMono-2.304.tar.gz' + [N-V-__8AAIrfdwARSa-zMmxWwFuwpXf1T3asIN7s5jqi9c1v.tar.gz]='https://deps.files.ghostty.org/fontconfig-2.14.2.tar.gz' + [N-V-__8AAJrvXQCqAT8Mg9o_tk6m0yf5Fz-gCNEOKLyTSerD.tar.gz]='https://deps.files.ghostty.org/libpng-1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66.tar.gz' + [N-V-__8AAKLKpwC4H27Ps_0iL3bPkQb-z6ZVSrB-x_3EEkub.tar.gz]='https://deps.files.ghostty.org/freetype-1220b81f6ecfb3fd222f76cf9106fecfa6554ab07ec7fdc4124b9bb063ae2adf969d.tar.gz' + [N-V-__8AAKYZBAB-CFHBKs3u4JkeiT4BMvyHu3Y5aaWF3Bbs.tar.gz]='https://deps.files.ghostty.org/plasma_wayland_protocols-12207e0851c12acdeee0991e893e0132fc87bb763969a585dc16ecca33e88334c566.tar.gz' + [N-V-__8AAKrHGAAs2shYq8UkE6bGcR1QJtLTyOE_lcosMn6t.tar.gz]='https://deps.files.ghostty.org/wayland-9cb3d7aa9dc995ffafdbdef7ab86a949d0fb0e7d.tar.gz' + [N-V-__8AAKw-DAAaV8bOAAGqA0-oD7o-HNIlPFYKRXSPT03S.tar.gz]='https://deps.files.ghostty.org/wayland-protocols-258d8f88f2c8c25a830c6316f87d23ce1a0f12d9.tar.gz' + [N-V-__8AALiNBAA-_0gprYr92CjrMj1I5bqNu0TSJOnjFNSr.tar.gz]='https://deps.files.ghostty.org/gtk4-layer-shell-1.1.0.tar.gz' + [N-V-__8AALw2uwF_03u4JRkZwRLc3Y9hakkYV7NKRR9-RIZJ.tar.gz]='https://deps.files.ghostty.org/breakpad-b99f444ba5f6b98cac261cbb391d8766b34a5918.tar.gz' + [N-V-__8AAMVLTABmYkLqhZPLXnMl-KyN38R8UVYqGrxqO26s.tar.gz]='https://deps.files.ghostty.org/NerdFontsSymbolsOnly-3.4.0.tar.gz' + [N-V-__8AANb6pwD7O1WG6L5nvD_rNMvnSc9Cpg1ijSlTYywv.tar.gz]='https://deps.files.ghostty.org/spirv_cross-1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da.tar.gz' + [N-V-__8AALIsAwDyo88G5mGJGN2lSVmmFMx4YePfUvp_2o3Y.tar.gz]="${_iterm2_color_schemes_uri}" + [N-V-__8AAPlZGwBEa-gxrcypGBZ2R8Bse4JYSfo_ul8i2jlG.tar.gz]='https://deps.files.ghostty.org/sentry-1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e.tar.gz' + [gobject-0.3.0-Skun7ET3nQAc0LzvO0NAvTiGGnmkF36cnmbeCAF6MB7Z.tar.zst]='https://github.com/jcollie/ghostty-gobject/releases/download/0.15.1-2025-09-04-48-1/ghostty-gobject-0.15.1-2025-09-04-48-1.tar.zst' + [libxev-0.0.0-86vtc2UaEwDfiTKX3iBI-s_hdzfzWQUarT3MUrmUQl-Q.tar.gz]='https://github.com/mitchellh/libxev/archive/7f803181b158a10fec8619f793e3b4df515566cb.tar.gz' + [vaxis-0.1.0-BWNV_FUICQAFZnTCL11TUvnUr1Y0_ZdqtXHhd51d76Rn.tar.gz]='https://github.com/rockorager/libvaxis/archive/1f41c121e8fc153d9ce8c6eb64b2bbab68ad7d23.tar.gz' + [wayland-0.4.0-dev-lQa1kjfIAQCmhhQu3xF0KH-94-TzeMXOqfnP0-Dg6Wyy.tar.gz]='https://codeberg.org/ifreund/zig-wayland/archive/f3c5d503e540ada8cbcb056420de240af0c094f7.tar.gz' + [z2d-0.8.1-j5P_Hq8vDwB8ZaDA54-SzESDLF2zznG_zvTHiQNJImZP.tar.gz]='https://github.com/vancluever/z2d/archive/refs/tags/v0.8.1.tar.gz' + [zf-0.10.3-OIRy8aiIAACLrBllz0zjxaH0aOe5oNm3KtEMyCntST-9.tar.gz]='https://github.com/natecraddock/zf/archive/7aacbe6d155d64d15937ca95ca6c014905eb531f.tar.gz' + [zg-0.13.4-AAAAAGiZ7QLz4pvECFa_wG4O4TP4FLABHHbemH2KakWM.tar.gz]='https://codeberg.org/atman/zg/archive/4a002763419a34d61dcbb1f415821b83b9bf8ddc.tar.gz' + [zig_objc-0.0.0-Ir_SpwsPAQBJgi9YRm2ubJMfdoysSq5gKpsIj3izQ8Zk.tar.gz]='https://github.com/mitchellh/zig-objc/archive/c9e917a4e15a983b672ca779c7985d738a2d517c.tar.gz' + [zigimg-0.1.0-lly-O6N2EABOxke8dqyzCwhtUCAafqP35zC7wsZ4Ddxj.tar.gz]='https://github.com/TUSF/zigimg/archive/31268548fe3276c0e95f318a6c0d2ab10565b58d.tar.gz' + [ziglyph-0.11.2-AAAAAHPtHwB4Mbzn1KvOV7Wpjo82NYEc_v0WC8oCLrkf.tar.gz]='https://deps.files.ghostty.org/ziglyph-b89d43d1e3fb01b6074bc1f7fc980324b04d26a5.tar.gz' +) + +ZIG_SLOT="0.14" +ZIG_NEEDS_LLVM=1 +inherit zig xdg + +SRC_URI=" + https://release.files.ghostty.org/${PV}/ghostty-${PV}.tar.gz + ${ZBS_DEPENDENCIES_SRC_URI} +" + +LICENSE="Apache-2.0 BSD BSD-2 BSD-4 Boost-1.0 MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64" + +# TODO: simdutf integration (missing Gentoo version) +# TODO: spirv-cross integration (missing Gentoo package) +COMMON_DEPEND=" + >=dev-libs/oniguruma-6.9.9:= + >=dev-util/glslang-1.3.296.0:= + gui-libs/gtk:4=[X?] + gui-libs/libadwaita:1= + >=media-libs/fontconfig-2.14.2:= + >=media-libs/freetype-2.13.2:=[bzip2,harfbuzz,png] + >=media-libs/harfbuzz-8.4.0:=[truetype] + X? ( x11-libs/libX11 ) + wayland? ( + dev-libs/wayland + gui-libs/gtk4-layer-shell:= + ) +" +DEPEND="${COMMON_DEPEND}" +RDEPEND=" + ${COMMON_DEPEND} + ~x11-terms/ghostty-terminfo-${PV} +" +BDEPEND=" + man? ( virtual/pandoc ) +" + +IUSE="X wayland man" +REQUIRED_USE=" + || ( X wayland ) +" + +# zig build test fails for this release (under investigation) +# https://github.com/ghostty-org/ghostty/discussions/8676 +RESTRICT="test" + +# XXX: Because we set --release=fast below, Zig will automatically strip +# the binary. Until Ghostty provides a way to disable the banner while +# having debug symbols we have ignore pre-stripped file warnings. +QA_PRESTRIPPED="usr/bin/ghostty" + +PATCHES=( + "${FILESDIR}"/${PN}-1.2.0-bzip2-dependency.patch + "${FILESDIR}"/${PN}-1.2.0-build-disable-terminfo-database-installation.patch +) + +src_configure() { + local my_zbs_args=( + # XXX: Ghostty displays a banner saying it is a debug build unless ReleaseFast is used. + --release=fast + + -Dapp-runtime=gtk + -Dfont-backend=fontconfig_freetype + -Drenderer=opengl + -Dgtk-x11=$(usex X true false) + -Dgtk-wayland=$(usex wayland true false) + -Demit-docs=$(usex man true false) + -Dversion-string="${PV}" + -Demit-terminfo=false + -Demit-termcap=false + # https://github.com/mbadolato/iTerm2-Color-Schemes/issues/638 + # TODO: Re-evaluate including themes once themes with bad licenses are removed. + -Demit-themes=true + + -fsys=freetype + -fsys=harfbuzz + -fsys=fontconfig + -fsys=libpng + -fsys=zlib + -fsys=oniguruma + -fsys=glslang + -fsys=spirv-cross + -fsys=simdutf + -fsys=gtk4-layer-shell + + # See TODO above COMMON_DEPEND + -fno-sys=spirv-cross + -fno-sys=simdutf + ) + + zig_src_configure +} + +pkg_postinst() { + ewarn "This build of Ghostty does not include bundled iTerm2 color schemes," + ewarn "due to uncertainty around theme licensing:" + ewarn "" + ewarn " https://github.com/mbadolato/iTerm2-Color-Schemes/issues/638" + ewarn "" + ewarn "Ghostty looks up themes in ~/.config/ghostty/themes/ by default," + ewarn "so to avoid breakage you can manually install the color schemes:" + ewarn "" + ewarn " mkdir -p ~/.config/ghostty/themes/" + ewarn " wget -O- ${_iterm2_color_schemes_uri} | tar xz -C ~/.config/ghostty/themes/ --strip-components=1" +}