diff options
author | Scarlett Veldt | 2023-03-10 21:40:50 -0500 |
---|---|---|
committer | Scarlett Veldt | 2023-03-10 21:40:50 -0500 |
commit | b222f73d9d3537a9c59e097ff63073a5d8cb065c (patch) | |
tree | b1e131c015099efe01eb3198bd13097d08153f32 | |
download | aur-b222f73d9d3537a9c59e097ff63073a5d8cb065c.tar.gz |
initial commit, generate .SRCINFO
-rw-r--r-- | .SRCINFO | 23 | ||||
-rw-r--r-- | PKGBUILD | 42 | ||||
-rw-r--r-- | arrpc.install | 5 | ||||
-rw-r--r-- | arrpc.service | 11 | ||||
-rw-r--r-- | async.patch | 15 |
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(); |