commit:     3520c896622945dc7372c17e6655643317ca5b92
Author:     Pascal Jäger <pascal.jaeger <AT> leimstift <DOT> de>
AuthorDate: Mon Sep 26 13:53:31 2022 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Mon Sep 26 14:48:31 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3520c896

gui-libs/vte-common: Add new package, version 0.70.0

To be used by x11-libs/vte and gui-libs/vte.

Signed-off-by: Pascal Jäger <pascal.jaeger <AT> leimstift.de>
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 gui-libs/vte-common/Manifest                       |  1 +
 .../files/vte-common-0.70.0-musl-W_EXITCODE.patch  | 29 ++++++++
 gui-libs/vte-common/metadata.xml                   | 12 ++++
 gui-libs/vte-common/vte-common-0.70.0.ebuild       | 78 ++++++++++++++++++++++
 4 files changed, 120 insertions(+)

diff --git a/gui-libs/vte-common/Manifest b/gui-libs/vte-common/Manifest
new file mode 100644
index 000000000000..fce788af39c0
--- /dev/null
+++ b/gui-libs/vte-common/Manifest
@@ -0,0 +1 @@
+DIST vte-0.70.0.tar.bz2 499283 BLAKE2B 
694cf4dfee334e9b54bb8e47f862167acbb8ffc7ac8e81889acd4786449cb45944a87a5adaa036f46458c350ca2119bb356e90dfa71f03638c9c2b14d2ccb877
 SHA512 
362b71296ae39a16b55402f524a39b063f66ae237e6e161ccc89ca2bb1f2a5c43f4d706d9f3bfae12a99fdb81c4e70408c7f3eca2c01316950b0a3a1a1d79423

diff --git a/gui-libs/vte-common/files/vte-common-0.70.0-musl-W_EXITCODE.patch 
b/gui-libs/vte-common/files/vte-common-0.70.0-musl-W_EXITCODE.patch
new file mode 100644
index 000000000000..b629613feaf6
--- /dev/null
+++ b/gui-libs/vte-common/files/vte-common-0.70.0-musl-W_EXITCODE.patch
@@ -0,0 +1,29 @@
+https://gitlab.gnome.org/GNOME/vte/-/issues/72
+https://bugs.gentoo.org/835489
+https://bugs.gentoo/org/554416
+
+From 1c1de9e9119cf1e0ef45a594ca9bbf306d2209cb Mon Sep 17 00:00:00 2001
+From:
+Date: Fri, 12 Mar 2021 08:41:13 -0600
+Subject: [PATCH] Expanded non-standard W_EXITCODE macro for Musl compatibility
+
+--- a/src/widget.cc
++++ b/src/widget.cc
+@@ -20,8 +20,6 @@
+ 
+ #include "widget.hh"
+ 
+-#include <sys/wait.h> // for W_EXITCODE
+-
+ #include <exception>
+ #include <new>
+ #include <string>
+@@ -235,7 +233,7 @@ void
+ Widget::dispose() noexcept
+ {
+         if (m_terminal->terminate_child()) {
+-                int status = W_EXITCODE(0, SIGKILL);
++                int status = (0) << 8 | (SIGKILL); // W_EXITCODE(ret, sig)
+                 emit_child_exited(status);
+         }
+ }

diff --git a/gui-libs/vte-common/metadata.xml b/gui-libs/vte-common/metadata.xml
new file mode 100644
index 000000000000..27f2ae98ad3b
--- /dev/null
+++ b/gui-libs/vte-common/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="project">
+               <email>gn...@gentoo.org</email>
+               <name>Gentoo GNOME Desktop</name>
+       </maintainer>
+       <use>
+               <flag name="systemd">Support moving terminal child processes to 
their own systemd user scopes
+                       to avoid terminal getting killed due to child causing 
OOM</flag>
+       </use>
+</pkgmetadata>

diff --git a/gui-libs/vte-common/vte-common-0.70.0.ebuild 
b/gui-libs/vte-common/vte-common-0.70.0.ebuild
new file mode 100644
index 000000000000..56323d80fd76
--- /dev/null
+++ b/gui-libs/vte-common/vte-common-0.70.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit gnome.org meson python-any-r1
+
+DESCRIPTION="Library providing a virtual terminal emulator widget"
+HOMEPAGE="https://wiki.gnome.org/Apps/Terminal/VTE 
https://gitlab.gnome.org/GNOME/vte";
+
+# Once SIXEL support ships (0.66 or later), might need xterm license (but code 
might be considered upgraded to LGPL-3+)
+LICENSE="LGPL-3+ GPL-3+"
+SLOT="2.91" # vte_api_version in meson.build
+IUSE="systemd"
+KEYWORDS="~amd64"
+
+# Upstream is hostile and refuses to upload tarballs.
+SRC_URI="https://gitlab.gnome.org/GNOME/vte-${PV}/-/archive/${PV}/vte-${PV}.tar.bz2";
+
+DEPEND="
+       || ( >=gui-libs/gtk-4.0.1:4 >=x11-libs/gtk+-3.24.22:3 )
+       >=dev-libs/fribidi-1.0.0
+       >=dev-libs/glib-2.52:2
+       >=x11-libs/pango-1.22.0
+       >=dev-libs/libpcre2-10.21
+       systemd? ( >=sys-apps/systemd-220:= )
+       sys-libs/zlib
+       x11-libs/pango
+"
+RDEPEND="
+       !<x11-libs/vte-0.70.0
+"
+BDEPEND="
+       ${PYTHON_DEPS}
+       dev-libs/libxml2:2
+       dev-util/glib-utils
+       >=sys-devel/gettext-0.19.8
+       virtual/pkgconfig
+"
+
+S="${WORKDIR}/vte-0.70.0"
+
+src_prepare() {
+       default
+       use elibc_musl && eapply 
"${FILESDIR}"/${PN}-0.70.0-musl-W_EXITCODE.patch
+}
+
+src_configure() {
+       local emesonargs=(
+               -Da11y=false
+               -Ddebugg=false
+               -Ddocs=false
+               -Dgir=false
+               -Dfribidi=true # pulled in by pango anyhow
+               -Dglade=false
+               -Dgnutls=false
+               -Dgtk3=false
+               -Dgtk4=false
+               -Dicu=false
+               $(meson_use systemd _systemd)
+               -Dvapi=false
+       )
+       meson_src_configure
+}
+
+src_install() {
+       exeinto /usr/libexec/
+       doexe "${BUILD_DIR}"/src/vte-urlencode-cwd
+       insinto /etc/profile.d/
+       newins "${BUILD_DIR}"/src/vte.sh vte-${SLOT}.sh
+       newins "${BUILD_DIR}"/src/vte.csh vte-${SLOT}.csh
+       if  use systemd; then
+               insinto /usr/lib/systemd/user/vte-spawn-.scode.d/
+               newins "${S}"/src/vte-spawn-.scope.conf defaults.conf
+       fi
+       einstalldocs
+}

Reply via email to