From 666057d3a1e818b1cb88bba1807874794fac9c2f453f1130cfd165d77dfa5dc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Wed, 21 Oct 2015 09:34:31 +0000 Subject: [PATCH] - Update to version 1.7 * New integer parsing/formatting implementation + Functions that convert from and to integers (e.g. as_int/set_value) do not rely on CRT any more. + New implementation is 3-5x faster and is always correct wrt overflow or underflow. This is a behavior change - where previously as_uint() would return UINT_MAX on a value "-1", it now returns 0. * New features + XPath objects (xpath_query, xpath_node_set, xpath_variable_set) are now movable if your compiler supports C++11. Additionally, xpath_variable_set is copyable. + Added format_indent_attributes that makes the resulting XML friendlier to line diff/merge tools. + Added a variant of xml_node::attribute function with a hint that can improve lookup performance. + Custom allocation functions are now allowed (but not required) to throw instead of returning a null pointer. * Bug fixes + Fix Clang 3.7 crashes in out-of-memory cases (C++ DR 1748) + Fix xpath_node_set assignment to provide strong exception guarantee + Fix saving for custom xml_writer implementations that can throw from write() - Add pugixml-config.patch to enable long long support, works better than enabling via build flags. OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/pugixml?expand=0&rev=7 --- pugixml-1.7.tar.gz | 3 +++ pugixml-config.patch | 13 +++++++++++++ pugixml.changes | 27 +++++++++++++++++++++++++++ pugixml.spec | 6 ++++-- 4 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 pugixml-1.7.tar.gz create mode 100644 pugixml-config.patch diff --git a/pugixml-1.7.tar.gz b/pugixml-1.7.tar.gz new file mode 100644 index 0000000..0fd1b62 --- /dev/null +++ b/pugixml-1.7.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbe10d46f61d769f7d92a296102e4e2bd3ee16130f11c5b10a1aae590ea1f5ca +size 354472 diff --git a/pugixml-config.patch b/pugixml-config.patch new file mode 100644 index 0000000..b0c4d4c --- /dev/null +++ b/pugixml-config.patch @@ -0,0 +1,13 @@ +Index: pugixml-1.7/src/pugiconfig.hpp +=================================================================== +--- pugixml-1.7.orig/src/pugiconfig.hpp ++++ pugixml-1.7/src/pugiconfig.hpp +@@ -44,7 +44,7 @@ + // #define PUGIXML_HEADER_ONLY + + // Uncomment this to enable long long support +-// #define PUGIXML_HAS_LONG_LONG ++#define PUGIXML_HAS_LONG_LONG + + #endif + diff --git a/pugixml.changes b/pugixml.changes index 09a07ce..513a147 100644 --- a/pugixml.changes +++ b/pugixml.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Wed Oct 21 09:26:33 UTC 2015 - idonmez@suse.com + +- Update to version 1.7 + * New integer parsing/formatting implementation + + Functions that convert from and to integers (e.g. as_int/set_value) + do not rely on CRT any more. + + New implementation is 3-5x faster and is always correct wrt + overflow or underflow. This is a behavior change - where previously + as_uint() would return UINT_MAX on a value "-1", it now returns 0. + * New features + + XPath objects (xpath_query, xpath_node_set, xpath_variable_set) + are now movable if your compiler supports C++11. Additionally, + xpath_variable_set is copyable. + + Added format_indent_attributes that makes the resulting XML friendlier + to line diff/merge tools. + + Added a variant of xml_node::attribute function with a hint that + can improve lookup performance. + + Custom allocation functions are now allowed (but not required) + to throw instead of returning a null pointer. + * Bug fixes + + Fix Clang 3.7 crashes in out-of-memory cases (C++ DR 1748) + + Fix xpath_node_set assignment to provide strong exception guarantee + + Fix saving for custom xml_writer implementations that can throw from write() +- Add pugixml-config.patch to enable long long support, works better than + enabling via build flags. + ------------------------------------------------------------------- Fri Oct 9 08:41:24 UTC 2015 - idonmez@suse.com diff --git a/pugixml.spec b/pugixml.spec index 2643182..a3d9250 100644 --- a/pugixml.spec +++ b/pugixml.spec @@ -18,13 +18,14 @@ %define _libname libpugixml1 Name: pugixml -Version: 1.6 +Version: 1.7 Release: 0 Summary: Light-weight C++ XML Processing Library License: MIT Group: System/Libraries Url: http://pugixml.org/ Source0: https://github.com/zeux/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz +Patch1: pugixml-config.patch BuildRequires: cmake BuildRequires: fdupes BuildRequires: gcc-c++ @@ -69,10 +70,11 @@ The library is extremely portable and easy to integrate and use. %prep %setup -q +%patch1 -p1 %build cd scripts -%cmake -DBUILD_DEFINES="-DPUGIXML_HAS_LONG_LONG" +%cmake make %{?_smp_mflags} %install