Name: jsoncpp Version: 1.9.5 Release: 5 Summary: JSON C++ library License: Public Domain or MIT URL: https://github.com/open-source-parsers/jsoncpp Source0: https://github.com/open-source-parsers/jsoncpp/archive/%{version}/%{name}-%{version}.tar.gz BuildRequires: gcc-c++ cmake >= 3.1 python3-devel Patch0001: 0001-Parse-large-floats-as-infinity-1349-1353.patch Patch0002: 0001-Use-default-rather-than-hard-coded-8-for-maximum-agg.patch %description JsonCpp is a C++ library that allows manipulating JSON values, including serialization and deserialization to and from strings. It can also preserve existing comment in unserialization/serialization steps, making it a convenient format to store user input files. %package devel Summary: Development files for jsoncpp Requires: %{name} = %{version}-%{release} %description devel Document files contain library and head files for jsoncpp. %package help Summary: Document for jsoncpp BuildRequires: doxygen graphviz hardlink BuildArch: noarch Provides: jsoncpp-doc = %{version}-%{release} Obsoletes: jsoncpp-doc < %{version}-%{release} %description help Help document for jsoncpp. %prep %autosetup -p 1 doxygen -s -u doc/doxyfile.in sed -i -e 's!^DOT_FONTNAME.*=.*!DOT_FONTNAME =!g' doc/doxyfile.in %build install -d %{_vpath_builddir} cd %{_vpath_builddir} %cmake -DBUILD_STATIC_LIBS=OFF -DJSONCPP_WITH_WARNING_AS_ERROR=OFF \ -DBUILD_OBJECT_LIBS:BOOL=OFF \ -DJSONCPP_WITH_PKGCONFIG_SUPPORT=ON -DJSONCPP_WITH_CMAKE_PACKAGE=ON \ -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF -DPYTHON_EXECUTABLE="%{__python3}" \ .. cd .. %make_build -C %{_vpath_builddir} cp -p %{_vpath_builddir}/version . %{__python3} doxybuild.py --with-dot --doxygen %{_bindir}/doxygen rm -f version %install %make_install -C %{_vpath_builddir} mkdir -p %{buildroot}%{_docdir}/%{name} cp README.md %{buildroot}%{_docdir}/%{name} chmod 644 %{buildroot}%{_docdir}/%{name}/README.md touch %{buildroot}%{_docdir}/%{name}//README.md mkdir -p %{buildroot}%{_docdir}/%{name}/html cp dist/doxygen/*/*.{html,png} %{buildroot}%{_docdir}/%{name}/html chmod 644 %{buildroot}%{_docdir}/%{name}/html/*.{html,png} touch %{buildroot}%{_docdir}/%{name}/html hardlink -cfv %{buildroot}%{_docdir}/%{name} # When the .so file name changes during version upgrade, you need to copy the lower version of .so file # cp -a %{_libdir}/libjsoncpp.so.* $RPM_BUILD_ROOT%{_libdir} %check %make_build -C %{_vpath_builddir} jsoncpp_check %post /sbin/ldconfig %postun /sbin/ldconfig %files %license AUTHORS LICENSE %doc %dir %{_docdir}/%{name} %exclude %{_docdir}/%{name}/html %{_libdir}/lib%{name}.so.* %files devel %{_libdir}/lib%{name}.so %{_includedir}/json %{_libdir}/cmake/* %{_libdir}/pkgconfig/%{name}.pc %files help %doc %{_docdir}/%{name} %doc %{_docdir}/%{name}/README.md %changelog * Thu Nov 16 2023 liubo - 1.9.5-5 - Use default rather than hard-coded 8 for maximum aggregate member alignment * Wed Oct 18 2023 liubo - 1.9.5-4 - Parse large floats as infinity * Mon Jan 10 2022 shixuantong - 1.9.5-3 - Delete so files of lower versions * Wed Jan 05 2022 shangyibin - 1.9.5-2 - copy the .so file of the old version. * Wed Dec 22 2021 shangyibin - 1.9.5-1 - upgrade version to 1.9.5 * Wed Feb 3 2021 liudabo - 1.9.4-1 - upgrade version to 1.9.4 * Sat Aug 08 2020 lingsheng - 1.9.3-2 - Remove old version so * Fri Jul 31 2020 wenzhanli - 1.9.3-1 - Type:NA - ID:NA - SUG:NA - DESC:update version 1.9.3 * Mon Nov 25 2019 zhujunhao - 1.8.4-6 - Package init