1 # TODO: AJA (BR: libajantv2)
4 %bcond_with qt5 # Qt 5 instead of Qt 6
6 Summary: OBS Studio - live streaming and screen recording software
7 Summary(pl.UTF-8): OBS Studio - oprogramowanie do przesyłania strumieni na żywo i nagrywania ekranu
12 %define obs_vst_gitref 8ad3f64e702ac4f1799b209a511620eb1d096a01
13 Group: X11/Applications/Multimedia
14 #Source0Download: https://github.com/obsproject/obs-studio/releases
15 Source0: https://github.com/jp9000/obs-studio/archive/%{version}/%{name}-%{version}.tar.gz
16 # Source0-md5: 5597636f9c66342566f47d68aa4c6693
17 Patch0: disable-missing-plugins.patch
20 URL: https://obsproject.com/
21 BuildRequires: ImageMagick-devel
22 BuildRequires: OpenGL-GLX-devel
23 BuildRequires: alsa-lib-devel
24 BuildRequires: cmake >= 3.16
25 BuildRequires: curl-devel
26 BuildRequires: dbus-devel
27 # avcodec avfilter avdevice avutil swscale avformat swresample
28 BuildRequires: ffmpeg-devel
29 BuildRequires: fontconfig-devel
30 BuildRequires: freetype-devel >= 2
31 BuildRequires: glib2-devel >= 2.0
32 BuildRequires: jack-audio-connection-kit-devel
33 BuildRequires: jansson-devel >= 2.5
34 BuildRequires: libdrm-devel
35 BuildRequires: librist-devel
36 BuildRequires: libstdc++-devel >= 6:4.7
37 BuildRequires: libv4l-devel
38 BuildRequires: libva-devel
39 BuildRequires: libx264-devel
40 # xcb xcb-composite xcb-randr xcb-shm xcb-xfixes xcb-xinerama
41 BuildRequires: libxcb-devel
43 BuildRequires: luajit-devel
45 BuildRequires: mbedtls-devel
46 BuildRequires: pciutils-devel
47 BuildRequires: pipewire-devel >= 0.3.33
48 BuildRequires: pkgconfig
49 BuildRequires: pulseaudio-devel
50 BuildRequires: python3-devel >= 1:3.2
51 BuildRequires: rpmbuild(macros) >= 1.605
52 BuildRequires: speexdsp-devel
53 BuildRequires: srt-devel
54 BuildRequires: swig-python >= 2
55 BuildRequires: udev-devel
56 BuildRequires: vlc-devel
58 BuildRequires: wayland-devel
59 BuildRequires: wayland-egl-devel
60 BuildRequires: xorg-lib-libX11-devel
61 BuildRequires: zlib-devel
63 BuildRequires: Qt5Core-devel >= 5
64 BuildRequires: Qt5Gui-devel >= 5
65 BuildRequires: Qt5Network-devel >= 5
66 BuildRequires: Qt5Svg-devel >= 5
67 BuildRequires: Qt5Widgets-devel >= 5
68 BuildRequires: Qt5Xml-devel >= 5
69 BuildRequires: qt5-build >= 5
70 BuildRequires: qt5-qmake >= 5
72 BuildRequires: Qt6Core-devel >= 6
73 BuildRequires: Qt6Gui-devel >= 6
74 BuildRequires: Qt6Network-devel >= 6
75 BuildRequires: Qt6Svg-devel >= 6
76 BuildRequires: Qt6Widgets-devel >= 6
77 BuildRequires: Qt6Xml-devel >= 6
78 BuildRequires: qt6-build >= 6
79 BuildRequires: qt6-qmake >= 6
81 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
83 %define _noautoprovfiles %{_libdir}/obs-plugins
85 # symbols from libm confuse the checker
86 %define skip_post_check_so libobs.so.*
89 OBS Studio is software designed for capturing, compositing, encoding,
90 recording, and streaming video content, efficiently.
92 %description -l pl.UTF-8
93 OBS Studio to oprogramowanie służące do wydajnego przechwytywania,
94 składania, kodowania, nagrywania i przesyłania treści wideo.
97 Summary: Header files for OBS Studio
98 Summary(pl.UTF-8): Pliki nagłówkowe OBS Studio
99 Group: Development/Libraries
100 Requires: %{name} = %{version}-%{release}
103 Header files for OBS Studio.
105 %description devel -l pl.UTF-8
106 Pliki nagłówkowe OBS Studio.
117 export OBS_MULTIARCH_SUFFIX="%(echo "%{_lib}" | sed -e 's/^lib//')"
119 -DCMAKE_INSTALL_BINDIR:PATH=bin \
120 -DCMAKE_INSTALL_INCLUDEDIR:PATH=include \
121 -DCMAKE_INSTALL_DATAROOTDIR:PATH=share \
122 -DCMAKE_INSTALL_DATADIR:PATH=share \
123 -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \
124 -DCMAKE_SKIP_RPATH=1 \
125 -DBUILD_BROWSER=OFF \
126 -DCALM_DEPRECATION=ON \
129 -DENABLE_SCRIPTING_LUA=OFF \
131 -DOBS_VERSION_OVERRIDE=%{version} \
132 -DQT_VERSION=%{?with_qt5:5}%{!?with_qt5:6} \
138 rm -rf $RPM_BUILD_ROOT
140 %{__make} -C build install/fast \
141 DESTDIR=$RPM_BUILD_ROOT
146 reldatadir="$(echo %{_datadir} | sed -e 's,^/,,')"
147 for f in $reldatadir/obs/obs-studio/locale/??*-??*.ini $reldatadir/obs/obs-plugins/*/locale/??*-??*.ini ; do
148 locale="$(basename "$f" .ini | tr - _)"
154 loctag="%lang($locale) "
157 # this rule covers also conversion of bogus Serbian codes to "sr": "sr_CS" (actually sr_RS@latin), "sr_SP" (actually sr_RS, cyrillic)
158 loctag="%lang(${locale%_??}) "
162 done > "$builddir/%{name}.lang"
165 %{__rm} $RPM_BUILD_ROOT%{_datadir}/obs/obs-plugins/{decklink-captions,decklink-output-ui}/.keepme
166 %{__rm} $RPM_BUILD_ROOT%{_datadir}/obs/obs-plugins/linux-pipewire/.gitkeep
169 rm -rf $RPM_BUILD_ROOT
171 %post -p /sbin/ldconfig
172 %postun -p /sbin/ldconfig
174 %files -f %{name}.lang
175 %defattr(644,root,root,755)
176 %doc AUTHORS README.rst
177 %attr(755,root,root) %{_bindir}/obs
178 %attr(755,root,root) %{_bindir}/obs-ffmpeg-mux
179 %attr(755,root,root) %{_libdir}/libobs-frontend-api.so.29
180 %attr(755,root,root) %ghost %{_libdir}/libobs-frontend-api.so.0
181 %attr(755,root,root) %{_libdir}/libobs-opengl.so.29
182 %attr(755,root,root) %ghost %{_libdir}/libobs-opengl.so.1
183 %attr(755,root,root) %{_libdir}/libobs.so.29
184 %attr(755,root,root) %ghost %{_libdir}/libobs.so.0
185 %attr(755,root,root) %{_libdir}/libobs-scripting.so.29
186 %attr(755,root,root) %ghost %{_libdir}/libobs-scripting.so.1
188 %dir %{_libdir}/obs-plugins
189 %attr(755,root,root) %{_libdir}/obs-plugins/decklink-captions.so
190 %attr(755,root,root) %{_libdir}/obs-plugins/decklink-output-ui.so
191 %attr(755,root,root) %{_libdir}/obs-plugins/decklink.so
192 %attr(755,root,root) %{_libdir}/obs-plugins/frontend-tools.so
193 %attr(755,root,root) %{_libdir}/obs-plugins/image-source.so
194 %attr(755,root,root) %{_libdir}/obs-plugins/linux-alsa.so
195 %attr(755,root,root) %{_libdir}/obs-plugins/linux-capture.so
196 %attr(755,root,root) %{_libdir}/obs-plugins/linux-pipewire.so
197 %attr(755,root,root) %{_libdir}/obs-plugins/linux-pulseaudio.so
198 %attr(755,root,root) %{_libdir}/obs-plugins/linux-v4l2.so
199 %attr(755,root,root) %{_libdir}/obs-plugins/obs-ffmpeg.so
200 %attr(755,root,root) %{_libdir}/obs-plugins/obs-filters.so
201 %attr(755,root,root) %{_libdir}/obs-plugins/obs-outputs.so
202 %attr(755,root,root) %{_libdir}/obs-plugins/obs-transitions.so
203 %attr(755,root,root) %{_libdir}/obs-plugins/obs-vst.so
204 %attr(755,root,root) %{_libdir}/obs-plugins/obs-x264.so
205 %attr(755,root,root) %{_libdir}/obs-plugins/rtmp-services.so
206 %attr(755,root,root) %{_libdir}/obs-plugins/text-freetype2.so
207 %attr(755,root,root) %{_libdir}/obs-plugins/vlc-video.so
208 %dir %{_libdir}/obs-scripting
210 %attr(755,root,root) %{_libdir}/obs-scripting/obslua.so
212 %attr(755,root,root) %{_libdir}/obs-scripting/_obspython.so
213 %attr(755,root,root) %{_libdir}/obs-scripting/obspython.py
215 %{_datadir}/metainfo/com.obsproject.Studio.appdata.xml
216 %{_desktopdir}/com.obsproject.Studio.desktop
217 %{_iconsdir}/hicolor/*x*/apps/com.obsproject.Studio.png
218 %{_iconsdir}/hicolor/scalable/apps/com.obsproject.Studio.svg
221 %{_datadir}/obs/libobs
222 %dir %{_datadir}/obs/obs-plugins
223 %dir %{_datadir}/obs/obs-studio
224 %{_datadir}/obs/obs-studio/OBSPublicRSAKey.pem
225 %{_datadir}/obs/obs-studio/authors
226 %{_datadir}/obs/obs-studio/images
227 %{_datadir}/obs/obs-studio/license
228 %dir %{_datadir}/obs/obs-studio/locale
229 %{_datadir}/obs/obs-studio/themes
230 %{_datadir}/obs/obs-studio/locale.ini
232 %dir %{_datadir}/obs/obs-plugins/decklink
233 %dir %{_datadir}/obs/obs-plugins/decklink/locale
235 %dir %{_datadir}/obs/obs-plugins/frontend-tools
236 %dir %{_datadir}/obs/obs-plugins/frontend-tools/locale
237 %dir %{_datadir}/obs/obs-plugins/frontend-tools/scripts
238 %{_datadir}/obs/obs-plugins/frontend-tools/scripts/*.lua
239 %{_datadir}/obs/obs-plugins/frontend-tools/scripts/*.py
240 %{_datadir}/obs/obs-plugins/frontend-tools/scripts/clock-source
242 %dir %{_datadir}/obs/obs-plugins/image-source
243 %dir %{_datadir}/obs/obs-plugins/image-source/locale
245 %dir %{_datadir}/obs/obs-plugins/linux-alsa
246 %dir %{_datadir}/obs/obs-plugins/linux-alsa/locale
248 %dir %{_datadir}/obs/obs-plugins/linux-capture
249 %dir %{_datadir}/obs/obs-plugins/linux-capture/locale
251 %dir %{_datadir}/obs/obs-plugins/linux-pipewire
252 %dir %{_datadir}/obs/obs-plugins/linux-pipewire/locale
254 %dir %{_datadir}/obs/obs-plugins/linux-pulseaudio
255 %dir %{_datadir}/obs/obs-plugins/linux-pulseaudio/locale
257 %dir %{_datadir}/obs/obs-plugins/linux-v4l2
258 %dir %{_datadir}/obs/obs-plugins/linux-v4l2/locale
260 %dir %{_datadir}/obs/obs-plugins/obs-ffmpeg
261 %dir %{_datadir}/obs/obs-plugins/obs-ffmpeg/locale
263 %dir %{_datadir}/obs/obs-plugins/obs-filters
264 %{_datadir}/obs/obs-plugins/obs-filters/*.effect
265 %{_datadir}/obs/obs-plugins/obs-filters/LUTs
266 %dir %{_datadir}/obs/obs-plugins/obs-filters/locale
268 %dir %{_datadir}/obs/obs-plugins/obs-outputs
269 %dir %{_datadir}/obs/obs-plugins/obs-outputs/locale
271 %dir %{_datadir}/obs/obs-plugins/obs-transitions
272 %{_datadir}/obs/obs-plugins/obs-transitions/*.effect
273 %{_datadir}/obs/obs-plugins/obs-transitions/luma_wipes
274 %dir %{_datadir}/obs/obs-plugins/obs-transitions/locale
276 %dir %{_datadir}/obs/obs-plugins/obs-vst
277 %dir %{_datadir}/obs/obs-plugins/obs-vst/locale
279 %dir %{_datadir}/obs/obs-plugins/obs-x264
280 %dir %{_datadir}/obs/obs-plugins/obs-x264/locale
282 %dir %{_datadir}/obs/obs-plugins/rtmp-services
283 %{_datadir}/obs/obs-plugins/rtmp-services/*.json
284 %dir %{_datadir}/obs/obs-plugins/rtmp-services/schema
285 %{_datadir}/obs/obs-plugins/rtmp-services/schema/*.json
286 %dir %{_datadir}/obs/obs-plugins/rtmp-services/locale
288 %dir %{_datadir}/obs/obs-plugins/text-freetype2
289 %{_datadir}/obs/obs-plugins/text-freetype2/*.effect
290 %dir %{_datadir}/obs/obs-plugins/text-freetype2/locale
292 %dir %{_datadir}/obs/obs-plugins/vlc-video
293 %dir %{_datadir}/obs/obs-plugins/vlc-video/locale
296 %defattr(644,root,root,755)
297 %attr(755,root,root) %{_libdir}/libobs.so
298 %attr(755,root,root) %{_libdir}/libobs-frontend-api.so
299 %attr(755,root,root) %{_libdir}/libobs-opengl.so
300 %attr(755,root,root) %{_libdir}/libobs-scripting.so
302 %{_pkgconfigdir}/libobs.pc
303 %{_libdir}/cmake/libobs
304 %{_libdir}/cmake/obs-frontend-api