commit:     b061292d27b16f6069486e75072557d63f34b2f3
Author:     Rahil Bhimjiani <me <AT> rahil <DOT> rocks>
AuthorDate: Fri Mar  8 03:01:44 2024 +0000
Commit:     Rahil Bhimjiani <rahil3108 <AT> gmail <DOT> com>
CommitDate: Sat Mar  9 15:57:05 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=b061292d

net-irc/thelounge: ‎Modern & responsive web IRC client

add 4.4.1 and 4.4.2-rc.1

Signed-off-by: Rahil Bhimjiani <me <AT> rahil.rocks>

 net-irc/thelounge/Manifest                         |  6 ++
 .../thelounge/files/thelounge-4.4.1-tmpfiles.conf  |  4 ++
 .../thelounge/files/thelounge-4.4.1-user.service   | 13 ++++
 net-irc/thelounge/files/thelounge-4.4.1.confd      |  3 +
 net-irc/thelounge/files/thelounge-4.4.1.initd      | 20 ++++++
 net-irc/thelounge/files/thelounge-4.4.1.logrotate  |  7 ++
 net-irc/thelounge/files/thelounge-4.4.1.service    | 44 ++++++++++++
 net-irc/thelounge/metadata.xml                     | 12 ++++
 net-irc/thelounge/thelounge-4.4.1.ebuild           | 78 ++++++++++++++++++++++
 net-irc/thelounge/thelounge-4.4.2_rc1.ebuild       | 78 ++++++++++++++++++++++
 10 files changed, 265 insertions(+)

diff --git a/net-irc/thelounge/Manifest b/net-irc/thelounge/Manifest
new file mode 100644
index 0000000000..e05384ffc8
--- /dev/null
+++ b/net-irc/thelounge/Manifest
@@ -0,0 +1,6 @@
+DIST thelounge-4.4.1-deps.tar.xz 81407420 BLAKE2B 
027652411cf7848fae713770444ee6c20c18b2d90abf8967976954df844dea8b39110bc0a1742926174346fbfa976c06883f9538722ab02a94579203e3d61dde
 SHA512 
0626e55b16a92346729b4504a1b8d3f5cc108a2a59d648476abbc844043efe3f577d83240c3ea5a61572216ab1af53018cab8e0dac133b938ad0ab9d42878fbe
+DIST thelounge-4.4.1-sqlite3.tar.xz 3994944 BLAKE2B 
01d12ca8947465c91e4ac455c743503fedce2f53ce8ee5fbdf0e77188bfc67378bfcc58a1ad4172ef46a5c1ba04a37fcb19726f0b7aa3352efa4f5ceca6245d1
 SHA512 
b81734ca8b32d5ddc7bad28aead5a96e578844aa2a8e6635ffe62b7dcd38daf3b7e218569d43e0cb9e6cd12adfa07a8c41fb51877f65717e3c98e6ce3c25a017
+DIST thelounge-4.4.1.tar.gz 577766 BLAKE2B 
f5ce4b381445e7d8d33e83431e4222b3fdc7ad2870c7819c9d641b2e7aca9e4cbd7d000a188132f40a39b775904d8d145e87a5edda6d6195bb2de2d9a6b6eb0a
 SHA512 
7695121a713a23688bc6f52dae2574bab1288eea930fd50d4dd85037233e9f23bd8e460980c69cdd14ea8648da4720d84e8196547b6a18e69d2f478b43d6e29a
+DIST thelounge-4.4.2_rc1-deps.tar.xz 82563560 BLAKE2B 
4511199d37825a2627f1865386da988047d33471b3b12ef8e84b3b3aca14d4bf50180a54436ba13487ddd21583abe2db2fdb830cde38c4872479b485117f5763
 SHA512 
3358b07fd9a27f8e4f16cdcff00c13b7a08850db4629f28320e485a9ad35a081174245715c3089fdf95307317cf2e198c959611a291070cfc1bdb0f0e4b567ca
+DIST thelounge-4.4.2_rc1-sqlite3.tar.xz 4110020 BLAKE2B 
39eaf47ea4f18b7e5f73af53771a5b3042f547476608579de0d36417e58693956fa2b6dbed17cdbadc254bc9844c452c45fb8fb016f2aed66c4220193e2c69e2
 SHA512 
