Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:xanders:branches:openSUSE:Factory
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/ # # 29.1.3: %%define obs_vst_commit 0dc95ed584b3f14ca308706d0d0324252bd9700b # 29.1.3: %%define obs_amd_encoder_commit 8823c236b4731c235e650d3bafa14d1d339d98a8 # 29.1.3: %%define obs_browser_commit 594115a27d40f0916e55db97cb61f7c7130cbe28 # 30.0.0: %%define obs_browser_commit e397df52e70392ebb9146e0ab6317c0d1a30bce4 # 30.0.2: %%define obs_browser_commit a3ae78b5c6ce6d4ddb29d49b29f2f60014d554e1 # 30.1.2: %%define obs_browser_commit 996b5a7bc43d912f1f4992e0032d4f263ac8b060 # 30.2.2: %%define obs_browser_commit c81851a1d7696c2d7ba319122eec387c1568ad44 # 30.2.2: %%define obs_browser_commit be9f1b646406d2250b402581b043f1558042d7f0 %define obs_browser_commit c710222ec9d7ef9aa5d7099e9019d636e2c89f00 # 29.1.3: %%define obs_websocket_commit 31f9845b6132e6c1529401292bc1125401e2a324 # 30.0.0: %%define obs_websocket_commit 4ff109b62bc221192943541010d055be9ae5dbba # 30.0.2: %%define obs_websocket_commit ede66a68cbc043a6fc7c8af683ae0924d4068941 # 30.1.2: %%define obs_websocket_commit d2d4bfb3e78cf2b02c8e2f5dda1d805eda8d8f32 # 30.2.2: %%define obs_websocket_commit f8bc7c4f593c7957ecdb45a24faaff3e95f24e8b %define obs_websocket_commit 0548c7798a323fe5296c150e13b898a5ee62fc1e # 29.1.3: %%define obs_websocket_debs_asio_commit b73dc1d2c0ecb9452a87c26544d7f71e24342df6 # 29.1.3: %%define obs_websocket_debs_json_commit a34e011e24beece3b69397a03fdc650546f052c3 # 29.1.3: %%define obs_websocket_debs_qr_commit 8518684c0f33d004fa93971be2c6a8eca3167d1e # 29.1.3: %%define obs_websocket_debs_websocketpp_commit 56123c87598f8b1dd471be83ca841ceae07f95ba %define cef_version 5060 Name: obs-studio Version: 30.2.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 #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 Source5: https://cdn-fastly.obsproject.com/downloads/cef_binary_%{cef_version}_linux64.tar.bz2 Patch1: cmake_compile.patch # PATCH UPSTREAM - AMF.patch - obs-ffmpeg: Make AMF encoder work on Linux Patch2: AMF.patch Patch3: amf-switch-fix.patch BuildRequires: cmake >= 3.22 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: qt6-base-devel BuildRequires: qt6-base-private-devel BuildRequires: qt6-gui-private-devel BuildRequires: qt6-wayland-devel BuildRequires: pciutils-devel BuildRequires: pkgconfig BuildRequires: swig >= 4.0.2 BuildRequires: update-desktop-files BuildRequires: uthash-devel >= 2.3.0 BuildRequires: wayland-devel BuildRequires: AMF-devel BuildRequires: pkgconfig(Qt6Gui) BuildRequires: pkgconfig(Qt6Svg) ###BuildRequires: pkgconfig(Qt6Widgets) BuildRequires: pkgconfig(alsa) # Upstream use pkgconfig(aom) = 3.9.0 BuildRequires: pkgconfig(aom) BuildRequires: pkgconfig(fdk-aac) # Upstream use: BuildRequires: pkgconfig(ffnvcodec) >= 12.1.14.0 BuildRequires: pkgconfig(ffnvcodec) BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(jack) BuildRequires: pkgconfig(jansson) >= 2.14 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.65 BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libswresample) BuildRequires: pkgconfig(libswscale) # Don't know the reason of error in Tumbleweed. # and don't other solution to fix the build error in Tumbleweed # The error if only use "BuildRequires: pkgconfig(libudev)" is: # unresolvable: conflict for providers of libudev-mini1 = 254.5-6.1 needed by systemd-mini-devel # (provider libudev-mini1 is in conflict with udev) %if 0%{?suse_version} > 1600 BuildRequires: libudev-mini1 #!BuildIgnore: udev %else BuildRequires: pkgconfig(libudev) %endif # Upstream use: BuildRequires: pkgconfig(libv4l2) >= 1.22.0 BuildRequires: pkgconfig(libv4l2) BuildRequires: pkgconfig(libva) BuildRequires: pkgconfig(libglvnd) BuildRequires: mbedtls-devel >= 3.4.0 BuildRequires: pkgconfig(srt) >= 1.5.3 BuildRequires: pkgconfig(librist) BuildRequires: pkgconfig(luajit) >= 2.1.0 BuildRequires: pkgconfig(python3) BuildRequires: sndio-devel 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) # Upstream use: BuildRequires: pkgconfig(asio) >= 1.30.2 BuildRequires: pkgconfig(asio) # Upstream use: BuildRequires: pkgconfig(vpl) >= 2.11.0 BuildRequires: pkgconfig(vpl) BuildRequires: pkgconfig(websocketpp) >= 0.8 # Upstream use: BuildRequires: pkgconfig(nlohmann_json) >= 3.11.3 BuildRequires: pkgconfig(nlohmann_json) BuildRequires: qrcodegen-devel >= 1.8.0 BuildRequires: cmake(LibDataChannel) >= 0.21.0 %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 ##%%patch1 -p1 %patch2 -p1 %patch3 -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} # Set cmake to 3.20 minimum, not 3.22. because 3.22 not in Leap. #find -type f -exec sed -i -e 's|VERSION 3.22...3.25|VERSION 3.20...3.25|g' {} \; %build %if 0%{?suse_version} <= 1600 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 # 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 %doc README.rst CONTRIBUTING.rst %{_bindir}/obs %{_bindir}/obs-amf-test %{_bindir}/obs-ffmpeg-mux %{_libdir}/obs-plugins %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.metainfo.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