blob: 6478d99679539697d9c276e03bcb387a60fa1689 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
# Maintainer: Konstantin Liberty <jon9097 at gmail dot com>
pkgname=obs-studio-liberty
pkgver=31.0.0
pkgrel=1
pkgdesc="Free, open source software for live streaming and recording. With Browser Source support. Without the need to install ffmpeg-obs, etc."
arch=('x86_64')
url="https://github.com/obsproject/obs-studio"
license=('GPL-2.0-or-later')
_qtver=6.6.2
_libajantv2ver=17.0.1
_libdatachannelver=0.21
_mbedtlsver=3.6.1
_pythonver=3.12
depends=(
"alsa-lib" # Deps of ALSA plugin and CEF
"curl" # Deps of OBS Studio and rtmp-services plugin
"ffmpeg>=7.1" # Deps of OBS Studio and FFmpeg plugin
"fontconfig" # Deps of Freetype2 plugin
"freetype2" # Deps of Freetype2 plugin
"gcc-libs" # Deps of any C++ related binary
"glib2" # Deps of libobs, PipeWire plugin and CEF
"glibc" # Deps of any C related binary
"jansson" # Deps of libobs and rtmp-services plugin
"libgl" # Deps of libobs-opengl and OBS Studio
"libpipewire" # Deps of the PipeWire plugin
"libpulse" # Deps of PulseAudio monitoring (in libobs) and PulseAudio plugin
"librist" # Deps of FFmpeg plugin
"libva" # Deps of FFmpeg plugin and QSV plugin
"libx11" # Deps of libobs, libobs-opengl, X11 Capture plugin, frontend tools plugin, obs-browser and CEF
"libxcb" # Deps of libobs-opengl, X11 Capture plugin and CEF
"libxcomposite" # Deps of the X11 capture plugin
"libxkbcommon" # Deps of libobs, OBS Studio and CEF
"mbedtls>=$_mbedtlsver" # Deps of OBS Studio and Outputs plugin
"pciutils" # Deps of FFmpeg plugin
"qrcodegencpp-cmake" # Deps of Websocket plugin
"qt6-base>=$_qtver" # Deps of OBS Studio and any frontend plugin
"qt6-svg>=$_qtver" # Deps of OBS Studio
"qt6-wayland>=$_qtver" # Needed to use Qt on Wayland platform
"rnnoise" # Deps if the filter plugin
"speexdsp" # Deps if the filter plugin
"srt" # Deps of FFmpeg plugin
"util-linux-libs" # Deps of libobs
"vlc" # It is necessary to build the package and work
"wayland" # Deps of libobs, libobs-opengl and CEF
"x264" # Deps of the X264 plugin
"zlib" # Deps of libobs
# Deps of CEF
"at-spi2-core" "cairo" "dbus" "expat" "libcups" "libdrm"
"libxdamage" "libxext" "libxfixes" "libxrandr" "mesa" "nspr"
"nss" "pango"
)
makedepends=(
"asio" # Deps of Websocket plugin (headers-only lib)
"cmake"
"ffnvcodec-headers" # Deps of NVENC plugin (headers-only lib)
"jack" # Deps of JACK plugin
"git"
"uthash" # Deps of libobs
"libajantv2>=$_libajantv2ver" # Deps of AJA plugins
"libdatachannel>=$_libdatachannelver" # Deps of WebRTC plugin (NICE variant like the Flatpak)
"libfdk-aac" # Deps of FDK AAC plugin
"luajit" # Deps of Scripting plugin
"nlohmann-json" # Deps of Websocket plugin (headers-only lib)
"libvpl" # Deps of QSV plugin
"python>=$_pythonver" # Deps of Scripting plugin
"sndio" # Deps of sndio plugin
"swig" # Deps of Scripting plugin
"systemd-libs" # Deps of V4L2 plugin
"v4l-utils" # Deps of V4L2 plugin
"websocketpp" # Deps of Websocket plugin (headers-only lib)
# Deps of obs-browser
#"cef-minimal-obs=1:127.3.4+ge9e2e14+chromium_127.0.6533.100_1"
)
optdepends=(
"jack: JACK support"
"libfdk-aac: FDK AAC codec support"
"libvpl: QSV encoder support"
"intel-media-sdk: QSV encoder support(<= Rocket Lake & >= Broadwell)"
"vpl-gpu-rt: QSV encoder support (>= Alder Lake)"
"intel-media-driver: VAAPI encoder support (>= Broadwell)"
"libva-intel-driver: VAAPI encoder support (<= Haswell)"
"libva-mesa-driver: VAAPI encoder support"
"swig: Scripting"
"luajit: Lua scripting"
"python>=$_pythonver: Python scripting"
"sndio: Sndio input client"
"v4l-utils: V4L2 support"
"systemd-libs: V4L2 support"
"v4l2loopback-dkms: V4L2 virtual camera output"
"libdatachannel>=$_libdatachannelver: WHIP Support"
"libajantv2>=$_libajantv2ver: AJA support"
)
provides=("obs-studio=$pkgver" "obs-vst" "obs-websocket" "obs-browser")
conflicts=("obs-studio" "obs-websocket" "obs-browser" "obs-linuxbrowser" "obs-studio-tytan652" "obs-studio-git" "obs-studio-amf" "obs-studio-browser" "obs-vst" "obs-linuxbrowser")
source=(
"obs-studio::git+https://github.com/obsproject/obs-studio.git#tag=$pkgver"
"obs-browser::git+https://github.com/obsproject/obs-browser.git"
"obs-websocket::git+https://github.com/obsproject/obs-websocket.git"
"https://cdn-fastly.obsproject.com/downloads/cef_binary_6533_linux_x86_64.tar.xz"
#"0004-Max_tls_v1_2_mbedtls_3_6_0_workaround.patch"
)
sha256sums=(
"SKIP"
"SKIP"
"SKIP"
"fab66dfc9cfd2e26fb87798f855aef30c2004edc8e19570d37af555644ae1655"
#"c397a8da291547c757a42f7727a5e6650aa70e6e531f2ef150356eb9eb1fb49c"
)
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 config submodule.plugins/obs-outputs/ftl-sdk.url $srcdir/ftl-sdk
git -c protocol.file.allow=always submodule update
# MbedTLS 3.6.0 broke stuff with TLS v1.3 (Thanks tytan652)
# patch -Np1 -i "$srcdir/0004-Max_tls_v1_2_mbedtls_3_6_0_workaround.patch"
#cd "$srcdir"
#make PREFIX="$srcdir/nv-prefix" -C supported-nv-codec-headers install
}
build() {
export PKG_CONFIG_PATH="${srcdir}/nv-prefix/lib/pkgconfig"
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_x86_64/" \
-DOBS_VERSION_OVERRIDE="$pkgver" \
-DOBS_COMPILE_DEPRECATION_AS_WARNING=ON \
-Wno-dev \
#-DCMAKE_INCLUDE_PATH="${srcdir}/nv-prefix/include:/usr/include"
cmake --build build
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
|