ayaports/user/thelounge/APKBUILD

83 lines
2.6 KiB
Text

# Contributor: Kay Thomas <kaythomas@pm.me>
# Maintainer: Kay Thomas <kaythomas@pm.me>
pkgname=thelounge
pkgver=4.4.1
pkgrel=2
pkgdesc="Modern, responsive, cross-platform, self-hosted web IRC client"
url="https://thelounge.chat"
# x86: textrels
# s390x: fails to check
# riscv64: fails to build
arch="all !x86 !s390x !riscv64"
license="MIT"
depends="nodejs"
makedepends="yarn npm python3"
subpackages="$pkgname-openrc"
pkgusers="thelounge"
pkggroups="thelounge"
install="$pkgname.pre-install $pkgname.post-install"
source="$pkgname-$pkgver.tar.gz::https://github.com/thelounge/thelounge/archive/v$pkgver.tar.gz
no-version-test.patch
thelounge.initd
allow-https-for-connect-src.patch
"
options="net" # npm
prepare() {
default_prepare
yarn install --frozen-lockfile
}
build() {
NODE_ENV=production yarn run build
}
check() {
CI=yes yarn run test:mocha
}
package() {
yarn install --production --ignore-scripts --prefer-offline
NODE_ENV=production npm install --unsafe-perm -g --prefix "$pkgdir"/usr
# Remove incorrect symlink, copy correct files
rm "$pkgdir"/usr/lib/node_modules/thelounge
mkdir -p "$pkgdir"/usr/lib/node_modules/thelounge
cp -a index.js client public node_modules dist package.json "$pkgdir"/usr/lib/node_modules/thelounge/
# cleanup unused files
find "$pkgdir" -type f -a \( \
-name "*.ts" \
-o -name "webpack*" \
-o -name "tsconfig*" \
-o -name "babel.config*" \
-o -name "README*" \
-o -name "CHANGELOG*" \
-o -name "*.map" \
-o -name "LICENSE" \
\) \
-delete
# Set home location
echo /var/lib/thelounge > \
"$pkgdir"/usr/lib/node_modules/$pkgname/.thelounge_home
# Add default config
# this is only read from 'home' so we have to just put everything in var/lib
install -dm755 -o thelounge -g thelounge \
"$pkgdir"/var/lib/thelounge
install -m644 -o thelounge -g thelounge \
"$pkgdir"/usr/lib/node_modules/$pkgname/dist/defaults/config.js \
"$pkgdir"/var/lib/thelounge/config.js
install -Dm755 "$srcdir"/$pkgname.initd \
"$pkgdir"/etc/init.d/$pkgname
}
sha512sums="
7695121a713a23688bc6f52dae2574bab1288eea930fd50d4dd85037233e9f23bd8e460980c69cdd14ea8648da4720d84e8196547b6a18e69d2f478b43d6e29a thelounge-4.4.1.tar.gz
cbf80e23b0af8f0185699d6b03816c645c51b85fff7f163d3cd3d00296ed816b6ab01529b359fbfd549a79e8adb72bbc83bc7a389cf13e0afd50636ff79a138e no-version-test.patch
f367d27ebcc412ff03c12ae98e50aeae5051fb5ffa9da6220f664c59993ed0e330b55b3b41fe941d546634901163d006e318891b4b886f6c49a93e0888fccd3e thelounge.initd
212e468d6cedaa528b7fad534b8ba0e7a3d69137940cdabd22dbe34375491900d5b7d577550aa3b245ad7775488a90e308019db55ff15e8ede105c4b9c15b015 allow-https-for-connect-src.patch
"