File tdlib.spec of Package tdlib
#%%undefine __cmake_in_source_build
Name: tdlib
Version: 1.8.16
Release: 0
License: BSL-1.0
Group: Development/Libraries/C and C++
URL: https://github.com/%{name}/td
Summary: Cross-platform library for building Telegram clients
Source: td-%{version}.tar.xz
BuildRequires: gperftools-devel
BuildRequires: openssl-devel
BuildRequires: ninja
BuildRequires: zlib-devel
BuildRequires: gcc-c++
BuildRequires: gperf
BuildRequires: cmake
BuildRequires: gcc
BuildRequires: pkgconfig
# Building with default settings require at least 16 GB of free RAM.
# Builds on ARM and other low-memory architectures are failing.
ExclusiveArch: x86_64
%description
TDLib (Telegram Database library) is a cross-platform library for
building Telegram clients. It can be easily used from almost any
programming language.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%package static
Summary: Static libraries for %{name}
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description devel
%{summary}.
%description static
%{summary}.
%package libtdapi
Group: System/Libraries
Summary: Telegram database API library
%description libtdapi
%{summary}.
%package libtdclient
Group: System/Libraries
Summary: Telegram database client library
%description libtdclient
%{summary}.
%package libtdjson
Group: System/Libraries
Summary: Telegram database JSON library
%description libtdjson
%{summary}.
%prep
#%%autosetup -n td-%%{version} -p1
%setup -q -n td-%{version}
sed -e 's/"DEFAULT"/"PROFILE=SYSTEM"/g' -i tdnet/td/net/SslStream.cpp
%build
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
%cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_LIBDIR=%{_lib} \
-DTD_ENABLE_JNI:BOOL=OFF \
-DTD_ENABLE_DOTNET:BOOL=OFF
%make_build
%install
%cmake_install
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%license LICENSE_1_0.txt
%doc README.md CHANGELOG.md
#%{_libdir}/libtd*.so.*
%files devel
%{_includedir}/td
%{_libdir}/libtd*.so
%{_libdir}/cmake/Td
%{_libdir}/pkgconfig/td*.pc
%files libtdapi
%{_libdir}/libtdapi.so.*
%files libtdclient
%{_libdir}/libtdclient.so.*
%files libtdjson
%{_libdir}/libtdjson.so.*
%files static
%{_libdir}/libtd*.a
%changelog