a39202018e3927504913d62f4eaaeeda70a20dc7b35ed7b9f40b46a709982b46fc5a618bc425084b533ff6634c1f56924aec5e3a5bcc2393ae176d8f72e5f237
+DIST thelounge-4.4.2_rc1.tar.gz 588927 BLAKE2B 
24e1b47e124ac1654cfeb967ceffc0d72e54691b59a0c71bfd00fe9a4ef68b8e0279561cb52f56bd281876af1d04a995481602f8a0e647bf30af3fa9a7ce5ef7
 SHA512 
24c8304566aca12fa0264e175e8340687f8488afbb1cb49430323c7d5c6a5fdc6e0ad14f1bd0e327e4284d3b7477cd61a18677a63836a2c49a1f4c7f785a8e33

diff --git a/net-irc/thelounge/files/thelounge-4.4.1-tmpfiles.conf 
b/net-irc/thelounge/files/thelounge-4.4.1-tmpfiles.conf
new file mode 100644
index 0000000000..fcca9ab2b2
--- /dev/null
+++ b/net-irc/thelounge/files/thelounge-4.4.1-tmpfiles.conf
@@ -0,0 +1,4 @@
+# Fields: type; path; mode; uid; gid; age; argument
+# tmpfiled.d(5)
+d      /var/lib/thelounge              0750    thelounge       thelounge
+f      /var/log/thelounge.log  0640    thelounge       thelounge

diff --git a/net-irc/thelounge/files/thelounge-4.4.1-user.service 
b/net-irc/thelounge/files/thelounge-4.4.1-user.service
new file mode 100644
index 0000000000..88306e0b14
--- /dev/null
+++ b/net-irc/thelounge/files/thelounge-4.4.1-user.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=thelounge - Modern, responsive, cross-platform, self-hosted web 
IRC client
+Documentation=https://thelounge.chat/docs
+
+After=network-online.target
+Wants=network-online.target
+
+[Service]
+ExecStart=/usr/bin/%N start
+UMask=0027
+
+[Install]
+WantedBy=default.target

diff --git a/net-irc/thelounge/files/thelounge-4.4.1.confd 
b/net-irc/thelounge/files/thelounge-4.4.1.confd
new file mode 100644
index 0000000000..dd12931e38
--- /dev/null
+++ b/net-irc/thelounge/files/thelounge-4.4.1.confd
@@ -0,0 +1,3 @@
+## Sets the Data directory for thelounge.
+## It contains config, logs database, logs txt files, user records, extra 
packages installed with `thelounge install` etc.
+# THELOUNGE_HOME=/var/lib/thelounge

diff --git a/net-irc/thelounge/files/thelounge-4.4.1.initd 
b/net-irc/thelounge/files/thelounge-4.4.1.initd
new file mode 100644
index 0000000000..bd277e5ad3
--- /dev/null
+++ b/net-irc/thelounge/files/thelounge-4.4.1.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+name="thelounge"
+description="Modern, responsive, cross-platform, self-hosted web IRC client"
+command="/usr/bin/${RC_SVCNAME}"
+command_args="start"
+command_user="${RC_SVCNAME}:${RC_SVCNAME}"
+command_background="true"
+pidfile="/run/${RC_SVCNAME}.pid"
+output_log="/var/log/${RC_SVCNAME}.log"
+error_log="/var/log/${RC_SVCNAME}.log"
+: "${THELOUNGE_HOME:=/var/lib/${RC_SVCNAME}}"
+directory="${THELOUNGE_HOME}"
+umask=0027
+
+depend() {
+       after net
+}

diff --git a/net-irc/thelounge/files/thelounge-4.4.1.logrotate 
b/net-irc/thelounge/files/thelounge-4.4.1.logrotate
new file mode 100644
index 0000000000..9e6bccbc0c
--- /dev/null
+++ b/net-irc/thelounge/files/thelounge-4.4.1.logrotate
@@ -0,0 +1,7 @@
+/var/log/thelounge.log {
+       missingok
+       size 5M
+       rotate 3
+       compress
+       copytruncate
+}

