File tg-owt.spec of Package tg-owt

#
# spec file for package tg-owt
#
# 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 __builder ninja
%define _lto_cflags %{nil}
Name:           tg-owt
Version:        0.0.1~git.a45d8b8
Release:        0
Summary:        WebRTC library for the Telegram messenger
License:        BSD-3-Clause
URL:            https://github.com/desktop-app/tg_owt
Source0:        %{name}-%{version}.tar.gz
BuildRequires:  cmake
BuildRequires:  fdupes
%if 0%{?sle_version} == 150400
BuildRequires:  gcc10-c++
%else
BuildRequires:  gcc-c++
%endif
BuildRequires:  (ninja or ninja-build)
BuildRequires:  pkgconfig
BuildRequires:  yasm-devel
BuildRequires:  pkgconfig(alsa)
BuildRequires:  pkgconfig(libjpeg)
BuildRequires:  pkgconfig(openh264)
BuildRequires:  pkgconfig(libpipewire-0.3)
BuildRequires:  pkgconfig(libpulse)
BuildRequires:  pkgconfig(libavcodec) 
BuildRequires:  pkgconfig(libavformat) 
BuildRequires:  pkgconfig(libavutil) 
BuildRequires:  pkgconfig(libswresample) 
BuildRequires:  pkgconfig(libswscale) 
BuildRequires:  pkgconfig(openssl) >= 3.0
BuildRequires:  pkgconfig(opus)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xcomposite)
BuildRequires:  pkgconfig(xdamage)
BuildRequires:  pkgconfig(xext)
BuildRequires:  pkgconfig(xfixes)
BuildRequires:  pkgconfig(xrandr)
BuildRequires:  pkgconfig(xrender)
BuildRequires:  pkgconfig(xtst)
BuildRequires:  pkgconfig(protobuf)
BuildRequires:  pkgconfig(vpx)
BuildRequires:  pkgconfig(libsrtp2)
BuildRequires:  pkgconfig(gbm)
BuildRequires:  pkgconfig(libdrm)
BuildRequires:  pkgconfig(epoxy)
BuildRequires:  pkgconfig(absl_algorithm_container)
BuildRequires:  pkgconfig(absl_bind_front)
BuildRequires:  pkgconfig(absl_config)
BuildRequires:  pkgconfig(absl_core_headers)
BuildRequires:  pkgconfig(absl_flags)
BuildRequires:  pkgconfig(absl_flags_parse)
BuildRequires:  pkgconfig(absl_flags_usage)
BuildRequires:  pkgconfig(absl_flat_hash_map)
BuildRequires:  pkgconfig(absl_inlined_vector)
BuildRequires:  pkgconfig(absl_memory)
BuildRequires:  pkgconfig(absl_optional)
BuildRequires:  pkgconfig(absl_strings)
BuildRequires:  pkgconfig(absl_synchronization)
BuildRequires:  pkgconfig(absl_type_traits)
BuildRequires:  pkgconfig(absl_variant)
BuildRequires:  cmake(Microsoft.GSL)
Provides:       bundled(base64) = 0~git
Provides:       bundled(fft) = 0~git
Provides:       bundled(g711) = 0~git
Provides:       bundled(g722) = 0~git
Provides:       bundled(libevent) = 1.4.15
Provides:       bundled(libsrtp) = 2.2.0~git94ac00d
Provides:       bundled(libvpx) = 1.8.2~git5b63f0f
Provides:       bundled(libwebm) = 0~git
Provides:       bundled(libyuv) = 0~gitad89006
Provides:       bundled(ooura) = 0~git
Provides:       bundled(openh264) = 1.10.0~git6f26bce
Provides:       bundled(pffft) = 0~git483453d
Provides:       bundled(portaudio) = 0~git
Provides:       bundled(rnnoise) = 0~git91ef40
Provides:       bundled(sigslot) = 0~git
Provides:       bundled(spl_sqrt_floor) = 0~git
Provides:       bundled(usrsctp) = 1.0.0~gitbee946a

%description
%{summary}.

%package devel
Summary:        Development files for %{name}
Provides:       %{name}-static = %{version}
Provides:       bundled(abseil-cpp) = 0~git39f46fa
Provides:       bundled(crc32c) = 1.1.0~git21fc8ef
Provides:       bundled(base64) = 0~git
Provides:       bundled(fft) = 0~git
Provides:       bundled(g711) = 1.1~git
Provides:       bundled(g722) = 1.14~git
Provides:       bundled(libsrtp) = 2.2.0~git94ac00d
Provides:       bundled(libyuv) = 1767~git21fc8ef
Provides:       bundled(ooura) = 0~git
Provides:       bundled(openh264) = 1.10.0~git6f26bce
Provides:       bundled(pffft) = 0~git483453d
Provides:       bundled(portaudio) = 0~git
Provides:       bundled(rnnoise) = 0~git91ef40
Provides:       bundled(sigslot) = 0~git
Provides:       bundled(spl_sqrt_floor) = 0~git
Requires:       pkgconfig(alsa)
Requires:       pkgconfig(epoxy)
Requires:       pkgconfig(gbm)
Requires:       pkgconfig(libavcodec) = 60.31.102
Requires:       pkgconfig(libavformat) = 60.16.100
Requires:       pkgconfig(libavutil) = 58.29.100
Requires:       pkgconfig(libswresample) = 4.12.100
Requires:       pkgconfig(libswscale) = 7.5.100
Requires:       pkgconfig(libdrm) 
Requires:       pkgconfig(libjpeg)
Requires:       pkgconfig(libpipewire-0.3)
Requires:       pkgconfig(libpulse)
Requires:       pkgconfig(openssl)
Requires:       pkgconfig(opus)
Requires:       pkgconfig(vpx)
Requires:       pkgconfig(x11)
Requires:       pkgconfig(xcomposite)
Requires:       pkgconfig(xdamage)
Requires:       pkgconfig(xext)
Requires:       pkgconfig(xfixes)
Requires:       pkgconfig(xrandr)
Requires:       pkgconfig(xrender)
Requires:       pkgconfig(xtst)

%description devel
%{summary}.

%prep
%autosetup -p1

%build
%if 0%{?sle_version} == 150400
export LDFLAGS="%{optflags} -std=gnu++17"
export CC=gcc-10
export CXX=g++-10
%endif
%cmake \
 -DCMAKE_BUILD_TYPE=Release \
 -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \
 -DBUILD_SHARED_LIBS:BOOL=OFF \
 -DTG_OWT_USE_PROTOBUF:BOOL=OFF \
 -DTG_OWT_USE_X11:BOOL=ON \
%if 0%{?sle_version} == 150400
 -DCMAKE_CXX_STANDARD=17 \
%endif
 -DTG_OWT_PACKAGED_BUILD:BOOL=ON
%cmake_build

%install
%cmake_install
%fdupes %{buildroot}/%{_prefix}

%files devel
%license LICENSE
%{_includedir}/tg_owt
%{_libdir}/libtg_owt.a
%{_libdir}/cmake/tg_owt

%changelog
openSUSE Build Service is sponsored by