mrstreamer-nightly-bin
LOW
maintainer 4bs3nt
1 votes
scanned 2026-10-26 03:43:44.749651
Why flagged
The package installs a prebuilt binary from an official GitHub release, which is a normal practice for AUR packages; the low severity is due to few votes and recent upload, not malicious content.
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.
Low
AI review
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): The package installs a prebuilt binary from an official GitHub release, which is a normal practice for AUR packages; the low severity is due to few votes and recent upload, not malicious content.
PKGBUILD
1
# Maintainer: 4bs3nt <hi at 4bs3nt dot com>
2
# Contributor: Wout Stiens <hello at mrstreamer dot app>
3
# SPDX-License-Identifier: 0BSD
4
# Pinned upstream nightly release
5
pkgname=mrstreamer-nightly-bin
6
pkgver=0.0.20_nightly.20261025.429
7
pkgrel=1
8
pkgdesc='Nightly build of: IPTV player for Xtream Codes and M3U subscriptions, with live TV, programme guide, movies and series'
9
arch=('x86_64')
10
url='https://mrstreamer.app'
11
license=('GPL-3.0-only' 'GPL-2.0-or-later' 'LGPL-2.1-or-later' 'MIT' 'BSD-2-Clause'
12
'LicenseRef-Chromium')
13
depends=('alsa-lib' 'at-spi2-core' 'cairo' 'dbus' 'expat' 'glib2' 'glibc' 'gtk3'
14
'hicolor-icon-theme'
15
'libcups' 'libgcc' 'libsecret' 'libx11' 'libxcb' 'libxcomposite' 'libxdamage'
16
'libxext' 'libxfixes' 'libxkbcommon' 'libxrandr' 'mesa' 'nspr' 'nss' 'pango'
17
'systemd-libs' 'xdg-utils')
18
checkdepends=('desktop-file-utils')
19
optdepends=('libnotify: desktop notifications'
20
'libpulse: PulseAudio or PipeWire audio'
21
'org.freedesktop.secrets: credential storage in the desktop keyring')
22
provides=("mrstreamer=$pkgver")
23
conflicts=('mrstreamer' 'mr-streamer' 'mr-streamer-bin')
24
# These are upstream nightly binaries. Preserve their bytes and bundled debug information.
25
options=('!strip' '!debug')
26
_upstream_version='0.0.20-nightly.20261025.429'
27
_source_commit='558b4531b71ff31e418c0780788f02aab8b76d2e'
28
_deb="Mr-Streamer-${_upstream_version}-linux-amd64.deb"
29
source=("https://github.com/Mr-Streamer-OSS/MrStreamer/releases/download/v${_upstream_version}/${_deb}"
30
"mrstreamer-LICENSE::https://raw.githubusercontent.com/Mr-Streamer-OSS/MrStreamer/${_source_commit}/LICENSE")
31
sha256sums=('9a7c5ebc4126c65c279182cd3976ba0cf380b54b9a0695ba12f1d14b26e5a3cd'
32
'3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986')
33
34
prepare() {
35
# makepkg opens the deb as an archive. Its maintainer scripts are never executed.
36
mkdir -p payload
37
bsdtar -xf data.tar.xz -C payload
38
}
39
40
check() {
41
test -f 'payload/opt/Mr. Streamer/resources/app.asar'
42
local tool
43
for tool in mrstreamer chrome-sandbox resources/ffmpeg/ffmpeg resources/ffmpeg/ffprobe; do
44
test -x "payload/opt/Mr. Streamer/$tool" || return 1
45
done
46
desktop-file-validate payload/usr/share/applications/mrstreamer.desktop
47
}
48
49
package() {
50
# Metadata must match even when makepkg --nocheck skips check().
51
bsdtar -xOf control.tar.xz ./control | grep -Fx "Version: ${_upstream_version//-/\~}"
52
bsdtar -xOf control.tar.xz ./control | grep -Fx 'Architecture: amd64'
53
54
local app="$pkgdir/opt/mrstreamer"
55
install -dm755 "$pkgdir/opt" "$pkgdir/usr/bin"
56
cp -a 'payload/opt/Mr. Streamer' "$app"
57
cp -a payload/usr/share "$pkgdir/usr/"
58
ln -s /opt/mrstreamer/mrstreamer "$pkgdir/usr/bin/mrstreamer"
59
60
local desktop="$pkgdir/usr/share/applications/mrstreamer.desktop"
61
test "$(grep -c '^Exec=' "$desktop")" -eq 1
62
grep -Fxq 'Exec="/opt/Mr. Streamer/mrstreamer" %U' "$desktop"
63
sed -i 's|^Exec="/opt/Mr\. Streamer/mrstreamer" %U$|Exec=/opt/mrstreamer/mrstreamer %U|' "$desktop"
64
grep -Fxq 'Exec=/opt/mrstreamer/mrstreamer %U' "$desktop"
65
if grep -Fq '/opt/Mr. Streamer' "$desktop"; then
66
return 1
67
fi
68
69
# fakeroot records root:root and the SUID sandbox helper in the pacman archive.
70
# Match Arch's Electron packaging; never probe host namespaces or change host policy.
71
install -m4755 'payload/opt/Mr. Streamer/chrome-sandbox' "$app/chrome-sandbox"
72
73
# Only this copy becomes package-managed. Keep direct deb/AppImage artifacts unchanged.
74
rm "$app/resources/package-type" "$app/resources/app-update.yml" \
75
"$app/resources/apparmor-profile"
76
printf '%s\n' '{"schema":1,"updates":"pacman"}' > "$app/resources/mrstreamer-installation.json"
77
chmod 644 "$app/resources/mrstreamer-installation.json"
78
79
local licenses="$pkgdir/usr/share/licenses/$pkgname"
80
install -Dm644 mrstreamer-LICENSE "$licenses/LICENSE"
81
ln -s '/opt/mrstreamer/LICENSE.electron.txt' "$licenses/LICENSE.electron.txt"
82
ln -s '/opt/mrstreamer/LICENSES.chromium.html' "$licenses/LICENSES.chromium.html"
83
local notice
84
for notice in LICENSE-FFmpeg.txt LICENSE-x264.txt LICENSE-dav1d.txt; do
85
ln -s "/opt/mrstreamer/resources/ffmpeg/$notice" "$licenses/$notice"
86
done
87
install -dm755 "$pkgdir/usr/share/doc/$pkgname"
88
printf 'Release and bundled sources: %s\nApplication source: %s\n' \
89
"https://github.com/Mr-Streamer-OSS/MrStreamer/releases/tag/v$_upstream_version" \
90
"https://github.com/Mr-Streamer-OSS/MrStreamer/tree/$_source_commit" \
91
> "$pkgdir/usr/share/doc/$pkgname/upstream.txt"
92
}
93
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-26 03:43:44 | Low | 2 |