mirror of
https://github.com/terrapkg/packages.git
synced 2026-05-31 17:11:56 +00:00
56 lines
1.7 KiB
RPMSpec
56 lines
1.7 KiB
RPMSpec
%define debug_package %nil
|
|
%define __strip /bin/true
|
|
%global commit d4ce31f313eaf864f46576ee98fbf88c9ef47036
|
|
|
|
Name: arrpc
|
|
Version: 3.7.0
|
|
Release: 1%{?dist}
|
|
Summary: Open Discord RPC server for atypical setups
|
|
License: MIT
|
|
URL: https://arrpc.openasar.dev
|
|
Source0: https://github.com/OpenAsar/arrpc/archive/%commit.tar.gz
|
|
Source1: arrpc.service
|
|
Patch0: 0001-fix-support-esbuild.patch
|
|
Requires: glibc
|
|
BuildRequires: nodejs-npm systemd-rpm-macros
|
|
|
|
%description
|
|
arRPC is an open source implementation of Discord's half-documented local RPC servers for their desktop client.
|
|
This open source implementation purely in NodeJS allows it to be used in many places where it is otherwise
|
|
impossible to do: Discord web and alternative clients like ArmCord/etc. It opens a simple bridge WebSocket
|
|
server which messages the JSON of exactly what to dispatch with in the client with no extra processing needed,
|
|
allowing small and simple mods or plugins. arRPC is experimental and a work in progress, so expect bugs, etc.
|
|
|
|
%prep
|
|
%autosetup -n arrpc-%commit -p1
|
|
# patch for using esbuild
|
|
sed -i -E 's@const server[^\n]+;@async function main() {\0@' src/index.js
|
|
sed -i -E 's@server\.on[^\n]+;@\0}\nmain();@' src/index.js
|
|
|
|
%build
|
|
npm i esbuild @yao-pkg/pkg
|
|
npx esbuild --bundle --platform=node --target=node20 --outdir=dist ./src/index.js
|
|
npx pkg -t node20-linux-x64 -o arrpc ./dist/index.js
|
|
|
|
%install
|
|
install -D -m755 arrpc %buildroot%_bindir/arrpc
|
|
install -D -m644 %SOURCE1 %buildroot%_userunitdir/arrpc.service
|
|
|
|
%post
|
|
%systemd_user_post arrpc.service
|
|
|
|
%preun
|
|
%systemd_user_preun arrpc.service
|
|
|
|
%postun
|
|
%systemd_user_postun_with_restart arrpc.service
|
|
|
|
%files
|
|
%doc README.md
|
|
%license LICENSE
|
|
%_bindir/arrpc
|
|
%_userunitdir/arrpc.service
|
|
|
|
%changelog
|
|
%autochangelog
|