Install this version:
emerge -a =app-misc/chatgpt-desktop-26.818.41705
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =app-misc/chatgpt-desktop-26.818.41705
Or alternatively:
emerge --autounmask-write -a =app-misc/chatgpt-desktop-26.818.41705
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop optfeature pax-utils unpacker xdg
DESCRIPTION="Desktop application for ChatGPT and Codex"
HOMEPAGE="https://chatgpt.com/download/"
SRC_URI="
amd64? (
https://persistent.oaistatic.com/codex-app-prod/linux/deb/pool/main/c/chatgpt/chatgpt_${PV}_amd64.deb
-> ${P}-amd64.deb
)
arm64? (
https://persistent.oaistatic.com/codex-app-prod/linux/deb/pool/main/c/chatgpt/chatgpt_${PV}_arm64.deb
-> ${P}-arm64.deb
)
"
S=${WORKDIR}
LICENSE="ChatGPT-Desktop"
SLOT="0"
KEYWORDS="-* ~amd64 ~arm64"
IUSE="apparmor qt6 wayland"
RESTRICT="bindist mirror strip"
RDEPEND="
>=app-accessibility/at-spi2-core-2.46.0:2
app-misc/ca-certificates
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/libglvnd
media-libs/mesa[gbm(+)]
net-print/cups
sys-apps/dbus
sys-libs/glibc
virtual/libudev
virtual/libusb:1
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/gtk+:3
x11-libs/libdrm
x11-libs/libnotify
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libxkbcommon
x11-libs/libXrandr
x11-libs/pango
x11-misc/xdg-utils
apparmor? (
>=sec-policy/apparmor-profiles-4
>=sys-apps/apparmor-4
)
qt6? ( dev-qt/qtbase:6[gui,widgets] )
"
QA_PREBUILT="opt/${PN}/*"
src_prepare() {
default
local arch=x64
use arm64 && arch=arm64
# upstream ships prebuilt node modules for every platform it targets
local candidate
while IFS= read -r -d '' candidate; do
[[ ${candidate} == *linux-${arch} ]] || rm -r "${candidate}" || die
done < <(find usr/lib/chatgpt -type d -name prebuilds \
-exec find {} -mindepth 1 -maxdepth 1 -print0 \; )
find usr/lib/chatgpt -name '*.musl.node' -delete || die
rm usr/lib/chatgpt/libqt5_shim.so || die
use qt6 || rm usr/lib/chatgpt/libqt6_shim.so || die
# the window class is Chatgpt, which no installed desktop file name matches
local exec="chatgpt"
use wayland && exec+=" --ozone-platform=wayland --enable-wayland-ime"
sed -i -e "s|^Exec=chatgpt|Exec=${exec}|" \
-e '/^Icon=/aStartupWMClass=Chatgpt' \
usr/share/applications/chatgpt.desktop || die
if use apparmor; then
# the profile names the binary by absolute path, which moves with it
sed -i "s|/usr/lib/chatgpt/ChatGPT|/opt/${PN}/ChatGPT|" \
etc/apparmor.d/chatgpt || die
fi
}
src_install() {
dodir /opt
mv usr/lib/chatgpt "${ED}/opt/${PN}" || die
pax-mark m "${ED}/opt/${PN}/ChatGPT"
dosym -r "/opt/${PN}/codex-launcher" /usr/bin/chatgpt
domenu usr/share/applications/chatgpt.desktop
doicon usr/share/pixmaps/chatgpt.png
dodoc usr/share/doc/chatgpt/copyright
if use apparmor; then
insinto /etc/apparmor.d
doins etc/apparmor.d/chatgpt
fi
}
pkg_postinst() {
xdg_pkg_postinst
elog "~/.codex is shared with dev-util/codex, so signing in may update its login state."
optfeature "Git repository support" dev-vcs/git
optfeature "secret/keyring storage" virtual/secret-service
}
Manage flags for this package:
euse -i <flag> -p app-misc/chatgpt-desktop |
euse -E <flag> -p app-misc/chatgpt-desktop |
euse -D <flag> -p app-misc/chatgpt-desktop
>=app-accessibility/at-spi2-core-2.46.0:2 app-misc/ca-certificates dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss media-libs/alsa-lib media-libs/libglvnd media-libs/mesa[gbm(+)] net-print/cups sys-apps/dbus sys-libs/glibc virtual/libudev virtual/libusb:1 x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3 x11-libs/libdrm x11-libs/libnotify x11-libs/libX11 x11-libs/libxcb x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libxkbcommon x11-libs/libXrandr x11-libs/pango x11-misc/xdg-utils apparmor? ( >=sec-policy/apparmor-profiles-4 >=sys-apps/apparmor-4 ) qt6? ( dev-qt/qtbase:6[gui,widgets] )