json-c/json-c.spec

137 lines
4.4 KiB
RPMSpec
Raw Normal View History

#
# spec file for package json-c
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
%define libname libjson-c
%define libsoname %{libname}2
%define oldlibname libjson
Name: json-c
Version: 0.12.1
Release: 0
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
# PATCH-FIX-UPSTREAM fix-set-but-not-used.patch -- Fix set-but-not-used compile error in tests https://github.com/json-c/json-c/issues/240
Patch0: fix-set-but-not-used.patch
# PATCH-FIX-UPSTREAM gcc7-fix.patch -- Fix new warnings seen by GCC7
Patch1: gcc7-fix.patch
BuildRequires: fdupes
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%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
%patch1 -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 DESTDIR=%{buildroot} install %{?_smp_mflags} DESTDIR=%{buildroot} libdir=%{_libdir} mandir=%{_mandir}
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}
%defattr(-,root,root)
%{_libdir}/%{libname}.so.*
%doc COPYING
%files -n %{libname}-devel
%defattr(-,root,root)
%{_libdir}/%{libname}.so
%{_includedir}/json-c
%{_libdir}/pkgconfig/*.pc
%files -n %{libname}-doc
%defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING README README.html
%doc %{_docdir}/%{name}-doc
%changelog