#
# spec file for package libjansson
#
# 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/
#


Name:           libjansson
%define lname   libjansson4
Summary:        C library for encoding, decoding and manipulating JSON data
License:        MIT
Group:          Development/Libraries/C and C++
Version:        2.10
Release:        21.4
Url:            http://digip.org/jansson/

#Git-Clone:     git://github.com/akheron/jansson
Source:         http://www.digip.org/jansson/releases/jansson-%version.tar.bz2
Source1:        baselibs.conf
Source2:        http://www.digip.org/jansson/releases/jansson-%version.tar.bz2.asc
Source3:        %name.keyring
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  pkgconfig

%description
Jansson is a C library for encoding, decoding and manipulating JSON data.
It features:
 * Simple and intuitive API and data model
 * Comprehensive documentation
 * No dependencies on other libraries
 * Full Unicode support (UTF-8)
 * Extensive test suite

%package -n %lname
Summary:        C library for encoding, decoding and manipulating JSON data
Group:          Development/Libraries/C and C++

%description -n %lname
Jansson is a C library for encoding, decoding and manipulating JSON data.
It features:
 * Simple and intuitive API and data model
 * Comprehensive documentation
 * No dependencies on other libraries
 * Full Unicode support (UTF-8)
 * Extensive test suite

%package devel
Summary:        Development files for libjansson
Group:          Development/Libraries/C and C++
Requires:       %lname = %version

%description devel
Jansson is a C library for encoding, decoding and manipulating JSON data.
It features:
 * Simple and intuitive API and data model
 * Comprehensive documentation
 * No dependencies on other libraries
 * Full Unicode support (UTF-8)
 * Extensive test suite

%prep
%setup -q -n jansson-%{version}

%build
%configure --disable-static
make %{?_smp_mflags}

%install
%make_install
rm -f "%buildroot/%_libdir"/*.la;

%post -n %lname -p /sbin/ldconfig

%postun -n %lname -p /sbin/ldconfig

%files -n %lname
%defattr(-,root,root)
%{_libdir}/libjansson.so.4*

%files devel
%defattr(-,root,root)
%{_includedir}/jansson.h
%{_includedir}/jansson_config.h
%{_libdir}/libjansson.so
%{_libdir}/pkgconfig/jansson.pc

%changelog
* Wed Mar  1 2017 coolo@suse.com
- update to new upstream release 2.9
  * New features:
    Add json_auto_t to automatically decref a value that goes out of scope.
    Available only on GCC and Clang. (#301)
  * Small documentation fixes.
- changelog from 2.8
  * New features:
  - Always preserve insertion order of object items. json_object_iter()
    and friends, json_object_foreach() and json_dumps() and friends now
    always work in the insertion order of object items (#293).
  - Add json_object_foreach_safe() macro that allows json_object_del()
    calls during iteration (#230).
  - Add json_get_alloc_funcs() to allow reading the allocation functions
    set by json_set_alloc_funcs() (#262, #264).
  - Add json_pack() format specifiers s?, o? and O? for values that can
    be null (#261, #270).
  * Bug fixes:
  - Fix a crash when parsing inputs consisting of very deeply nested
    arrays or objects (#282, #284).
  - Never convert numbers to integers in the parser when
    JSON_DECODE_INT_AS_REAL is set.
  - Fix a use-after-free in json_pack() error handling.
  - Fix subnormal number parsing on mingw32.
  - Handle out-of-memory situations gracefully in the hashtable
    implementation
* Wed Nov  5 2014 efimovov@gmail.com
- Update to new upstream release 2.7
  * The json_pack et al functions recognize the specifiers "s%%", "+%%"
  and "+#"
  * Add length-aware string constructors "json_stringn()" and
  "json_stringn_nocheck()", length-aware string mutators
  "json_string_setn()" and "json_string_setn_nocheck()",
  and a function for getting string's length "json_string_length()"
  * Support ""\u0000"" escapes in the decoder. The support can be
  enabled by using the ""JSON_ALLOW_NUL"" decoding flag
  * Add "json_boolean_value()" as an alias for "json_is_true()"
  * Add JSON_REAL_PRECISION encoding flag/macro for controlling real
  number precision
  * Define the maximum indentation as JSON_MAX_INDENT.
  * Fix cases when some malformed ""\uNNNN"" escapes could crash
  the decoder with an assertion failure
  * Avoid integer overflows with very long strings in UTF-8 decoder
  and hashtable
  * Check for *NULL* key in "json_object_get()"
  and "json_object_del()"
  * "json_unpack()": Allow mixing JSON_STRICT with optional keys.
  * Fix int/int32 mismatch
  * Parse subnormal numbers correctly
* Thu Sep 11 2014 hrvoje.senjan@gmail.com
- Add baselibs.conf
* Sun Jul 20 2014 jengelh@inai.de
- Update to new upstream release 2.6
  * Fixed CVE-2013-6401: avoid bad performance in large JSON objects
  * The json_pack et al functions recognize the specifiers "s#", "+"
  and "+#"
  * Add the "JSON_DECODE_INT_AS_REAL" flag
  * Add "json_array_foreach()" function
  * Add the "json_boolean()" macro that returns the JSON true or
  false value based on its argument
  * Add "json_load_callback()" that calls a callback function
  repeatedly to read the JSON input.
  * Add JSON_ESCAPE_SLASH encoding flag to escape all occurences of
  '/' with '\/'.
- Drop defunct gpg-offline and use local source_validator instead
* Wed Nov 28 2012 sbrabec@suse.cz
- Verify GPG signature.
* Sat May 12 2012 jengelh@inai.de
- Update to new upstream release 2.3.1
  * Add support for optional object keys with the "{s?o}" syntax
  in json_unpack and the like
  * Add json_object_update_existing() and json_object_update_missing()
  for updating only existing keys or only adding missing keys to an
  object.
  * Add json_object_foreach() for more convenient iteration over
  objects.
  * When decoding JSON, write the number of bytes that were read from
  input to "error.position" also on success. This is handy with
  JSON_DISABLE_EOF_CHECK.
  * Add support for decoding any JSON value, not just arrays or
  objects. The support is enabled with the new "JSON_DECODE_ANY"
  flag.
  * Avoid problems with object's serial number growing too big.
  * Remove "+" and leading zeros from exponents in the encoder.
  * Decoding functions now return NULL if the first argument is NULL.
* Tue Jan 31 2012 jengelh@medozas.de
- Provide pkgconfig symbols
* Fri Oct 21 2011 jengelh@medozas.de
- Remove redundant tags/sections (cf. specfile guidelines)
- Centralize the shlib package name
* Mon Oct 17 2011 fcastelli@suse.com
- Create initial package (v2.2.1)