openxlr
LOW
maintainer emaspa
0 votes
scanned 2026-08-28 11:35:03.635011
Why flagged
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
Triggered rules
Low
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
PKGBUILD
1
# Maintainer: Emanuele Sparvoli <sparvoli@gmail.com>
2
pkgname=openxlr
3
pkgver=0.1.0
4
pkgrel=1
5
pkgdesc="Control suite and PipeWire submixer for Elgato XLR interfaces, with an OpenDeck plugin"
6
arch=('x86_64')
7
url="https://github.com/emaspa/openxlr"
8
license=('GPL-3.0-only')
9
depends=('dotnet-runtime' 'pipewire' 'pipewire-pulse' 'wireplumber' 'libpulse' 'libusb')
10
makedepends=('dotnet-sdk')
11
optdepends=('swh-plugins: software ClipGuard for the XLR Dock'
12
'opendeck: Stream Deck control through the bundled plugin')
13
install=openxlr.install
14
source=("$pkgname-$pkgver.tar.gz::https://github.com/emaspa/openxlr/archive/refs/tags/v$pkgver.tar.gz")
15
sha256sums=('ccfbaaab7d19fb08a1b85409fd2d9e9f595332467dea70db8f8967c84831698b')
16
17
build() {
18
cd "$pkgname-$pkgver/src"
19
export DOTNET_CLI_TELEMETRY_OPTOUT=1 DOTNET_NOLOGO=1
20
dotnet publish OpenXLR.Daemon -c Release -r linux-x64 --self-contained false -o "$srcdir/out/daemon"
21
dotnet publish OpenXLR.UI -c Release -r linux-x64 --self-contained false -o "$srcdir/out/ui"
22
}
23
24
package() {
25
cd "$pkgname-$pkgver"
26
27
install -dm755 "$pkgdir/usr/lib/openxlr"
28
cp -r "$srcdir/out/daemon" "$pkgdir/usr/lib/openxlr/daemon"
29
cp -r "$srcdir/out/ui" "$pkgdir/usr/lib/openxlr/ui"
30
31
install -dm755 "$pkgdir/usr/bin"
32
cat > "$pkgdir/usr/bin/openxlr-daemon" <<'WRAP'
33
#!/bin/sh
34
exec /usr/lib/openxlr/daemon/OpenXLR.Daemon "$@"
35
WRAP
36
cat > "$pkgdir/usr/bin/openxlr" <<'WRAP'
37
#!/bin/sh
38
exec /usr/lib/openxlr/ui/OpenXLR.UI "$@"
39
WRAP
40
chmod 755 "$pkgdir/usr/bin/openxlr-daemon" "$pkgdir/usr/bin/openxlr"
41
42
install -Dm644 packaging/70-openxlr.rules "$pkgdir/usr/lib/udev/rules.d/70-openxlr.rules"
43
install -Dm644 packaging/50-xlr-dock-capture-hold.conf \
44
"$pkgdir/usr/share/wireplumber/wireplumber.conf.d/50-xlr-dock-capture-hold.conf"
45
46
# The reference unit points into a source checkout; the package runs the wrapper.
47
sed 's|^ExecStart=.*|ExecStart=/usr/bin/openxlr-daemon|' packaging/openxlr-daemon.service |
48
install -Dm644 /dev/stdin "$pkgdir/usr/lib/systemd/user/openxlr-daemon.service"
49
50
install -Dm644 packaging/openxlr.desktop "$pkgdir/usr/share/applications/openxlr.desktop"
51
for size in 16 32 48 64 128 256; do
52
install -Dm644 "src/OpenXLR.UI/Assets/icon-$size.png" \
53
"$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/openxlr.png"
54
done
55
install -Dm644 src/OpenXLR.UI/Assets/icon.svg \
56
"$pkgdir/usr/share/icons/hicolor/scalable/apps/openxlr.svg"
57
58
# OpenDeck loads plugins from the user's config dir; ship it for copying.
59
cp -r plugin/com.emaspa.openxlr.sdPlugin "$pkgdir/usr/share/openxlr/"
60
find "$pkgdir/usr/share/openxlr" -type f -exec chmod 644 {} +
61
find "$pkgdir/usr/share/openxlr" -type d -exec chmod 755 {} +
62
}
63
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-28 11:35:03 | Low | 1 |