commit:     915f56b619b4b9748abd815ab846adae9e17b382
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  4 23:16:53 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug  4 23:17:47 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=915f56b6

sci-libs/coinor-bcp: fix build with GCC 11

Closes: https://bugs.gentoo.org/786306
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sci-libs/coinor-bcp/coinor-bcp-1.4.4.ebuild        |  4 +++
 .../files/coinor-bcp-1.4.4-gcc11-exceptions.patch  | 36 ++++++++++++++++++++++
 2 files changed, 40 insertions(+)

diff --git a/sci-libs/coinor-bcp/coinor-bcp-1.4.4.ebuild 
b/sci-libs/coinor-bcp/coinor-bcp-1.4.4.ebuild
index b4b5f58fbe9..a904acfd133 100644
--- a/sci-libs/coinor-bcp/coinor-bcp-1.4.4.ebuild
+++ b/sci-libs/coinor-bcp/coinor-bcp-1.4.4.ebuild
@@ -25,6 +25,10 @@ BDEPEND="
        doc? ( app-doc/doxygen[dot] )
        test? ( sci-libs/coinor-sample )"
 
+PATCHES=(
+       "${FILESDIR}"/${P}-gcc11-exceptions.patch
+)
+
 src_prepare() {
        default
        # Prevent unneeded call to pkg-config that needs ${ED}'s in path.

diff --git a/sci-libs/coinor-bcp/files/coinor-bcp-1.4.4-gcc11-exceptions.patch 
b/sci-libs/coinor-bcp/files/coinor-bcp-1.4.4-gcc11-exceptions.patch
new file mode 100644
index 00000000000..d37e8b02439
--- /dev/null
+++ b/sci-libs/coinor-bcp/files/coinor-bcp-1.4.4-gcc11-exceptions.patch
@@ -0,0 +1,36 @@
+https://github.com/coin-or/Bcp/commit/e581a2dd4b55352eb318c15e8281b3cc9d8abe23.patch
+https://bugs.gentoo.org/786306
+
+From e581a2dd4b55352eb318c15e8281b3cc9d8abe23 Mon Sep 17 00:00:00 2001
+From: Julien Schueller <schuel...@phimeca.com>
+Date: Fri, 14 Aug 2020 09:58:47 +0200
+Subject: [PATCH] Fix deprecated dynamic exception warning
+
+warning: dynamic exception specifications are deprecated in C++11
+--- a/src/include/BCP_buffer.hpp
++++ b/src/include/BCP_buffer.hpp
+@@ -101,13 +101,13 @@ class BCP_buffer{
+    /**@name Modifying methods */
+    /*@{*/
+    /** Position the read head in the buffer. Must be between 0 and size(). */
+-   inline void set_position(const int pos) throw(BCP_fatal_error) {
++   inline void set_position(const int pos) {
+      if (pos < 0 || pos > size())
+        throw BCP_fatal_error("Incorrest buffer position setting.\n");
+      _pos = pos;
+    }
+    /** Cut off the end of the buffer. Must be between 0 and size(). */
+-   inline void set_size(const int s) throw(BCP_fatal_error) {
++   inline void set_size(const int s) {
+      if (s < 0 || s > size())
+        throw BCP_fatal_error("Incorrest buffer position setting.\n");
+      _size = s;
+@@ -221,7 +221,7 @@ class BCP_buffer{
+    */
+    template <class T> BCP_buffer& unpack(T*& values, int& length,
+                                        bool allocate = true)
+-     throw(BCP_fatal_error) {
++   {
+      if (allocate) {
+ #ifdef PARANOID
+        if (_pos + sizeof(int) > _size)

Reply via email to