83 lines
2.6 KiB
Text
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
|
|
"
|