commit:     de122ee20e5f4b74dd53fbe68fcc25de0de8dbe3
Author:     Kostadin Shishmanov <kocelfc <AT> tutanota <DOT> com>
AuthorDate: Tue Nov  7 17:45:28 2023 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Tue Nov  7 18:50:12 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de122ee2

sci-mathematics/opensmt: fix build with gcc 14

Closes: https://bugs.gentoo.org/916855
Signed-off-by: Kostadin Shishmanov <kocelfc <AT> tutanota.com>
Closes: https://github.com/gentoo/gentoo/pull/33708
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>

 .../opensmt/files/opensmt-2.5.2-gcc-14.patch       | 68 ++++++++++++++++++++++
 sci-mathematics/opensmt/opensmt-2.5.2.ebuild       |  4 +-
 2 files changed, 71 insertions(+), 1 deletion(-)

diff --git a/sci-mathematics/opensmt/files/opensmt-2.5.2-gcc-14.patch 
b/sci-mathematics/opensmt/files/opensmt-2.5.2-gcc-14.patch
new file mode 100644
index 000000000000..c5957641fff7
--- /dev/null
+++ b/sci-mathematics/opensmt/files/opensmt-2.5.2-gcc-14.patch
@@ -0,0 +1,68 @@
+From f30e983f876df3bd34571f9d554b3ebe226dd4bd Mon Sep 17 00:00:00 2001
+From: Kostadin Shishmanov <[email protected]>
+Date: Tue, 7 Nov 2023 16:38:39 +0200
+Subject: [PATCH] Add include <algorithm> to fix building with gcc 14
+
+Gentoo bug:
+https://bugs.gentoo.org/916855
+
+Upstream PR:
+https://github.com/usi-verification-and-security/opensmt/pull/653
+
+Signed-off-by: Kostadin Shishmanov <[email protected]>
+---
+ src/logics/Logic.cc               | 1 +
+ src/pterms/PtStore.cc             | 1 +
+ src/simplifiers/BoolRewriting.cc  | 1 +
+ src/tsolvers/egraph/EnodeStore.cc | 2 ++
+ 4 files changed, 5 insertions(+)
+
+diff --git a/src/logics/Logic.cc b/src/logics/Logic.cc
+index 2619df1fd..84b04d515 100644
+--- a/src/logics/Logic.cc
++++ b/src/logics/Logic.cc
+@@ -21,6 +21,7 @@
+ #include <queue>
+ #include <set>
+ #include <sstream>
++#include <algorithm>
+ 
+ using namespace std;
+ 
+diff --git a/src/pterms/PtStore.cc b/src/pterms/PtStore.cc
+index 377642947..63c6f56f3 100644
+--- a/src/pterms/PtStore.cc
++++ b/src/pterms/PtStore.cc
+@@ -29,6 +29,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #include "OsmtApiException.h"
+ 
+ #include <sstream>
++#include <algorithm>
+ 
+ const int PtStore::ptstore_vec_idx = 1;
+ const int PtStore::ptstore_buf_idx = 2;
+diff --git a/src/simplifiers/BoolRewriting.cc 
b/src/simplifiers/BoolRewriting.cc
+index e2aa52b2c..196a642c4 100644
+--- a/src/simplifiers/BoolRewriting.cc
++++ b/src/simplifiers/BoolRewriting.cc
+@@ -5,6 +5,7 @@
+ #include "BoolRewriting.h"
+ #include "Logic.h"
+ #include <unordered_set>
++#include <algorithm>
+ 
+ // Replace subtrees consisting only of ands / ors with a single and / or term.
+ // Search a maximal section of the tree consisting solely of ands / ors.  The
+diff --git a/src/tsolvers/egraph/EnodeStore.cc 
b/src/tsolvers/egraph/EnodeStore.cc
+index 2bed3302b..de2216410 100644
+--- a/src/tsolvers/egraph/EnodeStore.cc
++++ b/src/tsolvers/egraph/EnodeStore.cc
+@@ -28,6 +28,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+ #include "Symbol.h"
+ #include "Logic.h"
+ 
++#include <algorithm>
++
+ EnodeStore::EnodeStore(Logic& l)
+       : logic(l)
+       , ea(1024*1024)

diff --git a/sci-mathematics/opensmt/opensmt-2.5.2.ebuild 
b/sci-mathematics/opensmt/opensmt-2.5.2.ebuild
index 04e39c2ae269..73c64f7b50df 100644
--- a/sci-mathematics/opensmt/opensmt-2.5.2.ebuild
+++ b/sci-mathematics/opensmt/opensmt-2.5.2.ebuild
@@ -36,7 +36,9 @@ BDEPEND="
        test? ( dev-cpp/gtest )
 "
 
-# PATCHES=( "${FILESDIR}"/${PN}-2.4.3-musl.patch )
+PATCHES=(
+       "${FILESDIR}/${PN}-2.5.2-gcc-14.patch"
+)
 
 src_prepare() {
        cmake_src_prepare

Reply via email to