Created
April 28, 2025 11:20
-
-
Save G36maid/f05c640681a78ff8a2a5f72dde3d18fd to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Maintainer: zxp19821005 <zxp19821005 at 163 dot com> | |
| pkgname=claude-desktop | |
| _pkgname=Claude-Desktop | |
| pkgver=1.0.0 | |
| _electronversion=25 | |
| _nodeversion=20 | |
| pkgrel=9 | |
| 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' | |
| 'npm' | |
| 'nvm' | |
| 'curl' | |
| ) | |
| source=( | |
| "${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz" | |
| "${pkgname}.sh" | |
| ) | |
| sha256sums=('32b479fd3df2bf976e23d264a4f4ac011d15fadf73cda6b00ab9a0b86faaf1e2' | |
| '291f50480f5a61bc9c68db7d44cd0412071128706baa868a9cb854f8779a1980') | |
| _ensure_local_nvm() { | |
| local NVM_DIR="${srcdir}/.nvm" | |
| source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]] | |
| nvm install "${_nodeversion}" | |
| nvm use "${_nodeversion}" | |
| } | |
| prepare() { | |
| 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}" | |
| export ELECTRON_SKIP_BINARY_DOWNLOAD=1 | |
| export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')" | |
| HOME="${srcdir}/.electron-gyp" | |
| { | |
| echo -e '\n' | |
| #echo 'build_from_source=true' | |
| echo "cache=${srcdir}/.npm_cache" | |
| } >> .npmrc | |
| if [[ "$(curl -s ipinfo.io/country)" == *"CN"* ]]; then | |
| { | |
| echo 'registry=https://registry.npmmirror.com' | |
| echo 'electron_mirror=https://registry.npmmirror.com/-/binary/electron/' | |
| echo 'electron_builder_binaries_mirror=https://registry.npmmirror.com/-/binary/electron-builder-binaries/' | |
| } >> .npmrc | |
| find ./ -type f -name "package-lock.json" -exec sed -i "s/registry.npmjs.org/registry.npmmirror.com/g" {} + | |
| fi | |
| sed -i "s/\"electron\": \"[^\"]*\"/\"electron\": \"${SYSTEM_ELECTRON_VERSION}\"/g" package.json | |
| NODE_ENV=development npm install | |
| } | |
| build() { | |
| cd "${srcdir}/${_pkgname}-${pkgver}" | |
| local electronDist="/usr/lib/electron${_electronversion}" | |
| NODE_ENV=development npm run type-check | |
| NODE_ENV=production npx vite build | |
| NODE_ENV=production npm exec -c "electron-builder --linux dir -c.electronDist=${electronDist}" | |
| } | |
| 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}" | |
| 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}" | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment