File obs-studio.spec of Package obs-studio

Name:           obs-studio
Version:        26.0.2
Release:        0
Summary:        A recording/broadcasting program
Group:          Productivity/Multimedia/Video/Editors and Convertors
License:        GPL-2.0
URL:            https://obsproject.com/
Source:         %{name}-%{version}.tar.xz
Patch0:         fix-luajit-include-path.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  update-desktop-files
BuildRequires:  cmake >= 2.8.12
BuildRequires:  fdk-aac-devel
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:  libjansson-devel
BuildRequires:  libpulse-devel
BuildRequires:  libqt5-qtbase-devel >= 5.3
BuildRequires:  libqt5-qtsvg-devel
BuildRequires:  libqt5-qtx11extras-devel >= 5.3
BuildRequires:  libudev-devel
BuildRequires:  libv4l-devel
BuildRequires:  libx264-devel
BuildRequires:  mbedtls-devel
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(jack)
# Restricted to avoid segfault on Tumbleweed:
# - https://bugs.links2linux.org/browse/PM-143
# - https://obsproject.com/mantis/view.php?id=1315
BuildRequires:  pkgconfig(libavcodec) = 57.107.100
BuildRequires:  pkgconfig(libavdevice) = 57.10.100
BuildRequires:  pkgconfig(libavfilter) = 6.107.100
BuildRequires:  pkgconfig(libavformat) = 57.83.100
BuildRequires:  pkgconfig(libavutil) = 55.78.100
BuildRequires:  pkgconfig(libswresample) = 2.9.100
BuildRequires:  pkgconfig(libswscale) = 4.8.100
BuildRequires:  pkgconfig(lua)
BuildRequires:  pkgconfig(luajit)
BuildRequires:  python3-devel
%if 0%{?suse_version} != 1315 || 0%{?is_opensuse}
BuildRequires:  speexdsp-devel
%endif
BuildRequires:  swig
BuildRequires:  vlc-devel
ExclusiveArch:  i586 x86_64

%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

%build
mkdir -p build && cd build
# does not like cmake macro as it fails to link in math.h (-lm)
cmake \
  -DUNIX_STRUCTURE=1 \
%if "%{_lib}" == "lib64"
  -DOBS_MULTIARCH_SUFFIX=64 \
%endif
  -DCMAKE_INSTALL_PREFIX=/usr \
  -DOBS_VERSION_OVERRIDE="$(echo "%{version}" | grep -oE "^[^+]+")" \
  ..

%install
%cmake_install
%suse_update_desktop_file com.obsproject.Studio

%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.0
%{_libdir}/libobs-frontend-api.so.*
%{_libdir}/libobs-opengl.so.*
%{_libdir}/libobs-scripting.so
%{_libdir}/obs-scripting
%{_libdir}/libobsglad.so.0
%dir %{_datadir}/metainfo
%{_datadir}/metainfo/com.obsproject.Studio.appdata.xml
%{_datadir}/applications/com.obsproject.Studio.desktop
%{_datadir}/icons/hicolor/256x256/apps/com.obsproject.Studio.png
%{_datadir}/obs

%files devel
%{_libdir}/cmake
%{_libdir}/libobs.so
%{_libdir}/libobs-frontend-api.so
%{_libdir}/libobs-opengl.so
%{_libdir}/libobsglad.so
%{_libdir}/pkgconfig/libobs.pc
%{_includedir}/obs

%changelog