Files
alr-repo/obs-studio-browser/alr.sh

221 lines
11 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name='obs-studio-browser'
version='31.0.3'
release='1'
desc='Free and open source software for video recording and live streaming. With everything except service integration.'
desc_ru='Бесплатная и открытая система для видео- и live-стриминга. Без сервисных интеграций.'
homepage='https://github.com/obsproject/obs-studio'
maintainer='Evgeny Hramov <xpamych@yandex.ru>'
maintainer_ru="Евгений Храмов <xpamych@yandex.ru>"
architectures=('amd64' 'arm64')
licenses='GPL-2.0-or-later'
provides=('obs-studio' 'obs-vst' 'obs-websocket' 'obs-browser')
conflicts=('obs-studio' 'obs-vst' 'obs-websocket' 'obs-browser' 'obs-linuxbrowser' 'libva-vdpau-driver')
deps=(
'alsa-lib' # Зависимости плагина ALSA и CEF
'curl' # Зависимости OBS Studio и плагина rtmp-services
'ffmpeg' # Зависимости OBS Studio и плагина FFmpeg
'fontconfig' # Зависимости плагина Freetype2
'freetype' # Зависимости плагина Freetype2
'gcc' # Зависимости любых бинарных файлов на C++
'glib2' # Зависимости libobs, плагина PipeWire и CEF
'glibc' # Зависимости любых бинарных файлов на C
'jansson' # Зависимости libobs и плагина rtmp-services
'mesa-libGL' # Зависимости libobs-opengl и OBS Studio
'pipewire' # Зависимости плагина PipeWire
'pulseaudio-libs' # Зависимости мониторинга PulseAudio (в libobs) и плагина PulseAudio
'librist' # Зависимости плагина FFmpeg
'libva' # Зависимости плагина FFmpeg и плагина QSV
'libX11' # Зависимости libobs, libobs-opengl, плагина захвата X11, плагина инструментов интерфейса и CEF
'libxcb' # Зависимости libobs-opengl, плагина захвата X11 и CEF
'libXcomposite' # Зависимости плагина захвата X11
'libxkbcommon' # Зависимости libobs, OBS Studio и CEF
'mbedtls' # Зависимости OBS Studio и плагина Outputs
'pciutils' # Зависимости плагина FFmpeg
'qrcodegen' # Зависимости плагина Websocket
'qt6-qtbase' # Зависимости OBS Studio и любых плагинов интерфейса
'qt6-qtsvg' # Зависимости OBS Studio
'qt6-qtwayland' # Необходимо для использования Qt на платформе Wayland
'rnnoise' # Зависимости фильтра плагина
'speexdsp' # Зависимости фильтра плагина
'srt' # Зависимости плагина FFmpeg
'util-linux' # Зависимости libobs
'vlc' # Зависимости плагина VLC (проблема с "vlc" вызывает сбой)
'wayland' # Зависимости libobs, libobs-opengl и CEF
'x264' # Зависимости плагина X264
'zlib' # Зависимости libobs
# Зависимости CEF
'at-spi2-core' 'cairo' 'dbus' 'expat' 'libcups' 'libdrm'
'libXdamage' 'libXext' 'libXfixes' 'libXrandr' 'mesa' 'nspr'
'nss' 'pango'
)
deps_arch=(
'alsa-lib' # Зависимости плагина ALSA и CEF
'curl' # Зависимости OBS Studio и плагина rtmp-services
'ffmpeg-obs' # Зависимости OBS Studio и плагина FFmpeg
'fontconfig' # Зависимости плагина Freetype2
'freetype2' # Зависимости плагина Freetype2
'gcc-libs' # Зависимости любых бинарных файлов на C++
'glib2' # Зависимости libobs, плагина PipeWire и CEF
'glibc' # Зависимости любых бинарных файлов на C
'jansson' # Зависимости libobs и плагина rtmp-services
'libgl' # Зависимости libobs-opengl и OBS Studio
'libpipewire' # Зависимости плагина PipeWire
'libpulse' # Зависимости мониторинга PulseAudio (в libobs) и плагина PulseAudio
'librist' # Зависимости плагина FFmpeg
'libva' # Зависимости плагина FFmpeg и плагина QSV
'libx11' # Зависимости libobs, libobs-opengl, плагина захвата X11, плагина инструментов интерфейса и CEF
'libxcb' # Зависимости libobs-opengl, плагина захвата X11 и CEF
'libxcomposite' # Зависимости плагина захвата X11
'libxkbcommon' # Зависимости libobs, OBS Studio и CEF
'mbedtls' # Зависимости OBS Studio и плагина Outputs
'pciutils' # Зависимости плагина FFmpeg
'qrcodegencpp-cmake' # Зависимости плагина Websocket
'qt6-base' # Зависимости OBS Studio и любых плагинов интерфейса
'qt6-svg' # Зависимости OBS Studio
'qt6-wayland' # Необходимо для использования Qt на платформе Wayland
'rnnoise' # Зависимости фильтра плагина
'speexdsp' # Зависимости фильтра плагина
'srt' # Зависимости плагина FFmpeg
'util-linux-libs' # Зависимости libobs
'vlc-luajit' # Зависимости плагина VLC (проблема с "vlc" вызывает сбой)
'wayland' # Зависимости libobs, libobs-opengl и CEF
'x264' # Зависимости плагина X264
'zlib' # Зависимости libobs
# Зависимости CEF
'at-spi2-core' 'cairo' 'dbus' 'expat' 'libcups' 'libdrm'
'libxdamage' 'libxext' 'libxfixes' 'libxrandr' 'mesa' 'nspr'
'nss' 'pango'
)
build_deps=(
'asio-devel' # Зависимости плагина Websocket (библиотека только с заголовками)
'cmake'
'nv-codec-headers' # Зависимости плагина NVENC (библиотека только с заголовками)
'pipewire-jack-audio-connection-kit' # Зависимости плагина JACK
'git'
'uthash-devel' # Зависимости libobs
'libdatachannel' # Зависимости плагина WebRTC (вариант NICE, как в Flatpak)
'libfdk-aac' # Зависимости плагина FDK AAC
'luajit' # Зависимости плагина Scripting
'nlohmann-json' # Зависимости плагина Websocket (библиотека только с заголовками)
'python' # Зависимости плагина Scripting
'sndio' # Зависимости плагина sndio
'swig' # Зависимости плагина Scripting
'systemd-devel' # Зависимости плагина V4L2
'v4l-utils' # Зависимости плагина V4L2
'websocketpp-devel' # Зависимости плагина Websocket (библиотека только с заголовками)
)
build_deps_arch=(
'asio' # Зависимости плагина Websocket (библиотека только с заголовками)
'cmake'
'ffnvcodec-headers' # Зависимости плагина NVENC (библиотека только с заголовками)
'jack' # Зависимости плагина JACK
'git'
'uthash' # Зависимости libobs
'libajantv2' # Зависимости плагинов AJA
'libdatachannel' # Зависимости плагина WebRTC (вариант NICE, как в Flatpak)
'libfdk-aac' # Зависимости плагина FDK AAC
'luajit' # Зависимости плагина Scripting
'nlohmann-json' # Зависимости плагина Websocket (библиотека только с заголовками)
'libvpl' # Зависимости плагина QSV
'python' # Зависимости плагина Scripting
'sndio' # Зависимости плагина sndio
'swig' # Зависимости плагина Scripting
'systemd-libs' # Зависимости плагина V4L2
'v4l-utils' # Зависимости плагина V4L2
'websocketpp' # Зависимости плагина Websocket (библиотека только с заголовками)
)
opt_deps=(
'jack: Поддержка JACK'
'libfdk-aac: Поддержка кодека FDK AAC'
'libvpl: Поддержка кодировщика QSV'
'intel-media-sdk: Поддержка кодировщика QSV (<= Rocket Lake & >= Broadwell)'
'vpl-gpu-rt: Поддержка кодировщика QSV (>= Alder Lake)'
'intel-media-driver: Поддержка кодировщика VAAPI (>= Broadwell)'
'libva-intel-driver: Поддержка кодировщика VAAPI (<= Haswell)'
'libva-mesa-driver: Поддержка кодировщика VAAPI'
'swig: Скрипты'
'luajit: Скрипты Lua'
'python: Скрипты на Python'
'sndio: Клиент ввода Sndio'
'v4l-utils: Поддержка V4L2'
'systemd-devel: Поддержка V4L2' # Заменено на systemd-devel
'v4l2loopback-dkms: Вывод виртуальной камеры V4L2'
'libdatachannel: Поддержка WHIP'
'libajantv2: Поддержка AJA'
)
opt_deps_arch=(
'jack: Поддержка JACK'
'libfdk-aac: Поддержка кодека FDK AAC'
'libvpl: Поддержка кодировщика QSV'
'intel-media-sdk: Поддержка кодировщика QSV (<= Rocket Lake & >= Broadwell)'
'vpl-gpu-rt: Поддержка кодировщика QSV (>= Alder Lake)'
'intel-media-driver: Поддержка кодировщика VAAPI (>= Broadwell)'
'libva-intel-driver: Поддержка кодировщика VAAPI (<= Haswell)'
'libva-mesa-driver: Поддержка кодировщика VAAPI'
'swig: Скрипты'
'luajit: Скрипты Lua'
'python: Скрипты на Python'
'sndio: Клиент ввода Sndio'
'v4l-utils: Поддержка V4L2'
'systemd-libs: Поддержка V4L2'
'v4l2loopback-dkms: Вывод виртуальной камеры V4L2'
'libdatachannel: Поддержка WHIP'
'libajantv2: Поддержка AJA'
)
sources=(
"git+https://github.com/obsproject/obs-studio.git#tag=version"
"git+https://github.com/obsproject/obs-browser.git"
"git+https://github.com/obsproject/obs-websocket.git"
"https://cdn-fastly.obsproject.com/downloads/cef_binary_6533_linux_x86_64_v3.tar.xz")
checksums=(
'SKIP'
'SKIP'
'SKIP'
'SKIP'
)
prepare() {
cd $srcdir/obs-studio
git config submodule.plugins/obs-browser.url $srcdir/obs-browser
git config submodule.plugins/obs-websocket.url $srcdir/obs-websocket
git -c protocol.file.allow=always submodule update
## linux-v4l2: Fix virtual camera start failure
git cherry-pick -n 12c6febae21f369da50f09d511b54eadc1dc1342
## Mark log and titlebar version
sed -i "s|obs_get_version_string()|\"$version-browser-$release\"|" UI/obs-app.cpp
}
build() {
cmake -B build -S obs-studio \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DENABLE_LIBFDK=ON \
-DENABLE_JACK=ON \
-DENABLE_SNDIO=ON \
-DENABLE_BROWSER=ON \
-DCEF_ROOT_DIR="$srcdir/cef_binary_6533_linux_${CARCH/%_v?/}" \
-DOBS_VERSION_OVERRIDE="version" \
-DOBS_COMPILE_DEPRECATION_AS_WARNING=ON \
-Wno-dev
cmake --build build
}
package() {
DESTDIR="$pkgdir" cmake --install build
}