Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:regataos
obs-studio
obs-studio.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File obs-studio.spec of Package obs-studio
# # spec file for package obs-studio # # Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define obs_vst_commit 0dc95ed584b3f14ca308706d0d0324252bd9700b %define obs_amd_encoder_commit 8823c236b4731c235e650d3bafa14d1d339d98a8 %define obs_browser_commit 594115a27d40f0916e55db97cb61f7c7130cbe28 %define obs_websocket_commit 31f9845b6132e6c1529401292bc1125401e2a324 ##NEUER %%define obs_websocket_commit 57a9c19f2ccf4e5452baeffd78014579622b9f3a %define obs_websocket_debs_asio_commit b73dc1d2c0ecb9452a87c26544d7f71e24342df6 %define obs_websocket_debs_json_commit a34e011e24beece3b69397a03fdc650546f052c3 %define obs_websocket_debs_qr_commit 8518684c0f33d004fa93971be2c6a8eca3167d1e %define obs_websocket_debs_websocketpp_commit 56123c87598f8b1dd471be83ca841ceae07f95ba %define cef_version 5060 Name: obs-studio Version: 29.1.3 Release: 0 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: https://github.com/obsproject/obs-studio/archive/%{version}/%{name}-%{version}.tar.gz Source1: https://github.com/obsproject/obs-vst/archive/%{obs_vst_commit}/obs-vst-%{obs_vst_commit}.tar.gz Source2: https://github.com/obsproject/obs-browser/archive/%{obs_browser_commit}/obs-browser-%{obs_browser_commit}.tar.gz Source3: https://github.com/obsproject/obs-amd-encoder/archive/%{obs_amd_encoder_commit}/obs-amd-encoder-%{obs_amd_encoder_commit}.tar.gz Source4: https://github.com/obsproject/obs-websocket/archive/%{obs_websocket_commit}/obs-websocket-%{obs_websocket_commit}.tar.gz Source5: https://cdn-fastly.obsproject.com/downloads/cef_binary_%{cef_version}_linux64.tar.bz2 Source41: https://github.com/chriskohlhoff/asio/archive/%{obs_websocket_debs_asio_commit}/obs-websocket-debs-asio-%{obs_websocket_debs_asio_commit}.tar.gz Source42: https://github.com/nlohmann/json/archive/%{obs_websocket_debs_json_commit}/obs-websocket-debs-json-%{obs_websocket_debs_json_commit}.tar.gz Source43: https://github.com/nayuki/QR-Code-generator/archive/%{obs_websocket_debs_qr_commit}/obs-websocket-debs-qr-%{obs_websocket_debs_qr_commit}.tar.gz Source44: https://github.com/zaphoyd/websocketpp/archive/%{obs_websocket_debs_websocketpp_commit}/obs-websocket-debs-websocketpp-%{obs_websocket_debs_websocketpp_commit}.tar.gz Source45: obs-vkcapture-0a976a6d7ce14c0de0c6c4c91af336b82c1294df.tar.gz Patch1: cmake_compile.patch Patch2: amd-amf.patch Patch3: encoder-rename.patch Patch4: 6207.patch Patch5: add-plugins.patch BuildRequires: cmake >= 2.8.12 BuildRequires: fdupes %if 0%{?suse_version} <= 1500 BuildRequires: gcc13 BuildRequires: gcc13-c++ %else BuildRequires: gcc BuildRequires: gcc-c++ %endif BuildRequires: ffmpeg-5-private-devel BuildRequires: hicolor-icon-theme BuildRequires: libQt5Gui-private-headers-devel BuildRequires: libqt5-qtbase-devel >= 5.3 BuildRequires: libqt5-qtwayland-devel BuildRequires: libqt5-qtx11extras-devel >= 5.3 BuildRequires: mbedtls-devel BuildRequires: pciutils-devel BuildRequires: pkgconfig BuildRequires: sndio-devel BuildRequires: swig >= 4.0.2 BuildRequires: update-desktop-files BuildRequires: wayland-devel BuildRequires: AMF-devel BuildRequires: pkgconfig(Qt5Svg) 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(uuid) BuildRequires: pkgconfig(x264) BuildRequires: pkgconfig(xcomposite) BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(nspr) BuildRequires: pkgconfig(nss) %description OBS Studio is software designed for capturing, compositing, encoding, recording, and streaming video content, efficiently. %package devel Summary: A recording/broadcasting program - Development Files Group: Development/Libraries/C and C++ Requires: %{name} = %{version} %description devel Devel files for OBS Studio is software designed for capturing, compositing, encoding, recording, and streaming video content, efficiently. %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 ##%%patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 tar -xf %{SOURCE1} -C plugins/obs-vst --strip-components=1 tar -xf %{SOURCE2} -C plugins/obs-browser --strip-components=1 tar -xf %{SOURCE3} -C plugins/enc-amf --strip-components=1 tar -xf %{SOURCE4} -C plugins/obs-websocket --strip-components=1 tar -xf %{SOURCE41} -C plugins/obs-websocket/deps/asio --strip-components=1 tar -xf %{SOURCE42} -C plugins/obs-websocket/deps/json --strip-components=1 tar -xf %{SOURCE43} -C plugins/obs-websocket/deps/qr --strip-components=1 tar -xf %{SOURCE44} -C plugins/obs-websocket/deps/websocketpp --strip-components=1 tar -xf %{SOURCE5} mkdir -p plugins/obs-vkcapture tar -xf %{SOURCE45} -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 %if 0%{?suse_version} <= 1500 export CC=gcc-13 export CXX=g++-13 %endif mkdir -p build && cd build # does not like cmake macro as it fails to link in math.h (-lm) # Insert -DENABLE_NEW_MPEGTS_OUTPUT=OFF because librist is missing in openSUSE # Insert -DENABLE_AJA=OFF because libajantv2 is missing in openSUSE cmake \ -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="../cef_binary_%{cef_version}_linux64" \ -DOBS_VERSION_OVERRIDE="$(echo "%{version}" | grep -oE "^[^+]+")" \ .. %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/ # 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 # 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 %license COPYING COMMITMENT %license UI/data/license/gplv2.txt %doc README.rst CONTRIBUTING.rst %{_bindir}/obs %{_bindir}/obs-amf-test %{_bindir}/obs-ffmpeg-mux %{_libdir}/obs-plugins # unversioned so files packaged for third-party plugins (cf. rfbz#5999) %{_libdir}/*.so %{_libdir}/*.so.* %dir %{_libdir}/obs-scripting %{_libdir}/obs-scripting/obslua.so %{_libdir}/obs-scripting/obspython.py %{_libdir}/obs-scripting/_obspython.so %{_libdir}/libobs-scripting.so.* %{_libdir}/libobs.so.* %{_libdir}/libobs-frontend-api.so.* %{_libdir}/libobs-opengl.so.* ##%%{_libdir}/libobsglad.so.* %{_datadir}/applications/com.obsproject.Studio.desktop %{_datadir}/icons/hicolor/*/apps/com.obsproject.Studio.png %{_datadir}/icons/hicolor/scalable/apps/com.obsproject.Studio.svg %{_datadir}/metainfo/com.obsproject.Studio.appdata.xml %{_datadir}/obs %files devel %{_libdir}/cmake %{_libdir}/libobs.so %{_libdir}/libobs-frontend-api.so %{_libdir}/libobs-opengl.so %{_libdir}/libobs-scripting.so ##%%{_libdir}/libobsglad.so %{_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