%global git_commit_sha 1feb39864133b68884bb2e9b8345d67bba894f72 %global git_commit_timestamp 2025-09-08T14:07:58Z Name: ghostty-git Version: 1.1.4 Release: 1+%(date --date='%{git_commit_timestamp}' +'%%Y%%m%%d.%%H%%M%%S').%{git_commit_sha}%{?dist} Summary: Fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration License: MIT URL: https://github.com/ghostty-org/ghostty Source0: https://github.com/ghostty-org/ghostty/archive/%{git_commit_sha}.tar.gz ExclusiveArch: x86_64 aarch64 BuildRequires: coreutils BuildRequires: blueprint-compiler BuildRequires: fontconfig-devel BuildRequires: glib2-devel BuildRequires: glslang-devel BuildRequires: gtk4-devel BuildRequires: harfbuzz-devel BuildRequires: libadwaita-devel BuildRequires: libpng-devel BuildRequires: libxml2-devel %if 0%{?fedora} || 0%{?rhel} >= 10 BuildRequires: pandoc-cli %endif BuildRequires: pixman-devel BuildRequires: pkg-config BuildRequires: simdutf-devel BuildRequires: wayland-protocols-devel BuildRequires: zig BuildRequires: zlib-ng-devel %if 0%{?rhel} == 9 BuildRequires: freetype-devel = 2.13.3-1.el9 BuildRequires: llvm-devel = 19.1.7-2.full.el9 BuildRequires: oniguruma-devel = 6.9.9-1.el9 %else BuildRequires: freetype-devel BuildRequires: oniguruma-devel %endif %if 0%{?rhel} == 10 BuildRequires: llvm-devel = 20.1.4-2.full.el10 %endif Requires: fontconfig Requires: freetype Requires: glib2 Requires: gtk4 Requires: harfbuzz Requires: libadwaita Requires: libpng Requires: oniguruma Requires: pixman Requires: zlib-ng Conflicts: ghostty %description %{summary}. %if 0%{?rhel} == 9 || 0%{?rhel} == 10 %package gtk4-layer-shell Summary: GTK4 Layer-Shell for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Conflicts: gtk4-layer-shell-devel %description gtk4-layer-shell GTK4 Layer-Shell for %{name}. %endif %prep %setup -q -n ghostty-%{git_commit_sha} ZIG_GLOBAL_CACHE_DIR="%{_zig_cache_dir}" ./nix/build-support/fetch-zig-cache.sh %build %install DESTDIR="%{buildroot}" \ zig build \ --summary all \ --prefix "%{_prefix}" --prefix-lib-dir "%{_libdir}" \ --prefix-exe-dir "%{_bindir}" --prefix-include-dir "%{_includedir}" \ -Dversion-string=%{version}-%{release} \ -Doptimize=ReleaseFast \ -Dcpu=baseline \ -Dpie=true \ %if 0%{?rhel} == 9 || 0%{?rhel} == 10 -fno-sys=gtk4-layer-shell \ %endif %if 0%{?fedora} || 0%{?rhel} >= 10 -Demit-docs %else -Demit-docs=false %endif find "%{buildroot}/usr/share/locale" -type f -name "com.mitchellh.ghostty.mo" | sed "s|%{buildroot}||" > message_catalogs.txt %files -f message_catalogs.txt %license LICENSE %{_bindir}/ghostty %{_userunitdir}/app-com.mitchellh.ghostty.service %{_datadir}/applications/com.mitchellh.ghostty.desktop %{_datadir}/bash-completion/completions/ghostty.bash %{_datadir}/bat/syntaxes/ghostty.sublime-syntax %{_datadir}/dbus-1/services/com.mitchellh.ghostty.service %{_datadir}/fish/vendor_completions.d/ghostty.fish %{_datadir}/ghostty %{_iconsdir}/hicolor/1024x1024/apps/com.mitchellh.ghostty.png %{_iconsdir}/hicolor/128x128/apps/com.mitchellh.ghostty.png %{_iconsdir}/hicolor/128x128@2/apps/com.mitchellh.ghostty.png %{_iconsdir}/hicolor/16x16/apps/com.mitchellh.ghostty.png %{_iconsdir}/hicolor/16x16@2/apps/com.mitchellh.ghostty.png %{_iconsdir}/hicolor/256x256/apps/com.mitchellh.ghostty.png %{_iconsdir}/hicolor/256x256@2/apps/com.mitchellh.ghostty.png %{_iconsdir}/hicolor/32x32/apps/com.mitchellh.ghostty.png %{_iconsdir}/hicolor/32x32@2/apps/com.mitchellh.ghostty.png %{_iconsdir}/hicolor/512x512/apps/com.mitchellh.ghostty.png %{_datadir}/kio/servicemenus/com.mitchellh.ghostty.desktop %if 0%{?fedora} || 0%{?rhel} >= 10 %{_mandir}/man1/ghostty.1 %{_mandir}/man5/ghostty.5 %endif %{_datadir}/metainfo/com.mitchellh.ghostty.metainfo.xml %{_datadir}/nautilus-python/extensions/ghostty.py %{_datadir}/nvim/site/compiler/ghostty.vim %{_datadir}/nvim/site/ftdetect/ghostty.vim %{_datadir}/nvim/site/ftplugin/ghostty.vim %{_datadir}/nvim/site/syntax/ghostty.vim %{_datadir}/terminfo/g/ghostty %{_datadir}/terminfo/x/xterm-ghostty %{_datadir}/vim/vimfiles/compiler/ghostty.vim %{_datadir}/vim/vimfiles/ftdetect/ghostty.vim %{_datadir}/vim/vimfiles/ftplugin/ghostty.vim %{_datadir}/vim/vimfiles/syntax/ghostty.vim %{_datadir}/zsh/site-functions/_ghostty %if 0%{?rhel} == 9 || 0%{?rhel} == 10 %files -f message_catalogs.txt gtk4-layer-shell %{_prefix}/include/gtk4-layer-shell.h %{_prefix}/include/gtk4-session-lock.h %{_prefix}/lib/libgtk4-layer-shell.so %endif %changelog %autochangelog