]> git.pld-linux.org Git - packages/obs-studio.git/blobdiff - obs-studio.spec
- updated options and dependencies
[packages/obs-studio.git] / obs-studio.spec
index a63ad5cb6f6089ea9b6e85e9d907c06488a8b683..0002351906c63faf5ee50ca2818ac20e5cfeb1c8 100644 (file)
@@ -1,60 +1,90 @@
+# TODO: AJA (BR: libajantv2)
+#
+# Conditional build:
+%bcond_with    qt5     # Qt 5 instead of Qt 6
+
 Summary:       OBS Studio - live streaming and screen recording software
 Summary(pl.UTF-8):     OBS Studio - oprogramowanie do przesyłania strumieni na żywo i nagrywania ekranu
 Name:          obs-studio
-Version:       27.0.1
+Version:       29.1.3
 Release:       1
 License:       GPL v2+
-%define                obs_vst_gitref  aaa7b7fa32c40b37f59e7d3d194672115451f198
+%define                obs_vst_gitref  8ad3f64e702ac4f1799b209a511620eb1d096a01
 Group:         X11/Applications/Multimedia
 #Source0Download: https://github.com/obsproject/obs-studio/releases
 Source0:       https://github.com/jp9000/obs-studio/archive/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 48b51f558858f512928efda0f3aee1a1
-Source1:       https://github.com/obsproject/obs-vst/archive/%{obs_vst_gitref}/obs-vst-20210530.tar.gz
-# Source1-md5: 31de8e44547fcbba83236b59c9a03ff7
-Patch0:                libobs_link.patch
+# Source0-md5: 5597636f9c66342566f47d68aa4c6693
+Patch0:                disable-missing-plugins.patch
+Patch1:                size_t.patch
+Patch2:                x32.patch
 URL:           https://obsproject.com/
 BuildRequires: ImageMagick-devel
 BuildRequires: OpenGL-GLX-devel
-BuildRequires: Qt5Core-devel >= 5
-BuildRequires: Qt5Gui-devel >= 5
-BuildRequires: Qt5Svg-devel >= 5
-BuildRequires: Qt5Widgets-devel >= 5
-BuildRequires: Qt5X11Extras-devel >= 5
 BuildRequires: alsa-lib-devel
-BuildRequires: cmake >= 2.8.12
+BuildRequires: cmake >= 3.16
 BuildRequires: curl-devel
 BuildRequires: dbus-devel
-BuildRequires: fdk-aac-devel
 # avcodec avfilter avdevice avutil swscale avformat swresample
 BuildRequires: ffmpeg-devel
 BuildRequires: fontconfig-devel
 BuildRequires: freetype-devel >= 2
+BuildRequires: glib2-devel >= 2.0
 BuildRequires: jack-audio-connection-kit-devel
 BuildRequires: jansson-devel >= 2.5
+BuildRequires: libdrm-devel
+BuildRequires: librist-devel
+BuildRequires: libstdc++-devel >= 6:4.7
 BuildRequires: libv4l-devel
+BuildRequires: libva-devel
+BuildRequires: libx264-devel
+# xcb xcb-composite xcb-randr xcb-shm xcb-xfixes xcb-xinerama
 BuildRequires: libxcb-devel
 %ifnarch x32
 BuildRequires: luajit-devel
 %endif
-BuildRequires: libstdc++-devel >= 6:4.7
-BuildRequires: libx264-devel
 BuildRequires: mbedtls-devel
-BuildRequires: pipewire-devel
+BuildRequires: pciutils-devel
+BuildRequires: pipewire-devel >= 0.3.33
 BuildRequires: pkgconfig
 BuildRequires: pulseaudio-devel
 BuildRequires: python3-devel >= 1:3.2
-BuildRequires: qt5-build >= 5
-BuildRequires: qt5-qmake >= 5
+BuildRequires: rpmbuild(macros) >= 1.605
 BuildRequires: speexdsp-devel
+BuildRequires: srt-devel
 BuildRequires: swig-python >= 2
 BuildRequires: udev-devel
 BuildRequires: vlc-devel
+# wayland-client
+BuildRequires: wayland-devel
+BuildRequires: wayland-egl-devel
 BuildRequires: xorg-lib-libX11-devel
 BuildRequires: zlib-devel
+%if %{with qt5}
+BuildRequires: Qt5Core-devel >= 5
+BuildRequires: Qt5Gui-devel >= 5
+BuildRequires: Qt5Network-devel >= 5
+BuildRequires: Qt5Svg-devel >= 5
+BuildRequires: Qt5Widgets-devel >= 5
+BuildRequires: Qt5Xml-devel >= 5
+BuildRequires: qt5-build >= 5
+BuildRequires: qt5-qmake >= 5
+%else
+BuildRequires: Qt6Core-devel >= 6
+BuildRequires: Qt6Gui-devel >= 6
+BuildRequires: Qt6Network-devel >= 6
+BuildRequires: Qt6Svg-devel >= 6
+BuildRequires: Qt6Widgets-devel >= 6
+BuildRequires: Qt6Xml-devel >= 6
+BuildRequires: qt6-build >= 6
+BuildRequires: qt6-qmake >= 6
+%endif
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _noautoprovfiles        %{_libdir}/obs-plugins
 
