summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorScarlett Veldt2023-03-10 21:40:50 -0500
committerScarlett Veldt2023-03-10 21:40:50 -0500
commitb222f73d9d3537a9c59e097ff63073a5d8cb065c (patch)
treeb1e131c015099efe01eb3198bd13097d08153f32
downloadaur-b222f73d9d3537a9c59e097ff63073a5d8cb065c.tar.gz
initial commit, generate .SRCINFO
-rw-r--r--.SRCINFO23
-rw-r--r--PKGBUILD42
-rw-r--r--arrpc.install5
-rw-r--r--arrpc.service11
-rw-r--r--async.patch15
5 files changed, 96 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..df1557c5d0af
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,23 @@
+pkgbase = arrpc-git
+ pkgdesc = Open Discord RPC server for atypical setups
+ pkgver = r85.4405d72
+ pkgrel = 1
+ url = https://arrpc.openasar.dev/
+ install = arrpc.install
+ arch = x86_64
+ license = MIT
+ makedepends = npm
+ makedepends = git
+ depends = glibc
+ depends = gcc-libs
+ options = !strip
+ source = arrpc-git::git+https://github.com/OpenAsar/arrpc.git
+ source = async.patch
+ source = arrpc.service
+ source = arrpc.install
+ sha256sums = SKIP
+ sha256sums = 38db355a3b5b7afc79b4722068733176cdee751e4e93653219288a6faebb0922
+ sha256sums = dccc409ef768766d8d4141f8d89366e0bbecd30d9b08d4d31856b01f180c4005
+ sha256sums = aa9d0d7e1340a11268a76c21a2fa18f09cea02174a5effbcbb2eb0144221869f
+
+pkgname = arrpc-git
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..0ecb8a423dde
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Scarlett Veldt <scarlett AT enby DOT site>
+pkgname=arrpc-git
+pkgver=r85.4405d72
+pkgrel=1
+pkgdesc="Open Discord RPC server for atypical setups"
+arch=("x86_64")
+url="https://arrpc.openasar.dev/"
+license=('MIT')
+depends=("glibc" "gcc-libs")
+makedepends=("npm" "git")
+# for some reason stripping the binary breaks it
+options=(!strip)
+install=arrpc.install
+source=("${pkgname}::git+https://github.com/OpenAsar/arrpc.git"
+ "async.patch"
+ "arrpc.service"
+ "arrpc.install")
+sha256sums=('SKIP'
+ '38db355a3b5b7afc79b4722068733176cdee751e4e93653219288a6faebb0922'
+ 'dccc409ef768766d8d4141f8d89366e0bbecd30d9b08d4d31856b01f180c4005'
+ 'aa9d0d7e1340a11268a76c21a2fa18f09cea02174a5effbcbb2eb0144221869f')
+
+pkgver() {
+ cd "${pkgname}"
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+build() {
+ cd "${pkgname}"
+ patch ./src/index.js ../async.patch
+ npm i esbuild pkg
+ # use node 18 as pkg apparently doesn't support 19 yet
+ npx esbuild --bundle --platform=node --target=node18 --outdir=dist ./src/index.js
+ npx pkg -t node18-linux-x64 -o arrpc ./dist/index.js
+}
+
+package() {
+ cd "${pkgname}"
+ install -D -m755 arrpc "${pkgdir}/usr/bin/arrpc"
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -D -m644 ../arrpc.service "${pkgdir}/usr/lib/systemd/user/arrpc.service"
+}
diff --git a/arrpc.install b/arrpc.install
new file mode 100644
index 000000000000..b67ad6b5912d
--- /dev/null
+++ b/arrpc.install
@@ -0,0 +1,5 @@
+post_install() {
+ echo "arRPC is now installed and can be run from the command line via the arrpc command."
+ echo "Alternatively, you can enable/run the systemd user service for automation."
+ echo "For example: systemd enable --user --now arrpc.service"
+}
diff --git a/arrpc.service b/arrpc.service
new file mode 100644
index 000000000000..5081e0fd294e
--- /dev/null
+++ b/arrpc.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=arRPC Discord RPC daemon
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/arrpc
+Restart=on-failure
+
+[Install]
+WantedBy=default.target
diff --git a/async.patch b/async.patch
new file mode 100644
index 000000000000..5d5ba1c7fe84
--- /dev/null
+++ b/async.patch
@@ -0,0 +1,15 @@
+--- index.js 2023-03-10 18:32:51.934337975 -0500
++++ index.js 2023-03-10 18:34:27.619332243 -0500
+@@ -6,6 +6,9 @@
+ import * as Bridge from './bridge.js';
+ import Server from './server.js';
+
+-const server = await new Server();
++async function main() {
++ const server = await new Server();
++ server.on('activity', data => Bridge.send(data));
++}
+
+-server.on('activity', data => Bridge.send(data));
+\ No newline at end of file
++main();