Gentoo Archives: gentoo-commits

From: Ionen Wolkens <ionen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-terms/kitty/
Date: Tue, 04 Jan 2022 07:51:36
Message-Id: 1641282605.8d875906a9ec14570548c363da8552c1765402a3.ionen@gentoo
1 commit: 8d875906a9ec14570548c363da8552c1765402a3
2 Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jan 4 04:06:30 2022 +0000
4 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
5 CommitDate: Tue Jan 4 07:50:05 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8d875906
7
8 x11-terms/kitty: add 0.24.0
9
10 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
11
12 x11-terms/kitty/Manifest | 1 +
13 x11-terms/kitty/kitty-0.24.0.ebuild | 127 ++++++++++++++++++++++++++++++++++++
14 2 files changed, 128 insertions(+)
15
16 diff --git a/x11-terms/kitty/Manifest b/x11-terms/kitty/Manifest
17 index a7edd803adc7..409432b0ab98 100644
18 --- a/x11-terms/kitty/Manifest
19 +++ b/x11-terms/kitty/Manifest
20 @@ -1 +1,2 @@
21 DIST kitty-0.23.1.tar.xz 4444184 BLAKE2B f452e338fb72f723f2c028f90c20654cf80c5ee1aff924954f81f16445c9f4c10c77bd67d47ae5564b45496012dd1b7de447cdf3974b6913a39d170749878a73 SHA512 2d0c822e6bfca41b0a5e5e71e62f5073792b10c236287a509a6c790e19d098205c8719dbcb4aa630abbbaa3d44d6c9986c13efde7a9556772a89709383a0fe94
22 +DIST kitty-0.24.0.tar.xz 4503616 BLAKE2B 5a42b4815d25ff9e3a1f9fb6673e4e58ec3b59b5f81dc4098ef24408580d070e92a181e84167f5a343ffc3a9af33556823153d463eaa8e406f31c032ed8bab37 SHA512 b851ed56d16f9a39d47810bf27c2bc8cbb52d476376c4090045db90c1ad0bc7db6fd9e97edd6ce50a6d69e716671e1e909aab889ecac368857ad5c07f68a76af
23
24 diff --git a/x11-terms/kitty/kitty-0.24.0.ebuild b/x11-terms/kitty/kitty-0.24.0.ebuild
25 new file mode 100644
26 index 000000000000..dd602a094037
27 --- /dev/null
28 +++ b/x11-terms/kitty/kitty-0.24.0.ebuild
29 @@ -0,0 +1,127 @@
30 +# Copyright 1999-2022 Gentoo Authors
31 +# Distributed under the terms of the GNU General Public License v2
32 +
33 +EAPI=8
34 +
35 +PYTHON_COMPAT=( python3_{8..10} )
36 +inherit optfeature python-single-r1 toolchain-funcs xdg
37 +
38 +if [[ ${PV} == 9999 ]] ; then
39 + inherit git-r3
40 + EGIT_REPO_URI="https://github.com/kovidgoyal/kitty.git"
41 +else
42 + SRC_URI="https://github.com/kovidgoyal/kitty/releases/download/v${PV}/${P}.tar.xz"
43 + KEYWORDS="~amd64 ~x86"
44 +fi
45 +
46 +DESCRIPTION="Fast, feature-rich, GPU-based terminal"
47 +HOMEPAGE="https://sw.kovidgoyal.net/kitty/"
48 +
49 +LICENSE="GPL-3"
50 +SLOT="0"
51 +IUSE="+X debug test wayland"
52 +REQUIRED_USE="
53 + || ( X wayland )
54 + ${PYTHON_REQUIRED_USE}"
55 +RESTRICT="!test? ( test )"
56 +
57 +RDEPEND="
58 + ${PYTHON_DEPS}
59 + media-libs/fontconfig
60 + media-libs/freetype:2
61 + media-libs/harfbuzz:=
62 + media-libs/lcms:2
63 + media-libs/libglvnd[X?]
64 + media-libs/libpng:=
65 + net-libs/librsync:=
66 + sys-apps/dbus
67 + sys-libs/zlib:=
68 + x11-libs/libxkbcommon[X?]
69 + x11-misc/xkeyboard-config
70 + ~x11-terms/kitty-shell-integration-${PV}
71 + ~x11-terms/kitty-terminfo-${PV}
72 + X? ( x11-libs/libX11 )
73 + wayland? ( dev-libs/wayland )"
74 +DEPEND="
75 + ${RDEPEND}
76 + X? (
77 + x11-base/xorg-proto
78 + x11-libs/libXcursor
79 + x11-libs/libXi
80 + x11-libs/libXinerama
81 + x11-libs/libXrandr
82 + )
83 + wayland? ( dev-libs/wayland-protocols )"
84 +BDEPEND="
85 + ${PYTHON_DEPS}
86 + sys-libs/ncurses
87 + virtual/pkgconfig
88 + test? ( $(python_gen_cond_dep 'dev-python/pillow[${PYTHON_USEDEP}]') )
89 + wayland? ( dev-util/wayland-scanner )"
90 +
91 +PATCHES=(
92 + "${FILESDIR}"/${PN}-0.23.1-flags.patch
93 +)
94 +
95 +src_prepare() {
96 + default
97 +
98 + sed "s/'x11 wayland'/'$(usev X x11) $(usev wayland)'/" -i setup.py || die
99 + sed "s/else linux_backends/else [$(usev X "'x11',")$(usev wayland "'wayland'")]/" \
100 + -i kitty_tests/check_build.py || die
101 + use X || sed "/glfw_path('x11')/s/x11/wayland/" -i kitty_tests/glfw.py || die
102 +
103 + # --shell-integration="enabled no-rc" is the intended way to set
104 + # no-rc by default, but setup.py's replacer currently fails
105 + # (no-rc prevents modifying users .bashrc without asking, and it's
106 + # unnecessary given shell-integration package uses /etc/bash/bashrc.d)
107 + sed -i "/shell_integration:/s/'enabled'/&,'no-rc'/" kitty/options/types.py || die
108 +
109 + # test relies on 'who' command which typically works but have 1 VM
110 + # where it didn't only under portage/sandbox, needs investigation but
111 + # disable for now
112 + rm kitty_tests/utmp.py || die
113 +
114 + # skip docs for live version
115 + [[ ${PV} != 9999 ]] || sed -i '/exists.*_build/,/docs(ddir)/d' setup.py || die
116 +}
117 +
118 +src_compile() {
119 + tc-export CC
120 + export PKGCONFIG_EXE=$(tc-getPKG_CONFIG)
121 +
122 + local setup=(
123 + ${EPYTHON} setup.py linux-package
124 + --disable-link-time-optimization
125 + --ignore-compiler-warnings
126 + --libdir-name=$(get_libdir)
127 + --update-check-interval=0
128 + --verbose
129 + $(usev debug --debug)
130 + )
131 +
132 + echo "${setup[*]}"
133 + "${setup[@]}" || die "setup.py failed to compile ${PN}"
134 +
135 + [[ ${PV} == 9999 ]] || mv linux-package/share/doc/{${PN},${PF}} || die
136 + rm -r linux-package/share/terminfo || die
137 +}
138 +
139 +src_test() {
140 + PATH=linux-package/bin:${PATH} KITTY_CONFIG_DIRECTORY=${T} \
141 + ${EPYTHON} test.py || die
142 +}
143 +
144 +src_install() {
145 + insinto /usr
146 + doins -r linux-package/.
147 +
148 + fperms +x /usr/bin/kitty
149 +}
150 +
151 +pkg_postinst() {
152 + xdg_icon_cache_update
153 +
154 + optfeature "in-terminal image display with kitty icat" media-gfx/imagemagick
155 + optfeature "audio-based terminal bell support" media-libs/libcanberra
156 +}