+# symbols from libm confuse the checker
+%define                skip_post_check_so      libobs.so.*
+
 %description
 OBS Studio is software designed for capturing, compositing, encoding,
 recording, and streaming video content, efficiently.
@@ -76,22 +106,33 @@ Header files for OBS Studio.
 Pliki nagłówkowe OBS Studio.
 
 %prep
-%setup -q -a1
+%setup -q
 %patch0 -p1
-%{__mv} obs-vst-%{obs_vst_gitref} obs-vst
-%{__mv} obs-vst plugins
+%patch1 -p1
+%ifarch x32
+%patch2 -p1
+%endif
 
 %build
-install -d build
-cd build
-
 export OBS_MULTIARCH_SUFFIX="%(echo "%{_lib}" | sed -e 's/^lib//')"
-%cmake .. \
-       -DUNIX_STRUCTURE=1 \
+%cmake -B build \
+       -DCMAKE_INSTALL_BINDIR:PATH=bin \
+       -DCMAKE_INSTALL_INCLUDEDIR:PATH=include \
+       -DCMAKE_INSTALL_DATAROOTDIR:PATH=share \
+       -DCMAKE_INSTALL_DATADIR:PATH=share \
+       -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \
+       -DCMAKE_SKIP_RPATH=1 \
+       -DBUILD_BROWSER=OFF \
+       -DCALM_DEPRECATION=ON \
+       -DENABLE_AJA=OFF \
+%ifarch x32
+       -DENABLE_SCRIPTING_LUA=OFF \
+%endif
        -DOBS_VERSION_OVERRIDE=%{version} \
-       -DBUILD_BROWSER=OFF
+       -DQT_VERSION=%{?with_qt5:5}%{!?with_qt5:6} \
+       -DUNIX_STRUCTURE=1
 
-%{__make}
+%{__make} -C build
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -121,7 +162,8 @@ for f in $reldatadir/obs/obs-studio/locale/??*-??*.ini $reldatadir/obs/obs-plugi
 done > "$builddir/%{name}.lang"
 
 # dir guard
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/obs/obs-plugins/{decklink-captions,decklink-ouput-ui}/.keepme
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/obs/obs-plugins/{decklink-captions,decklink-output-ui}/.keepme
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/obs/obs-plugins/linux-pipewire/.gitkeep
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -134,28 +176,28 @@ rm -rf $RPM_BUILD_ROOT
 %doc AUTHORS README.rst
 %attr(755,root,root) %{_bindir}/obs
 %attr(755,root,root) %{_bindir}/obs-ffmpeg-mux
-%attr(755,root,root) %{_libdir}/libobs-frontend-api.so.*.*
+%attr(755,root,root) %{_libdir}/libobs-frontend-api.so.29
 %attr(755,root,root) %ghost %{_libdir}/libobs-frontend-api.so.0
-%attr(755,root,root) %{_libdir}/libobs-opengl.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libobs-opengl.so.0
-%attr(755,root,root) %{_libdir}/libobs.so.0
-%attr(755,root,root) %{_libdir}/libobsglad.so.0
-%attr(755,root,root) %{_libdir}/libobs-scripting.so
+%attr(755,root,root) %{_libdir}/libobs-opengl.so.29
+%attr(755,root,root) %ghost %{_libdir}/libobs-opengl.so.1
+%attr(755,root,root) %{_libdir}/libobs.so.29
+%attr(755,root,root) %ghost %{_libdir}/libobs.so.0
+%attr(755,root,root) %{_libdir}/libobs-scripting.so.29
+%attr(755,root,root) %ghost %{_libdir}/libobs-scripting.so.1
 
 %dir %{_libdir}/obs-plugins
 %attr(755,root,root) %{_libdir}/obs-plugins/decklink-captions.so
-%attr(755,root,root) %{_libdir}/obs-plugins/decklink-ouput-ui.so
+%attr(755,root,root) %{_libdir}/obs-plugins/decklink-output-ui.so
+%attr(755,root,root) %{_libdir}/obs-plugins/decklink.so
 %attr(755,root,root) %{_libdir}/obs-plugins/frontend-tools.so
 %attr(755,root,root) %{_libdir}/obs-plugins/image-source.so
 %attr(755,root,root) %{_libdir}/obs-plugins/linux-alsa.so
 %attr(755,root,root) %{_libdir}/obs-plugins/linux-capture.so
