obs-studio-rust
LOW
maintainer alerque
1 votes
base
obs-rust
scanned 2026-10-17 00:21:55.226236
Why flagged
The package builds from source using git repositories with SKIP'd checksums for submodules, but all sources are from the project's own GitHub, and no untrusted prebuilt binaries or remote code execution are involved.
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 builds from source using git repositories with SKIP'd checksums for submodules, but all sources are from the project's own GitHub, and no untrusted prebuilt binaries or remote code execution are involved.
PKGBUILD
1
# Maintainer: Caleb Maclennan <caleb@alerque.com>
2
3
_obs_studio=obs-studio
4
pkgbase=obs-rust
5
pkgname=("$_obs_studio-rust" "$_obs_studio-rust-plugin-browser")
6
pkgver=0.1.0beta.20261014
7
pkgrel=1
8
pkgdesc="Free, open source software for live streaming and recording"
9
arch=('x86_64')
10
url="https://github.com/$pkgbase"
11
license=('GPL-2.0-only')
12
depends=('ffmpeg' 'jansson' 'libxinerama' 'libxkbcommon-x11' 'mbedtls3' 'rnnoise' 'pciutils'
13
'qt6-svg' 'curl' 'jack' 'gtk-update-icon-cache' 'pipewire' 'libxcomposite'
14
'libdatachannel' 'uthash' 'simde' 'qrcodegencpp-cmake' 'python' 'luajit')
15
makedepends=('cef' 'cmake' 'libfdk-aac' 'x264' 'swig' 'sndio' 'nlohmann-json'
16
'ffnvcodec-headers' 'websocketpp' 'asio' 'extra-cmake-modules'
17
'git' 'rust')
18
conflicts=("$_obs_studio"
19
"$_obs_studio-plugin-browser"
20
)
21
_tag="$_obs_studio-rust-v${pkgver/beta/-beta}"
22
source=(
23
"$pkgbase::git+$url/$_obs_studio.git#tag=$_tag"
24
"${pkgbase}-libdshowcapture::git+$url/libdshowcapture.git"
25
"${pkgbase}-obs-browser::git+$url/obs-browser.git"
26
"${pkgbase}-obs-websocket::git+$url/obs-websocket.git"
27
)
28
sha256sums=('05ac0389bfab6a4a4ee313495743a82866d035adaf2655d018141954aa8634a1'
29
'SKIP'
30
'SKIP'
31
'SKIP')
32
33
prepare() {
34
cd "$pkgbase"
35
36
git submodule init
37
38
git config submodule."plugins/obs-browser".url "${srcdir}/${pkgbase}"-obs-browser
39
git config submodule."plugins/obs-websocket".url "${srcdir}/${pkgbase}"-obs-websocket
40
git config submodule."plugins/win-dshow/libdshowcapture".url "${srcdir}/${pkgbase}"-libdshowcapture
41
42
git -c protocol.file.allow=always submodule update --init --recursive
43
44
# use FindCEF provided by system CEF
45
rm cmake/finders/FindCEF.cmake
46
47
# set rpath to /usr/lib/cef for obs-browser plugin
48
sed -e 's|INSTALL_RPATH ".*"|INSTALL_RPATH "/usr/lib/cef/"|' -i plugins/obs-browser/cmake/os-linux.cmake
49
50
cargo fetch --locked --target host-tuple
51
}
52
53
build() {
54
local _cef_api_version=$(grep -oP 'CEF_API_VERSION_LAST CEF_API_VERSION\_\K[0-9]+' /usr/include/cef/include/cef_api_versions.h)
55
echo Setting CEF_API_VERSION to $_cef_api_version
56
57
local cmake_options=(
58
-B build
59
-S $pkgbase
60
-DCMAKE_INSTALL_PREFIX="/usr"
61
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF
62
-DMbedTLS_DIR="/usr/lib/mbedtls3/cmake/MbedTLS"
63
-DENABLE_BROWSER=ON
64
-DCEF_API_VERSION=$_cef_api_version
65
-DENABLE_VST=ON
66
-DENABLE_VLC=OFF
67
-DENABLE_NEW_MPEGTS_OUTPUT=OFF
68
-DENABLE_AJA=OFF
69
-DENABLE_JACK=ON
70
-DENABLE_LIBFDK=ON
71
-DENABLE_WEBRTC=ON
72
-DOBS_VERSION_OVERRIDE="${_tag#*-v}"
73
-DCALM_DEPRECATION=ON
74
-DENABLE_WEBSOCKET=ON
75
-DENABLE_RUST_LIBOBS=ON
76
-Wno-dev
77
)
78
cmake "${cmake_options[@]}"
79
cmake --build build
80
pushd "$pkgbase"
81
cargo build --frozen --release --all-features
82
}
83
84
package_obs-studio-rust() {
85
provides=("obs-studio=$pkgver")
86
optdepends=('libfdk-aac: FDK AAC codec support'
87
'libva-intel-driver: hardware encoding for older Intel GPUs'
88
'intel-media-driver: hardware encoding for recent Intel GPUs'
89
'libva-mesa-driver: hardware encoding'
90
'sndio: Sndio input client'
91
'v4l2loopback-dkms: virtual camera support'
92
'xdg-desktop-portal-impl: Wayland window/screen capture'
93
"$_obs_studio-plugin-browser: CEF-based browser plugin"
94
)
95
DESTDIR="$pkgdir" cmake --install build
96
pushd "$pkgbase"
97
install -Dm0755 -t "$pkgdir/usr/bin/" "target/release/$_obs_studio-rust"
98
}
99
100
package_obs-studio-rust-plugin-browser() {
101
provides=("obs-studio-plugin-browser=$pkgver")
102
pkgdesc="CEF-based OBS Studio browser plugin"
103
url="https://obsproject.com/kb/browser-source"
104
depends=('cef' 'glibc' 'libgcc' 'libstdc++' 'libx11' "$_obs_studio-rust" 'qt6-base')
105
106
cd build/plugins
107
install -Dm755 obs-browser/obs-browser-page obs-browser/obs-browser.so -t $pkgdir/usr/lib/obs-plugins/
108
install -d $pkgdir/usr/share/obs/obs-plugins/
109
cp -a obs-browser $pkgdir/usr/share/obs/obs-plugins/
110
}
111
Changes since previous scan
--- PKGBUILD @ 2026-10-15 00:28+++ PKGBUILD @ 2026-10-17 00:21@@ -3,8 +3,8 @@ _obs_studio=obs-studio pkgbase=obs-rust pkgname=("$_obs_studio-rust" "$_obs_studio-rust-plugin-browser")-pkgver=0.1.0beta.20261012-pkgrel=2+pkgver=0.1.0beta.20261014+pkgrel=1 pkgdesc="Free, open source software for live streaming and recording" arch=('x86_64') url="https://github.com/$pkgbase"@@ -25,7 +25,7 @@ "${pkgbase}-obs-browser::git+$url/obs-browser.git" "${pkgbase}-obs-websocket::git+$url/obs-websocket.git" )-sha256sums=('57d49493193b8daf10d5ce93cd854e9f587dafd31c43a56fdf160b161e0c2aa8'+sha256sums=('05ac0389bfab6a4a4ee313495743a82866d035adaf2655d018141954aa8634a1' 'SKIP' 'SKIP' 'SKIP')@@ -94,7 +94,7 @@ ) DESTDIR="$pkgdir" cmake --install build pushd "$pkgbase"- install -Dm0755 -t "$pkgdir/usr/bin/" "target/release/obs-stream-rust"+ install -Dm0755 -t "$pkgdir/usr/bin/" "target/release/$_obs_studio-rust" } package_obs-studio-rust-plugin-browser() {Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 15:12:23 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |
| 2026-10-14 09:19:50 | Low | 1 |
| 2026-10-14 00:06:47 | Low | 2 |
| 2026-10-13 11:16:23 | Low | 2 |
| 2026-10-13 00:23:45 | Clean | 2 |
| 2026-10-12 23:15:20 | Low | 1 |
| 2026-10-12 13:13:52 | Low | 1 |