X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=obs-studio.spec;h=0002351906c63faf5ee50ca2818ac20e5cfeb1c8;hb=fa0a62e97cafeb069ef0ee88734ead7aa07bb31a;hp=a63ad5cb6f6089ea9b6e85e9d907c06488a8b683;hpb=8d99b692efeb86955bbefaf7a1b470124476a95a;p=packages%2Fobs-studio.git diff --git a/obs-studio.spec b/obs-studio.spec index a63ad5c..0002351 100644 --- a/obs-studio.spec +++ b/obs-studio.spec @@ -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