commit:     f133f16b27b7e3036eb844ea3842ab6784c50797
Author:     Denis Pronin <dannftk <AT> yandex <DOT> ru>
AuthorDate: Mon Feb 19 12:48:00 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 21 02:55:35 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f133f16b

net-print/libcupsfilters: add a patch to fix building with c++17

c++17 does not support dynamic exception specification any longer

Signed-off-by: Denis Pronin <dannftk <AT> yandex.ru>
Closes: https://github.com/gentoo/gentoo/pull/35425
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/libcupsfilters-2.0.0-r3-c++17.patch              | 14 ++++++++++++++
 net-print/libcupsfilters/libcupsfilters-2.0.0-r3.ebuild    |  4 ++++
 2 files changed, 18 insertions(+)

diff --git a/net-print/libcupsfilters/files/libcupsfilters-2.0.0-r3-c++17.patch 
b/net-print/libcupsfilters/files/libcupsfilters-2.0.0-r3-c++17.patch
new file mode 100644
index 000000000000..8051718df9f5
--- /dev/null
+++ b/net-print/libcupsfilters/files/libcupsfilters-2.0.0-r3-c++17.patch
@@ -0,0 +1,14 @@
+--- a/cupsfilters/pdftoraster.cxx
++++ b/cupsfilters/pdftoraster.cxx
+@@ -2198,7 +2198,11 @@
+ // For compatibility with g++ >= 4.7 compilers _GLIBCXX_THROW
+ // should be used as a guard, otherwise use traditional definition
+ #ifndef _GLIBCXX_THROW
++#if __cplusplus < 201703L
+ #define _GLIBCXX_THROW throw
++#else
++#define _GLIBCXX_THROW(...) noexcept(false)
++#endif
+ #endif
+ 
+ void * operator new(size_t size) _GLIBCXX_THROW (std::bad_alloc)

diff --git a/net-print/libcupsfilters/libcupsfilters-2.0.0-r3.ebuild 
b/net-print/libcupsfilters/libcupsfilters-2.0.0-r3.ebuild
index af4e7ce42ad6..6a44a004e2a7 100644
--- a/net-print/libcupsfilters/libcupsfilters-2.0.0-r3.ebuild
+++ b/net-print/libcupsfilters/libcupsfilters-2.0.0-r3.ebuild
@@ -39,6 +39,10 @@ BDEPEND="
        test? ( media-fonts/dejavu )
 "
 
+PATCHES=(
+       "${FILESDIR}/${P}-r3-c++17.patch"
+)
+
 src_prepare() {
        default
 

Reply via email to