diff --git a/obs-studio.spec b/obs-studio.spec index 88f52e0..a6ace83 100644 --- a/obs-studio.spec +++ b/obs-studio.spec @@ -1,45 +1,31 @@ %undefine __cmake_in_source_build # bytecompile with Python 3 %global __python %{__python3} - -%define version_string 27.2.4 -%global build_timestamp 3%(date +"%Y%m%d") +%global __brp_check_rpaths %{nil} +%define version_string 28.0.0 +%global build_timestamp %(date +"%Y%m%d") %global rel_build %{build_timestamp}.%{shortcommit}%{?dist} # obs version and commit -%define commit b65ee7e7fbca05e6c4bfd55b7ff721150b3c0735 +%define commit fd7c23b2003b27676e9687646ba2fd293fd44603 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -# vst version and commit -%global commit1 8ad3f64e702ac4f1799b209a511620eb1d096a01 -%global shortcommit1 %(c=%{commit1}; echo ${c:0:7}) - -# browser version and commit -%global commit2 1dee0a19052161cf900bcd54b3012a2bb1ef0f60 -%global shortcommit2 %(c=%{commit2}; echo ${c:0:7}) - -# vulkan capture version and commit -%global commit3 e03e997b2f484f67391ac03f802ac7abfc327b26 -%global shortcommit3 %(c=%{commit3}; echo ${c:0:7}) - - Name: obs-studio Version: %{version_string} -Release: %{rel_build} +Release: 3.%{rel_build} Summary: Open Broadcaster Software Studio License: GPLv2+ URL: https://obsproject.com/ -Source0: https://github.com/obsproject/obs-studio/archive/%{name}-%{version}.tar.gz -Source1: https://github.com/obsproject/obs-vst/archive/%{commit1}/obs-vst-%{shortcommit1}.tar.gz -Source2: https://github.com/obsproject/obs-browser/archive/%{commit2}/obs-browser-%{shortcommit2}.tar.gz -Source3: https://cdn-fastly.obsproject.com/downloads/cef_binary_4638_linux64.tar.bz2 -Source4: https://github.com/nowrep/obs-vkcapture/archive/%{commit3}/obs-vkcapture-%{shortcommit3}.tar.gz - -Patch0: hevc-vaapi.diff -Patch1: vkcapture.diff +Source0: https://github.com/obsproject/obs-studio/archive/%{commit}/%{name}-%{shortcommit}.tar.gz +Source1: https://cdn-fastly.obsproject.com/downloads/cef_binary_4638_linux64.tar.bz2 +Patch0: hevc-vaapi.patch +Patch1: add-plugins.patch +Patch2: 6207.patch +Patch3: 0001-Revert-UI-Enforce-Fusion-Qt-style-on-Linux.patch BuildRequires: gcc +BuildRequires: git BuildRequires: cmake >= 3.0 BuildRequires: ninja-build BuildRequires: libappstream-glib @@ -53,9 +39,13 @@ BuildRequires: freetype-devel BuildRequires: pipewire-jack-audio-connection-kit-devel BuildRequires: jansson-devel BuildRequires: libcurl-devel +BuildRequires: libdrm-devel +BuildRequires: libaom-devel BuildRequires: libftl-devel BuildRequires: libGL-devel BuildRequires: libv4l-devel +BuildRequires: librist-devel +BuildRequires: srt-devel BuildRequires: libX11-devel BuildRequires: libxcb-devel BuildRequires: libXcomposite-devel @@ -89,11 +79,16 @@ BuildRequires: at-spi2-atk-devel BuildRequires: libXdamage BuildRequires: libXrandr BuildRequires: at-spi2-core +BuildRequires: libajantv2 Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: ffmpeg Requires: x264 +Requires: gstreamer1-vaapi +Requires: obs-studio-gstreamer-vaapi +Requires: obs-studio-gamecapture%{?_isa} +Requires: obs-studio-gamecapture %description Open Broadcaster Software is free and open source @@ -115,42 +110,52 @@ Header files for Open Broadcaster Software %prep -%setup -n obs-studio-%{version} -q +%setup -n obs-studio-%{commit} -q +patch -Np1 < %{PATCH0} +patch -Np1 < %{PATCH1} +patch -Np1 < %{PATCH2} +patch -Np1 < %{PATCH3} # rpmlint reports E: hardcoded-library-path # replace OBS_MULTIARCH_SUFFIX by LIB_SUFFIX sed -i 's|OBS_MULTIARCH_SUFFIX|LIB_SUFFIX|g' cmake/Modules/ObsHelpers.cmake -# Prepare plugins/obs-vst -tar -xf %{SOURCE1} -C plugins/obs-vst --strip-components=1 +# Prepare plugins/obs-vkcapture +git clone --recurse-submodules https://github.com/nowrep/obs-vkcapture plugins/obs-vkcapture + +# Prepare plugins/obs-websocket +git clone --recurse-submodules https://github.com/obsproject/obs-websocket plugins/obs-websocket + +# Prepare plugins/streamfx +git clone --recurse-submodules --depth 1 --branch 0.12.0a45 https://github.com/Xaymar/obs-StreamFX plugins/streamfx # Prepare plugins/obs-browser -tar -xf %{SOURCE2} -C plugins/obs-browser --strip-components=1 +git clone --recurse-submodules https://github.com/obsproject/obs-browser plugins/obs-browser + +# Prepare plugins/obs-source-record +git clone --recurse-submodules https://github.com/exeldro/obs-source-record plugins/obs-source-record # Prepare CEF source for obs-browser -tar -xf %{SOURCE3} -C ../ +tar -xf %{SOURCE1} -C ../ -# Prepare plugins/obs-vkcapture -mkdir -p plugins/obs-vkcapture -tar -xf %{SOURCE4} -C plugins/obs-vkcapture --strip-components=1 - -patch -Np1 < %{PATCH0} -patch -Np1 < %{PATCH1} %build %cmake -DOBS_VERSION_OVERRIDE=%{version} \ -DUNIX_STRUCTURE=1 -GNinja \ -DCEF_ROOT_DIR=../cef_binary_4638_linux64 \ + -DStreamFX_ENABLE_CLANG=OFF \ %if ! %{with lua_scripting} -DDISABLE_LUA=ON \ %endif -DOpenGL_GL_PREFERENCE=GLVND %cmake_build + %install %cmake_install # Add missing files to enable the build of obs-ndi +mkdir -p %{buildroot}%{_libdir}/cmake/LibObs/ install -Dm644 UI/obs-frontend-api/obs-frontend-api.h %{buildroot}%{_includedir}/obs/ install -Dm644 cmake/external/ObsPluginHelpers.cmake %{buildroot}%{_libdir}/cmake/LibObs/ @@ -179,17 +184,8 @@ appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata %files libs %{_libdir}/obs-plugins/ %{_libdir}/obs-scripting/ -%{_libdir}/libobs-scripting.so -%{_libdir}/libobs-frontend-api.so -%{_libdir}/libobs-frontend-api.so.0 -%{_libdir}/libobs-frontend-api.so.0.0 -%{_libdir}/libobs-opengl.so -%{_libdir}/libobs-opengl.so.0 -%{_libdir}/libobs-opengl.so.0.0 -%{_libdir}/libobs.so -%{_libdir}/libobs.so.0 -%{_libdir}/libobsglad.so -%{_libdir}/libobsglad.so.0 +%{_libdir}/*.so +%{_libdir}/*.so.* %files devel %{_libdir}/cmake/LibObs/ @@ -197,6 +193,21 @@ appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata %{_includedir}/obs/ %changelog +* Sat Jul 23 2022 Leigh Scott - 27.2.4-4 +- Rebuild for new qt5 + +* Sat Jun 25 2022 Robert-André Mauchin - 27.2.4-3 +- Rebuilt for Python 3.11 + +* Sun Jun 12 2022 Sérgio Basto - 27.2.4-2 +- Mass rebuild for x264-0.164 + +* Mon Apr 11 2022 Leigh Scott - 27.2.4-1 +- Update to 27.2.4 + +* Thu Mar 31 2022 Leigh Scott - 27.2.1-2 +- Rebuild for new qt + * Sat Feb 26 2022 Neal Gompa - 27.2.1-1 - Update to 27.2.1 - Disable Lua scripting for POWER to fix ppc64le build