-%attr(755,root,root) %{_libdir}/obs-plugins/linux-decklink.so
-%attr(755,root,root) %{_libdir}/obs-plugins/linux-jack.so
+%attr(755,root,root) %{_libdir}/obs-plugins/linux-pipewire.so
 %attr(755,root,root) %{_libdir}/obs-plugins/linux-pulseaudio.so
 %attr(755,root,root) %{_libdir}/obs-plugins/linux-v4l2.so
 %attr(755,root,root) %{_libdir}/obs-plugins/obs-ffmpeg.so
 %attr(755,root,root) %{_libdir}/obs-plugins/obs-filters.so
-%attr(755,root,root) %{_libdir}/obs-plugins/obs-libfdk.so
 %attr(755,root,root) %{_libdir}/obs-plugins/obs-outputs.so
 %attr(755,root,root) %{_libdir}/obs-plugins/obs-transitions.so
 %attr(755,root,root) %{_libdir}/obs-plugins/obs-vst.so
@@ -172,12 +214,14 @@ rm -rf $RPM_BUILD_ROOT
 
 %{_datadir}/metainfo/com.obsproject.Studio.appdata.xml
 %{_desktopdir}/com.obsproject.Studio.desktop
-%{_iconsdir}/hicolor/256x256/apps/com.obsproject.Studio.png
+%{_iconsdir}/hicolor/*x*/apps/com.obsproject.Studio.png
+%{_iconsdir}/hicolor/scalable/apps/com.obsproject.Studio.svg
 
 %dir %{_datadir}/obs
 %{_datadir}/obs/libobs
 %dir %{_datadir}/obs/obs-plugins
 %dir %{_datadir}/obs/obs-studio
+%{_datadir}/obs/obs-studio/OBSPublicRSAKey.pem
 %{_datadir}/obs/obs-studio/authors
 %{_datadir}/obs/obs-studio/images
 %{_datadir}/obs/obs-studio/license
@@ -185,7 +229,8 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/obs/obs-studio/themes
 %{_datadir}/obs/obs-studio/locale.ini
 
-%dir %{_datadir}/obs/obs-plugins/decklink-ouput-ui
+%dir %{_datadir}/obs/obs-plugins/decklink
+%dir %{_datadir}/obs/obs-plugins/decklink/locale
 
 %dir %{_datadir}/obs/obs-plugins/frontend-tools
 %dir %{_datadir}/obs/obs-plugins/frontend-tools/locale
@@ -203,11 +248,8 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_datadir}/obs/obs-plugins/linux-capture
 %dir %{_datadir}/obs/obs-plugins/linux-capture/locale
 
-%dir %{_datadir}/obs/obs-plugins/linux-decklink
-%dir %{_datadir}/obs/obs-plugins/linux-decklink/locale
-
-%dir %{_datadir}/obs/obs-plugins/linux-jack
-%dir %{_datadir}/obs/obs-plugins/linux-jack/locale
+%dir %{_datadir}/obs/obs-plugins/linux-pipewire
+%dir %{_datadir}/obs/obs-plugins/linux-pipewire/locale
 
 %dir %{_datadir}/obs/obs-plugins/linux-pulseaudio
 %dir %{_datadir}/obs/obs-plugins/linux-pulseaudio/locale
@@ -223,9 +265,6 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/obs/obs-plugins/obs-filters/LUTs
 %dir %{_datadir}/obs/obs-plugins/obs-filters/locale
 
-%dir %{_datadir}/obs/obs-plugins/obs-libfdk
-%dir %{_datadir}/obs/obs-plugins/obs-libfdk/locale
-
 %dir %{_datadir}/obs/obs-plugins/obs-outputs
 %dir %{_datadir}/obs/obs-plugins/obs-outputs/locale
 
@@ -242,6 +281,8 @@ rm -rf $RPM_BUILD_ROOT
 
 %dir %{_datadir}/obs/obs-plugins/rtmp-services
 %{_datadir}/obs/obs-plugins/rtmp-services/*.json
+%dir %{_datadir}/obs/obs-plugins/rtmp-services/schema
+%{_datadir}/obs/obs-plugins/rtmp-services/schema/*.json
 %dir %{_datadir}/obs/obs-plugins/rtmp-services/locale
 
 %dir %{_datadir}/obs/obs-plugins/text-freetype2
@@ -256,7 +297,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libobs.so
 %attr(755,root,root) %{_libdir}/libobs-frontend-api.so
 %attr(755,root,root) %{_libdir}/libobs-opengl.so
-%attr(755,root,root) %{_libdir}/libobsglad.so
+%attr(755,root,root) %{_libdir}/libobs-scripting.so
 %{_includedir}/obs
 %{_pkgconfigdir}/libobs.pc
-%{_libdir}/cmake/LibObs
+%{_libdir}/cmake/libobs
+%{_libdir}/cmake/obs-frontend-api
This page took 0.086493 seconds and 4 git commands to generate.