summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-01-08 02:09:52 +0000
committerSam James <sam@gentoo.org>2023-01-08 02:10:15 +0000
commit72f5e50722175ca0173b41acf1ed4fc2ba957fc6 (patch)
treec3a5ab0c1fc5181ec4e6f0a91d2418a36faf8b76 /dev-cpp/catch
parentprofiles: mask sci-mathematics/acl2 on musl (diff)
downloadgentoo-72f5e50722175ca0173b41acf1ed4fc2ba957fc6.tar.gz
gentoo-72f5e50722175ca0173b41acf1ed4fc2ba957fc6.tar.bz2
gentoo-72f5e50722175ca0173b41acf1ed4fc2ba957fc6.zip
dev-cpp/catch: fix build w/ gcc 13
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-cpp/catch')
-rw-r--r--dev-cpp/catch/catch-3.0.1.ebuild6
-rw-r--r--dev-cpp/catch/files/catch-3.0.1-gcc13.patch61
2 files changed, 66 insertions, 1 deletions
diff --git a/dev-cpp/catch/catch-3.0.1.ebuild b/dev-cpp/catch/catch-3.0.1.ebuild
index 7a139467f1bb..f9a931f7a5ff 100644
--- a/dev-cpp/catch/catch-3.0.1.ebuild
+++ b/dev-cpp/catch/catch-3.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -28,6 +28,10 @@ RESTRICT="!test? ( test )"
BDEPEND="test? ( ${PYTHON_DEPS} )"
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.1-gcc13.patch
+)
+
pkg_setup() {
use test && python-any-r1_pkg_setup
}
diff --git a/dev-cpp/catch/files/catch-3.0.1-gcc13.patch b/dev-cpp/catch/files/catch-3.0.1-gcc13.patch
new file mode 100644
index 000000000000..88431c2704d6
--- /dev/null
+++ b/dev-cpp/catch/files/catch-3.0.1-gcc13.patch
@@ -0,0 +1,61 @@
+https://github.com/catchorg/Catch2/pull/2611
+
+From 12a93b20b9aec1df537781c9c0712ec24d31d739 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 8 Jan 2023 02:03:32 +0000
+Subject: [PATCH] Fix build with GCC 13 (add missing <cstdint> include)
+
+GCC 13 (as usual for new compiler releases) shuffles around some
+internal includes and so <cstdint> is no longer transitively included.
+
+Explicitly include <cstdint> for uint64_t.
+
+```
+FAILED: src/CMakeFiles/Catch2.dir/catch2/internal/catch_clara.cpp.o
+/usr/lib/ccache/bin/g++-13 -I/var/tmp/portage/dev-cpp/catch-3.0.1/work/Catch2-3.0.1/src/catch2/.. -I/var/tmp/portage/dev-cpp/catch-3.0.1/work/Catch2-3.0.1_build/generated-includes -O2 -pipe
+-march=native -fdiagnostics-color=always -frecord-gcc-switches -Wreturn-type -D_GLIBCXX_ASSERTIONS -ggdb3 -fdiagnostics-color=always
+-ffile-prefix-map=/var/tmp/portage/dev-cpp/catch-3.0.1/work/Catch2-3.0.1=. -Wall -Wc++20-compat -Wcast-align -Wcatch-value -Wdeprecated -Wexceptions -Wextra -Wextra-semi -Wfloat-equal -Winit-self
+-Wmisleading-indentation -Wmismatched-new-delete -Wmismatched-tags -Wmissing-braces -Wmissing-declarations -Wmissing-noreturn -Wnull-dereference -Wold-style-cast -Woverloaded-virtual -Wparentheses
+-Wpedantic -Wreorder -Wshadow -Wstrict-aliasing -Wsuggest-override -Wundef -Wuninitialized -Wunreachable-code -Wunused -Wunused-function -Wunused-parameter -Wvla -MD -MT
+src/CMakeFiles/Catch2.dir/catch2/internal/catch_clara.cpp.o -MF src/CMakeFiles/Catch2.dir/catch2/internal/catch_clara.cpp.o.d -o src/CMakeFiles/Catch2.dir/catch2/internal/catch_clara.cpp.o -c
+/var/tmp/portage/dev-cpp/catch-3.0.1/work/Catch2-3.0.1/src/catch2/internal/catch_clara.cpp
+In file included from /var/tmp/portage/dev-cpp/catch-3.0.1/work/Catch2-3.0.1/src/catch2/internal/catch_clara.cpp:12:
+/var/tmp/portage/dev-cpp/catch-3.0.1/work/Catch2-3.0.1/src/catch2/../catch2/internal/catch_string_manip.hpp:47:14: error: 'uint64_t' in namespace 'std' does not name a type; did you mean 'wint_t'?
+ 47 | std::uint64_t m_count;
+ | ^~~~~~~~
+ | wint_t
+/var/tmp/portage/dev-cpp/catch-3.0.1/work/Catch2-3.0.1/src/catch2/../catch2/internal/catch_string_manip.hpp:51:42: error: expected ')' before 'count'
+ 51 | constexpr pluralise(std::uint64_t count, StringRef label):
+ | ~ ^~~~~~
+ | )
+```
+--- a/src/catch2/catch_test_case_info.hpp
++++ b/src/catch2/catch_test_case_info.hpp
+@@ -15,6 +15,7 @@
+ #include <catch2/internal/catch_unique_ptr.hpp>
+
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+--- a/src/catch2/internal/catch_string_manip.hpp
++++ b/src/catch2/internal/catch_string_manip.hpp
+@@ -10,6 +10,7 @@
+
+ #include <catch2/internal/catch_stringref.hpp>
+
++#include <cstdint>
+ #include <string>
+ #include <iosfwd>
+ #include <vector>
+--- a/src/catch2/internal/catch_xmlwriter.cpp
++++ b/src/catch2/internal/catch_xmlwriter.cpp
+@@ -11,6 +11,7 @@
+ #include <catch2/internal/catch_enforce.hpp>
+ #include <catch2/internal/catch_xmlwriter.hpp>
+
++#include <cstdint>
+ #include <iomanip>
+ #include <type_traits>
+