Package Details: claude-desktop 1.0.0-10

Git Clone URL: https://aur.archlinux.org/claude-desktop.git (read-only, click to copy)
Package Base: claude-desktop
Description: An Electron-based desktop application for Claude2(unofficial).Use system-wide electron.
Upstream URL: https://github.com/Karenina-na/Claude-Desktop
Keywords: ai claude electron typescript vite vue3
Licenses: MIT
Conflicts: claude-desktop
Submitter: zxp19821005
Maintainer: zxp19821005
Last Packager: zxp19821005
Votes: 0
Popularity: 0.000000
First Submitted: 2023-08-29 05:52 (UTC)
Last Updated: 2025-05-06 14:32 (UTC)

Dependencies (6)

Required by (0)

Sources (2)

Latest Comments

1 2 Next › Last »

zxp19821005 commented on 2025-05-12 07:35 (UTC)

@zlqrn I think you should install electron25-bin first.

zlqrn commented on 2025-05-11 06:09 (UTC) (edited on 2025-05-12 06:32 (UTC) by zlqrn)

is this for the nerdiest of nerds? i dont understand why this even exists because its not like you can replace the dependency of electron25 with electron36 and then nodejs hdryogen lts expires april 2025... even if you manage to patch the hydrogen installation to start the electron25 installation you get disgusting errors of gstuils and PGO profiles, where i gave up trying to fix.

zxp19821005 commented on 2025-05-06 14:33 (UTC)

@JoiDegn eh, it's my mistake. Fixed it, maybe you can have a try.

JoiDegn commented on 2025-05-03 07:01 (UTC)

I had to adjust the PKGBUILD like so I could install it on my asahi based system:

diff --git a/PKGBUILD.original b/PKGBUILD
index 1e5aade..c04a38a 100644
--- a/PKGBUILD.original
+++ b/PKGBUILD
@@ -6,7 +6,7 @@ _electronversion=25
 _nodeversion=20
 pkgrel=9
 pkgdesc="An Electron-based desktop application for Claude2(unofficial).Use system-wide electron."
-arch=('any')
+arch=('x86_64' 'aarch64')
 url="https://github.com/Karenina-na/Claude-Desktop"
 license=('MIT')
 conflicts=("${pkgname}")
@@ -70,8 +70,18 @@ build() {
 }
 package() {
     install -Dm755 "${srcdir}/${pkgname%-bin}.sh" "${pkgdir}/usr/bin/${pkgname%-bin}"
-    install -Dm644 "${srcdir}/${_pkgname}-${pkgver}/dist-client/linux-unpacked/resources/app.asar" -t "${pkgdir}/usr/lib/${pkgname}"
+
+    # Determine the output directory based on architecture
+    local _arch="$(uname -m)"
+    local _output_dir="linux-unpacked"
+    if [[ "${_arch}" == "aarch64" ]]; then
+        _output_dir="linux-arm64-unpacked"
+    elif [[ "${_arch}" == "x86_64" ]]; then
+        _output_dir="linux-unpacked"
+    fi
+
+    install -Dm644 "${srcdir}/${_pkgname}-${pkgver}/dist-client/${_output_dir}/resources/app.asar" -t "${pkgdir}/usr/lib/${pkgname}"
     install -Dm644 "${srcdir}/${_pkgname}-${pkgver}/dist/logo.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
     install -Dm644 "${srcdir}/${pkgname}.desktop" -t "${pkgdir}/usr/share/applications"
     install -Dm644 "${srcdir}/${_pkgname}-${pkgver}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
-}
\ No newline at end of file
+}

zxp19821005 commented on 2025-04-14 07:13 (UTC)

@ghostmode Just install electron25-bin first.

ghostmode commented on 2025-04-11 18:08 (UTC)

@zxp19821005 i couldn't find nodejs-lts-hydrogen but is being referenced by electron25.

I fixed this by modifying the PKGBUILD in yay -G claude-desktop and changing the version from 25 to 34 I had installed: _electronversion=34

zxp19821005 commented on 2025-02-26 01:50 (UTC)

@bethany7 I've used nvm to use nodejs-lts-hydrogen.Please check your nvm, or reinstall it.

