summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD10
-rw-r--r--localchat.sh21
3 files changed, 29 insertions, 8 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 240b42d094ad..fc13d79dab4c 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index d660376b2371..bc6bdb2eabf6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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