update our spec sheet

This commit is contained in:
Thomas Crider
2022-08-01 18:09:50 -06:00
parent edbb5f6c42
commit 26affc4e8c

View File

@@ -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 <leigh123linux@gmail.com> - 27.2.4-4
- Rebuild for new qt5
* Sat Jun 25 2022 Robert-André Mauchin <zebob.m@gmail.com> - 27.2.4-3
- Rebuilt for Python 3.11
* Sun Jun 12 2022 Sérgio Basto <sergio@serjux.com> - 27.2.4-2
- Mass rebuild for x264-0.164
* Mon Apr 11 2022 Leigh Scott <leigh123linux@gmail.com> - 27.2.4-1
- Update to 27.2.4
* Thu Mar 31 2022 Leigh Scott <leigh123linux@gmail.com> - 27.2.1-2
- Rebuild for new qt
* Sat Feb 26 2022 Neal Gompa <ngompa@fedoraproject.org> - 27.2.1-1
- Update to 27.2.1
- Disable Lua scripting for POWER to fix ppc64le build