summaryrefslogtreecommitdiff
path: root/gui-libs/vte
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-09-26 21:08:42 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-09-26 21:08:42 +0100
commit90e9e4843d7d63c5e7fa1f5d6d6f4cc7350ce77c (patch)
tree16bc65eacafd47e7f03f3a52a344a17ba1f1b316 /gui-libs/vte
parent2ad011cd42b40aebf90105be4521fb1727266d1d (diff)
gentoo auto-resync : 26:09:2022 - 21:08:42
Diffstat (limited to 'gui-libs/vte')
-rw-r--r--gui-libs/vte/Manifest5
-rw-r--r--gui-libs/vte/files/vte-0.66.2-musl-W_EXITCODE.patch29
-rw-r--r--gui-libs/vte/metadata.xml13
-rw-r--r--gui-libs/vte/vte-0.70.0.ebuild101
4 files changed, 148 insertions, 0 deletions
diff --git a/gui-libs/vte/Manifest b/gui-libs/vte/Manifest
new file mode 100644
index 000000000000..0c28d179cf37
--- /dev/null
+++ b/gui-libs/vte/Manifest
@@ -0,0 +1,5 @@
+AUX vte-0.66.2-musl-W_EXITCODE.patch 779 BLAKE2B c35f3cd21e59b9693d75b00232ef8b2d95448f4ff7031142050e9286ff854a19095bb56cec471d50585302ac08ca7a1d40ad068c013d8af142b0165d4c8d2112 SHA512 a3dd31fb4fcc9c2e725cfd64bbc63def63c1c1a85b6896b4a82083d6ff985df885c3a587e8c3c001de2acae476cb950f05a1e31b33bb263ba4895d25fa1e275b
+DIST vte-0.70.0-command-notify.patch.xz 9040 BLAKE2B 108dd05d00409af90b1fd3e9b5c3b0e5586ac80204cef8840fda935204cbc480fec1193e2a0a2782f98e2b094c3caebbfe61cf18631b16921df05cf3808afd22 SHA512 92123e7f5cb6ef876f2b2b108dbef59bce212efebd64cd790d49d9ee3215344acd848eec5d326fe2c3bd236846ed3b896148024390093491b2f6e2f7c46e2bd1
+DIST vte-0.70.0.tar.bz2 499283 BLAKE2B 694cf4dfee334e9b54bb8e47f862167acbb8ffc7ac8e81889acd4786449cb45944a87a5adaa036f46458c350ca2119bb356e90dfa71f03638c9c2b14d2ccb877 SHA512 362b71296ae39a16b55402f524a39b063f66ae237e6e161ccc89ca2bb1f2a5c43f4d706d9f3bfae12a99fdb81c4e70408c7f3eca2c01316950b0a3a1a1d79423
+EBUILD vte-0.70.0.ebuild 3174 BLAKE2B 530bb2dfcbd6f6ffca44a159ff81c985d44b38ced9b20b8d3a03fa7f77d10dc56d80f3eef72af204db70f7321d74255fa369d8d7bd4346b720ae910fa45ad0cc SHA512 1f94cf039a34b63a10c37e9157b221dae4726cb2d1685460bf86f60ac66abd09645cd63225d85e28641f1a938c5a76cfc1eebeba85a6d4d5c90e7a500ee9b6f6
+MISC metadata.xml 519 BLAKE2B e34530c7e9882f9d61b6c1fe9cc1d523037bcc05034e3f98351ff33bb543a0a25d96c0debdd1572cfeb0d2166b41a324c7fdfed38482c11cbe053db96b312ef8 SHA512 313a0af6b28d47bf385594a9306f38476bbfcc44517d7219ba1d0a8ddee224a37cd4ee8f7c4f8aed8bd7eae0ad2b3461bc4ae49c5eb8b08bc61459c76bf7a5ef
diff --git a/gui-libs/vte/files/vte-0.66.2-musl-W_EXITCODE.patch b/gui-libs/vte/files/vte-0.66.2-musl-W_EXITCODE.patch
new file mode 100644
index 000000000000..b629613feaf6
--- /dev/null
+++ b/gui-libs/vte/files/vte-0.66.2-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/metadata.xml b/gui-libs/vte/metadata.xml
new file mode 100644
index 000000000000..da14147f6e15
--- /dev/null
+++ b/gui-libs/vte/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="icu">Enable legacy charset support using <pkg>dev-libs/icu</pkg></flag>
+ <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/vte-0.70.0.ebuild b/gui-libs/vte/vte-0.70.0.ebuild
new file mode 100644
index 000000000000..8f8f7969670b
--- /dev/null
+++ b/gui-libs/vte/vte-0.70.0.ebuild
@@ -0,0 +1,101 @@
+# 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 vala xdg
+
+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-gtk4" # vte_api_version + "-gtk4" in meson.build
+IUSE="+crypt debug gtk-doc +icu +introspection systemd +vala vanilla"
+KEYWORDS="~amd64"
+REQUIRED_USE="
+ gtk-doc? ( introspection )
+ vala? ( introspection )
+"
+
+# Upstream is hostile and refuses to upload tarballs.
+SRC_URI="https://gitlab.gnome.org/GNOME/${PN}/-/archive/${PV}/${P}.tar.bz2"
+SRC_URI="${SRC_URI} !vanilla? ( https://dev.gentoo.org/~mattst88/distfiles/${PN}-0.70.0-command-notify.patch.xz )"
+
+DEPEND="
+ >=gui-libs/gtk-4.0.1:4[introspection?]
+ >=dev-libs/fribidi-1.0.0
+ >=dev-libs/glib-2.52:2
+ crypt? ( >=net-libs/gnutls-3.2.7:0= )
+ icu? ( dev-libs/icu:= )
+ >=x11-libs/pango-1.22.0
+ >=dev-libs/libpcre2-10.21:=
+ systemd? ( >=sys-apps/systemd-220:= )
+ sys-libs/zlib
+ introspection? ( >=dev-libs/gobject-introspection-1.56:= )
+ x11-libs/pango[introspection?]
+"
+RDEPEND="${DEPEND}
+ ~gui-libs/vte-common-${PV}[systemd?]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/libxml2:2
+ dev-util/glib-utils
+ gtk-doc? ( dev-util/gi-docgen )
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ default
+ use vala && vala_setup
+ xdg_environment_reset
+
+ use elibc_musl && eapply "${FILESDIR}"/${PN}-0.66.2-musl-W_EXITCODE.patch
+
+ if ! use vanilla; then
+ # Part of https://src.fedoraproject.org/rpms/vte291/raw/f37/f/vte291-cntnr-precmd-preexec-scroll.patch
+ # Adds OSC 777 support for desktop notifications in gnome-terminal or elsewhere
+ eapply "${WORKDIR}"/${PN}-0.70.0-command-notify.patch
+ fi
+
+ # -Ddebugg option enables various debug support via VTE_DEBUG, but also ggdb3; strip the latter
+ sed -e '/ggdb3/d' -i meson.build || die
+ sed -i 's/vte_gettext_domain = vte_api_name/vte_gettext_domain = vte_gtk4_api_name/' meson.build || die
+}
+
+src_configure() {
+ local emesonargs=(
+ -Da11y=true
+ $(meson_use debug debugg)
+ $(meson_use gtk-doc docs)
+ $(meson_use introspection gir)
+ -Dfribidi=true # pulled in by pango anyhow
+ -Dglade=true
+ $(meson_use crypt gnutls)
+ -Dgtk3=false
+ -Dgtk4=true
+ $(meson_use icu)
+ $(meson_use systemd _systemd)
+ $(meson_use vala vapi)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_install # not meson_src_install because this would include einstalldocs, which would result in file collisions with x11-libs/vte
+ # Remove files that are provided by gui-libs/vte-common
+ rm "${ED}"/usr/libexec/vte-urlencode-cwd || die
+ rm "${ED}"/etc/profile.d/vte.sh || die
+ rm "${ED}"/etc/profile.d/vte.csh || die
+ if use systemd; then
+ rm "${ED}"/usr/lib/systemd/user/vte-spawn-.scope.d/defaults.conf || die
+ fi
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/ || die
+ mv "${ED}"/usr/share/doc/vte-${SLOT} "${ED}"/usr/share/gtk-doc/ || die
+ fi
+}