File flatbuffers.spec of Package flatbuffers

#
# spec file for package flatbuffers
#
# Copyright (c) 2024 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   sonum 23_5_26
Name:           flatbuffers
Version:        23.5.26
Release:        0
Summary:        Memory Efficient Serialization Library
License:        Apache-2.0
Group:          Development/Libraries/C and C++
URL:            https://google.github.io/flatbuffers/
Source0:        https://github.com/google/flatbuffers/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildRequires:  cmake >= 3.8
BuildRequires:  gcc-c++
BuildRequires:  pkgconfig

%description
FlatBuffers is a serialization library for games and other memory constrained programs.
FlatBuffers allows to directly access serialized data without unpacking/parsing
it first, while still having great forwards/backwards compatibility.

%package        -n libflatbuffers%{sonum}
Summary:        Memory Efficient Serialization Library
Group:          System/Libraries
Provides:       libflatbuffers = %{version}

%description    -n libflatbuffers%{sonum}
FlatBuffers is a serialization library for games and other memory constrained programs.
FlatBuffers allows to directly access serialized data without unpacking/parsing
it first, while still having great forwards/backwards compatibility.

This package provides the libflatbuffers shared library.

%package        devel
Summary:        Development files for %{name}
Group:          Development/Libraries/C and C++
Requires:       libflatbuffers%{sonum} = %{version}
Provides:       %{name}-devel-static = %{version}

%description    devel
FlatBuffers is a serialization library for games and other memory constrained programs.
FlatBuffers allows to directly access serialized data without unpacking/parsing
it first, while still having great forwards/backwards compatibility.

This package provides the libflatbuffers headers, development libraries,
and tools.

%prep
%autosetup -p1

%build
chmod -x docs/source/*.md docs/footer.html docs/source/doxyfile
%cmake -DCMAKE_BUILD_TYPE=Release \
       -DFLATBUFFERS_BUILD_SHAREDLIB=ON \
       -DFLATBUFFERS_BUILD_FLATLIB=OFF \
       -DFLATBUFFERS_BUILD_FLATC=ON
%cmake_build

%install
%cmake_install
mkdir -p %{buildroot}/%{_datadir}/cmake/Modules
install -Dm0644 CMake/*FlatBuffers.cmake %{buildroot}%{_datadir}/cmake/Modules/

%check
# does not support out-of-tree builds, see https://github.com/google/flatbuffers/issues/7009
#%%ctest
%{__builddir}/flattests

%post   -n libflatbuffers%{sonum} -p /sbin/ldconfig
%postun -n libflatbuffers%{sonum} -p /sbin/ldconfig

%files -n libflatbuffers%{sonum}
%license LICENSE
%{_libdir}/libflatbuffers.so.*

%files devel
%doc README.md docs/
%{_bindir}/flatc
%{_libdir}/libflatbuffers.so
%{_includedir}/flatbuffers/
%{_libdir}/pkgconfig/flatbuffers.pc
%{_libdir}/cmake/flatbuffers/
%{_datadir}/cmake/Modules/*FlatBuffers.cmake

%changelog
openSUSE Build Service is sponsored by
OSZAR »