diff --git a/net-irc/thelounge/files/thelounge-4.4.1.service 
b/net-irc/thelounge/files/thelounge-4.4.1.service
new file mode 100644
index 0000000000..1257000860
--- /dev/null
+++ b/net-irc/thelounge/files/thelounge-4.4.1.service
@@ -0,0 +1,44 @@
+[Unit]
+Description=thelounge - Modern, responsive, cross-platform, self-hosted web 
IRC client
+Documentation=https://thelounge.chat/docs
+
+After=network-online.target
+Wants=network-online.target
+
+[Service]
+Environment=THELOUNGE_HOME=/var/lib/%N
+ExecStart=/usr/bin/%N start
+WorkingDirectory=/var/lib/%N
+
+User=%N
+Group=%N
+UMask=0027
+
+# Sandboxing and hardening systemd.exec(5)
+PrivateUsers=yes
+ProtectClock=yes
+ProtectHostname=yes
+ProtectKernelTunables=yes
+ProtectKernelModules=yes
+ProtectKernelLogs=yes
+ProtectControlGroups=yes
+RestrictNamespaces=yes
+LockPersonality=yes
+RestrictSUIDSGID=yes
+RemoveIPC=yes
+RestrictRealtime=yes
+PrivateTmp=true
+PrivateDevices=true
+ProtectHome=true
+NoNewPrivileges=true
+
+# set entire file system to read only except following ReadWritePaths
+ProtectSystem=strict
+ReadWritePaths=/var/lib/%N
+
+# Set reasonable connection and process limits
+LimitNOFILE=1048576
+LimitNPROC=64
+
+[Install]
+WantedBy=multi-user.target

diff --git a/net-irc/thelounge/metadata.xml b/net-irc/thelounge/metadata.xml
new file mode 100644
index 0000000000..a40faceea0
--- /dev/null
+++ b/net-irc/thelounge/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Rahil Bhimjiani</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="github">thelounge/thelounge</remote-id>
+               <bugs-to>https://github.com/thelounge/thelounge/issues</bugs-to>
+       </upstream>
+</pkgmetadata>

diff --git a/net-irc/thelounge/thelounge-4.4.1.ebuild 
b/net-irc/thelounge/thelounge-4.4.1.ebuild
new file mode 100644
index 0000000000..7244624efd
--- /dev/null
+++ b/net-irc/thelounge/thelounge-4.4.1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit readme.gentoo-r1 systemd tmpfiles
+
+DESCRIPTION="‎Modern, responsive, cross-platform, self-hosted web IRC client"
+HOMEPAGE="https://thelounge.chat/";
+
+SRC_URI="
+       
https://github.com/thelounge/thelounge/archive/refs/tags/v${PV/_rc/-rc.}.tar.gz 
-> ${P}.tar.gz
+       
https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/deps.tar.xz
 -> ${P}-deps.tar.xz
+       
https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/sqlite3.tar.xz
 -> ${P}-sqlite3.tar.xz
