trae-ide-2.3.59356-r1gentoo-zh
download
# Copyright 2023-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit xdg
DESCRIPTION="Trae IDE (binary package)"
HOMEPAGE="https://www.trae.cn/"
SRC_URI="
amd64? (
https://lf-cdn.trae.com.cn/obj/trae-com-cn/pkg/app/releases/stable/${PV}/linux/Trae_CN-linux-x64.deb
-> ${P}.deb
)
"
S="${WORKDIR}"
LICENSE="LCEDA-EULA"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
DEPEND="
>=app-accessibility/at-spi2-core-2.46.0:2
app-crypt/libsecret
dev-libs/expat
dev-libs/glib
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/mesa
net-libs/libsoup:3.0
net-libs/webkit-gtk:4.1
net-print/cups
sys-apps/dbus
sys-apps/util-linux
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/gtk+:3[X]
x11-libs/libdrm
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXi
x11-libs/libxkbcommon
x11-libs/libxkbfile
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/libXScrnSaver
x11-libs/libxshmfence
x11-libs/libXtst
x11-libs/pango
"
RDEPEND="${DEPEND}"
BDEPEND="app-arch/unzip"
RESTRICT="mirror"
QA_PREBUILT="/usr/share/trae-cn/*"
# prebuilt Electron/sandbox blobs (sbox.so, crashpad_handler, bwrap, bundled .so) ship
# RWX segments we cannot rebuild; acknowledge so the execstack QA elog does not fail CI.
# scanelf matches these paths WITHOUT a leading slash (unlike QA_PREBUILT above).
QA_EXECSTACK="usr/share/trae-cn/*"
src_unpack() {
export LANG=C.UTF-8
unpack ${A}
}
src_install() {
tar -xvf data.tar.xz -C "${D}"
rm -f \
"${ED}"/usr/share/trae-cn/resources/app/extensions/byted-icube.integrations-extended/dist/skia.linux-x64-musl.node \
"${ED}"/usr/share/trae-cn/resources/app/node_modules/@aha-kit/ipc-linux-x64/dist/zeromq/prebuild/linux/x64/node/musl-127-Release/addon.node \
"${ED}"/usr/share/trae-cn/resources/app/extensions/byted-solo.builtin-mcp/node_modules/@koromix/koffi-linux-x64/musl_x64/koffi.node \
|| die
if [[ -d ${ED}/usr/share/appdata ]]; then
mv "${ED}"/usr/share/{appdata,metainfo} || die
fi
find "${ED}"/usr/share/trae-cn -perm /022 -exec chmod go-w {} + || die
fperms 0755 /usr/share/trae-cn/trae-cn
fperms 0755 /usr/share/trae-cn/chrome_crashpad_handler
}