From 8e26aeaca2a19592a9eea3917f3139bfde8641f0 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 15 Jan 2025 06:41:45 +0000 Subject: gentoo auto-resync : 15:01:2025 - 06:41:45 --- x11-terms/ghostty/Manifest | 3 +- ...t-gtk-move-most-version-checks-to-runtime.patch | 125 +++++++++++++++++++ x11-terms/ghostty/ghostty-1.0.1-r1.ebuild | 137 -------------------- x11-terms/ghostty/ghostty-1.0.1-r2.ebuild | 138 +++++++++++++++++++++ 4 files changed, 265 insertions(+), 138 deletions(-) create mode 100644 x11-terms/ghostty/files/ghostty-1.0.1-apprt-gtk-move-most-version-checks-to-runtime.patch delete mode 100644 x11-terms/ghostty/ghostty-1.0.1-r1.ebuild create mode 100644 x11-terms/ghostty/ghostty-1.0.1-r2.ebuild (limited to 'x11-terms/ghostty') diff --git a/x11-terms/ghostty/Manifest b/x11-terms/ghostty/Manifest index dde9f92e7ebc..71304891d9b1 100644 --- a/x11-terms/ghostty/Manifest +++ b/x11-terms/ghostty/Manifest @@ -1,4 +1,5 @@ AUX ghostty-1.0.0-bzip2-dependency.patch 560 BLAKE2B f737d770da6e8a84098655d6983ccad70a22952b7bcabce9d9d34032ebb69c5427458347a4118944587b238854e1c579c923aac3e91d76f3f2660e8cf43afd35 SHA512 efde14f8d15afd7c169c30cbe5ab7ce4928ae6869e02cac4e2c8a6cac3f9604aed7bd43a40fcc975070c80802cfdcba10e63e1473e36ae2a65e9912dfee34b18 +AUX ghostty-1.0.1-apprt-gtk-move-most-version-checks-to-runtime.patch 5981 BLAKE2B d1b097036b690d749d83fefe2e624874667fd32f28196951739da8b57da944f142b20532a7fd5d97ad563d35982a822e51789cdc822a0b353b67420b593fb248 SHA512 82999010bd7f1540850456ae7ef924a72dff5c009a9798c5c94a21e13c4d8d14ecc11317f76b03aec3c36dae8fa99473f6dbde329478ca32801cac1b98f7a98f AUX ghostty-1.0.1-copy-terminfo-using-installdir.patch 2103 BLAKE2B 342d75c0b8555828f836c751679f2c36953a1640a2c8e4a021ac75689e5687ad7895b3e16e1bdded78d45d2c6711777b2df4f5d1e945e557fed987dced551f17 SHA512 eec5fdda83a104b338db2a0f47e1b44a99311ea2b6196783c14ad36c993365909c234ce47cc3616e5790d3e4eaccfe059b5c5b9a2dec6b812e77f3ac91f3a15f DIST breakpad-12207fd37bb8251919c112dcdd8f616a491857b34a451f7e4486490077206dc2a1ea.tar.gz 5475126 BLAKE2B 67af8bc3227723e9056eb5d7e6f85809037d1b6f62c57bf447b04648c43c299a3840ac7a9ced2431343beb47332079c1827fd4d0a301fe0c6b24992f9b1b6fd9 SHA512 740b70daaf150a7619839f467eea6dc6d5dcd599861a977b1638c308b7902cb2de5d3927081143c2314e9b0c46c07d646ecec0e9e8d5097ddaa958766c07074d DIST fontconfig-12201149afb3326c56c05bb0a577f54f76ac20deece63aa2f5cd6ff31a4fa4fcb3b7.tar.gz 2122247 BLAKE2B c8f6a33b62141eb732e74194076627072fc7dca19eea797ae256e169f07e4722f47e20e65ffd3152bfb7c98eb5e8a5bc1b5d90b22640c911889c4f29fb2f7e34 SHA512 73287cc3f8f8261a27c2920b0f9430dd6e3ac8733fb2ba55e1b5934cee211023b6415e1d14ddad04ef3c7819727ed34d80aa503d2734bdfc2f1c733c4096463f @@ -33,5 +34,5 @@ DIST zig_js-12205a66d423259567764fa0fc60c82be35365c21aeb76c5a7dc99698401f4f6fefc DIST zigimg-1220dd654ef941fc76fd96f9ec6adadf83f69b9887a0d3f4ee5ac0a1a3e11be35cf5.tar.gz 132016 BLAKE2B ef50ad59811637d16b8eabfa4c16243fe48ff0de032f3de405af8cfea841d6320e34b9fb6e3c5bbdd8cb90681a69c7f82e6a8d2bce264de7e931b69998180560 SHA512 188173710eeeca319338c6d35fbfb6948f6ac5f8a354492db5d32d654e684c2f441676ea0160985969128aa0489a6ce841e700c721bd7d22c45d13b48f977c33 DIST ziglyph-12207831bce7d4abce57b5a98e8f3635811cfefd160bca022eb91fe905d36a02cf25.tar.gz 562290 BLAKE2B bc5efc55442634c17357182d71881b3ae8d92b338abaaeb25d0ec548fa4d940d0c0efd5b281167a6d02d20213261799ba3008f4513a5014cf7d9f92c7b6f0322 SHA512 b7d5502bc03a0396a064080ddaebf503ab35e13384fe3e332832f64696c241d5f978997816c09d8e855173ccc7d312244397f5f8076a4d207b065bd6f304ff0e DIST zlib-1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb.tar.gz 1572744 BLAKE2B 6d15d8f3c8feaf602043bb6e72316ee721c33ef24e110e3bf03fb12eac9703fd29e352268d202ecd2f18b526b4f1dbd90c8046e01ad8e64ddce3e55ad5db513e SHA512 8c9642495bafd6fad4ab9fb67f09b268c69ff9af0f4f20cf15dfc18852ff1f312bd8ca41de761b3f8d8e90e77d79f2ccacd3d4c5b19e475ecf09d021fdfe9088 -EBUILD ghostty-1.0.1-r1.ebuild 8650 BLAKE2B 1e1c0bd08216f848b2b2520b36b91a3fbb5c898436c961705a13432126f824ff4cf62de0715cf545fd79b30e2dc3396dcba19f8c3a974b17445529d38d8f23d4 SHA512 5e46d161ef9e65bc45524c7136ded0867b98b5cd536148264943166f39b6aadcae5bbb6e44721b721ec24df9c23b459f0313e19303eb08c30370ad5627e10749 +EBUILD ghostty-1.0.1-r2.ebuild 8729 BLAKE2B 942a089917b18a9906160a8cecfe2f33255a5a21f98cb760bb5af7a4d46ff33ed57c7f5efd77345c8d23b2c4a2c3410f93bd73fa4dc217a7996c2dd080723656 SHA512 c7fa9acf21916b30a22060c24defc9d35196413fc71ae20ec2b43fe5fa9b868b19b47f4232aed9da3f2b61d3134d1d0657ca663901d2a3922456dbfee943c087 MISC metadata.xml 1256 BLAKE2B d39c386cd087e0503b8f4387199e18e17fe3889f8195c8cfa6f91bb8549f2674767bad65aa47a0abb3f266c665658a7944b25d8ea4f9feb9f4c15f5d1f71d795 SHA512 494ddcb89c8ae6cc0a1ca46b24ccedf29f25d117cfeb7c53f3e36c1b260d7c548571de96e0bf218f20be9a3dc6c1b60d546f6e92ad279e4157abb8e800b782e5 diff --git a/x11-terms/ghostty/files/ghostty-1.0.1-apprt-gtk-move-most-version-checks-to-runtime.patch b/x11-terms/ghostty/files/ghostty-1.0.1-apprt-gtk-move-most-version-checks-to-runtime.patch new file mode 100644 index 000000000000..f8dca8663911 --- /dev/null +++ b/x11-terms/ghostty/files/ghostty-1.0.1-apprt-gtk-move-most-version-checks-to-runtime.patch @@ -0,0 +1,125 @@ +From 83bb35ffa3dae7093b829aec380d1ef322a10efb Mon Sep 17 00:00:00 2001 +From: sin-ack +Date: Tue, 7 Jan 2025 19:12:53 +0000 +Subject: [PATCH 1/2] apprt/gtk: Add version.runtimeAtLeast + +This will be used for version checks that are independent of the version +of GTK we built against. +--- + src/apprt/gtk/version.zig | 38 ++++++++++++++++++++++++++++++-------- + 1 file changed, 30 insertions(+), 8 deletions(-) + +diff --git a/src/apprt/gtk/version.zig b/src/apprt/gtk/version.zig +index af7ad12ea0..d8686fa28a 100644 +--- a/src/apprt/gtk/version.zig ++++ b/src/apprt/gtk/version.zig +@@ -7,6 +7,11 @@ const c = @import("c.zig").c; + /// in the headers. If it is run in a runtime context, it will + /// check the actual version of the library we are linked against. + /// ++/// This function should be used in cases where the version check ++/// would affect code generation, such as using symbols that are ++/// only available beyond a certain version. For checks which only ++/// depend on GTK's runtime behavior, use `runtimeAtLeast`. ++/// + /// This is inlined so that the comptime checks will disable the + /// runtime checks if the comptime checks fail. + pub inline fn atLeast( +@@ -26,6 +31,20 @@ pub inline fn atLeast( + // If we're in comptime then we can't check the runtime version. + if (@inComptime()) return true; + ++ return runtimeAtLeast(major, minor, micro); ++} ++ ++/// Verifies that the GTK version at runtime is at least the given ++/// version. ++/// ++/// This function should be used in cases where the only the runtime ++/// behavior is affected by the version check. For checks which would ++/// affect code generation, use `atLeast`. ++pub inline fn runtimeAtLeast( ++ comptime major: u16, ++ comptime minor: u16, ++ comptime micro: u16, ++) bool { + // We use the functions instead of the constants such as + // c.GTK_MINOR_VERSION because the function gets the actual + // runtime version. +@@ -44,15 +63,18 @@ test "atLeast" { + const std = @import("std"); + const testing = std.testing; + +- try testing.expect(atLeast(c.GTK_MAJOR_VERSION, c.GTK_MINOR_VERSION, c.GTK_MICRO_VERSION)); ++ const funs = &.{ atLeast, runtimeAtLeast }; ++ inline for (funs) |fun| { ++ try testing.expect(fun(c.GTK_MAJOR_VERSION, c.GTK_MINOR_VERSION, c.GTK_MICRO_VERSION)); + +- try testing.expect(!atLeast(c.GTK_MAJOR_VERSION, c.GTK_MINOR_VERSION, c.GTK_MICRO_VERSION + 1)); +- try testing.expect(!atLeast(c.GTK_MAJOR_VERSION, c.GTK_MINOR_VERSION + 1, c.GTK_MICRO_VERSION)); +- try testing.expect(!atLeast(c.GTK_MAJOR_VERSION + 1, c.GTK_MINOR_VERSION, c.GTK_MICRO_VERSION)); ++ try testing.expect(!fun(c.GTK_MAJOR_VERSION, c.GTK_MINOR_VERSION, c.GTK_MICRO_VERSION + 1)); ++ try testing.expect(!fun(c.GTK_MAJOR_VERSION, c.GTK_MINOR_VERSION + 1, c.GTK_MICRO_VERSION)); ++ try testing.expect(!fun(c.GTK_MAJOR_VERSION + 1, c.GTK_MINOR_VERSION, c.GTK_MICRO_VERSION)); + +- try testing.expect(atLeast(c.GTK_MAJOR_VERSION - 1, c.GTK_MINOR_VERSION, c.GTK_MICRO_VERSION)); +- try testing.expect(atLeast(c.GTK_MAJOR_VERSION - 1, c.GTK_MINOR_VERSION + 1, c.GTK_MICRO_VERSION)); +- try testing.expect(atLeast(c.GTK_MAJOR_VERSION - 1, c.GTK_MINOR_VERSION, c.GTK_MICRO_VERSION + 1)); ++ try testing.expect(fun(c.GTK_MAJOR_VERSION - 1, c.GTK_MINOR_VERSION, c.GTK_MICRO_VERSION)); ++ try testing.expect(fun(c.GTK_MAJOR_VERSION - 1, c.GTK_MINOR_VERSION + 1, c.GTK_MICRO_VERSION)); ++ try testing.expect(fun(c.GTK_MAJOR_VERSION - 1, c.GTK_MINOR_VERSION, c.GTK_MICRO_VERSION + 1)); + +- try testing.expect(atLeast(c.GTK_MAJOR_VERSION, c.GTK_MINOR_VERSION - 1, c.GTK_MICRO_VERSION + 1)); ++ try testing.expect(fun(c.GTK_MAJOR_VERSION, c.GTK_MINOR_VERSION - 1, c.GTK_MICRO_VERSION + 1)); ++ } + } + +From 8a7e6c050c556463b126181e01f256a0043ca14a Mon Sep 17 00:00:00 2001 +From: sin-ack +Date: Tue, 7 Jan 2025 19:53:27 +0000 +Subject: [PATCH 2/2] apprt/gtk: Move most version checks to runtime + +Unless we are guarding against symbols added in new versions we now +check against the runtime version of GTK to handle them even when we +didn't build against that version. +--- + src/apprt/gtk/App.zig | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig +index 3cc1782c86..993dfcc328 100644 +--- a/src/apprt/gtk/App.zig ++++ b/src/apprt/gtk/App.zig +@@ -104,12 +104,12 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { + // Disabling Vulkan can improve startup times by hundreds of + // milliseconds on some systems. We don't use Vulkan so we can just + // disable it. +- if (version.atLeast(4, 16, 0)) { ++ if (version.runtimeAtLeast(4, 16, 0)) { + // From gtk 4.16, GDK_DEBUG is split into GDK_DEBUG and GDK_DISABLE. + // For the remainder of "why" see the 4.14 comment below. + _ = internal_os.setenv("GDK_DISABLE", "gles-api,vulkan"); + _ = internal_os.setenv("GDK_DEBUG", "opengl"); +- } else if (version.atLeast(4, 14, 0)) { ++ } else if (version.runtimeAtLeast(4, 14, 0)) { + // We need to export GDK_DEBUG to run on Wayland after GTK 4.14. + // Older versions of GTK do not support these values so it is safe + // to always set this. Forwards versions are uncertain so we'll have to +@@ -131,7 +131,7 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { + _ = internal_os.setenv("GDK_DEBUG", "vulkan-disable"); + } + +- if (version.atLeast(4, 14, 0)) { ++ if (version.runtimeAtLeast(4, 14, 0)) { + // We need to export GSK_RENDERER to opengl because GTK uses ngl by + // default after 4.14 + _ = internal_os.setenv("GSK_RENDERER", "opengl"); +@@ -983,7 +983,7 @@ fn loadRuntimeCss( + unfocused_fill.b, + }); + +- if (version.atLeast(4, 16, 0)) { ++ if (version.runtimeAtLeast(4, 16, 0)) { + switch (window_theme) { + .ghostty => try writer.print( + \\:root {{ diff --git a/x11-terms/ghostty/ghostty-1.0.1-r1.ebuild b/x11-terms/ghostty/ghostty-1.0.1-r1.ebuild deleted file mode 100644 index 95117192ae04..000000000000 --- a/x11-terms/ghostty/ghostty-1.0.1-r1.ebuild +++ /dev/null @@ -1,137 +0,0 @@ -# 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/" - -declare -g -r -A ZBS_DEPENDENCIES=( - [breakpad-12207fd37bb8251919c112dcdd8f616a491857b34a451f7e4486490077206dc2a1ea.tar.gz]='https://github.com/getsentry/breakpad/archive/b99f444ba5f6b98cac261cbb391d8766b34a5918.tar.gz' - [fontconfig-12201149afb3326c56c05bb0a577f54f76ac20deece63aa2f5cd6ff31a4fa4fcb3b7.tar.gz]='https://deps.files.ghostty.org/fontconfig-2.14.2.tar.gz' - [freetype-1220b81f6ecfb3fd222f76cf9106fecfa6554ab07ec7fdc4124b9bb063ae2adf969d.tar.gz]='https://github.com/freetype/freetype/archive/refs/tags/VER-2-13-2.tar.gz' - [glfw-1220736fa4ba211162c7a0e46cc8fe04d95921927688bff64ab5da7420d098a7272d.tar.gz]='https://github.com/mitchellh/glfw/archive/b552c6ec47326b94015feddb36058ea567b87159.tar.gz' - [glslang-12201278a1a05c0ce0b6eb6026c65cd3e9247aa041b1c260324bf29cee559dd23ba1.tar.gz]='https://github.com/KhronosGroup/glslang/archive/refs/tags/14.2.0.tar.gz' - [harfbuzz-1220b8588f106c996af10249bfa092c6fb2f35fbacb1505ef477a0b04a7dd1063122.tar.gz]='https://github.com/harfbuzz/harfbuzz/archive/refs/tags/8.4.0.tar.gz' - [highway-12205c83b8311a24b1d5ae6d21640df04f4b0726e314337c043cde1432758cbe165b.tar.gz]='https://github.com/google/highway/archive/refs/tags/1.1.0.tar.gz' - [imgui-1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402.tar.gz]='https://github.com/ocornut/imgui/archive/e391fe2e66eb1c96b1624ae8444dc64c23146ef4.tar.gz' - [iterm2_themes-1220cc25b537556a42b0948437c791214c229efb78b551c80b1e9b18d70bf0498620.tar.gz]='https://github.com/mbadolato/iTerm2-Color-Schemes/archive/e030599a6a6e19fcd1ea047c7714021170129d56.tar.gz' - [libpng-1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66.tar.gz]='https://github.com/pnggroup/libpng/archive/refs/tags/v1.6.43.tar.gz' - [libxev-12206029de146b685739f69b10a6f08baee86b3d0a5f9a659fa2b2b66c9602078bbf.tar.gz]='https://github.com/mitchellh/libxev/archive/db6a52bafadf00360e675fefa7926e8e6c0e9931.tar.gz' - [libxml2-122032442d95c3b428ae8e526017fad881e7dc78eab4d558e9a58a80bfbd65a64f7d.tar.gz]='https://github.com/GNOME/libxml2/archive/refs/tags/v2.11.5.tar.gz' - [mach-glfw-12206ed982e709e565d536ce930701a8c07edfd2cfdce428683f3f2a601d37696a62.tar.gz]='https://github.com/mitchellh/mach-glfw/archive/37c2995f31abcf7e8378fba68ddcf4a3faa02de0.tar.gz' - [oniguruma-1220c15e72eadd0d9085a8af134904d9a0f5dfcbed5f606ad60edc60ebeccd9706bb.tar.gz]='https://github.com/kkos/oniguruma/archive/refs/tags/v6.9.9.tar.gz' - [sentry-1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e.tar.gz]='https://github.com/getsentry/sentry-native/archive/refs/tags/0.7.8.tar.gz' - [spirv_cross-1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da.tar.gz]='https://github.com/KhronosGroup/SPIRV-Cross/archive/476f384eb7d9e48613c45179e502a15ab95b6b49.tar.gz' - [utfcpp-1220d4d18426ca72fc2b7e56ce47273149815501d0d2395c2a98c726b31ba931e641.tar.gz]='https://github.com/nemtrif/utfcpp/archive/refs/tags/v4.0.5.tar.gz' - [vaxis-12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f.tar.gz]='https://github.com/rockorager/libvaxis/archive/6d729a2dc3b934818dffe06d2ba3ce02841ed74b.tar.gz' - [vaxis-1220c72c1697dd9008461ead702997a15d8a1c5810247f02e7983b9f74c6c6e4c087.tar.gz]='https://github.com/rockorager/libvaxis/archive/dc0a228a5544988d4a920cfb40be9cd28db41423.tar.gz' - [vulkan_headers-122004bfd4c519dadfb8e6281a42fc34fd1aa15aea654ea8a492839046f9894fa2cf.tar.gz]='https://github.com/mitchellh/vulkan-headers/archive/04c8a0389d5a0236a96312988017cd4ce27d8041.tar.gz' - [wayland_headers-1220b3164434d2ec9db146a40bf3a30f490590d68fa8529776a3138074f0da2c11ca.tar.gz]='https://github.com/mitchellh/wayland-headers/archive/5f991515a29f994d87b908115a2ab0b899474bd1.tar.gz' - [wuffs-12200984439edc817fbcbbaff564020e5104a0d04a2d0f53080700827052de700462.tar.gz]='https://github.com/google/wuffs/archive/refs/tags/v0.4.0-alpha.8.tar.gz' - [x11_headers-122089c326186c84aa2fd034b16abc38f3ebf4862d9ae106dc1847ac44f557b36465.tar.gz]='https://github.com/mitchellh/x11-headers/archive/2ffbd62d82ff73ec929dd8de802bc95effa0ef88.tar.gz' - [xcode_frameworks-12202adbfecdad671d585c9a5bfcbd5cdf821726779430047742ce1bf94ad67d19cb.tar.gz]='https://github.com/mitchellh/xcode-frameworks/archive/69801c154c39d7ae6129ea1ba8fe1afe00585fc8.tar.gz' - [z2d-12201f0d542e7541cf492a001d4d0d0155c92f58212fbcb0d224e95edeba06b5416a.tar.gz]='https://github.com/vancluever/z2d/archive/4638bb02a9dc41cc2fb811f092811f6a951c752a.tar.gz' - [zf-1220edc3b8d8bedbb50555947987e5e8e2f93871ca3c8e8d4cc8f1377c15b5dd35e8.tar.gz]='https://github.com/natecraddock/zf/archive/ed99ca18b02dda052e20ba467e90b623c04690dd.tar.gz' - [zg-122055beff332830a391e9895c044d33b15ea21063779557024b46169fb1984c6e40.tar.gz]='https://codeberg.org/atman/zg/archive/v0.13.2.tar.gz' - [zig-objc-1220e17e64ef0ef561b3e4b9f3a96a2494285f2ec31c097721bf8c8677ec4415c634.tar.gz]='https://github.com/mitchellh/zig-objc/archive/9b8ba849b0f58fe207ecd6ab7c147af55b17556e.tar.gz' - [zig_js-12205a66d423259567764fa0fc60c82be35365c21aeb76c5a7dc99698401f4f6fefc.tar.gz]='https://github.com/mitchellh/zig-js/archive/d0b8b0a57c52fbc89f9d9fecba75ca29da7dd7d1.tar.gz' - [zigimg-1220dd654ef941fc76fd96f9ec6adadf83f69b9887a0d3f4ee5ac0a1a3e11be35cf5.tar.gz]='https://github.com/zigimg/zigimg/archive/3a667bdb3d7f0955a5a51c8468eac83210c1439e.tar.gz' - [ziglyph-12207831bce7d4abce57b5a98e8f3635811cfefd160bca022eb91fe905d36a02cf25.tar.gz]='https://deps.files.ghostty.org/ziglyph-b89d43d1e3fb01b6074bc1f7fc980324b04d26a5.tar.gz' - [zlib-1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb.tar.gz]='https://github.com/madler/zlib/archive/refs/tags/v1.3.1.tar.gz' -) - -ZIG_SLOT="0.13" -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 - !system-freetype? ( || ( FTL GPL-2+ ) ) - !system-harfbuzz? ( Old-MIT ISC icu ) - !system-libpng? ( libpng2 ) - !system-zlib? ( ZLIB ) -" -SLOT="0" -KEYWORDS="~amd64" - -# TODO: simdutf integration (missing Gentoo version) -# TODO: spirv-cross integration (missing Gentoo package) -RDEPEND=" - gui-libs/gtk:4=[X?] - - adwaita? ( gui-libs/libadwaita:1= ) - X? ( x11-libs/libX11 ) - system-fontconfig? ( >=media-libs/fontconfig-2.14.2:= ) - system-freetype? ( - system-harfbuzz? ( >=media-libs/freetype-2.13.2:=[bzip2,harfbuzz] ) - !system-harfbuzz? ( >=media-libs/freetype-2.13.2:=[bzip2] ) - ) - system-fontconfig? ( >=media-libs/fontconfig-2.14.2:= ) - system-freetype? ( >=media-libs/freetype-2.13.2:=[bzip2] ) - system-glslang? ( >=dev-util/glslang-1.3.296.0:= ) - system-harfbuzz? ( >=media-libs/harfbuzz-8.4.0:= ) - system-libpng? ( >=media-libs/libpng-1.6.43:= ) - system-libxml2? ( >=dev-libs/libxml2-2.11.5:= ) - system-oniguruma? ( >=dev-libs/oniguruma-6.9.9:= ) - system-zlib? ( >=sys-libs/zlib-1.3.1:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - man? ( virtual/pandoc ) -" - -IUSE="+X +adwaita man" -# System integrations -IUSE+=" +system-fontconfig +system-freetype +system-glslang +system-harfbuzz +system-libpng +system-libxml2" -IUSE+=" +system-oniguruma +system-zlib" - -# 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.0.0-bzip2-dependency.patch - "${FILESDIR}"/${PN}-1.0.1-copy-terminfo-using-installdir.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-adwaita=$(usex adwaita true false) - -Dgtk-x11=$(usex X true false) - -Demit-docs=$(usex man true false) - -Dversion-string="${PV}" - - -f$(usex system-fontconfig sys no-sys)=fontconfig - -f$(usex system-freetype sys no-sys)=freetype - -f$(usex system-glslang sys no-sys)=glslang - -f$(usex system-harfbuzz sys no-sys)=harfbuzz - -f$(usex system-libpng sys no-sys)=libpng - -f$(usex system-libxml2 sys no-sys)=libxml2 - -f$(usex system-oniguruma sys no-sys)=oniguruma - -f$(usex system-zlib sys no-sys)=zlib - ) - - zig_src_configure -} - -src_install() { - zig_src_install - - # HACK: Zig 0.13.0 build system's InstallDir step has a bug where it - # fails to install symbolic links, so we manually create it - # here. - dosym -r /usr/share/terminfo/x/xterm-ghostty /usr/share/terminfo/g/ghostty -} diff --git a/x11-terms/ghostty/ghostty-1.0.1-r2.ebuild b/x11-terms/ghostty/ghostty-1.0.1-r2.ebuild new file mode 100644 index 000000000000..d9694b9dbe7c --- /dev/null +++ b/x11-terms/ghostty/ghostty-1.0.1-r2.ebuild @@ -0,0 +1,138 @@ +# 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/" + +declare -g -r -A ZBS_DEPENDENCIES=( + [breakpad-12207fd37bb8251919c112dcdd8f616a491857b34a451f7e4486490077206dc2a1ea.tar.gz]='https://github.com/getsentry/breakpad/archive/b99f444ba5f6b98cac261cbb391d8766b34a5918.tar.gz' + [fontconfig-12201149afb3326c56c05bb0a577f54f76ac20deece63aa2f5cd6ff31a4fa4fcb3b7.tar.gz]='https://deps.files.ghostty.org/fontconfig-2.14.2.tar.gz' + [freetype-1220b81f6ecfb3fd222f76cf9106fecfa6554ab07ec7fdc4124b9bb063ae2adf969d.tar.gz]='https://github.com/freetype/freetype/archive/refs/tags/VER-2-13-2.tar.gz' + [glfw-1220736fa4ba211162c7a0e46cc8fe04d95921927688bff64ab5da7420d098a7272d.tar.gz]='https://github.com/mitchellh/glfw/archive/b552c6ec47326b94015feddb36058ea567b87159.tar.gz' + [glslang-12201278a1a05c0ce0b6eb6026c65cd3e9247aa041b1c260324bf29cee559dd23ba1.tar.gz]='https://github.com/KhronosGroup/glslang/archive/refs/tags/14.2.0.tar.gz' + [harfbuzz-1220b8588f106c996af10249bfa092c6fb2f35fbacb1505ef477a0b04a7dd1063122.tar.gz]='https://github.com/harfbuzz/harfbuzz/archive/refs/tags/8.4.0.tar.gz' + [highway-12205c83b8311a24b1d5ae6d21640df04f4b0726e314337c043cde1432758cbe165b.tar.gz]='https://github.com/google/highway/archive/refs/tags/1.1.0.tar.gz' + [imgui-1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402.tar.gz]='https://github.com/ocornut/imgui/archive/e391fe2e66eb1c96b1624ae8444dc64c23146ef4.tar.gz' + [iterm2_themes-1220cc25b537556a42b0948437c791214c229efb78b551c80b1e9b18d70bf0498620.tar.gz]='https://github.com/mbadolato/iTerm2-Color-Schemes/archive/e030599a6a6e19fcd1ea047c7714021170129d56.tar.gz' + [libpng-1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66.tar.gz]='https://github.com/pnggroup/libpng/archive/refs/tags/v1.6.43.tar.gz' + [libxev-12206029de146b685739f69b10a6f08baee86b3d0a5f9a659fa2b2b66c9602078bbf.tar.gz]='https://github.com/mitchellh/libxev/archive/db6a52bafadf00360e675fefa7926e8e6c0e9931.tar.gz' + [libxml2-122032442d95c3b428ae8e526017fad881e7dc78eab4d558e9a58a80bfbd65a64f7d.tar.gz]='https://github.com/GNOME/libxml2/archive/refs/tags/v2.11.5.tar.gz' + [mach-glfw-12206ed982e709e565d536ce930701a8c07edfd2cfdce428683f3f2a601d37696a62.tar.gz]='https://github.com/mitchellh/mach-glfw/archive/37c2995f31abcf7e8378fba68ddcf4a3faa02de0.tar.gz' + [oniguruma-1220c15e72eadd0d9085a8af134904d9a0f5dfcbed5f606ad60edc60ebeccd9706bb.tar.gz]='https://github.com/kkos/oniguruma/archive/refs/tags/v6.9.9.tar.gz' + [sentry-1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e.tar.gz]='https://github.com/getsentry/sentry-native/archive/refs/tags/0.7.8.tar.gz' + [spirv_cross-1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da.tar.gz]='https://github.com/KhronosGroup/SPIRV-Cross/archive/476f384eb7d9e48613c45179e502a15ab95b6b49.tar.gz' + [utfcpp-1220d4d18426ca72fc2b7e56ce47273149815501d0d2395c2a98c726b31ba931e641.tar.gz]='https://github.com/nemtrif/utfcpp/archive/refs/tags/v4.0.5.tar.gz' + [vaxis-12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f.tar.gz]='https://github.com/rockorager/libvaxis/archive/6d729a2dc3b934818dffe06d2ba3ce02841ed74b.tar.gz' + [vaxis-1220c72c1697dd9008461ead702997a15d8a1c5810247f02e7983b9f74c6c6e4c087.tar.gz]='https://github.com/rockorager/libvaxis/archive/dc0a228a5544988d4a920cfb40be9cd28db41423.tar.gz' + [vulkan_headers-122004bfd4c519dadfb8e6281a42fc34fd1aa15aea654ea8a492839046f9894fa2cf.tar.gz]='https://github.com/mitchellh/vulkan-headers/archive/04c8a0389d5a0236a96312988017cd4ce27d8041.tar.gz' + [wayland_headers-1220b3164434d2ec9db146a40bf3a30f490590d68fa8529776a3138074f0da2c11ca.tar.gz]='https://github.com/mitchellh/wayland-headers/archive/5f991515a29f994d87b908115a2ab0b899474bd1.tar.gz' + [wuffs-12200984439edc817fbcbbaff564020e5104a0d04a2d0f53080700827052de700462.tar.gz]='https://github.com/google/wuffs/archive/refs/tags/v0.4.0-alpha.8.tar.gz' + [x11_headers-122089c326186c84aa2fd034b16abc38f3ebf4862d9ae106dc1847ac44f557b36465.tar.gz]='https://github.com/mitchellh/x11-headers/archive/2ffbd62d82ff73ec929dd8de802bc95effa0ef88.tar.gz' + [xcode_frameworks-12202adbfecdad671d585c9a5bfcbd5cdf821726779430047742ce1bf94ad67d19cb.tar.gz]='https://github.com/mitchellh/xcode-frameworks/archive/69801c154c39d7ae6129ea1ba8fe1afe00585fc8.tar.gz' + [z2d-12201f0d542e7541cf492a001d4d0d0155c92f58212fbcb0d224e95edeba06b5416a.tar.gz]='https://github.com/vancluever/z2d/archive/4638bb02a9dc41cc2fb811f092811f6a951c752a.tar.gz' + [zf-1220edc3b8d8bedbb50555947987e5e8e2f93871ca3c8e8d4cc8f1377c15b5dd35e8.tar.gz]='https://github.com/natecraddock/zf/archive/ed99ca18b02dda052e20ba467e90b623c04690dd.tar.gz' + [zg-122055beff332830a391e9895c044d33b15ea21063779557024b46169fb1984c6e40.tar.gz]='https://codeberg.org/atman/zg/archive/v0.13.2.tar.gz' + [zig-objc-1220e17e64ef0ef561b3e4b9f3a96a2494285f2ec31c097721bf8c8677ec4415c634.tar.gz]='https://github.com/mitchellh/zig-objc/archive/9b8ba849b0f58fe207ecd6ab7c147af55b17556e.tar.gz' + [zig_js-12205a66d423259567764fa0fc60c82be35365c21aeb76c5a7dc99698401f4f6fefc.tar.gz]='https://github.com/mitchellh/zig-js/archive/d0b8b0a57c52fbc89f9d9fecba75ca29da7dd7d1.tar.gz' + [zigimg-1220dd654ef941fc76fd96f9ec6adadf83f69b9887a0d3f4ee5ac0a1a3e11be35cf5.tar.gz]='https://github.com/zigimg/zigimg/archive/3a667bdb3d7f0955a5a51c8468eac83210c1439e.tar.gz' + [ziglyph-12207831bce7d4abce57b5a98e8f3635811cfefd160bca022eb91fe905d36a02cf25.tar.gz]='https://deps.files.ghostty.org/ziglyph-b89d43d1e3fb01b6074bc1f7fc980324b04d26a5.tar.gz' + [zlib-1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb.tar.gz]='https://github.com/madler/zlib/archive/refs/tags/v1.3.1.tar.gz' +) + +ZIG_SLOT="0.13" +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 + !system-freetype? ( || ( FTL GPL-2+ ) ) + !system-harfbuzz? ( Old-MIT ISC icu ) + !system-libpng? ( libpng2 ) + !system-zlib? ( ZLIB ) +" +SLOT="0" +KEYWORDS="~amd64" + +# TODO: simdutf integration (missing Gentoo version) +# TODO: spirv-cross integration (missing Gentoo package) +RDEPEND=" + gui-libs/gtk:4=[X?] + + adwaita? ( gui-libs/libadwaita:1= ) + X? ( x11-libs/libX11 ) + system-fontconfig? ( >=media-libs/fontconfig-2.14.2:= ) + system-freetype? ( + system-harfbuzz? ( >=media-libs/freetype-2.13.2:=[bzip2,harfbuzz] ) + !system-harfbuzz? ( >=media-libs/freetype-2.13.2:=[bzip2] ) + ) + system-fontconfig? ( >=media-libs/fontconfig-2.14.2:= ) + system-freetype? ( >=media-libs/freetype-2.13.2:=[bzip2] ) + system-glslang? ( >=dev-util/glslang-1.3.296.0:= ) + system-harfbuzz? ( >=media-libs/harfbuzz-8.4.0:= ) + system-libpng? ( >=media-libs/libpng-1.6.43:= ) + system-libxml2? ( >=dev-libs/libxml2-2.11.5:= ) + system-oniguruma? ( >=dev-libs/oniguruma-6.9.9:= ) + system-zlib? ( >=sys-libs/zlib-1.3.1:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + man? ( virtual/pandoc ) +" + +IUSE="+X +adwaita man" +# System integrations +IUSE+=" +system-fontconfig +system-freetype +system-glslang +system-harfbuzz +system-libpng +system-libxml2" +IUSE+=" +system-oniguruma +system-zlib" + +# 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.0.0-bzip2-dependency.patch + "${FILESDIR}"/${PN}-1.0.1-copy-terminfo-using-installdir.patch + "${FILESDIR}"/${PN}-1.0.1-apprt-gtk-move-most-version-checks-to-runtime.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-adwaita=$(usex adwaita true false) + -Dgtk-x11=$(usex X true false) + -Demit-docs=$(usex man true false) + -Dversion-string="${PV}" + + -f$(usex system-fontconfig sys no-sys)=fontconfig + -f$(usex system-freetype sys no-sys)=freetype + -f$(usex system-glslang sys no-sys)=glslang + -f$(usex system-harfbuzz sys no-sys)=harfbuzz + -f$(usex system-libpng sys no-sys)=libpng + -f$(usex system-libxml2 sys no-sys)=libxml2 + -f$(usex system-oniguruma sys no-sys)=oniguruma + -f$(usex system-zlib sys no-sys)=zlib + ) + + zig_src_configure +} + +src_install() { + zig_src_install + + # HACK: Zig 0.13.0 build system's InstallDir step has a bug where it + # fails to install symbolic links, so we manually create it + # here. + dosym -r /usr/share/terminfo/x/xterm-ghostty /usr/share/terminfo/g/ghostty +} -- cgit v1.2.3