# Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit unpacker 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/TraeCode_CN-linux-x64.deb -> ${P}-amd64.deb ) arm64? ( https://lf-cdn.trae.com.cn/obj/trae-com-cn/pkg/app/releases/stable/${PV}/linux/TraeCode_CN-linux-arm64.deb -> ${P}-arm64.deb ) " S="${WORKDIR}" LICENSE="trae" SLOT="0" KEYWORDS="~amd64 ~arm64" RDEPEND=" >=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 " RESTRICT="mirror bindist" 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. QA_EXECSTACK="usr/share/trae-cn/*" src_unpack() { : } src_install() { local -x LANG=C.UTF-8 dodir / cd "${ED}" || die unpacker local myarch case ${ARCH} in amd64) myarch=x64 ;; arm64) myarch=arm64 ;; *) die "unsupported ARCH=${ARCH}" ;; esac rm -f \ "${ED}"/usr/share/trae-cn/resources/app/extensions/byted-icube.integrations-extended/dist/skia.linux-${myarch}-musl.node \ "${ED}"/usr/share/trae-cn/resources/app/node_modules/@aha-kit/ipc-linux-${myarch}/dist/zeromq/prebuild/linux/${myarch}/node/musl-127-Release/addon.node \ "${ED}"/usr/share/trae-cn/resources/app/extensions/byted-solo.builtin-mcp/node_modules/@koromix/koffi-linux-${myarch}/musl_${myarch}/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 }