Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:GeeLeonidas:build-dependencies
obs-studio
obs-studio.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File obs-studio.spec of Package obs-studio
%define rel_ver 29.1.0 %define cef_version 5060 Name: obs-studio Version: 29.1.0 Release: 2 Summary: Free and open source software for video recording and live streaming License: GPL-2.0-or-later Group: Productivity/Multimedia/Video/Editors and Convertors URL: https://obsproject.com/ Source: obs-studio-%{version}.tar.xz Source1: https://cdn-fastly.obsproject.com/downloads/cef_binary_%{cef_version}_linux64.tar.bz2 Source2: obs-vkcapture-0a976a6d7ce14c0de0c6c4c91af336b82c1294df.tar.gz Patch0: 6207.patch Patch1: amf-texture-patch.patch Patch2: add-plugins.patch BuildRequires: cmake >= 2.8.12 BuildRequires: ninja BuildRequires: fdupes BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: hicolor-icon-theme BuildRequires: qt6-base-private-devel BuildRequires: qt6-base-devel BuildRequires: qt6-wayland-devel BuildRequires: libuuid-devel BuildRequires: mbedtls-devel BuildRequires: pciutils-devel BuildRequires: pkgconfig BuildRequires: sndio-devel BuildRequires: swig BuildRequires: update-desktop-files BuildRequires: wayland-devel BuildRequires: AMF-devel BuildRequires: ffmpeg-6-private-devel BuildRequires: websocketpp-devel BuildRequires: pkgconfig(Qt6Svg) BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(fdk-aac) BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(jack) BuildRequires: pkgconfig(jansson) BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavdevice) BuildRequires: pkgconfig(libavfilter) BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(libavutil) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.40 BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libswresample) BuildRequires: pkgconfig(libswscale) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(libv4l2) BuildRequires: pkgconfig(libva) BuildRequires: pkgconfig(libglvnd) BuildRequires: pkgconfig(srt) >= 1.5.1 BuildRequires: pkgconfig(librist) BuildRequires: pkgconfig(luajit) BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(speexdsp) BuildRequires: pkgconfig(vlc-plugin) BuildRequires: pkgconfig(x264) BuildRequires: pkgconfig(xcomposite) BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(nspr) BuildRequires: pkgconfig(nss) BuildRequires: libjansson-devel BuildRequires: nlohmann_json-devel BuildRequires: asio-devel Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description OBS Studio is software designed for capturing, compositing, encoding, recording, and streaming video content, efficiently. %package libs Summary: Open Broadcaster Software Studio libraries %{?_qt6:Requires: %{_qt6}%{?_isa} >= %{_qt6_version}} %description libs Library files for Open Broadcaster Software %package devel Summary: Open Broadcaster Software Studio header files Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel Header files for Open Broadcaster Software %prep %setup -q # remove -Werror flag to mitigate FTBFS with ffmpeg 5.1 sed -i 's|-Werror-implicit-function-declaration||g' CMakeLists.txt ## remove Werror to fix compile error # there's probably a cleaner way to do this by modifying what compile flags # the rpmbuilder adds sed -i 's| -Werror||g' cmake/Modules/CompilerConfig.cmake patch -Np1 < %{PATCH0} patch -Np1 < %{PATCH1} patch -Np1 < %{PATCH2} mkdir -p %{_builddir}/SOURCES/CEF tar -xjf %{SOURCE1} -C %{_builddir}/SOURCES/CEF --strip-components=1 mkdir -p plugins/obs-vkcapture tar -xf %{SOURCE2} -C plugins/obs-vkcapture --strip-components=1 cd plugins/obs-vkcapture sed -i 's/install_obs_plugin_with_data/setup_plugin_target/g' CMakeLists.txt sed -i 's/obs\///g' src/vkcapture.c cd ../../ %build mkdir -p build && cd build cmake \ -G Ninja \ -DUNIX_STRUCTURE=1 \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DENABLE_BROWSER=ON \ -DENABLE_LIBFDK=ON \ -DENABLE_JACK=ON \ -DENABLE_SNDIO=ON \ -DENABLE_AJA=OFF \ -DLUAJIT_INCLUDE_DIR="$(pkg-config --cflags luajit | cut -d'I' -f2)" \ -DCEF_ROOT_DIR="%{_builddir}/SOURCES/CEF" \ -DOBS_VERSION_OVERRIDE="%{rel_ver}" \ .. %ninja_build %install %ninja_install -C build # 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/ # cleanup gamecapture plugin files, we ship these in a separate package obs-studio-gamecapture to allow 32 and 64 bit versions rm %{buildroot}/%{_bindir}/obs-vkcapture rm %{buildroot}/%{_bindir}/obs-glcapture rm %{buildroot}/%{_bindir}/obs-gamecapture rm %{buildroot}/%{_datadir}/vulkan/implicit_layer.d/*.json rm %{buildroot}/%{_libdir}/libobs_glcapture.so rm %{buildroot}/%{_libdir}/libVkLayer_obs_vkcapture.so # copy CEF license because we need to distribute it with the binary cp %{_builddir}/SOURCES/CEF/LICENSE.txt cef_license.txt # delete unessesary files rm -rf %{buildroot}/home %fdupes %{buildroot}%{_datadir}/obs %suse_update_desktop_file com.obsproject.Studio %post /sbin/ldconfig %icon_theme_cache_post %postun /sbin/ldconfig %icon_theme_cache_postun %files %doc README.rst %license UI/data/license/gplv2.txt %license COPYING %license cef_license.txt %{_bindir}/obs %{_bindir}/obs-ffmpeg-mux %{_bindir}/obs-amf-test %{_datadir}/metainfo/com.obsproject.Studio.appdata.xml %{_datadir}/applications/com.obsproject.Studio.desktop %{_datadir}/icons/hicolor/*/apps/com.obsproject.Studio.* %{_datadir}/obs/ %files libs %{_libdir}/obs-plugins/ %{_libdir}/obs-scripting/ # unversioned so files packaged for third-party plugins (cf. rfbz#5999) %{_libdir}/*.so %{_libdir}/*.so.* %files devel %{_libdir}/cmake/libobs/ %{_libdir}/cmake/obs-frontend-api/ %{_libdir}/pkgconfig/libobs.pc %{_includedir}/obs/ %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor