2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
|
|
6 |
|
PYTHON_COMPAT=( python3_{9..10} )
|
|
5 |
PYTHON_COMPAT=( python3_{10..11} )
|
7 |
6 |
|
8 |
7 |
inherit gnome.org meson python-any-r1 vala xdg
|
9 |
8 |
|
10 |
9 |
DESCRIPTION="Library providing a virtual terminal emulator widget"
|
11 |
|
HOMEPAGE="https://wiki.gnome.org/Apps/Terminal/VTE https://gitlab.gnome.org/GNOME/vte"
|
|
10 |
HOMEPAGE="https://wiki.gnome.org/Apps/Terminal/VTE"
|
12 |
11 |
|
13 |
12 |
# Once SIXEL support ships (0.66 or later), might need xterm license (but code might be considered upgraded to LGPL-3+)
|
14 |
13 |
LICENSE="LGPL-3+ GPL-3+"
|
15 |
|
SLOT="2.91"
|
|
14 |
SLOT="2.91" # vte_api_version in meson.build
|
16 |
15 |
IUSE="+crypt debug gtk-doc +icu +introspection systemd +vala vanilla"
|
17 |
|
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
|
18 |
|
REQUIRED_USE="vala? ( introspection )"
|
|
16 |
KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
|
|
17 |
REQUIRED_USE="
|
|
18 |
gtk-doc? ( introspection )
|
|
19 |
vala? ( introspection )
|
|
20 |
"
|
19 |
21 |
|
20 |
22 |
# Upstream is hostile and refuses to upload tarballs.
|
21 |
23 |
SRC_URI="https://gitlab.gnome.org/GNOME/${PN}/-/archive/${PV}/${P}.tar.bz2"
|
22 |
|
SRC_URI="${SRC_URI} !vanilla? ( https://dev.gentoo.org/~mattst88/distfiles/${PN}-0.68.0-command-notify.patch.xz )"
|
|
24 |
SRC_URI="${SRC_URI} !vanilla? ( https://dev.gentoo.org/~mattst88/distfiles/${PN}-0.70.0-command-notify.patch.xz )"
|
23 |
25 |
|
24 |
|
RDEPEND="
|
|
26 |
DEPEND="
|
25 |
27 |
>=x11-libs/gtk+-3.24.22:3[introspection?]
|
26 |
28 |
>=dev-libs/fribidi-1.0.0
|
27 |
|
>=dev-libs/glib-2.52:2
|
|
29 |
>=dev-libs/glib-2.60:2
|
28 |
30 |
crypt? ( >=net-libs/gnutls-3.2.7:0= )
|
29 |
31 |
icu? ( dev-libs/icu:= )
|
30 |
32 |
>=x11-libs/pango-1.22.0
|
31 |
|
>=dev-libs/libpcre2-10.21
|
|
33 |
>=dev-libs/libpcre2-10.21:=
|
32 |
34 |
systemd? ( >=sys-apps/systemd-220:= )
|
33 |
35 |
sys-libs/zlib
|
34 |
36 |
introspection? ( >=dev-libs/gobject-introspection-1.56:= )
|
35 |
37 |
x11-libs/pango[introspection?]
|
36 |
38 |
"
|
37 |
|
DEPEND="${RDEPEND}"
|
|
39 |
RDEPEND="${DEPEND}
|
|
40 |
~gui-libs/vte-common-${PV}[systemd?]
|
|
41 |
"
|
38 |
42 |
BDEPEND="
|
39 |
43 |
${PYTHON_DEPS}
|
40 |
44 |
dev-libs/libxml2:2
|
41 |
45 |
dev-util/glib-utils
|
42 |
|
gtk-doc? ( >=dev-util/gtk-doc-1.13
|
43 |
|
app-text/docbook-xml-dtd:4.1.2 )
|
|
46 |
gtk-doc? ( dev-util/gi-docgen )
|
44 |
47 |
>=sys-devel/gettext-0.19.8
|
45 |
48 |
virtual/pkgconfig
|
46 |
|
|
47 |
49 |
vala? ( $(vala_depend) )
|
48 |
50 |
"
|
49 |
51 |
|
50 |
|
PATCHES=(
|
51 |
|
"${FILESDIR}"/${PN}-0.64.1-meson-Find-python-explicitly-to-honor-downstream-pyt.patch
|
52 |
|
)
|
53 |
|
|
54 |
52 |
src_prepare() {
|
55 |
53 |
default
|
56 |
54 |
use vala && vala_setup
|
... | ... | |
59 |
57 |
use elibc_musl && eapply "${FILESDIR}"/${PN}-0.66.2-musl-W_EXITCODE.patch
|
60 |
58 |
|
61 |
59 |
if ! use vanilla; then
|
62 |
|
# Part of https://src.fedoraproject.org/rpms/vte291/raw/f31/f/vte291-cntnr-precmd-preexec-scroll.patch
|
|
60 |
# Part of https://src.fedoraproject.org/rpms/vte291/raw/f37/f/vte291-cntnr-precmd-preexec-scroll.patch
|
63 |
61 |
# Adds OSC 777 support for desktop notifications in gnome-terminal or elsewhere
|
64 |
|
eapply "${WORKDIR}"/${PN}-0.68.0-command-notify.patch
|
|
62 |
eapply "${WORKDIR}"/${PN}-0.70.0-command-notify.patch
|
65 |
63 |
fi
|
66 |
64 |
|
67 |
65 |
# -Ddebugg option enables various debug support via VTE_DEBUG, but also ggdb3; strip the latter
|
68 |
66 |
sed -e '/ggdb3/d' -i meson.build || die
|
|
67 |
sed -i 's/vte_gettext_domain = vte_api_name/vte_gettext_domain = vte_gtk3_api_name/' meson.build || die
|
69 |
68 |
}
|
70 |
69 |
|
71 |
70 |
src_configure() {
|
... | ... | |
87 |
86 |
}
|
88 |
87 |
|
89 |
88 |
src_install() {
|
90 |
|
meson_src_install
|
91 |
|
mv "${ED}"/etc/profile.d/vte{,-${SLOT}}.sh || die
|
|
89 |
# not meson_src_install because this would include einstalldocs, which
|
|
90 |
# would result in file collisions with gui-libs/vte
|
|
91 |
meson_install
|
|
92 |
|
|
93 |
# Remove files that are provided by gui-libs/vte-common
|
|
94 |
rm "${ED}"/usr/libexec/vte-urlencode-cwd || die
|
|
95 |
rm "${ED}"/etc/profile.d/vte.sh || die
|
|
96 |
rm "${ED}"/etc/profile.d/vte.csh || die
|
|
97 |
if use systemd; then
|
|
98 |
rm "${ED}"/usr/lib/systemd/user/vte-spawn-.scope.d/defaults.conf || die
|
|
99 |
fi
|
|
100 |
if use gtk-doc; then
|
|
101 |
mkdir -p "${ED}"/usr/share/gtk-doc/ || die
|
|
102 |
mv "${ED}"/usr/share/doc/vte-${SLOT} "${ED}"/usr/share/gtk-doc/vte-${SLOT}-gtk3 || die
|
|
103 |
fi
|
92 |
104 |
}
|