b891905
%{!?_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
b891905
2d9c3f7
%global so_ver      4
2d9c3f7
%global reldate     20180305
dd26ce7
5e1d612
# Change to %%bcond_without bootstrap to build
5e1d612
# in bootstrap mode for a bumped so-name.
dd26ce7
# You also need to adjust the parameters below.
057e4ad
%bcond_with bootstrap
dd26ce7
057e4ad
%if %{with bootstrap}
cb399c6
%global reldate_old 20180305
cb399c6
%global version_old 0.13.1
cb399c6
%global so_ver_old  4
dd26ce7
%endif
dd26ce7
301e4e6
2d9c3f7
Name:           json-c
2d9c3f7
Version:        0.13.1
bd4147d
Release:        9%{?dist}
2d9c3f7
Summary:        JSON implementation in C
301e4e6
2d9c3f7
License:        MIT
2d9c3f7
URL:            https://github.com/%{name}/%{name}
2d9c3f7
Source0:        %{url}/archive/%{name}-%{version}-%{reldate}.tar.gz
057e4ad
%if %{with bootstrap}
2d9c3f7
Source1:        %{url}/archive/%{name}-%{version_old}-%{reldate_old}.tar.gz
dd26ce7
%endif
301e4e6
44b83a8
# Cherry-picked from upstream.
44b83a8
Patch0:         %{url}/commit/da4b34355da023c439e96bc6ca31886cd69d6bdb.patch#/%{name}-0.13.1-parse_test_UTF8_BOM.patch
44b83a8
Patch1:         %{url}/commit/f8c632f579c71012f9aca81543b880a579f634fc.patch#/%{name}-0.13.1-fix_incorrect_casts_in_calls_to_ctype_functions.patch
44b83a8
Patch2:         %{url}/commit/8bd62177e796386fb6382db101c90b57b6138afe.patch#/%{name}-0.13.1-fix_typos.patch
44b83a8
2d9c3f7
BuildRequires:  libtool
a96f44e
a96f44e
%description
301e4e6
JSON-C implements a reference counting object model that allows you
301e4e6
to easily construct JSON objects in C, output them as JSON formatted
301e4e6
strings and parse JSON formatted strings back into the C representation
301e4e6
of JSON objects.  It aims to conform to RFC 7159.
301e4e6
301e4e6
2d9c3f7
%package        devel
2d9c3f7
Summary:        Development files for %{name}
a96f44e
2d9c3f7
Requires:       %{name}%{?_isa} == %{version}-%{release}
a96f44e
2d9c3f7
%description    devel
2f6f483
This package contains libraries and header files for
2f6f483
developing applications that use %{name}.
a96f44e
a96f44e
2d9c3f7
%package        doc
2d9c3f7
Summary:        Reference manual for json-c
301e4e6
2d9c3f7
BuildArch:      noarch
301e4e6
2d9c3f7
BuildRequires:  doxygen
2d9c3f7
BuildRequires:  hardlink
301e4e6
2d9c3f7
%description    doc
dd26ce7
This package contains the reference manual for %{name}.
a96f44e
301e4e6
a96f44e
%prep
dd26ce7
%autosetup -Tb 0 -n %{name}-%{name}-%{version}-%{reldate} -p 1
7cc6a23
a96f44e
for doc in ChangeLog; do
2d9c3f7
  %{_bindir}/iconv -f iso-8859-1 -t utf8 ${doc} > ${doc}.new
2d9c3f7
  /bin/touch -r ${doc} ${doc}.new
2d9c3f7
  %{__mv} -f ${doc}.new ${doc}
a96f44e
done
a96f44e
2d9c3f7
%{__sed} -i -e 's!#ACLOCAL_AMFLAGS!ACLOCAL_AMFLAGS!g' Makefile.am
301e4e6
%{_bindir}/autoreconf -fiv
301e4e6
057e4ad
%if %{with bootstrap}
dd26ce7
%{__mkdir} -p bootstrap_ver
dd26ce7
pushd bootstrap_ver
dd26ce7
%{__tar} --strip-components=1 -xf %{SOURCE1}
2d9c3f7
2d9c3f7
%{__sed} -i -e 's!#ACLOCAL_AMFLAGS!ACLOCAL_AMFLAGS!g' Makefile.am
dd26ce7
%{_bindir}/autoreconf -fiv
dd26ce7
popd
dd26ce7
%endif
dd26ce7
301e4e6
a96f44e
%build
2d9c3f7
%configure               \
2d9c3f7
  --disable-silent-rules \
2d9c3f7
  --disable-static       \
2d9c3f7
  --enable-shared        \
2d9c3f7
  --enable-threading
b891905
8d43502
%make_build
a96f44e
301e4e6
%{_bindir}/doxygen Doxyfile
301e4e6
057e4ad
%if %{with bootstrap}
dd26ce7
pushd bootstrap_ver
2d9c3f7
%configure               \
2d9c3f7
  --disable-silent-rules \
2d9c3f7
  --disable-static       \
2d9c3f7
  --enable-shared        \
2d9c3f7
  --enable-threading
2d9c3f7
dd26ce7
%make_build
dd26ce7
popd
dd26ce7
%endif
dd26ce7
301e4e6
a96f44e
%install
057e4ad
%if %{with bootstrap}
dd26ce7
%make_install -C bootstrap_ver
e193474
%{_bindir}/find %{buildroot} -xtype f -not            \
e193474
  -name 'lib%{name}.so.%{so_ver_old}*' -delete -print
e193474
%{_bindir}/find %{buildroot} -type l -not             \
e193474
  -name 'lib%{name}.so.%{so_ver_old}*' -delete -print
dd26ce7
%endif
dd26ce7
2f6f483
%make_install
dd26ce7
dd26ce7
%{_bindir}/find %{buildroot} -name '*.a' -delete -print
301e4e6
%{_bindir}/find %{buildroot} -name '*.la' -delete -print
301e4e6
dd26ce7
%{__mkdir} -p %{buildroot}%{_pkgdocdir}
dd26ce7
%{__cp} -pr doc/html ChangeLog README README.* %{buildroot}%{_pkgdocdir}
974f2b1
hardlink -cvf %{buildroot}%{_pkgdocdir}
2332865
2332865
21b5940
%check
301e4e6
%make_build check
301e4e6
057e4ad
%if %{with bootstrap}
dd26ce7
%make_build -C bootstrap_ver check
dd26ce7
%endif
dd26ce7
2332865
dbac01b
%pretrans devel -p <lua>
301e4e6
path = "%{_includedir}/%{name}"
dbac01b
st = posix.stat(path)
dbac01b
if st and st.type == "link" then
dbac01b
  os.remove(path)
dbac01b
end
dbac01b
301e4e6
dceba32
%ldconfig_scriptlets
2332865
301e4e6
a96f44e
%files
301e4e6
%license AUTHORS
eed9c1e
%license COPYING
dd26ce7
%{_libdir}/lib%{name}.so.%{so_ver}*
057e4ad
%if %{with bootstrap}
dd26ce7
%{_libdir}/lib%{name}.so.%{so_ver_old}*
dd26ce7
%endif
301e4e6
a96f44e
a96f44e
%files devel
301e4e6
%doc %dir %{_pkgdocdir}
301e4e6
%doc %{_pkgdocdir}/ChangeLog
301e4e6
%doc %{_pkgdocdir}/README*
301e4e6
%{_includedir}/%{name}/
301e4e6
%{_libdir}/lib%{name}.so
301e4e6
%{_libdir}/pkgconfig/%{name}.pc
301e4e6
a96f44e
a96f44e
%files doc
301e4e6
%if 0%{?fedora} || 0%{?rhel} >= 7
301e4e6
%license %{_datadir}/licenses/%{name}*
057e4ad
%endif
301e4e6
%doc %{_pkgdocdir}
301e4e6
a96f44e
a96f44e
%changelog
bd4147d
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-9
bd4147d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
bd4147d
8e0d34a
* Thu Nov 28 2019 Petr Menšík <pemensik@redhat.com> - 0.13.1-8
8e0d34a
- Remove empty doc dir from library package
8e0d34a
eb5b111
* Wed Nov 06 2019 Miroslav Lichvar <mlichvar@redhat.com> 0.13.1-7
eb5b111
- Disable rdrand support (#1745333)
eb5b111
acca1a4
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-6
acca1a4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
acca1a4
974f2b1
* Wed Jun 26 2019 Björn Esser <besser82@fedoraproject.org> - 0.13.1-5
974f2b1
- Use hardlink without full path to the binary (#1721964)
057e4ad
- Use new style bootstrap logic
974f2b1
f33e2fe
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-4
f33e2fe
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
f33e2fe
8d10a9d
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-3
8d10a9d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
8d10a9d
44b83a8
* Tue May 08 2018 Björn Esser <besser82@fedoraproject.org> - 0.13.1-2
44b83a8
- Add some cherry-picked fixes from upstream master
44b83a8
ed6fb1d
* Tue Mar 06 2018 Björn Esser <besser82@fedoraproject.org> - 0.13.1-1
ed6fb1d
- New upstream release (rhbz#1552053)
ed6fb1d
2d9c3f7
* Tue Mar 06 2018 Björn Esser <besser82@fedoraproject.org> - 0.13.1-0.1
2d9c3f7
- Bootstrapping for so-name bump
2d9c3f7
f692295
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.13-7
f692295
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
f692295
dceba32
* Fri Feb 02 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.13-6
dceba32
- Switch to %%ldconfig_scriptlets
dceba32
d86ebd4
* Thu Dec 14 2017 Björn Esser <besser82@fedoraproject.org> - 0.13-5
d86ebd4
- Update patch fixing a segfault caused by possible invalid frees
d86ebd4
9c657ad
* Wed Dec 13 2017 Björn Esser <besser82@fedoraproject.org> - 0.13-4
9c657ad
- Add upstream patch fixing invalid free in some cases
9c657ad
b891905
* Wed Dec 13 2017 Björn Esser <besser82@fedoraproject.org> - 0.13-3
b891905
- Add upstream patch for adding size_t json_c_object_sizeof()
b891905
- Enable partial multi-threaded support
b891905
841610c
* Mon Dec 11 2017 Björn Esser <besser82@fedoraproject.org> - 0.13-2
841610c
- Drop json_object_private.h
841610c
1a2a862
* Mon Dec 11 2017 Björn Esser <besser82@fedoraproject.org> - 0.13-1
1a2a862
- New upstream release (rhbz#1524155)
1a2a862
dd26ce7
* Sun Dec 10 2017 Björn Esser <besser82@fedoraproject.org> - 0.13-0.1
dd26ce7
- Bootstrapping for so-name bump
dd26ce7
- Keep json_object_private.h
4f00f78
90141cb
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.1-4
90141cb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
90141cb
c6dcb68
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.1-3
c6dcb68
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
c6dcb68
4bce577
* Mon Jul 03 2017 Björn Esser <besser82@fedoraproject.org> - 0.12.1-2
4bce577
- Add patch to replace obsolete autotools macro
4bce577
301e4e6
* Thu Apr 27 2017 Björn Esser <besser82@fedoraproject.org> - 0.12.1-1
301e4e6
- Update to new upstream release
301e4e6
- Introduces SONAME bump, that should have been in 0.12 already
301e4e6
- Unify %%doc
301e4e6
- General spec-file cleanup
301e4e6
fdf4b42
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.12-8
fdf4b42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
fdf4b42
77fa2ec
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.12-7
77fa2ec
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
77fa2ec
6f62ead
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12-6
6f62ead
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
6f62ead
a4ab1d8
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12-5
a4ab1d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
a4ab1d8
0aacf20
* Tue Jul 29 2014 Christopher Meng <rpm@cicku.me> - 0.12-4
0aacf20
- SONAME bump postponed.
0aacf20
8d43502
* Mon Jul 28 2014 Christopher Meng <rpm@cicku.me> - 0.12-3
8d43502
- SONAME bump, see bug 1123785
8d43502
1bed250
* Fri Jul 25 2014 Christopher Meng <rpm@cicku.me> - 0.12-2
1bed250
- NVR bump
1bed250
2f6f483
* Thu Jul 24 2014 Christopher Meng <rpm@cicku.me> - 0.12-1
2f6f483
- Update to 0.12
2f6f483
eed9c1e
* Sat Jul 12 2014 Tom Callaway <spot@fedoraproject.org> - 0.11-8
eed9c1e
- fix license handling
eed9c1e
37993ee
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.11-7
37993ee
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
37993ee
210cfab
* Wed Apr 09 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.11-7
210cfab
- Address CVE-2013-6371 and CVE-2013-6370 (BZ #1085676 and #1085677).
210cfab
- Enabled rdrand support.
210cfab
b7ec55b
* Mon Feb 10 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.11-6
b7ec55b
- Bump spec.
b7ec55b
21b5940
* Sat Dec 21 2013 Ville Skyttä <ville.skytta@iki.fi> - 0.11-5
21b5940
- Run test suite during build.
21b5940
- Drop empty NEWS from docs.
21b5940
16f5dbf
* Tue Sep 10 2013 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.11-4
16f5dbf
- Remove default warning flags so that package builds on EPEL as well.
16f5dbf
7cc6a23
* Sat Aug 24 2013 Remi Collet <remi@fedoraproject.org> - 0.11-3
7cc6a23
- increase parser strictness for php
7cc6a23
3de324c
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.11-2
3de324c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
3de324c
2332865
* Mon Apr 29 2013 Remi Collet <remi@fedoraproject.org> - 0.11-1
2332865
- update to 0.11
2332865
- fix source0
2332865
- enable both json and json-c libraries
2332865
a854aae
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.10-3
a854aae
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
a854aae
b3e33eb
* Sat Nov 24 2012 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.10-2
b3e33eb
- Compile and install json_object_iterator using Remi Collet's fix (BZ #879771).
b3e33eb
f6d6e72
* Sat Nov 24 2012 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.10-1
f6d6e72
- Update to 0.10 (BZ #879771).
f6d6e72
49cb6cc
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9-5
49cb6cc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
49cb6cc
Jiri Pirko 82503f9
* Mon Jan 23 2012 Jiri Pirko <jpirko@redhat.com> - 0.9-4
Jiri Pirko 82503f9
- add json_tokener_parse_verbose, and return NULL on parser errors
Jiri Pirko 82503f9
31209af
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9-3
31209af
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
31209af
65a5f15
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9-2
65a5f15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
65a5f15
a96f44e
* Tue Apr 06 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 0.9-1
a96f44e
- First release.