Drop t3code-patched-bin

The environment-theme patches shipped as a forked AppImage while
upstream lacked them. Keeping it current means a hand-built artifact
per release, and it has fallen three behind — 0.0.35 against 0.0.38.

t3code-bin tracks the upstream feed on its own, so drop the fork.
Nothing else in the repo referenced the package.
This commit is contained in:
Ryan Hughes committed 2026-09-01 23:55:52 -04:00
1 parent d562ecb388
commit b66905a437
5 files changed
-200

No files matched your search

@@ -1,4 +0,0 @@
{
"source": "local",
"release_ring": "fast"
}
-21
View File
@@ -1,21 +0,0 @@
MIT License
Copyright (c) 2026 T3 Tools Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-134
View File
@@ -1,134 +0,0 @@
# Maintainer: Ryan Hughes <ryan@heyoodle.com>
# T3 Code built from the environment-theme branch of ryanrhughes/t3code, until
# upstream ships it: the desktop follows the machine's published themes
# (Omarchy retints it live) and `t3 theme set` works. Packaging matches
# t3code-bin exactly, so this installs in its place and the AppImage is
# unpacked the same way.
#
# Shipping a new artifact, every time:
# 1. The t3code worktree needs a repo-root .env carrying the public T3
# Connect config (relay URL, Clerk publishable key, CLI OAuth client id)
# or Connect ships broken -- the 0.0.35-2 mistake. The values are public
# and recoverable from the published npm `t3` package if lost.
# 2. Build: `pnpm dist:desktop:linux` with --build-version <upstream pkgver>.
# 3. Tag the built commit v<pkgver>-omarchy.<n>, create a GitHub release on
# the fork with the AppImage as its asset.
# 4. Update _patchtag and sha256sums_x86_64 here, and bump pkgrel (or, on a
# rebase to a new upstream release, bump pkgver and reset pkgrel) -- the
# version change is what makes the build server rebuild at all; a new
# release asset with an untouched PKGBUILD is invisible to it.
pkgname=t3code-patched-bin
pkgver=0.0.35
pkgrel=5
pkgdesc="Open-source control plane for coding agents, with Omarchy environment-theme patches"
arch=('x86_64')
url="https://t3.codes"
license=('MIT')
depends=(
'alsa-lib'
'at-spi2-core'
'cairo'
'dbus'
'expat'
'gcc-libs'
'glib2'
'glibc'
'gtk3'
'hicolor-icon-theme'
'libcups'
'libnotify'
'libx11'
'libxcb'
'libxcomposite'
'libxdamage'
'libxext'
'libxfixes'
'libxkbcommon'
'libxrandr'
'mesa'
'nspr'
'nss'
'pango'
'systemd-libs'
'xdg-utils'
)
optdepends=(
'claude-code: drive Claude Code from the app'
'cursor-cli: drive Cursor from the app'
'github-copilot-cli: drive Copilot from the app'
'openai-codex: drive Codex from the app'
)
provides=("t3code=${pkgver}")
conflicts=('t3code' 't3code-bin')
options=('!debug' '!strip')
_patchtag="v${pkgver}-omarchy.5"
_appimage="T3-Code-${pkgver}-x86_64.AppImage"
source=('t3code-launcher.sh' 't3-launcher.sh' 'LICENSE')
source_x86_64=("${_appimage}::https://github.com/ryanrhughes/t3code/releases/download/${_patchtag}/${_appimage}")
noextract=("${_appimage}")
sha256sums=('cb905ff341372ef2ef6e402cf485959f8bd1df8f0efebee4cda1afdd5e6abc0a'
'c5b3f2a9f0b14b12cfd973b79319f0f018b7ae49a1d43d8ca346100c3f7de28f'
'935d8f2af0c703f9c39517ee57cc4930b19d02d533be930b63f0e82f93614b43')
sha256sums_x86_64=('6f58306d54525ca695c7b902aac610d111f85a1f3ba8a9bf04e6e1950337b1f6')
prepare() {
chmod +x "${srcdir}/${_appimage}"
rm -rf "${srcdir}/squashfs-root"
"${srcdir}/${_appimage}" --appimage-extract >/dev/null
}
package() {
cd "${srcdir}/squashfs-root"
# The AppImage's usr/ tree is compatibility libraries for distributions that
# lack them, and Arch is not one; its icons are the only part worth keeping.
# A release that starts shipping something else there stops the build rather
# than having it deleted quietly on the way past.
local unexpected
unexpected=$(find usr \( -type f -o -type l \) | grep -vE \
'^usr/share/icons/hicolor/[0-9]+x[0-9]+/apps/t3code\.png$|^usr/lib/lib(Xss\.so\.1|Xtst\.so\.6|appindicator\.so\.1|gconf-2\.so\.4|indicator\.so\.7|notify\.so\.4)$' || true)
if [[ -n "${unexpected}" ]]; then
echo "Unexpected files in the AppImage's usr/ tree:" >&2
echo "${unexpected}" >&2
return 1
fi
local icon size
for icon in usr/share/icons/hicolor/*/apps/t3code.png; do
size="${icon#usr/share/icons/hicolor/}"
install -Dm644 "${icon}" "${pkgdir}/usr/share/icons/hicolor/${size%%/*}/apps/t3code.png"
done
# Upstream's own entry rather than a hand-written one: it carries the
# t3code:// scheme handlers that make the app's deep links resolve.
# The name drops the "(Alpha)" upstream's electron-builder still appends; the
# app itself now calls that string legacy and keeps its data under t3code.
sed -e 's|^Exec=.*|Exec=t3code %U|' -e 's|^Name=.*|Name=T3 Code|' \
-e '/^X-AppImage-Version=/d' t3code.desktop \
> "${srcdir}/t3code.desktop.arch"
install -Dm644 "${srcdir}/t3code.desktop.arch" \
"${pkgdir}/usr/share/applications/t3code.desktop"
rm -rf AppRun .DirIcon usr t3code.desktop t3code.png
install -d "${pkgdir}/usr/lib/t3code"
cp -a . "${pkgdir}/usr/lib/t3code/"
chmod -R a+rX "${pkgdir}/usr/lib/t3code"
# Arch ships Chromium's and Electron's own sandbox helper setuid, which is
# what keeps the sandbox up on a kernel that denies unprivileged user
# namespaces -- linux-hardened, mainly -- instead of aborting the app.
chmod 4755 "${pkgdir}/usr/lib/t3code/chrome-sandbox"
install -Dm755 "${srcdir}/t3code-launcher.sh" "${pkgdir}/usr/bin/t3code"
# The server CLI, run through the bundled Electron as Node. Same entrypoint
# npm's `t3` package runs, so `t3 serve`, `t3 pair`, and the rest work
# without a separate install.
install -Dm755 "${srcdir}/t3-launcher.sh" "${pkgdir}/usr/bin/t3"
install -Dm644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
@@ -1,10 +0,0 @@
#!/bin/bash
# The T3 Code server CLI (`t3`) ships inside the app bundle; upstream only
# distributes it separately through npm. The bundled Electron doubles as the
# Node runtime for it, so the desktop package can put the CLI on PATH without
# shipping a second runtime. Electron's fs layer reads app.asar transparently
# in this mode.
set -euo pipefail
export ELECTRON_RUN_AS_NODE=1
exec /usr/lib/t3code/t3code /usr/lib/t3code/resources/app.asar/apps/server/dist/bin.mjs "$@"
@@ -1,31 +0,0 @@
#!/bin/bash
set -euo pipefail
user_flags=()
config_home="${XDG_CONFIG_HOME:-}"
[[ -n "$config_home" || -z "${HOME:-}" ]] || config_home="$HOME/.config"
flags_file="${config_home:+$config_home/t3code-flags.conf}"
if [[ -n "$flags_file" && -f "$flags_file" && -r "$flags_file" ]]; then
while IFS= read -r line || [[ -n "$line" ]]; do
line="${line%%#*}"
[[ -n "${line//[[:space:]]/}" ]] || continue
read -r -a flags <<<"$line"
user_flags+=("${flags[@]}")
done <"$flags_file"
fi
# Chromium's own Ozone detection falls back to XWayland often enough to matter,
# and the result is a blurry window on every scaled display.
platform_flags=()
if [[ -n "${WAYLAND_DISPLAY:-}" || "${XDG_SESSION_TYPE:-}" == wayland ]]; then
platform_flags=(--ozone-platform=wayland)
for flag in "${user_flags[@]}" "$@"; do
case "$flag" in
--ozone-platform=* | --ozone-platform-hint=*) platform_flags=() ;;
esac
done
fi
exec /usr/lib/t3code/t3code "${platform_flags[@]}" "${user_flags[@]}" "$@"