diff options
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 10 | ||||
-rw-r--r-- | localchat.sh | 21 |
3 files changed, 29 insertions, 8 deletions
@@ -1,16 +1,18 @@ pkgbase = localchat-bin pkgdesc = Chat with generative language models locally on your computer with zero setup. pkgver = 0.11.0 - pkgrel = 1 + pkgrel = 2 url = https://nathanlesage.github.io/local-chat/ arch = aarch64 arch = x86_64 license = GPL-3.0-only depends = electron28 + depends = vulkan-icd-loader + optdepends = cuda provides = localchat=0.11.0 conflicts = localchat source = localchat.sh - sha256sums = dc0c5ca385ad81a08315a91655c7c064b5bf110eada55e61265633ae198b39f8 + sha256sums = 41b6d61dffef064762b3eec3dfeca7a3e1f57cbcb6dce9a6940c06797a0eae9d source_aarch64 = localchat-0.11.0-aarch64.deb::https://github.com/nathanlesage/local-chat/releases/download/v0.11.0/localchat_0.11.0_arm64.deb sha256sums_aarch64 = 85d2bf290e176f37eb06adbc72909174764582dc6479ff04338b00708009ccd7 source_x86_64 = localchat-0.11.0-x86_64.deb::https://github.com/nathanlesage/local-chat/releases/download/v0.11.0/localchat_0.11.0_amd64.deb @@ -1,8 +1,9 @@ # Maintainer: zxp19821005 <zxp19821005 at 163 dot com> pkgname=localchat-bin +_pkgname=LocalChat pkgver=0.11.0 _electronversion=28 -pkgrel=1 +pkgrel=2 pkgdesc="Chat with generative language models locally on your computer with zero setup. " arch=( 'aarch64' @@ -15,19 +16,24 @@ conflicts=("${pkgname%-bin}") provides=("${pkgname%-bin}=${pkgver}") depends=( "electron${_electronversion}" + 'vulkan-icd-loader' +) +optdepends=( + 'cuda' ) source_aarch64=("${pkgname%-bin}-${pkgver}-aarch64.deb::${_ghurl}/releases/download/v${pkgver}/${pkgname%-bin}_${pkgver}_arm64.deb") source_x86_64=("${pkgname%-bin}-${pkgver}-x86_64.deb::${_ghurl}/releases/download/v${pkgver}/${pkgname%-bin}_${pkgver}_amd64.deb") source=( "${pkgname%-bin}.sh" ) -sha256sums=('dc0c5ca385ad81a08315a91655c7c064b5bf110eada55e61265633ae198b39f8') +sha256sums=('41b6d61dffef064762b3eec3dfeca7a3e1f57cbcb6dce9a6940c06797a0eae9d') sha256sums_aarch64=('85d2bf290e176f37eb06adbc72909174764582dc6479ff04338b00708009ccd7') sha256sums_x86_64=('ae535128e62c8871c9fa17cc4318a2394d1dd53a4f470cfd44b10da4c548974a') build() { sed -e "s|@electronversion@|${_electronversion}|g" \ -e "s|@appname@|${pkgname%-bin}|g" \ -e "s|@runname@|app.asar|g" \ + -e "s|@cfgdirname@|${_pkgname}|g" \ -e "s|@options@||g" \ -i "${srcdir}/${pkgname%-bin}.sh" bsdtar -xf "${srcdir}/data."* diff --git a/localchat.sh b/localchat.sh index 7ddcaab8d734..398398461fee 100644 --- a/localchat.sh +++ b/localchat.sh @@ -1,16 +1,29 @@ #!/bin/bash -set -e +set -o pipefail _APPDIR="/usr/lib/@appname@" _RUNNAME="${_APPDIR}/@runname@" +_CFGDIR="@cfgdirname@/" _OPTIONS="@options@" export PATH="${_APPDIR}:${PATH}" export LD_LIBRARY_PATH="${_APPDIR}/swiftshader:${_APPDIR}/lib:${LD_LIBRARY_PATH}" export ELECTRON_IS_DEV=0 export ELECTRON_FORCE_IS_PACKAGED=true +export ELECTRON_DISABLE_SECURITY_WARNINGS=true +export ELECTRON_OVERRIDE_DIST_PATH="/usr/bin/electron@electronversion@" export NODE_ENV=production +export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" +export _FLAGS_FILE="${XDG_CONFIG_HOME}/${_CFGDIR}@appname@-flags.conf" +declare -a _USER_FLAGS +if [[ -f "${_FLAGS_FILE}" ]]; then + while read -r line; do + if [[ ! "${line}" =~ ^[[:space:]]*#.* ]]; then + _USER_FLAGS+=("${line}") + fi + done < "${_FLAGS_FILE}" +fi cd "${_APPDIR}" -if [[ $EUID -ne 0 ]] || [[ $ELECTRON_RUN_AS_NODE ]]; then - exec electron@electronversion@ "${_RUNNAME}" "${_OPTIONS}" "$@" || exit $? +if [[ "${EUID}" -ne 0 ]] || [[ "${ELECTRON_RUN_AS_NODE}" ]]; then + exec electron@electronversion@ "${_RUNNAME}" "${_OPTIONS}" "${_USER_FLAGS[@]}" "$@" else - exec electron@electronversion@ "${_RUNNAME}" "${_OPTIONS}" --no-sandbox "$@" || exit $? + exec electron@electronversion@ "${_RUNNAME}" "${_OPTIONS}" --no-sandbox "${_USER_FLAGS[@]}" "$@" fi
\ No newline at end of file |