bethany7 commented on 2025-02-25 18:49 (UTC) (edited on 2025-02-25 18:50 (UTC) by bethany7)

Install fails with:

-> No AUR package found for nodejs-lts-hydrogen
-> could not find all required packages: nodejs-lts-hydrogen

It appears that lts-hydrogen is no longer present in the AUR.

lkxe commented on 2025-02-22 21:15 (UTC) (edited on 2025-02-22 21:16 (UTC) by lkxe)

If you want to use Bun instead of Node to build the application (in my case nodejs-lts-hydrogen conflicted with my current node installation), you can use my updated PKGBUILD instead, the fix with the directory is already resolved:

# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
pkgname=claude-desktop
_pkgname=Claude-Desktop
pkgver=1.0.0
_electronversion=32
_nodeversion=20
pkgrel=8
pkgdesc="An Electron-based desktop application for Claude2(unofficial).Use system-wide electron."
arch=('any')
url="https://github.com/Karenina-na/Claude-Desktop"
license=('MIT')
conflicts=("${pkgname}")
depends=(
    "electron${_electronversion}"
)
makedepends=(
    'gendesk'
    'bun'
    'nvm'
    'curl'
)
source=(
    "${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz"
    "${pkgname}.sh"
)
sha256sums=('32b479fd3df2bf976e23d264a4f4ac011d15fadf73cda6b00ab9a0b86faaf1e2'
            'f38be1d4f732d1dcf1b9705431de6f3eaae0e1616e81bc4f9cf7b566416545ca')
_ensure_local_nvm() {
    local NVM_DIR="${srcdir}/.nvm"
    source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
    nvm install "${_nodeversion}"
    nvm use "${_nodeversion}"
}
build() {
    sed -e "
        s/@electronversion@/${_electronversion}/g
        s/@appname@/${pkgname}/g
        s/@runname@/app.asar/g
        s/@cfgdirname@/${pkgname}/g
        s/@options@//g
    " -i "${srcdir}/${pkgname}.sh"
    _ensure_local_nvm
    gendesk -q -f -n --pkgname="${pkgname}" --pkgdesc="${pkgdesc}" --categories="Utility" --name="${_pkgname}" --exec="${pkgname} %U"
    cd "${srcdir}/${_pkgname}-${pkgver}"
    electronDist="/usr/lib/electron${_electronversion}"
    export ELECTRON_SKIP_BINARY_DOWNLOAD=1
    export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')"
    HOME="${srcdir}/.electron-gyp"

    if [[ "$(curl -s ipinfo.io/country)" == *"CN"* ]]; then
        export BUN_INSTALL="${srcdir}/.bun"
        export npm_config_registry="https://registry.npmmirror.com"
        export ELECTRON_MIRROR="https://registry.npmmirror.com/-/binary/electron/"
        export ELECTRON_BUILDER_BINARIES_MIRROR="https://registry.npmmirror.com/-/binary/electron-builder-binaries/"
    fi

    sed -i "s/\"electron\": \"[^\"]*\"/\"electron\": \"${SYSTEM_ELECTRON_VERSION}\"/g" package.json
    NODE_ENV=development    bun install
    NODE_ENV=development    bun run type-check
    NODE_ENV=production     bun run build-only
    NODE_ENV=production     bunx electron-builder --linux dir -c.electronDist=${electronDist}
}
package() {
    install -Dm755 "${srcdir}/${pkgname%-bin}.sh" "${pkgdir}/usr/bin/${pkgname%-bin}"
    install -dm755 "${pkgdir}/usr/lib/${pkgname}"
    install -Dm644 "${srcdir}/${_pkgname}-${pkgver}/dist-client/linux-unpacked/resources/app.asar" "${pkgdir}/usr/lib/${pkgname}/app.asar"
    install -Dm644 "${srcdir}/${_pkgname}-${pkgver}/dist/logo.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
    install -Dm644 "${srcdir}/${pkgname}.desktop" -t "${pkgdir}/usr/share/applications"
    install -Dm644 "${srcdir}/${_pkgname}-${pkgver}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
}