%global upstream_version 0.0.46-nightly.20261004.2644 %global pr_set none %global flavor v2-prs # RPM release fields cannot contain a hyphen, so a hyphenated flavor name # lands as underscores there while the package keeps its real name. %global release_flavor %(echo %{flavor} | tr '-' '_') %global flavor_note with the Pi provider and the Command Code and Oh My Pi integrations %global flavor_detail The local patches from the packaging repository add the Command Code provider and the bundled Oh My Pi ACP registry entry, written against the orchestration interfaces that upstream main has carried since it merged the orchestrator. # The AppImage is a prebuilt opaque ELF bundle without a build ID. %global _build_id_links none %global debug_package %{nil} %global __brp_strip %{nil} %global __brp_strip_comment_note %{nil} %global __brp_strip_lto %{nil} Name: t3code-%{flavor}-nightly Version: %(echo %{upstream_version} | sed 's/-.*//') Release: 1.%{release_flavor}.%{pr_set}.%(echo %{upstream_version} | sed 's/.*-nightly\.//')%{?dist} Summary: Minimal GUI for coding agents (nightly %{flavor_note}) License: MIT URL: https://github.com/pingdotgg/t3code Source0: T3-Code-%{upstream_version}-x86_64.AppImage Source1: t3code Source2: t3code.desktop Source3: LICENSE Source4: build-provenance.txt ExclusiveArch: x86_64 # Every T3 Code package here owns the same paths, so dnf will not hold two of # them at once: switching flavors is an explicit `dnf swap`. The retired names # are obsoleted so their users land on a maintained package. Provides: t3code = %{version}-%{release} Obsoletes: t3code-nightly <= %{version}-%{release} Obsoletes: t3code-cmd-nightly <= %{version}-%{release} Obsoletes: t3code-prs-nightly <= %{version}-%{release} %description T3 Code is a minimal GUI for coding agents. This unofficial package is built from the upstream sources of nightly %{upstream_version}.%{flavor_detail} %{_docdir}/%{name}/build-provenance.txt names every source input that went into the build. It is otherwise the same x86_64 nightly desktop build and provides the same `t3code` entry point. %prep %autosetup -c -T %install install -Dpm0755 %{SOURCE0} %{buildroot}%{_libexecdir}/t3code/t3code.AppImage install -Dpm0755 %{SOURCE1} %{buildroot}%{_bindir}/t3code install -Dpm0644 %{SOURCE2} %{buildroot}%{_datadir}/applications/t3code.desktop install -Dpm0644 %{SOURCE3} %{buildroot}%{_licensedir}/%{name}/LICENSE install -Dpm0644 %{SOURCE4} %{buildroot}%{_docdir}/%{name}/build-provenance.txt # Install application icons from the AppImage (FUSE-free extract). extractdir="%{_builddir}/%{name}-icons" mkdir -p "$extractdir" ( cd "$extractdir" %{buildroot}%{_libexecdir}/t3code/t3code.AppImage --appimage-extract \ 'usr/share/icons/hicolor/*/apps/t3code.png' ) for icon in "$extractdir"/squashfs-root/usr/share/icons/hicolor/*/apps/t3code.png; do size="$(basename "$(dirname "$(dirname "$icon")")")" install -Dpm0644 "$icon" \ "%{buildroot}%{_datadir}/icons/hicolor/${size}/apps/t3code.png" done %files %license %{_licensedir}/%{name}/LICENSE %doc %{_docdir}/%{name}/build-provenance.txt %{_bindir}/t3code %{_libexecdir}/t3code/t3code.AppImage %{_datadir}/applications/t3code.desktop %{_datadir}/icons/hicolor/*/apps/t3code.png %changelog * Sun Oct 04 2026 T3 Code COPR Maintainers - %{version}-%{release} - Package upstream nightly %{upstream_version} rebuilt with this repository's local patches