From 81dabf0e5a054cea54234c3826710c869b898327 Mon Sep 17 00:00:00 2001
From: jengelh <>
Date: May 25 2022 19:06:19 +0000
Subject: Update libpmemobj-cpp to version 1.13.0 / rev 13 via SR 979162


https://build.opensuse.org/request/show/979162
by user jengelh + dimstar_suse
- Update to release 1.13.0

---

diff --git a/.files b/.files
index f87b7f9..ef6fae1 100644
Binary files a/.files and b/.files differ
diff --git a/.rev b/.rev
index a60c15c..3cbc2aa 100644
--- a/.rev
+++ b/.rev
@@ -95,4 +95,12 @@
     <comment></comment>
     <requestid>865993</requestid>
   </revision>
+  <revision rev="13" vrev="1">
+    <srcmd5>340dd6855f8ef39f148e7f73ee8e3559</srcmd5>
+    <version>1.13.0</version>
+    <time>1653503711</time>
+    <user>dimstar_suse</user>
+    <comment>- Update to release 1.13.0</comment>
+    <requestid>979162</requestid>
+  </revision>
 </revisionlist>
diff --git a/0001-Fix-compliation-on-gcc-12.patch b/0001-Fix-compliation-on-gcc-12.patch
new file mode 100644
index 0000000..46e6acf
--- /dev/null
+++ b/0001-Fix-compliation-on-gcc-12.patch
@@ -0,0 +1,90 @@
+Generated: git diff f49772ac^..f49772ac
+ include/libpmemobj++/experimental/radix_tree.hpp | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit 59f4271fd01d77f3fc1d6805b8cca9ddf8f34054 (origin/stable-1.11)
+Merge: 86472126 8eb1a2f6
+Author: Łukasz Stolarczuk <lukasz.stolarczuk@intel.com>
+Date:   Wed Jan 26 16:01:25 2022 +0100
+
+    Merge pull request #1235 from igchor/fix_gcc12_compilation
+    
+    Fix compliation on gcc 12
+
+commit 67ba2be4fa4ce0643b02b3bf679ad683272ce87b (origin/stable-1.12)
+Merge: 5401d486 59f4271f
+Author: Łukasz Stolarczuk <lukasz.stolarczuk@intel.com>
+Date:   Thu Jan 27 19:03:05 2022 +0100
+
+    Merge pull request #1236 from pmem/stable-1.11
+    
+    Merge stable-1.11 into stable-1.12
+
+commit 679e5f47fd3bf5682e68b210c94fe20af958dce6
+Merge: e472cdf6 67ba2be4
+Author: Łukasz Stolarczuk <lukasz.stolarczuk@intel.com>
+Date:   Fri Jan 28 11:38:26 2022 +0100
+
+    Merge branch 'stable-1.12' into 'stable-1.13'
+
+commit f49772ac04303aee3637e01f8bf7728029fd8f06 (origin/stable-1.13)
+Merge: e472cdf6 679e5f47
+Author: Łukasz Stolarczuk <lukasz.stolarczuk@intel.com>
+Date:   Fri Jan 28 13:49:38 2022 +0100
+
+    Merge pull request #1240 from lukaszstolarczuk/merge-stable-1.12-into-stable-1.13
+    
+    Merge stable-1.12 into stable-1.13
+
+diff --git a/include/libpmemobj++/experimental/radix_tree.hpp b/include/libpmemobj++/experimental/radix_tree.hpp
+index 8f9efe29..1bb5235d 100644
+--- a/include/libpmemobj++/experimental/radix_tree.hpp
++++ b/include/libpmemobj++/experimental/radix_tree.hpp
+@@ -1,5 +1,5 @@
+ // SPDX-License-Identifier: BSD-3-Clause
+-/* Copyright 2020-2021, Intel Corporation */
++/* Copyright 2020-2022, Intel Corporation */
+ 
+ /**
+  * @file
+@@ -583,13 +583,12 @@ struct radix_tree<Key, Value, BytesView, MtMode>::node {
+ 	end() const;
+ 
+ 	template <bool Direction = direction::Forward, typename Ptr>
+-	auto find_child(const Ptr &n) const -> decltype(begin<Direction>());
++	iterator<Direction> find_child(const Ptr &n) const;
+ 
+ 	template <bool Direction = direction::Forward,
+ 		  typename Enable = typename std::enable_if<
+ 			  Direction == direction::Forward>::type>
+-	auto make_iterator(const atomic_pointer_type *ptr) const
+-		-> decltype(begin<Direction>());
++	iterator<Direction> make_iterator(const atomic_pointer_type *ptr) const;
+ 
+ 	uint8_t padding[256 - sizeof(parent) - sizeof(leaf) - sizeof(child) -
+ 			sizeof(byte) - sizeof(bit)];
+@@ -3003,9 +3002,9 @@ radix_tree<Key, Value, BytesView, MtMode>::node::end() const
+ 
+ template <typename Key, typename Value, typename BytesView, bool MtMode>
+ template <bool Direction, typename Ptr>
+-auto
++typename radix_tree<Key, Value, BytesView,
++		    MtMode>::node::template iterator<Direction>
+ radix_tree<Key, Value, BytesView, MtMode>::node::find_child(const Ptr &n) const
+-	-> decltype(begin<Direction>())
+ {
+ 	auto it = begin<Direction>();
+ 	while (it != end<Direction>()) {
+@@ -3018,9 +3017,10 @@ radix_tree<Key, Value, BytesView, MtMode>::node::find_child(const Ptr &n) const
+ 
+ template <typename Key, typename Value, typename BytesView, bool MtMode>
+ template <bool Direction, typename Enable>
+-auto
++typename radix_tree<Key, Value, BytesView,
++		    MtMode>::node::template iterator<Direction>
+ radix_tree<Key, Value, BytesView, MtMode>::node::make_iterator(
+-	const atomic_pointer_type *ptr) const -> decltype(begin<Direction>())
++	const atomic_pointer_type *ptr) const
+ {
+ 	return forward_iterator(ptr, this);
+ }
diff --git a/1.11.tar.gz b/1.11.tar.gz
deleted file mode 120000
index 46cf713..0000000
--- a/1.11.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeih7r3bhd3kxw4xvbas4ww3b63deiyyvqytuheyb7n45rniovbhsda
\ No newline at end of file
diff --git a/1.13.0.tar.gz b/1.13.0.tar.gz
new file mode 120000
index 0000000..db3f795
--- /dev/null
+++ b/1.13.0.tar.gz
@@ -0,0 +1 @@
+/ipfs/bafybeidwd4meadtwke3ayvkhywsr4b4g6dvbnfdjwsotmmnpzuompk7cmm
\ No newline at end of file
diff --git a/libpmemobj-cpp.changes b/libpmemobj-cpp.changes
index d52aa78..20394d7 100644
--- a/libpmemobj-cpp.changes
+++ b/libpmemobj-cpp.changes
@@ -1,4 +1,18 @@
 -------------------------------------------------------------------
+Wed May 25 10:09:03 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
+
+- Update to release 1.13.0
+  * Introduce experimental MPSC queue
+    (pmem::obj::experimental::mpsc_queue)
+  * Implement support for multi-reader single-writer concurrency
+    in pmem::obj::experimental::radix_tree
+  * Introduce basic_dram_inline_string which can be kept both on
+    pmem and dram
+  * Bug fixes:
+  * Fix radix_tree leaf layout to ensure proper key/value alignment
+- Add 0001-Fix-compliation-on-gcc-12.patch
+
+-------------------------------------------------------------------
 Fri Jan 22 12:36:37 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
 
 - Enable aarch64 build
diff --git a/libpmemobj-cpp.spec b/libpmemobj-cpp.spec
index ae3e43a..7d95c48 100644
--- a/libpmemobj-cpp.spec
+++ b/libpmemobj-cpp.spec
@@ -1,7 +1,7 @@
 #
 # spec file for package libpmemobj-cpp
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,13 +18,14 @@
 
 Name:           libpmemobj-cpp
 %define lname   libpmemobj-cpp0
-Version:        1.11
+Version:        1.13.0
 Release:        0
 Summary:        C++ bindings for libpmemobj
 License:        BSD-3-Clause
 Group:          Development/Libraries/C and C++
 URL:            http://pmem.io/pmdk/
 Source:         https://github.com/pmem/libpmemobj-cpp/archive/%version.tar.gz
+Patch1:         0001-Fix-compliation-on-gcc-12.patch
 BuildRequires:  cmake
 BuildRequires:  doxygen
 BuildRequires:  gcc-c++
@@ -70,6 +71,7 @@ Example C++ programs (with source) on how to use libpmemobj++.
 	-DTEST_SEGMENT_VECTOR_VECTOR_FIXEDSIZE=OFF \
 	-DTEST_ENUMERABLE_THREAD_SPECIFIC=OFF \
 %endif
+	-DTESTS_USE_VALGRIND:BOOL=OFF \
 	-DCMAKE_INSTALL_DOCDIR="%_docdir/%name"
 %cmake_build