+"
+
+S="${WORKDIR}/${PN}-${PV/_rc/-rc.}"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+       acct-user/${PN}
+       acct-group/${PN}
+       >=net-libs/nodejs-16
+"
+BDEPEND="
+       >=net-libs/nodejs-16[npm]
+       sys-apps/yarn
+"
+
+DOC_CONTENTS="\n
+##### Defaults #####\n
+Data directory: /var/lib/${PN}\n
+Listens on: 0.0.0.0:9000\n
+Log file (openrc): /var/log/${PN}.log\n
+\n
+##### Initialization #####\n
+Run \`THELOUNGE_HOME=/var/lib/${PN} ${PN} add <user>\`
+"
+
+mooyarn() {
+       yarn --verbose  --non-interactive --frozen-lockfile --cache-folder 
../yarn-cache \
+                --offline --global-folder moobuild "${@}" || die
+}
+
+src_compile() {
+       mooyarn install
+       NODE_ENV=production mooyarn build
+       local BUILT_TAR=$(npm pack)
+       NODE_ENV=production mooyarn global add file:$(realpath ${BUILT_TAR})
+
+       # this workaround because sqlite3 module requires network access
+       mv -v ../sqlite3 moobuild/node_modules/ || die
+}
+
+src_install() {
+       insinto /usr/$(get_libdir)/node_modules/"${PN}"
+       doins -r moobuild/node_modules
+
+       fperms 755 
/usr/$(get_libdir)/node_modules/"${PN}"/node_modules/"${PN}"/index.js
+       dosym -r 
/usr/$(get_libdir)/node_modules/"${PN}"/node_modules/"${PN}"/index.js 
/usr/bin/"${PN}"
+
+       systemd_newunit "${FILESDIR}"/"${PN}"-4.4.1.service "${PN}".service
+       systemd_newuserunit "${FILESDIR}"/"${PN}"-4.4.1-user.service 
"${PN}".service
+       newinitd "${FILESDIR}"/"${PN}"-4.4.1.initd "${PN}"
+       newconfd "${FILESDIR}"/"${PN}"-4.4.1.confd "${PN}"
+       newtmpfiles "${FILESDIR}"/"${PN}"-4.4.1-tmpfiles.conf "${PN}".conf
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}"/"${PN}"-4.4.1.logrotate "${PN}"
+
+       readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+       tmpfiles_process "${PN}".conf
+       readme.gentoo_print_elog
+}

diff --git a/net-irc/thelounge/thelounge-4.4.2_rc1.ebuild 
b/net-irc/thelounge/thelounge-4.4.2_rc1.ebuild
new file mode 100644
index 0000000000..b5a73eb092
--- /dev/null
+++ b/net-irc/thelounge/thelounge-4.4.2_rc1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit readme.gentoo-r1 systemd tmpfiles
+
+DESCRIPTION="‎Modern, responsive, cross-platform, self-hosted web IRC client"
+HOMEPAGE="https://thelounge.chat/";
+
+SRC_URI="
+       
https://github.com/thelounge/thelounge/archive/refs/tags/v${PV/_rc/-rc.}.tar.gz 
-> ${P}.tar.gz
+       
https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/deps.tar.xz
 -> ${P}-deps.tar.xz
+       
https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/sqlite3.tar.xz
 -> ${P}-sqlite3.tar.xz
+"
+
+S="${WORKDIR}/${PN}-${PV/_rc/-rc.}"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+       acct-user/${PN}
+       acct-group/${PN}
+       >=net-libs/nodejs-18
+"
+BDEPEND="
+       >=net-libs/nodejs-18[npm]
+       sys-apps/yarn
+"
+
+DOC_CONTENTS="\n
+##### Defaults #####\n
+Data directory: /var/lib/${PN}\n
+Listens on: 0.0.0.0:9000\n
+Log file (openrc): /var/log/${PN}.log\n
+\n
+##### Initialization #####\n
+Run \`THELOUNGE_HOME=/var/lib/${PN} ${PN} add <user>\`
+"
+
+mooyarn() {
+       yarn --verbose  --non-interactive --frozen-lockfile --cache-folder 
../yarn-cache \
+                --offline --global-folder moobuild "${@}" || die
+}
+
+src_compile() {
+       mooyarn install
+       NODE_ENV=production mooyarn build
+       local BUILT_TAR=$(npm pack)
+       NODE_ENV=production mooyarn global add file:$(realpath ${BUILT_TAR})
+
+       # this workaround because sqlite3 module requires network access
+       mv -v ../sqlite3 moobuild/node_modules/ || die
+}
+
+src_install() {
+       insinto /usr/$(get_libdir)/node_modules/"${PN}"
+       doins -r moobuild/node_modules
+
+       fperms 755 
/usr/$(get_libdir)/node_modules/"${PN}"/node_modules/"${PN}"/index.js
+       dosym -r 
/usr/$(get_libdir)/node_modules/"${PN}"/node_modules/"${PN}"/index.js 
/usr/bin/"${PN}"
+
+       systemd_newunit "${FILESDIR}"/"${PN}"-4.4.1.service "${PN}".service
+       systemd_newuserunit "${FILESDIR}"/"${PN}"-4.4.1-user.service 
"${PN}".service
+       newinitd "${FILESDIR}"/"${PN}"-4.4.1.initd "${PN}"
+       newconfd "${FILESDIR}"/"${PN}"-4.4.1.confd "${PN}"
+       newtmpfiles "${FILESDIR}"/"${PN}"-4.4.1-tmpfiles.conf "${PN}".conf
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}"/"${PN}"-4.4.1.logrotate "${PN}"
+
+       readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+       tmpfiles_process "${PN}".conf
+       readme.gentoo_print_elog
+}

Reply via email to