summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorAmin Vakil2022-04-11 20:45:37 +0430
committerAmin Vakil2022-04-12 13:21:11 +0430
commit656545cc10b8815e6337ee5666933df52bfd1fb3 (patch)
tree57ef9cba23b3fa6fa8e4896c629807615a57a345 /PKGBUILD
parent8b270918903928d585352e63cdfd5310f23b67da (diff)
downloadaur-656545cc10b8815e6337ee5666933df52bfd1fb3.tar.gz
Use yarn instead of npm
chmod 755 on all directories in /usr Harden config.js permissions Install /usr/bin/thelounge Fix index.js path yarn install in prepare function
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD25
1 files changed, 15 insertions, 10 deletions
diff --git a/PKGBUILD b/PKGBUILD
index e446bea581a0..d226ba1d2b24 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,39 +5,46 @@ _pkgname=thelounge
pkgname=thelounge-beta
_pkgver=4.3.1-rc.1
pkgver=${_pkgver/-/}
-pkgrel=1
+pkgrel=2
pkgdesc='Modern self-hosted web IRC client (Latest release/pre-release)'
url='https://thelounge.chat/'
arch=('any')
license=('MIT')
depends=('nodejs')
-makedepends=('npm')
+makedepends=('yarn' 'git')
conflicts=('thelounge')
provides=('thelounge')
backup=('etc/thelounge/config.js')
source=(
- "https://registry.npmjs.org/$_pkgname/-/$_pkgname-$_pkgver.tgz"
+ "${pkgname}-${pkgver}-${pkgrel}.tar.gz::https://github.com/$_pkgname/$_pkgname/archive/refs/tags/v$_pkgver.tar.gz"
'system.service'
'user.service'
'sysusers.d'
'tmpfiles.d'
)
-noextract=("$_pkgname-$_pkgver.tgz")
-sha256sums=('22abb61c6e17718e5a05d57a5f9400dca941447d91d5e834a84528e414a8fbf8'
+sha256sums=('5d3731d8f9448cd0cd3ea5f31622b10cf41138d94491c48692b2a96c7e695129'
'c92210f6ac8f01c1cd01b6b26793094cd2feea583ed21fab3564d6bcafdc7a20'
'c609f3309f54bd6285e99ff29ca2464828bec7bbbca67243ee688bd2d605dbf0'
'30fab63b8a4ffcfdda4c5b8d7c66822a323c4f1de6ca62b77fe9500f4befc0a5'
'bade9cf0e9fb27328db0c9d7300e9e215f2ff79305d94f1797d946e065a714bf')
+prepare() {
+ yarn install --prod --frozen-lockfile --non-interactive --ignore-scripts --cache-folder "$srcdir/yarn-cache"
+}
+
package() {
- export NODE_ENV=production
+ cd "$_pkgname-$_pkgver"
+ yarn add --no-default-rc --frozen-lockfile --prod --non-interactive \
+ --ignore-scripts --modules-folder "$pkgdir/usr/lib/node_modules" \
+ --cache-folder "${srcdir}/yarn-cache" "${srcdir}/$_pkgname-$_pkgver"
- npm install -g --user root --prefix "$pkgdir/usr" "$_pkgname-$_pkgver.tgz" --cache "${srcdir}/npm-cache"
+ install -dm755 "$pkgdir/usr/bin/"
+ ln -s "/usr/lib/node_modules/$_pkgname/index.js" "$pkgdir/usr/bin/$_pkgname"
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"
+ install -Dm 660 "$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"
@@ -47,7 +54,5 @@ package() {
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 '{}' +
}