commit:     f0bd6e56c9205c48f9b25bc9c7d3cd2990f0d367
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 28 01:38:53 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jan 28 01:38:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f0bd6e56

dev-cpp/waylandpp: fix build (and runtime) w/ gcc 13

Generates programs, it seems, for others, so needs revbump.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../waylandpp/files/waylandpp-1.0.0-gcc-13.patch   | 51 ++++++++++++++++++++++
 dev-cpp/waylandpp/waylandpp-1.0.0-r1.ebuild        | 45 +++++++++++++++++++
 2 files changed, 96 insertions(+)

diff --git a/dev-cpp/waylandpp/files/waylandpp-1.0.0-gcc-13.patch 
b/dev-cpp/waylandpp/files/waylandpp-1.0.0-gcc-13.patch
new file mode 100644
index 000000000000..314b1aa5fb80
--- /dev/null
+++ b/dev-cpp/waylandpp/files/waylandpp-1.0.0-gcc-13.patch
@@ -0,0 +1,51 @@
+https://github.com/NilsBrause/waylandpp/pull/71
+
+From 3c441910aa25f57df2a4db55f75f5d99cea86620 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <[email protected]>
+Date: Sun, 8 Jan 2023 18:24:53 +0000
+Subject: [PATCH] add missing <cstdint> include
+
+Upcoming `gcc-13` made `<string>` leaner and does not include `<cstdint>`
+implicitly anymore. As a result build fails without the change as:
+
+    [  2%] Building CXX object 
CMakeFiles/wayland-scanner++.dir/scanner/scanner.cpp.o
+    scanner/scanner.cpp:378:3: error: 'uint32_t' does not name a type
+      378 |   uint32_t width = 0;
+          |   ^~~~~~~~
+--- a/include/wayland-client.hpp
++++ b/include/wayland-client.hpp
+@@ -29,6 +29,7 @@
+ /** \file */
+ 
+ #include <atomic>
++#include <cstdint>
+ #include <functional>
+ #include <memory>
+ #include <string>
+--- a/scanner/scanner.cpp
++++ b/scanner/scanner.cpp
+@@ -23,6 +23,7 @@
+ #include <vector>
+ #include <cctype>
+ #include <cmath>
++#include <cstdint>
+ #include <stdexcept>
+ 
+ #include "pugixml.hpp"
+@@ -1106,6 +1107,7 @@ int main(int argc, char *argv[])
+   wayland_hpp << "#pragma once" << std::endl
+               << std::endl
+               << "#include <array>" << std::endl
++              << "#include <cstdint>" << std::endl
+               << "#include <functional>" << std::endl
+               << "#include <memory>" << std::endl
+               << "#include <string>" << std::endl
+@@ -1125,6 +1127,7 @@ int main(int argc, char *argv[])
+     wayland_server_hpp << "#pragma once" << std::endl
+                        << std::endl
+                        << "#include <array>" << std::endl
++                       << "#include <cstdint>" << std::endl
+                        << "#include <functional>" << std::endl
+                        << "#include <memory>" << std::endl
+                        << "#include <string>" << std::endl
+

diff --git a/dev-cpp/waylandpp/waylandpp-1.0.0-r1.ebuild 
b/dev-cpp/waylandpp/waylandpp-1.0.0-r1.ebuild
new file mode 100644
index 000000000000..739434a74de6
--- /dev/null
+++ b/dev-cpp/waylandpp/waylandpp-1.0.0-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Wayland C++ bindings"
+HOMEPAGE="https://github.com/NilsBrause/waylandpp";
+
+LICENSE="MIT"
+IUSE="doc"
+SLOT="0/$(ver_cut 1-2)"
+
+if [[ ${PV} == *9999 ]] ; then
+       EGIT_REPO_URI="https://github.com/NilsBrause/waylandpp.git";
+       inherit git-r3
+else
+       SRC_URI="https://github.com/NilsBrause/waylandpp/archive/${PV}.tar.gz 
-> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+RDEPEND="
+       >=dev-libs/wayland-1.11.0
+       media-libs/mesa[wayland]
+       >=dev-libs/pugixml-1.9-r1
+"
+DEPEND="${RDEPEND}
+       doc? (
+               app-doc/doxygen
+               media-gfx/graphviz
+       )
+       "
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.0.0-gcc-13.patch
+)
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_DOCUMENTATION=$(usex doc)
+       )
+
+       cmake_src_configure
+}

Reply via email to