summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-03-14 22:45:05 +0000
committerSam James <sam@gentoo.org>2023-03-14 22:46:19 +0000
commitc79a0e06a7be1a76ec0368168cafdcf708b977b7 (patch)
tree45782a6f2547ee29966b4221ff724da7711d5f29 /net-print/cups-filters
parentnet-misc/nextcloud-client: add 3.7.4 (diff)
downloadgentoo-c79a0e06a7be1a76ec0368168cafdcf708b977b7.tar.gz
gentoo-c79a0e06a7be1a76ec0368168cafdcf708b977b7.tar.bz2
gentoo-c79a0e06a7be1a76ec0368168cafdcf708b977b7.zip
net-print/cups-filters: fix build w/ C++17
Closes: https://bugs.gentoo.org/898076 Closes: https://bugs.gentoo.org/901243 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-print/cups-filters')
-rw-r--r--net-print/cups-filters/cups-filters-1.28.17-r1.ebuild4
-rw-r--r--net-print/cups-filters/files/cups-filters-1.28.17-c++17.patch31
2 files changed, 35 insertions, 0 deletions
diff --git a/net-print/cups-filters/cups-filters-1.28.17-r1.ebuild b/net-print/cups-filters/cups-filters-1.28.17-r1.ebuild
index 2e2bbd3cef13..13b7dac3fc7b 100644
--- a/net-print/cups-filters/cups-filters-1.28.17-r1.ebuild
+++ b/net-print/cups-filters/cups-filters-1.28.17-r1.ebuild
@@ -51,6 +51,10 @@ BDEPEND="
test? ( media-fonts/dejavu )
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.28.17-c++17.patch
+)
+
src_configure() {
# Bug #898156
append-cxxflags -std=c++17
diff --git a/net-print/cups-filters/files/cups-filters-1.28.17-c++17.patch b/net-print/cups-filters/files/cups-filters-1.28.17-c++17.patch
new file mode 100644
index 000000000000..f8f63ccd4724
--- /dev/null
+++ b/net-print/cups-filters/files/cups-filters-1.28.17-c++17.patch
@@ -0,0 +1,31 @@
+https://bugs.gentoo.org/901243
+(and https://bugs.gentoo.org/898076)
+https://github.com/OpenPrinting/cups-filters/pull/505
+
+From 104fba23b1c0c67c92777b3165c6dca99558a656 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 6 Feb 2023 18:13:52 -0800
+Subject: [PATCH] use noexcept(false) instead of throw() from c++17 onwards
+
+C++17 removed dynamic exception specifications [1]
+they had been deprecated since C++11, replace
+throw(whatever) with noexcept(false).
+
+[1] https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0003r5.html
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/filter/pdftoraster.cxx
++++ b/filter/pdftoraster.cxx
+@@ -2148,7 +2148,11 @@ int main(int argc, char *argv[]) {
+ /* 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(x) noexcept(false)
++#endif
+ #endif
+
+ void * operator new(size_t size) _GLIBCXX_THROW (std::bad_alloc)
+