summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: a8b09404b3d3b9f2f7eef0fea2edd487d5de002e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Maintainer: nukiyoam <329748113[at]qq[dot]com>

# 参考 https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=visual-studio-code-bin

pkgname=trae-cn-desktop-bin
_pkgname=trae-cn
pkgver=2.3.71107
pkgrel=1
pkgdesc="字节跳动推出的AI编程IDE(Trae CN)"
arch=('x86_64' 'aarch64')
url="https://www.trae.cn/"
license=('custom')
# Upstream has signature verification for extensions and stripping breaks it
# See https://github.com/microsoft/vscode/issues/223455#issuecomment-2610001754
options=('!strip')
install=$pkgname.install

# lsof: needed for terminal splitting, see https://github.com/Microsoft/vscode/issues/62991
# xdg-utils: needed for opening web links with xdg-open
depends=(libxkbfile gnupg gtk3 libsecret nss gcc-libs libnotify libxss glibc lsof shared-mime-info xdg-utils alsa-lib)

optdepends=(
    'glib2: Needed for move to trash functionality'
    'libdbusmenu-glib: Needed for KDE global menu'
    'org.freedesktop.secrets: Needed for settings sync'
    # See https://github.com/MicrosoftDocs/live-share/issues/4650
    'icu69: Needed for live share'
)

provides=("trae-cn=${pkgver}")
conflicts=('trae-cn' 'trae-cn-bin')

source_x86_64=(
    "${_pkgname}-${pkgver}-${CARCH}.tar.gz::https://lf-cdn.trae.com.cn/obj/trae-com-cn/pkg/app/releases/stable/${pkgver}/linux/TraeCode_CN-linux-x64.tar.gz"
    "${_pkgname}.desktop"
    "${_pkgname}-url-handler.desktop"
    "${_pkgname}-startup.sh"
)

source_aarch64=(
    "${_pkgname}-${pkgver}-${CARCH}.tar.gz::https://lf-cdn.trae.com.cn/obj/trae-com-cn/pkg/app/releases/stable/${pkgver}/linux/TraeCode_CN-linux-arm64.tar.gz"
    "${_pkgname}.desktop"
    "${_pkgname}-url-handler.desktop"
    "${_pkgname}-startup.sh"
)

sha256sums_x86_64=('1dc1af5111fd8f07bea72d86037230dc394c0faf3dafff78b1afc6a53a5536fc'
                   '30c7bcb0c9d3afcdd751f114b154ad09f2fea481abb2c431469368c6d6069b1c'
                   'e95823c65fb48674878ebb8c99719fbcf3eb9ccb89e61e4d37bd0b5be300b168'
                   'cd3a00a606b14d2ab494ad98b1c3926ceaf0c46f226b258f7e79c55b61dbd395')
sha256sums_aarch64=('1dc1af5111fd8f07bea72d86037230dc394c0faf3dafff78b1afc6a53a5536fc'
                    '30c7bcb0c9d3afcdd751f114b154ad09f2fea481abb2c431469368c6d6069b1c'
                    'e95823c65fb48674878ebb8c99719fbcf3eb9ccb89e61e4d37bd0b5be300b168'
                    'cd3a00a606b14d2ab494ad98b1c3926ceaf0c46f226b258f7e79c55b61dbd395')


package() {
    install -d "${pkgdir}/opt/${_pkgname}"
    install -d "${pkgdir}/usr/bin"
    install -d "${pkgdir}/usr/share/"{applications,pixmaps,mime/packages,licenses/${_pkgname}}
    bsdtar -xf "${srcdir}/${_pkgname}-${pkgver}-${CARCH}.tar.gz" -C "${pkgdir}/opt/${_pkgname}"
    chmod 4755 "${pkgdir}/opt/${_pkgname}/chrome-sandbox"
    install -Dm644 "${srcdir}/${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
    install -Dm644 "${srcdir}/${_pkgname}-url-handler.desktop" "${pkgdir}/usr/share/applications/${_pkgname}-url-handler.desktop"
    install -Dm644 "${srcdir}/resources/app/resources/linux/code.png" "${pkgdir}/usr/share/pixmaps/${_pkgname}.png"
    install -Dm644 "${srcdir}/resources/app/LICENSE.txt"  "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE.txt"
    install -Dm644 "${srcdir}/resources/completions/bash/${_pkgname}"  "${pkgdir}/usr/share/bash-completion/completions/${_pkgname}"
    install -Dm644 "${srcdir}/resources/completions/zsh/_${_pkgname}"  "${pkgdir}/usr/share/zsh/site-functions/_${_pkgname}"
    install -m755 "${srcdir}/${_pkgname}-startup.sh" "${pkgdir}/usr/bin/${_pkgname}"
    
    # 暂时修复一下工作区索引不能成功构建的问题
    rm -rf "${pkgdir}/opt/${_pkgname}/resources/app/modules/ckg/binary/libstdc++.so.6"
}