diff options
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 35 | ||||
-rw-r--r-- | macchatgpt.sh | 21 |
3 files changed, 40 insertions, 26 deletions
@@ -1,20 +1,20 @@ pkgbase = macchatgpt pkgdesc = A desktop application which runs ChatGPT easily and free of charge. pkgver = 1.0.0 - pkgrel = 6 + pkgrel = 7 url = https://github.com/justinhartman/MacChatGPT arch = any license = LicenseRef-custom makedepends = gendesk makedepends = npm makedepends = nodejs - makedepends = git + makedepends = curl depends = electron23 conflicts = macchatgpt options = !emptydirs - source = macchatgpt.git::git+https://github.com/justinhartman/MacChatGPT.git#tag=1.0.0 + source = macchatgpt-1.0.0.tar.gz::https://github.com/justinhartman/MacChatGPT/archive/refs/tags/1.0.0.tar.gz source = macchatgpt.sh - sha256sums = SKIP - sha256sums = dc0c5ca385ad81a08315a91655c7c064b5bf110eada55e61265633ae198b39f8 + sha256sums = 3fbbec7720b52c2a39138fdd3f9d74a947527c36ba07348082cf491cf2f192a1 + sha256sums = 2b2e8aeed33fd71c521e49fd54fb2fa81218d16aef8bccb88d77909055ab8051 pkgname = macchatgpt @@ -3,7 +3,7 @@ pkgname=macchatgpt _pkgname=MacChatGPT pkgver=1.0.0 _electronversion=23 -pkgrel=6 +pkgrel=7 pkgdesc="A desktop application which runs ChatGPT easily and free of charge." arch=('any') url="https://github.com/justinhartman/MacChatGPT" @@ -16,37 +16,38 @@ makedepends=( 'gendesk' 'npm' 'nodejs' - 'git' + 'curl' ) options=( '!emptydirs' ) source=( - "${pkgname}.git::git+${url}.git#tag=${pkgver}" + "${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/${pkgver}.tar.gz" "${pkgname}.sh" ) -sha256sums=('SKIP' - 'dc0c5ca385ad81a08315a91655c7c064b5bf110eada55e61265633ae198b39f8') +sha256sums=('3fbbec7720b52c2a39138fdd3f9d74a947527c36ba07348082cf491cf2f192a1' + '2b2e8aeed33fd71c521e49fd54fb2fa81218d16aef8bccb88d77909055ab8051') build() { sed -e "s|@electronversion@|${_electronversion}|" \ -e "s|@appname@|${pkgname}|g" \ -e "s|@runname@|app|g" \ + -e "s|@cfgdirname@|${_pkgname}|g" \ -e "s|@options@||g" \ -i "${srcdir}/${pkgname}.sh" - gendesk -q -f -n --categories="Utility" --name="${_pkgname}" --exec="${pkgname} %U" - cd "${srcdir}/${pkgname}.git" + gendesk -q -f -n --pkgname="${pkgname}" --pkgdesc="${pkgdesc}" --categories="Utility" --name="${_pkgname}" --exec="${pkgname} %U" + cd "${srcdir}/${_pkgname}-${pkgver}" export npm_config_build_from_source=true export npm_config_cache="${srcdir}/.npm_cache" export ELECTRON_SKIP_BINARY_DOWNLOAD=1 - export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')" - export npm_config_target="${SYSTEM_ELECTRON_VERSION}" - export ELECTRONVERSION="${_electronversion}" - export npm_config_disturl=https://electronjs.org/headers + #export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')" + #export npm_config_target="${SYSTEM_ELECTRON_VERSION}" + #export ELECTRONVERSION="${_electronversion}" HOME="${srcdir}/.electron-gyp" if [ `curl -s ipinfo.io/country | grep CN | wc -l ` -ge 1 ];then - echo 'registry="https://registry.npmmirror.com/"' >> .npmrc - echo 'electron_mirror="https://registry.npmmirror.com/-/binary/electron/"' >> .npmrc - echo 'electron_builder_binaries_mirror="https://registry.npmmirror.com/-/binary/electron-builder-binaries/"' >> .npmrc + export npm_config_registry=https://registry.npmmirror.com + export npm_config_disturl=https://registry.npmmirror.com/-/binary/node/ + export npm_config_electron_mirror=https://registry.npmmirror.com/-/binary/electron/ + export npm_config_electron_builder_binaries_mirror=https://registry.npmmirror.com/-/binary/electron-builder-binaries/ else echo "Your network is OK." fi @@ -56,8 +57,8 @@ build() { package() { install -Dm755 "${srcdir}/${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}" install -Dm755 -d "${pkgdir}/usr/lib/${pkgname}" - cp -r "${srcdir}/${pkgname}.git/release/${pkgname}-linux-"*/resources/app "${pkgdir}/usr/lib/${pkgname}" - install -Dm644 "${srcdir}/${pkgname}.git/assets/icons/png/512x512.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png" + cp -r "${srcdir}/${_pkgname}-${pkgver}/release/${pkgname}-linux-"*/resources/app "${pkgdir}/usr/lib/${pkgname}" + install -Dm644 "${srcdir}/${_pkgname}-${pkgver}/assets/icons/png/512x512.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png" install -Dm644 "${srcdir}/${pkgname}.desktop" -t "${pkgdir}/usr/share/applications" - install -Dm644 "${srcdir}/${pkgname}.git/release/${pkgname}-linux-"*/LICENSE* -t "${pkgdir}/usr/share/licenses/${pkgname}" + install -Dm644 "${srcdir}/${_pkgname}-${pkgver}/release/${pkgname}-linux-"*/LICENSE* -t "${pkgdir}/usr/share/licenses/${pkgname}" }
\ No newline at end of file diff --git a/macchatgpt.sh b/macchatgpt.sh index 7ddcaab8d734..4cfe3ac09dd8 100644 --- a/macchatgpt.sh +++ b/macchatgpt.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 |