File protobuf-c.spec of Package protobuf-c

#
# spec file for package protobuf-c
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2011 Pascal Bleser
# Copyright (c) 2024 Andreas Stieger <Andreas.Stieger@gmx.de>
#
# 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 sover 1
%if 0%{?gcc_version} < 12
%define with_gcc 12
%global name_suffix -gcc%{with_gcc}
%endif
Name:           protobuf-c
Version:        1.5.0
Release:        0
Summary:        C bindings for Google's Protocol Buffers
License:        BSD-3-Clause
Group:          Development/Tools/Other
URL:            https://github.com/protobuf-c/protobuf-c
Source0:        https://github.com/protobuf-c/protobuf-c/releases/download/v%version/%name-%version.tar.gz
Source1:        protobuf-c-rpmlintrc
Patch0:         711.patch
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  gcc%{?with_gcc}-c++
BuildRequires:  glibc-devel
BuildRequires:  libtool
BuildRequires:  make
BuildRequires:  pkgconfig
BuildRequires:  protobuf-devel%{?name_suffix} >= 22

%description
This package provides a code generator and runtime libraries to use Protocol
Buffers from pure C (not C++).

It uses a modified version of protoc called protoc-c.

%package -n libprotobuf-c%sover%{?name_suffix}
Summary:        C bindings for Google's Protocol Buffers
Group:          System/Libraries

%description -n libprotobuf-c%sover%{?name_suffix}
This package provides a code generator and runtime libraries to use Protocol
Buffers from pure C (not C++).

%package -n libprotobuf-c-devel%{?name_suffix}
Summary:        C bindings for Google's Protocol Buffers
Group:          Development/Libraries/C and C++
Requires:       libprotobuf-c%sover%{?name_suffix} = %version
Recommends:     (protobuf-devel%{?name_suffix} >= 2.6.0 with protobuf-devel%{?name_suffix} < 22)
Provides:       %name = %version
Obsoletes:      %name <= 1.4.0

%description -n libprotobuf-c-devel%{?name_suffix}
This package provides a code generator and runtime libraries to use Protocol
Buffers from pure C (not C++).

%prep
%autosetup -p1

%build
%if 0%{?with_gcc}
export CXX=g++-%{with_gcc}
export CC=gcc-%{with_gcc}
%endif
%{!?make_build:%define make_build make -O %{?_smp_mflags} V=1 VERBOSE=1}
autoreconf -fvi
%configure \
    --enable-static=no

%make_build

%install
%make_install
rm %buildroot/%_libdir/*.la

%check
make check

%ldconfig_scriptlets -n libprotobuf-c%sover%{?name_suffix}

%files -n libprotobuf-c%sover%{?name_suffix}
%license LICENSE
%_libdir/libprotobuf-c.so.%sover
%_libdir/libprotobuf-c.so.%sover.*

%files -n libprotobuf-c-devel%{?name_suffix}
%license LICENSE
%dir %_includedir/protobuf-c
%dir %_includedir/google
%dir %_includedir/google/protobuf-c
%_includedir/protobuf-c/*
%_includedir/google/protobuf-c/protobuf-c.h
%_bindir/protoc-c
%_bindir/protoc-gen-c
%_libdir/libprotobuf-c.so
%_libdir/pkgconfig/libprotobuf-c.pc

%changelog
openSUSE Build Service is sponsored by