# # spec file for package # # Copyright (c) 2014 SUSE LINUX Products 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/ # Name: jsoncpp Version: 0.6~rc2+git.1405320734.3b9b740 Release: 0 License: MIT Summary: C++ library that allows manipulating with JSON Url: https://github.com/open-source-parsers/jsoncpp Group: Devel/Libraries/C and C++ Source0: jsoncpp-0.6~rc2+git.1405320734.3b9b740.tar.xz BuildRoot: %{_tmppath}/%{name}-%{version}-build #strip unused dependencies from there #BuildRequires: cmake BuildRequires: doxygen BuildRequires: python BuildRequires: gcc-c++ %description JSON is a lightweight data-interchange format. It can represent numbers, strings, ordered sequences of values, and collections of name/value pairs. 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 %{name} Group: Development/Languages/C and C++ Requires: lib%{name}0 = %{version} %description devel JSON is a lightweight data-interchange format. It can represent numbers, strings, ordered sequences of values, and collections of name/value pairs. 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 doc Summary: Documentation for %{name} Group: Development/Languages/C and C++ %description doc JSON is a lightweight data-interchange format. It can represent numbers, strings, ordered sequences of values, and collections of name/value pairs. 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 -n lib%{name}0 Summary: Shared library for %{name} Group: Development/Languages/C and C++ %description -n lib%{name}0 JSON is a lightweight data-interchange format. It can represent numbers, strings, ordered sequences of values, and collections of name/value pairs. 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. %prep %setup -q %build # ignore default cmake and use Gentoo's approach # % {cmake} \ # -DJSONCPP_LIB_BUILD_SHARED=ON CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; FFLAGS="${FFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}}" ; export FFLAGS ; # This is the soname that other distros use. soname="libjsoncpp.so.0" echo ${PWD}/ c++ src/lib_json/*.cpp -Iinclude -shared -fPIC \ -Wl,-soname,${soname} -o ${soname} ln -sf ${soname} libjsoncpp.so %{__python} doxybuild.py --doxygen=%{_bindir}/doxygen %install # to have the same location as Gentoo, Debian, Ubuntu and Arch see gentoo bug #452234 mkdir -p %{buildroot}/%{_includedir}/jsoncpp cp -ra include/json/ %{buildroot}/%{_includedir}/jsoncpp mkdir -p %{buildroot}/%{_libdir}/ cp -a libjsoncpp.so* %{buildroot}/%{_libdir}/ %post -n lib%{name}0 -p /sbin/ldconfig %postun -n lib%{name}0 -p /sbin/ldconfig %files -n lib%{name}0 %defattr(-,root,root) %doc LICENSE %{_libdir}/lib%{name}.so.0 %files devel %defattr(-,root,root) %doc AUTHORS LICENSE NEWS.txt README.md %{_libdir}/lib%{name}.so %{_includedir}/%{name}/ %files doc %defattr(-,root,root) %doc dist/doxygen/jsoncpp* %changelog