vte: Upgrade to 0.78.0

* Needed for Gnome-47 components e.g. gnome-console
* Add backports to fix build with clang libc++

(From OE-Core rev: 21b1248d6ebaeb45555280a54af150e61a235c8c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj
2024-10-04 22:57:53 -07:00
committed by Richard Purdie
parent d074707199
commit 7dc12a14d9
6 changed files with 4125 additions and 3 deletions

View File

@@ -0,0 +1,26 @@
From 01a5c8235f8b3f7c691921169ad125a395186b3f Mon Sep 17 00:00:00 2001
From: Christian Persch <chpe@src.gnome.org>
Date: Tue, 17 Sep 2024 18:21:32 +0200
Subject: [PATCH 1/3] tests: Remove excessive constrexpr
Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2819
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/vte/-/commit/c8838779d5f8c0e03411cef9775cd8f5a10a6204]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/color-test.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/color-test.cc b/src/color-test.cc
index 0ed9089..1bfad31 100644
--- a/src/color-test.cc
+++ b/src/color-test.cc
@@ -165,7 +165,7 @@ static void
test_color_to_string (void)
{
auto test = [](std::string str,
- bool alpha = false) constexpr noexcept -> void
+ bool alpha = false) noexcept -> void
{
auto const value = parse<rgba>(str);
assert(value);

View File

@@ -0,0 +1,25 @@
From 6b7440996819c12ec32bfaf4e73b27baeb273207 Mon Sep 17 00:00:00 2001
From: Christian Persch <chpe@src.gnome.org>
Date: Thu, 5 Sep 2024 23:59:05 +0200
Subject: [PATCH 2/3] lib: Typo fix
Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2816
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/vte/-/commit/e24087d953d9352c8bc46074e2662c80f9bfbc2d]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/vteinternal.hh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/vteinternal.hh b/src/vteinternal.hh
index 051e78c..b1adc19 100644
--- a/src/vteinternal.hh
+++ b/src/vteinternal.hh
@@ -1233,7 +1233,7 @@ public:
void reset_decoder();
void feed(std::string_view const& data,
- bool start_processsing_ = true);
+ bool start_processing_ = true);
void feed_child(char const* data,
size_t length) { assert(data); feed_child({data, length}); }
void feed_child(std::string_view const& str);

View File

