%undefine _hardened_build %undefine _include_frame_pointers %define _fortify_level 2 %global commit f49fdf7ca3a69d987407c4c1965e32697fb671d7 %global date 20260306 %global foot_terminfo foot-extra %global default_terminfo foot %global fcft_minver 3.3.1 %{?commit:%global shortcommit %(c=%{commit}; echo ${c:0:7})} Name: foot Version: 1.27^%{date}git%{shortcommit} Release: 1%{?dist} Summary: Fast, lightweight and minimalistic Wayland terminal emulator License: MIT URL: https://codeberg.org/dnkl/%{name} Source: %{url}/archive/%{commit}.tar.gz BuildRequires: gcc BuildRequires: meson >= 0.59.0 BuildRequires: desktop-file-utils BuildRequires: libappstream-glib BuildRequires: python3 BuildRequires: systemd-rpm-macros BuildRequires: libutempter BuildRequires: pkgconfig(fcft) >= %{fcft_minver} BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(libutf8proc) BuildRequires: pkgconfig(pixman-1) BuildRequires: pkgconfig(scdoc) BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(tllist) >= 1.1.0 BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-cursor) BuildRequires: pkgconfig(wayland-protocols) >= 1.41 BuildRequires: pkgconfig(wayland-scanner) BuildRequires: pkgconfig(xkbcommon) >= 1.8 # require *-static for header-only library BuildRequires: tllist-static Requires: fcft%{?_isa} >= %{fcft_minver} Recommends: ncurses-base Requires: (ncurses-base >= 6.4-5.20230520 if ncurses-base) # require matching version of foot-terminfo if installed Requires: (%{name}-terminfo = %{version}-%{release} if %{name}-terminfo) # Optional dependency for bell = notify option Recommends: /usr/bin/notify-send # Optional dependency for opening URLs Recommends: /usr/bin/xdg-open Requires: hicolor-icon-theme %description Fast, lightweight and minimalistic Wayland terminal emulator. Features: * Fast * Lightweight, in dependencies, on-disk and in-memory * Wayland native * DE agnostic * Server/daemon mode * User configurable font fallback * On-the-fly font resize * On-the-fly DPI font size adjustment * Scrollback search * Keyboard driven URL detection * Color emoji support * IME (via text-input-v3) * Multi-seat * Synchronized Updates support * Sixel image support %package terminfo Summary: Terminfo files for %{name} terminal BuildRequires: /usr/bin/tic Requires: ncurses-base %description terminfo %{summary}. %prep %autosetup -p1 -n %{name} %build %ifarch x86_64 export CFLAGS="$CFLAGS -march=x86-64-v3" %endif %meson \ -Dterminfo-base-name=%{foot_terminfo} \ -Ddefault-terminfo=%{default_terminfo} \ -Dime=false \ %meson_build %install %meson_install # Will be installed to correct location with rpm macros rm %{buildroot}%{_docdir}/%{name}/LICENSE %check %meson_test desktop-file-validate \ %{buildroot}/%{_datadir}/applications/%{name}*.desktop %post %systemd_user_post %{name}-server.{service,socket} %preun %systemd_user_preun %{name}-server.{service,socket} %files %license LICENSE %config(noreplace) %{_sysconfdir}/xdg/%{name}/%{name}.ini %{_bindir}/%{name} %{_bindir}/%{name}client %{_datadir}/%{name}/ %{_datadir}/applications/%{name}*.desktop %{_datadir}/icons/hicolor/48x48/apps/%{name}.png %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %{bash_completions_dir}/foot* %{fish_completions_dir}/foot* %{zsh_completions_dir}/_foot* %dir %{_docdir}/%{name} %doc %{_docdir}/%{name}/CHANGELOG.md %doc %{_docdir}/%{name}/README.md %{_mandir}/man1/%{name}.1* %{_mandir}/man1/%{name}client.1* %{_mandir}/man5/%{name}.ini.5* %{_mandir}/man7/%{name}-ctlseqs.7* %{_userunitdir}/%{name}-server.service %{_userunitdir}/%{name}-server.socket %files terminfo %license LICENSE %dir %{_datadir}/terminfo/f %{_datadir}/terminfo/f/%{foot_terminfo} %{_datadir}/terminfo/f/%{foot_terminfo}-direct %changelog