%global optflags %(echo '%{optflags} -Wno-error') %global jsondir jsoncpp Name: jsoncpp Version: 0.10.5 Release: 2%{?dist}.art Summary: JSON library implemented in C++ License: Public Domain or MIT URL: https://github.com/open-source-parsers/jsoncpp Source0: https://github.com/open-source-parsers/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz Patch0: nowerror.patch Patch1: json-c-conflict.patch BuildRequires: cmake BuildRequires: doxygen BuildRequires: graphviz BuildRequires: python %description %{name} is an implementation of a JSON (http://json.org) reader and writer in C++. JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. %package devel Summary: Development headers and library for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel This package contains the development headers and library for %{name}. %package doc Summary: Documentation for %{name} BuildArch: noarch %description doc This package contains the documentation for %{name}. %prep %setup -q -n %{name}-%{version} %patch0 -p1 %patch1 -p1 %build %if 0%{?rhel} && 0%{?rhel} <= 6 export LD_LIBRARY_PATH="$(pwd)/src/lib_json:${LD_LIBRARY_PATH}" %endif # 0%%{?rhel} && 0%%{?rhel} <= 6 %cmake -DBUILD_STATIC_LIBS=OFF \ -DJSONCPP_WITH_WARNING_AS_ERROR=OFF \ -DJSONCPP_WITH_PKGCONFIG_SUPPORT=ON \ -DJSONCPP_WITH_CMAKE_PACKAGE=ON \ %if 0%{?rhel} && 0%{?rhel} <= 6 -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF \ %endif # 0%%{?rhel} && 0%%{?rhel} <= 6 . make %{?_smp_mflags} # Build the doc python doxybuild.py --with-dot --doxygen %{_bindir}/doxygen %install make install DESTDIR=%{buildroot} mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}/html for f in NEWS.txt README.md ; do install -p -m 0644 $f $RPM_BUILD_ROOT%{_docdir}/%{name} done install -p -m 0644 dist/doxygen/*/*.{html,png} $RPM_BUILD_ROOT%{_docdir}/%{name}/html %check # Tests are run automatically in the build section # ctest -V %{?_smp_mflags} %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %license AUTHORS LICENSE %doc %dir %{_docdir}/%{name} %doc %{_docdir}/%{name}/README.md %exclude %{_docdir}/%{name}/html %{_libdir}/lib%{name}.so.* %files devel %doc %dir %{_docdir}/%{name} %doc %{_docdir}/%{name}/NEWS.txt %{_libdir}/lib%{name}.so %{_includedir}/%{jsondir}/ %{_libdir}/cmake %{_libdir}/pkgconfig/jsoncpp.pc %files doc %{?_licensedir:%license %{_datadir}/licenses/%{name}*} %doc %{_docdir}/%{name}/ %changelog * Sat Apr 23 2016 Sébastien Willmann - 0.10.5-2 - Fix file conflict with json-c * Fri Mar 25 2016 Björn Esser - 0.10.5-1 - Update to version 0.10.5 - Use %%license and %%doc properly - Add generated CMake-target - Move %%check after %%install - Remove Group-tag, needed for el <= 5, only - Drop Patch0, not needed anymore - Disabled Werror - Add disttag - Use cmake instead of scons * Fri Mar 15 2013 Sébastien Willmann - 0.6.0-0.9.rc2 - Changed Summary - Added %%doc files to the doc package - Added python as an explicit BuildRequires * Fri Feb 15 2013 Sebastien Willmann - 0.6.0-0.8.rc2 - Added documentation sub-package * Sun Jan 20 2013 Sebastien Willmann - 0.6.0-0.7.rc2 - Added graphviz as a BuildRequire * Sat Jan 19 2013 Sebastien Willmann - 0.6.0-0.6.rc2 - Install the corrected library * Sat Dec 22 2012 Sebastien Willmann - 0.6.0-0.5.rc2 - Added libjsoncpp.so.0 - Moved the shared lib build to the correct section * Fri Dec 21 2012 Sebastien Willmann - 0.6.0-0.4.rc2 - Removed doc subpackage - Added .pc file - Fixed shared lib * Wed Dec 12 2012 Sebastien Willmann - 0.6.0-0.3.rc2 - Removed static package - Preserving timestamp on installed files - Added guard grep to the sed expression - Removed duplicated doc files - Removed dependency on pkgconfig - Changed base package group * Sun Dec 02 2012 Sébastien Willmann - 0.6.0-0.2.rc2 - Changed license field to Public Domain or MIT * Tue Nov 27 2012 Sébastien Willmann 0.6.0-0.1.rc2 - Creation of the spec file