@@ -0,0 +1,42 @@
From add3dd52d2e2c19dfa9319de8d8335dca802ba5a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 30 Sep 2024 22:36:09 -0700
Subject: [PATCH 3/3] Add missing system headers
These are found out when using clang libc++
algorithm is needed for std::max and std::min
string_view for string_view
Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/vte/-/issues/2824]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/icu-glue.hh | 1 +
src/minifont.cc | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/icu-glue.hh b/src/icu-glue.hh
index f2c3331..f72999b 100644
--- a/src/icu-glue.hh
+++ b/src/icu-glue.hh
@@ -20,6 +20,7 @@
#include <glib.h>
#include <memory>
#include <optional>
+#include <string_view>
namespace vte::base {
diff --git a/src/minifont.cc b/src/minifont.cc
index 9be96d6..f4fe0bf 100644
--- a/src/minifont.cc
+++ b/src/minifont.cc
@@ -18,6 +18,7 @@
#include "config.h"
+#include <algorithm>
#include <cmath>
#include "cairo-glue.hh"

View File

@@ -0,0 +1,102 @@
From 08b90d0a5bf8ceb68dd1b4e9ded0f8a2b5287a6e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 4 Oct 2024 21:22:52 -0700
Subject: [PATCH 5/5] color-parser: Use fast_float implementation for
from_chars
Removed dependency on c++ runtime to provide it.
Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2823
Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/vte/-/issues/2823#note_2239888]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/color-parser.cc | 12 ++++++------
src/termprops.hh | 12 ++++++------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/src/color-parser.cc b/src/color-parser.cc
index 02ec5d3a..42c51966 100644
--- a/src/color-parser.cc
+++ b/src/color-parser.cc
@@ -17,7 +17,7 @@
#include "color-parser.hh"
#include "color.hh"
-
+#include "fast_float.hh"
#include <algorithm>
#include <cctype>
#include <charconv>
@@ -298,7 +298,7 @@ parse_csslike(std::string const& spec) noexcept
auto value = uint64_t{};
auto const start = spec.c_str() + 1;
auto const end = spec.c_str() + spec.size();
- auto const rv = std::from_chars(start, end, value, 16);
+ auto const rv = fast_float::from_chars(start, end, value, 16);
if (rv.ec != std::errc{} || rv.ptr != end)
return std::nullopt;
@@ -424,7 +424,7 @@ parse_x11like(std::string const& spec) noexcept
auto value = uint64_t{};
auto const start = spec.c_str() + 1;
auto const end = spec.c_str() + spec.size();
- auto const rv = std::from_chars(start, end, value, 16);
+ auto const rv = fast_float::from_chars(start, end, value, 16);
if (rv.ec != std::errc{} || rv.ptr != end)
return std::nullopt;
@@ -447,13 +447,13 @@ parse_x11like(std::string const& spec) noexcept
// Note that the length check above makes sure that @r, @g, @b,
// don't exceed @bits.
auto r = UINT64_C(0), b = UINT64_C(0), g = UINT64_C(0);
- auto rv = std::from_chars(start, end, r, 16);
+ auto rv = fast_float::from_chars(start, end, r, 16);
if (rv.ec != std::errc{} || rv.ptr == end || *rv.ptr != '/')
return std::nullopt;
- rv = std::from_chars(rv.ptr + 1, end, g, 16);
+ rv = fast_float::from_chars(rv.ptr + 1, end, g, 16);
if (rv.ec != std::errc{} || rv.ptr == end || *rv.ptr != '/')
return std::nullopt;
- rv = std::from_chars(rv.ptr + 1, end, b, 16);
+ rv = fast_float::from_chars(rv.ptr + 1, end, b, 16);
if (rv.ec != std::errc{} || rv.ptr != end)
return std::nullopt;
diff --git a/src/termprops.hh b/src/termprops.hh
index 0d3f0f4c..a10fc7d1 100644
--- a/src/termprops.hh
+++ b/src/termprops.hh
@@ -17,6 +17,7 @@
#include <glib.h>
+#include "fast_float.hh"
#include "fwd.hh"
#include "uuid.hh"
#include "color.hh"
@@ -355,8 +356,8 @@ inline std::optional<TermpropValue>
parse_termprop_integral(std::string_view const& str) noexcept
{
auto v = T{};
- if (auto [ptr, err] = std::from_chars(std::begin(str),
- std::end(str),
+ if (auto [ptr, err] = fast_float::from_chars(str.data(),
+ str.data()+str.size(),
v);
err == std::errc() && ptr == std::end(str)) {
if constexpr (std::is_unsigned_v<T>) {
@@ -389,10 +390,9 @@ inline std::optional<TermpropValue>
parse_termprop_floating(std::string_view const& str) noexcept
{
auto v = T{};
- if (auto [ptr, err] = std::from_chars(std::begin(str),
- std::end(str),
- v,
- std::chars_format::general);
+ if (auto [ptr, err] = fast_float::from_chars(str.data(),
+ str.data() + str.size(),
+ v);
err == std::errc() &&
ptr == std::end(str) &&
std::isfinite(v)) {

View File

@@ -15,11 +15,16 @@ DEPENDS = "glib-2.0 glib-2.0-native gtk+3 libpcre2 libxml2-native gperf-native i
GIR_MESON_OPTION = 'gir'
GIDOCGEN_MESON_OPTION = "docs"
inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-introspection systemd vala
SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"
SRC_URI[archive.sha256sum] = "f678e94c056f377fd0021214adff5450cb172e9a08b160911181ddff7b7d5d60"
SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch \
file://0001-tests-Remove-excessive-constrexpr.patch \
file://0002-lib-Typo-fix.patch \
file://0003-Add-missing-system-headers.patch \
file://0004-fast_float-Add-single-header-library-for-from_char-i.patch \
file://0005-color-parser-Use-fast_float-implementation-for-from_.patch \
"
SRC_URI[archive.sha256sum] = "07f09c6228a8bb3c1599dd0f5a6ec797b30d3010c3ac91cf21b69d9635dfaf7c"
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"