From 412ac6d13d566be140379e258a1d6a86154c597b Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 14 Oct 2026 07:49:13 +0200 Subject: [PATCH 1/2] vte: Update version from 0.64.0 to 0.84.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 0.84.1 is the newest release (2026-07-18). Besides the GTK 3 library libvte-2.91.so.0 (same soname, so xfce4-terminal keeps working), the package now also contains the GTK 4 flavour libvte-2.91-gtk4.so.0. The installed VTE 0.64.0 is from 2021 and too old for xfce4-terminal 1.1.5, setting the property scroll-unit-is-pixels (VTE 0.66 and later). At startup it logs: (xfce4-terminal:102084): GLib-GObject-CRITICAL **: 08:22:41.156: g_object_set_is_valid_property: object class 'TerminalWidget' has no property named 'scroll-unit-is-pixels' With 0.84.1 the message is gone. The release tarball vendors fast_float, fmt and simdutf in subprojects/. fast_float and simdutf are dependency() fallbacks, and bee’s meson DEFCONFIG passes `--wrap-mode=nofallback`, so allow exactly these two with `--force-fallback-for`. None of them gets installed. meson.build accepts g++ >= 12.1, but since commit 33e3bcec ("all: Use out_ptr") the sources use `std::out_ptr`, which libstdc++ only provides since GCC 14. With GCC 12.5 the build fails: FAILED: src/libvte-2.91.so.0.8400.1.p/vte.cc.o ../source/src/vte.cc:7921:72: error: ‘out_ptr’ is not a member of ‘std’; did you mean ‘auto_ptr’? Patch the source to pass plain pointers at the three call sites instead. Tested with `fakeroot beesh -c` on hotelcalifornia, and under Xvfb: vte-2.91, vte-2.91-gtk4, and /usr/bin/xfce4-terminal (VTE_VERSION=8401) start, run a child, and render UTF-8, bold and colours. Assisted-by: claude-opus-5.5 (Claude Code) --- vte.be0 | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/vte.be0 b/vte.be0 index 5ed6c2d32..f16e779b3 100755 --- a/vte.be0 +++ b/vte.be0 @@ -1,11 +1,12 @@ #!/usr/bin/env beesh -# BEE_VERSION vte-0.64.0-0 +# BEE_VERSION vte-0.84.1-0 # SRCURL[0]="https://download.gnome.org/sources/vte/${PKGVERSION[2]}/vte-${PKGVERSION}.tar.xz" -SRCURL[0]="https://beehive.molgen.mpg.de/b4d21f17b1c80381f9f8c387d1756df3/vte-0.64.0.tar.xz" +SRCURL[0]="https://beehive.molgen.mpg.de/ea4e16dbba54a6b8ba2cbb95cfdaa217/vte-0.84.1.tar.xz" -# PATCHURL+=() +# std::out_ptr needs libstdc++ from GCC 14, but meson.build accepts GCC 12.1. +PATCHURL+=("https://beehive.molgen.mpg.de/a10f77b0a96086ce67dbfbed929100b8/vte-0.84.1-do-not-use-std-out_ptr.patch") # build_in_sourcedir @@ -21,7 +22,13 @@ mee_patch() { } mee_configure() { - bee_configure + # The release tarball ships the sources of fast_float, fmt and simdutf + # under subprojects/. fmt is pulled in with an explicit subproject() + # call, but the other two are dependency() fallbacks, which bee's + # --wrap-mode=nofallback forbids. Allow exactly those two; they are + # header-only or built statically and are not installed. + bee_configure \ + --force-fallback-for=fast_float,simdutf } #mee_build() { From b69c34997ec7d432f32c71f3605b8021ccf4b95a Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 14 Oct 2026 08:00:55 +0200 Subject: [PATCH 2/2] vte: Keep the test terminal out of menus Since 0.80.0, `-Dapp=true` (the default) also installs org.gnome.Vte.App.Gtk3.desktop and org.gnome.Vte.App.Gtk4.desktop into share/applications and share/xdg-terminals. The VTE test terminals then show up in application menus, and xdg-terminal-exec may pick one of them. 0.64.0 installed /usr/bin/vte-2.91 without a desktop file. Keep the binaries for testing, but remove both directories. Tested with `fakeroot beesh -c`: the package contains /usr/bin/vte-2.91 and /usr/bin/vte-2.91-gtk4, and no .desktop file. Assisted-by: claude-opus-5.5 (Claude Code) --- vte.be0 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vte.be0 b/vte.be0 index f16e779b3..670f090d5 100755 --- a/vte.be0 +++ b/vte.be0 @@ -38,3 +38,9 @@ mee_configure() { #mee_install() { # bee_install #} + +mee_install_post() { + # Keep the vte-2.91 test terminals, but out of application menus and out + # of xdg-terminal-exec's list of terminals. + rm -r ${D}${PREFIX}/share/applications ${D}${PREFIX}/share/xdg-terminals +}