summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD68
1 files changed, 35 insertions, 33 deletions
diff --git a/PKGBUILD b/PKGBUILD
index fbae2035248..a4747236f91 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,46 +1,48 @@
# Maintainer: Maxime Poulin <maxpoulin64@gmail.com>
-pkgname='thelounge'
-_npmname='thelounge'
-pkgver=2.7.1
+# Contributor: Reto Brunner <brunnre8@gmail.com>
+pkgname=thelounge
+pkgver=3.0.0
pkgrel=1
-pkgdesc="Modern self-hosted web IRC client"
+pkgdesc='Modern self-hosted web IRC client'
url='https://thelounge.chat/'
arch=('any')
license=('MIT')
depends=('nodejs')
makedepends=('npm')
-install=install
backup=('etc/thelounge/config.js')
source=(
- "https://registry.npmjs.org/$_npmname/-/$_npmname-$pkgver.tgz"
- "system.service"
- "user.service"
-)
-noextract=("$_npmname-$pkgver.tgz")
-sha256sums=(
- '4b4970caba850042244798008afd334dd2ddd7e25339c864837ce11ba4703021'
- 'SKIP'
- 'SKIP'
+ "https://registry.npmjs.org/$pkgname/-/$pkgname-$pkgver.tgz"
+ 'system.service'
+ 'user.service'
+ 'sysusers.d'
+ 'tmpfiles.d'
)
+noextract=("$pkgname-$pkgver.tgz")
+sha256sums=('33786d3f8f8c4906da8cf484642d63d678561a40ed0d0628d0f34bcb5b6f124e'
+ 'c92210f6ac8f01c1cd01b6b26793094cd2feea583ed21fab3564d6bcafdc7a20'
+ '055f7e05e9e2528474526ceea864502112e27024c89c997b26ddace86c24dbc6'
+ '30fab63b8a4ffcfdda4c5b8d7c66822a323c4f1de6ca62b77fe9500f4befc0a5'
+ '4060efc92346c7193e699ffe1b802d85dc45daa7b5260ecdf70a6b993c30b01a')
package() {
- local _etc="$pkgdir/etc/$pkgname"
- export NODE_ENV=production
-
- npm install -g --prefix "$pkgdir/usr" "$srcdir/$_npmname-$pkgver.tgz"
-
- echo "/etc/thelounge" > "$pkgdir/usr/lib/node_modules/$_npmname/.thelounge_home"
-
- install -dm700 "$_etc" "$_etc/users"
- install -Dm600 \
- "$pkgdir/usr/lib/node_modules/$_npmname/defaults/config.js" \
- "$_etc/config.js"
-
- install -Dm644 "$srcdir/system.service" \
- "$pkgdir/usr/lib/systemd/system/$pkgname.service"
- install -Dm644 "$srcdir/user.service" \
- "$pkgdir/usr/lib/systemd/user/$pkgname.service"
-
- grep -FRlZ "$startdir" "$pkgdir" | \
- xargs -0 -- sed -i "s|$startdir|/tmp/build|g"
+ export NODE_ENV=production
+
+ npm install -g --user root --prefix "$pkgdir/usr" "$pkgname-$pkgver.tgz" --cache "${srcdir}/npm-cache"
+
+ echo /etc/thelounge > "$pkgdir/usr/lib/node_modules/$pkgname/.thelounge_home"
+
+ # add default config
+ install -Dm 644 "$pkgdir/usr/lib/node_modules/$pkgname/defaults/config.js" "$pkgdir/etc/thelounge/config.js"
+
+ # services
+ install -Dm644 "$srcdir/system.service" "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+ install -Dm644 "$srcdir/user.service" "$pkgdir/usr/lib/systemd/user/$pkgname.service"
+
+ # setting up system user
+ install -Dm644 "${srcdir}/sysusers.d" "${pkgdir}/usr/lib/sysusers.d/thelounge.conf"
+ install -Dm644 "${srcdir}/tmpfiles.d" "${pkgdir}/usr/lib/tmpfiles.d/thelounge.conf"
+
+ # Non-deterministic race in npm gives 777 permissions to random directories.
+ # See https://github.com/npm/npm/issues/9359 for details.
+ find "$pkgdir/usr" -type d -exec chmod 755 '{}' +
}