json-c/json-c.spec
2024-02-20 17:21:52 +08:00

117 lines
3.4 KiB
RPMSpec

#
# spec file for package json-c
#
# Copyright (c) 2022-2023 ZhuningOS
#
%define libname libjson-c
%define libsoname %{libname}3
%define oldlibname libjson
Name: json-c
Version: 0.13
Release: 3.3.1
Summary: JSON implementation in C
License: MIT
Group: Development/Libraries/C and C++
Url: https://github.com/json-c/json-c/wiki
#Git-Clone git://github.com/json-c/json-c
Source0: https://s3.amazonaws.com/json-c_releases/releases/%{name}-%{version}.tar.gz
Source1: baselibs.conf
Patch0: bsc1171479.patch
BuildRequires: fdupes
BuildRequires: libtool
BuildRequires: pkgconfig
%description
JSON-C implements a reference counting object model that allows you to
easily construct JSON objects in C, output them as JSON formatted
strings and parse JSON formatted strings back into the C
representation of JSON objects.
%package -n %{libsoname}
Summary: JSON-C shared library
Group: System/Libraries
%description -n %{libsoname}
JSON-C implements a reference counting object model that allows you to
easily construct JSON objects in C, output them as JSON formatted
strings and parse JSON formatted strings back into the C
representation of JSON objects.
This package includes the JSON library.
%package -n %{libname}-devel
Summary: Development headers and libraries for json-c
Group: Development/Libraries/C and C++
Requires: %{libsoname} = %{version}
Provides: %{oldlibname}-devel = %{version}
Obsoletes: %{oldlibname}-devel < %{version}
%description -n %{libname}-devel
JSON-C implements a reference counting object model that allows you to
easily construct JSON objects in C, output them as JSON formatted
strings and parse JSON formatted strings back into the C
representation of JSON objects.
This package includes header files and scripts needed for developers
using the json-c library
%package -n %{libname}-doc
Summary: Documentation files
Group: Documentation/Other
Provides: %{oldlibname}-doc = %{version}
Obsoletes: %{oldlibname}-doc < %{version}
%if 0%{?suse_version} >= 1120
BuildArch: noarch
%endif
%description -n %{libname}-doc
JSON-C implements a reference counting object model that allows you to
easily construct JSON objects in C, output them as JSON formatted
strings and parse JSON formatted strings back into the C
representation of JSON objects.
This package includes the json-c documentation.
%prep
%setup -q
%patch0 -p1
%build
%if 0%{?suse_version} <= 1110
sed -i 's/-Werror //g' Makefile.am.inc
autoreconf -fiv
%endif
%configure --disable-static --with-pic --disable-oldname-compat
make %{?_smp_mflags}
%check
make %{?_smp_mflags} check
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
# create a compatibilty pkg-config file for software needing it
(cd %{buildroot}%{_libdir}/pkgconfig && ln -s json-c.pc json.pc)
mkdir -p "%{buildroot}%{_docdir}/%{name}-doc"
cp -R doc/html "%{buildroot}%{_docdir}/%{name}-doc"
%fdupes %{buildroot}%{_docdir}
%post -n %{libsoname} -p /sbin/ldconfig
%postun -n %{libsoname} -p /sbin/ldconfig
%files -n %{libsoname}
%{_libdir}/%{libname}.so.*
%doc COPYING
%files -n %{libname}-devel
%{_libdir}/%{libname}.so
%{_includedir}/json-c
%{_libdir}/pkgconfig/*.pc
%files -n %{libname}-doc
%doc AUTHORS ChangeLog COPYING README README.html
%doc %{_docdir}/%{name}-doc
%changelog