summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD62
-rw-r--r--armcord.sh16
3 files changed, 64 insertions, 32 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d685e8af857e..e74c893d1d1f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index fca3ed4c93c6..442852764a17 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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