diff options
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 62 | ||||
-rw-r--r-- | armcord.sh | 16 |
3 files changed, 64 insertions, 32 deletions
@@ -1,20 +1,20 @@ pkgbase = armcord pkgdesc = A custom client designed to enhance your Discord experience while keeping everything lightweight. pkgver = 3.2.5 - pkgrel = 2 + pkgrel = 3 url = https://armcord.app/ arch = any - license = custom:OSL3 - makedepends = gendesk - makedepends = pnpm>=7.13.4 - makedepends = nodejs>=18.0.0 + license = OSL3 makedepends = npm - depends = bash + makedepends = nvm + makedepends = gendesk + makedepends = git + makedepends = pnpm depends = electron27 conflicts = armcord - source = armcord-3.2.5.zip::https://github.com/ArmCord/ArmCord/archive/refs/tags/v3.2.5.zip + source = armcord-3.2.5::git+https://github.com/ArmCord/ArmCord.git#tag=v3.2.5 source = armcord.sh - sha256sums = 5cb7f8cacece0c117b7fcb02de46a3059539775d875cd2ba28e6ac5d5aaed542 - sha256sums = 147e205bb806cd3f02ee3be2622bf5abac92d5902b1190e38b475baf53b4d505 + sha256sums = SKIP + sha256sums = 8915ca75d453698df81f7f3305cce6869f4261d754d90f0c3724b73c7b24ca84 pkgname = armcord @@ -2,32 +2,60 @@ pkgname=armcord _pkgname=ArmCord pkgver=3.2.5 -pkgrel=2 +_electronversion=27 +_nodeversion=18 +pkgrel=3 pkgdesc="A custom client designed to enhance your Discord experience while keeping everything lightweight." arch=('any') url="https://armcord.app/" -_githuburl="https://github.com/ArmCord/ArmCord" -license=('custom:OSL3') +_ghurl="https://github.com/ArmCord/ArmCord" +license=('OSL3') conflicts=("${pkgname}") -depends=('bash' 'electron27') -makedepends=('gendesk' 'pnpm>=7.13.4' 'nodejs>=18.0.0' 'npm') -source=("${pkgname}-${pkgver}.zip::${_githuburl}/archive/refs/tags/v${pkgver}.zip" - "${pkgname%-bin}.sh") -sha256sums=('5cb7f8cacece0c117b7fcb02de46a3059539775d875cd2ba28e6ac5d5aaed542' - '147e205bb806cd3f02ee3be2622bf5abac92d5902b1190e38b475baf53b4d505') -prepare() { - gendesk -q -f -n --categories "Network;Utility" --name "${_pkgname}" --exec "${pkgname}" +depends=( + "electron${_electronversion}" +) +makedepends=( + 'npm' + 'nvm' + 'gendesk' + 'git' + 'pnpm' +) +source=( + "${pkgname}-${pkgver}::git+${_ghurl}.git#tag=v${pkgver}" + "${pkgname%-bin}.sh" +) +sha256sums=('SKIP' + '8915ca75d453698df81f7f3305cce6869f4261d754d90f0c3724b73c7b24ca84') +_ensure_local_nvm() { + export NVM_DIR="${srcdir}/.nvm" + source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]] + nvm install "${_nodeversion}" + nvm use "${_nodeversion}" } build() { - cd "${srcdir}/${_pkgname}-${pkgver}" - pnpm install + sed -e "s|@electronversion@|${_electronversion}|" \ + -e "s|@appname@|${pkgname}|g" \ + -e "s|@appasar@|app.asar|g" \ + -i "${srcdir}/${pkgname}.sh" + _ensure_local_nvm + gendesk -q -f -n --categories "Network;Utility" --name "${_pkgname}" --exec "${pkgname}" + cd "${srcdir}/${pkgname}-${pkgver}" + export npm_config_build_from_source=true + export ELECTRON_SKIP_BINARY_DOWNLOAD=1 + export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')" + export ELECTRONVERSION="${_electronversion}" + pnpm config set store-dir "${srcdir}/.pnpm_store" + pnpm config set cache-dir "${srcdir}/.pnpm_cache" + pnpm config set link-workspace-packages true sed '/deb/d;/tar.gz/d;/rpm/d' -i package.json - pnpm run packageQuick + pnpm install + pnpm run package } package() { install -Dm755 "${srcdir}/${pkgname%-bin}.sh" "${pkgdir}/usr/bin/${pkgname%-bin}" - install -Dm644 "${srcdir}/${_pkgname}-${pkgver//_/-}/dist/linux-unpacked/resources/app.asar" -t "${pkgdir}/usr/lib/${pkgname%-bin}" - install -Dm644 "${srcdir}/${_pkgname}-${pkgver//_/-}/build/icon.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png" + install -Dm644 "${srcdir}/${pkgname}-${pkgver}/dist/linux-unpacked/resources/app.asar" -t "${pkgdir}/usr/lib/${pkgname%-bin}" + install -Dm644 "${srcdir}/${pkgname}-${pkgver}/build/icon.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}" + install -Dm644 "${srcdir}/${pkgname}-${pkgver}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}" }
\ No newline at end of file diff --git a/armcord.sh b/armcord.sh index e4312b84fe81..2ec4412e5c4f 100644 --- a/armcord.sh +++ b/armcord.sh @@ -1,10 +1,14 @@ #!/bin/bash -_ELECTRON=/usr/bin/electron27 -APPDIR="/usr/lib/armcord" -export PATH="${APPDIR}:${APPDIR}/usr/sbin:${PATH}" -_ASAR="${APPDIR}/app.asar" +set -e +_APPDIR="/usr/lib/@appname@" +export PATH="${_APPDIR}:${PATH}" +export ELECTRON_IS_DEV=0 +export LD_LIBRARY_PATH="${_APPDIR}/swiftshader:${_APPDIR}/lib:${LD_LIBRARY_PATH}" +_ASAR="${_APPDIR}/@appasar@" if [[ $EUID -ne 0 ]] || [[ $ELECTRON_RUN_AS_NODE ]]; then - exec ${_ELECTRON} ${_ASAR} "$@" + cd "${_APPDIR}" + exec electron@electronversion@ "${_ASAR}" "$@" else - exec ${_ELECTRON} ${_ASAR} --no-sandbox "$@" + cd "${_APPDIR}" + exec electron@electronversion@ "${_ASAR}" --no-sandbox "$@" fi
\ No newline at end of file |