public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Joonas Niilola" <juippis@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-terms/ghostty/
Date: Fri, 17 Jan 2025 13:36:07 +0000 (UTC)	[thread overview]
Message-ID: <1737120959.5c8b025773af642a12ad84f94931b604e488addd.juippis@gentoo> (raw)

commit:     5c8b025773af642a12ad84f94931b604e488addd
Author:     Eric Joldasov <bratishkaerik <AT> landless-city <DOT> net>
AuthorDate: Wed Jan 15 19:13:43 2025 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Jan 17 13:35:59 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c8b0257

x11-terms/ghostty: add 1.0.1-r3

* Remove `system-*` USE-flags due to linked bug

Also noticed when reviewing upstream build.zig files:
* Enable `truetype` USE-flag on harfbuzz; Ghostty needs
  freetype-related functions as can be seen in `createFont` function
  from "pkg/harfbuzz/freetype.zig"
* Remove libpng dependency and enable `png` USE-flag on freetype instead,
  as a separate dependency it is used in upstream only in static build
  case as a transient dependency of freetype (mentioned in build.zig
  comment). PNG is decoded with wuffs version instead.
* Same with zlib dependency, it's only used as dependency of
  freetype and libpng. Decompression is done with Zig standard module
  version instead (`std.compress.zlib`).
* Same with libxml2 dependency, for fontconfig.

Bug: https://bugs.gentoo.org/947033
Signed-off-by: Eric Joldasov <bratishkaerik <AT> landless-city.net>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 x11-terms/ghostty/ghostty-1.0.1-r3.ebuild | 125 ++++++++++++++++++++++++++++++
 1 file changed, 125 insertions(+)

diff --git a/x11-terms/ghostty/ghostty-1.0.1-r3.ebuild b/x11-terms/ghostty/ghostty-1.0.1-r3.ebuild
new file mode 100644
index 000000000000..2e1e71682d15
--- /dev/null
+++ b/x11-terms/ghostty/ghostty-1.0.1-r3.ebuild
@@ -0,0 +1,125 @@
+# 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"
+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 )
+	>=media-libs/fontconfig-2.14.2:=
+	>=media-libs/freetype-2.13.2:=[bzip2,harfbuzz,png]
+	>=dev-util/glslang-1.3.296.0:=
+	>=media-libs/harfbuzz-8.4.0:=[truetype]
+	>=dev-libs/oniguruma-6.9.9:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	man? ( virtual/pandoc )
+"
+
+IUSE="+X +adwaita man"
+
+# 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}"
+
+		-fsys=fontconfig
+		-fsys=freetype
+		-fsys=glslang
+		-fsys=harfbuzz
+		-fsys=libpng
+		-fsys=libxml2
+		-fsys=oniguruma
+		-fsys=zlib
+
+		# See TODO above RDEPEND
+		-fno-sys=simdutf
+		-fno-sys=spirv-cross
+	)
+
+	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
+}


             reply	other threads:[~2025-01-17 13:36 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-17 13:36 Joonas Niilola [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-10-07  2:50 [gentoo-commits] repo/gentoo:master commit in: x11-terms/ghostty/ Sam James
2025-10-07  2:50 Sam James
2025-05-10 20:04 Sam James
2025-03-25  6:23 Sam James
2025-02-16 15:26 Sam James
2025-02-16 14:46 Sam James
2025-01-17 13:36 Joonas Niilola
2025-01-17 13:36 Joonas Niilola
2025-01-08  6:33 Joonas Niilola
2025-01-08  6:33 Joonas Niilola
2025-01-08  6:33 Joonas Niilola
2025-01-08  6:33 Joonas Niilola
2025-01-08  6:33 Joonas Niilola
2024-12-27 17:25 Sam James

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1737120959.5c8b025773af642a12ad84f94931b604e488addd.juippis@gentoo \
    --to=juippis@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox