Projects
home:frispete
obs-studio
obs-studio.spec
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File obs-studio.spec of Package obs-studio
# Chromium Embedded Framework %ifarch x86_64 %bcond_without cef %define cef_binary cef_binary_5060_linux64 %else %bcond_with cef %endif %if 0%{?suse_version} > 1500 %define qt_version 6 %else %define qt_version 5 %endif %bcond_without websockets Name: obs-studio Version: 30.0.2 Release: 0 Summary: A recording/broadcasting program Group: Productivity/Multimedia/Video/Editors and Convertors License: GPL-2.0 URL: https://obsproject.com/ # we fetch the tarball with a source service, because some subprojects are # not included in the offical tarball (e.g. obs-browser) Source: %{name}-%{version}.tar.xz %if %{with cef} Source17: %{cef_binary}.tar.bz2 %endif Patch0: 0002-Include-diverse-luajit.patch Patch1: 0001-Prefix-modinfo-with-sbin-since-not-in-normal-path.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: update-desktop-files BuildRequires: cmake >= 2.8.12 BuildRequires: fdk-aac-devel BuildRequires: fdupes BuildRequires: fontconfig-devel BuildRequires: freetype2-devel BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: hicolor-icon-theme BuildRequires: libXcomposite-devel BuildRequires: libXinerama-devel BuildRequires: libXrandr-devel BuildRequires: libcurl-devel BuildRequires: libdatachannel-devel BuildRequires: libjansson-devel BuildRequires: pciutils-devel BuildRequires: pipewire-devel BuildRequires: libpulse-devel %if "%{qt_version}" == "5" BuildRequires: libqt5-qtbase-devel >= 5.3 BuildRequires: libqt5-qtbase-private-headers-devel BuildRequires: libqt5-qtsvg-devel BuildRequires: libqt5-qtx11extras-devel >= 5.3 %endif %if "%{qt_version}" == "6" BuildRequires: cmake(Qt6Core) BuildRequires: cmake(Qt6Svg) BuildRequires: qt6-base-private-devel %endif BuildRequires: libudev-devel BuildRequires: libv4l-devel BuildRequires: libx264-devel BuildRequires: mbedtls-devel BuildRequires: pipewire-devel BuildRequires: pkgconfig BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(jack) BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavdevice) BuildRequires: pkgconfig(libavfilter) BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(libavutil) %ifarch %{ix86} x86_64 # comment out until resolved: nothing provides pkgconfig(libmfx) # BuildRequires: pkgconfig(libmfx) %endif BuildRequires: pkgconfig(librist) BuildRequires: pkgconfig(libswresample) BuildRequires: pkgconfig(libswscale) BuildRequires: pkgconfig(libva) BuildRequires: pkgconfig(lua) BuildRequires: pkgconfig(luajit) BuildRequires: pkgconfig(srt) >= 1.4 BuildRequires: pkgconfig(uuid) BuildRequires: pkgconfig(vpl) %if %{with websockets} BuildRequires: pkgconfig(nlohmann_json) >= 3 BuildRequires: pkgconfig(websocketpp) >= 0.8.0 BuildRequires: pkgconfig(asio) >= 1.12.1 %endif BuildRequires: python3-devel BuildRequires: QR-Code-generator-devel %if 0%{?suse_version} != 1315 || 0%{?is_opensuse} BuildRequires: speexdsp-devel %endif BuildRequires: sndio-devel BuildRequires: swig BuildRequires: vlc-devel %if %{with cef} BuildRequires: mozilla-nss BuildRequires: mozilla-nspr %endif # these deps couldn't be tracked Requires: librist4 Requires: libsrt1_5 Requires: libspeexdsp1 Recommends: libqt5-qtwayland ExclusiveArch: x86_64 aarch64 # these are plugins, built as libs and as such should not be mixed up with their originals %global __provides_exclude_from ^(%{_libdir}/obs-plugins/.*\\.so.*|%{_libdir}/obs-scripting/.*\\.so.*)$ %global __requires_exclude libcef\\.so %description Open Broadcaster Software is free and open source software for video recording and live streaming. %package devel Summary: A recording/broadcasting program - Development Files Group: Development/Multimedia Requires: %{name} = %{version} %description devel Open Broadcaster Software is free and open source software for video recording and live streaming. %prep %autosetup -p1 %if %{with cef} tar xvf %{SOURCE17} -C %{_builddir} %endif %build mkdir -p build && cd build # does not like cmake macro as it fails to link in math.h (-lma # the compile flags must be relaxed in order to compile obs-studio successfully export CFLAGS="%{optflags} -Wno-error=type-limits -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-error=return-type -Wno-error=unused-but-set-variable -Wno-error=pointer-sign -Wno-error=reorder" export CXXFLAGS="%{optflags} -Wno-error=type-limits -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-error=return-type -Wno-error=unused-but-set-variable -Wno-error=pointer-sign -Wno-error=reorder" cmake \ -DCMAKE_CXX_STANDARD=17 \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_C_FLAGS:STRING="$CFLAGS" \ -DCMAKE_CXX_FLAGS:STRING="$CXXFLAGS" \ -DUNIX_STRUCTURE=1 \ %if "%{_lib}" == "lib64" -DOBS_MULTIARCH_SUFFIX=64 \ %endif -DOBS_VERSION_OVERRIDE="$(echo "%{version}" | grep -oE "^[^+]+")" \ -DENABLE_AJA=OFF \ %if 0%{?sle_version} > 150000 && 0%{?sle_version} < 150500 && 0%{?is_opensuse} -DENABLE_PIPEWIRE=OFF \ %endif -DENABLE_JACK=ON \ -DENABLE_LIBFDK=ON \ -DENABLE_SNDIO=ON \ %if %{with websockets} -DENABLE_WEBSOCKET=ON \ %else -DENABLE_WEBSOCKET=OFF \ %endif %if %{with cef} -DBUILD_BROWSER=ON \ -DCEF_ROOT_DIR="%{_builddir}/%{cef_binary}" \ %else -DBUILD_BROWSER=OFF \ %endif .. %cmake_build %install %cmake_install %suse_update_desktop_file com.obsproject.Studio %fdupes %{buildroot}%{_datadir}/obs/ %post /sbin/ldconfig %icon_theme_cache_postun %postun /sbin/ldconfig %icon_theme_cache_postun %files %{_bindir}/obs %{_bindir}/obs-ffmpeg-mux # Upstream forces libs dir regardless of arch and building plugins is encumbered # by moving them to the proper directory. %{_libdir}/obs-plugins/ %{_libdir}/libobs.so.* %{_libdir}/libobs-frontend-api.so.* %{_libdir}/libobs-opengl.so.* %{_libdir}/libobs-scripting.so.* %{_libdir}/obs-scripting/ %dir %{_datadir}/metainfo %{_datadir}/metainfo/com.obsproject.Studio.appdata.xml %{_datadir}/applications/com.obsproject.Studio.desktop %{_datadir}/icons/hicolor %{_datadir}/obs %files devel %{_libdir}/libobs.so %{_libdir}/libobs-frontend-api.so %{_libdir}/libobs-opengl.so %{_libdir}/libobs-scripting.so %{_libdir}/cmake %{_libdir}/pkgconfig/libobs.pc %{_includedir}/obs %changelog
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.