commit:     8d875906a9ec14570548c363da8552c1765402a3
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  4 04:06:30 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Jan  4 07:50:05 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8d875906

x11-terms/kitty: add 0.24.0

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 x11-terms/kitty/Manifest            |   1 +
 x11-terms/kitty/kitty-0.24.0.ebuild | 127 ++++++++++++++++++++++++++++++++++++
 2 files changed, 128 insertions(+)

diff --git a/x11-terms/kitty/Manifest b/x11-terms/kitty/Manifest
index a7edd803adc7..409432b0ab98 100644
--- a/x11-terms/kitty/Manifest
+++ b/x11-terms/kitty/Manifest
@@ -1 +1,2 @@
 DIST kitty-0.23.1.tar.xz 4444184 BLAKE2B 
f452e338fb72f723f2c028f90c20654cf80c5ee1aff924954f81f16445c9f4c10c77bd67d47ae5564b45496012dd1b7de447cdf3974b6913a39d170749878a73
 SHA512 
2d0c822e6bfca41b0a5e5e71e62f5073792b10c236287a509a6c790e19d098205c8719dbcb4aa630abbbaa3d44d6c9986c13efde7a9556772a89709383a0fe94
+DIST kitty-0.24.0.tar.xz 4503616 BLAKE2B 
5a42b4815d25ff9e3a1f9fb6673e4e58ec3b59b5f81dc4098ef24408580d070e92a181e84167f5a343ffc3a9af33556823153d463eaa8e406f31c032ed8bab37
 SHA512 
b851ed56d16f9a39d47810bf27c2bc8cbb52d476376c4090045db90c1ad0bc7db6fd9e97edd6ce50a6d69e716671e1e909aab889ecac368857ad5c07f68a76af

diff --git a/x11-terms/kitty/kitty-0.24.0.ebuild 
b/x11-terms/kitty/kitty-0.24.0.ebuild
new file mode 100644
index 000000000000..dd602a094037
--- /dev/null
+++ b/x11-terms/kitty/kitty-0.24.0.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit optfeature python-single-r1 toolchain-funcs xdg
+
+if [[ ${PV} == 9999 ]] ; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/kovidgoyal/kitty.git";
+else
+       
SRC_URI="https://github.com/kovidgoyal/kitty/releases/download/v${PV}/${P}.tar.xz";
+       KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Fast, feature-rich, GPU-based terminal"
+HOMEPAGE="https://sw.kovidgoyal.net/kitty/";
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+X debug test wayland"
+REQUIRED_USE="
+       || ( X wayland )
+       ${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       ${PYTHON_DEPS}
+       media-libs/fontconfig
+       media-libs/freetype:2
+       media-libs/harfbuzz:=
+       media-libs/lcms:2
+       media-libs/libglvnd[X?]
+       media-libs/libpng:=
+       net-libs/librsync:=
+       sys-apps/dbus
+       sys-libs/zlib:=
+       x11-libs/libxkbcommon[X?]
+       x11-misc/xkeyboard-config
+       ~x11-terms/kitty-shell-integration-${PV}
+       ~x11-terms/kitty-terminfo-${PV}
+       X? ( x11-libs/libX11 )
+       wayland? ( dev-libs/wayland )"
+DEPEND="
+       ${RDEPEND}
+       X? (
+               x11-base/xorg-proto
+               x11-libs/libXcursor
+               x11-libs/libXi
+               x11-libs/libXinerama
+               x11-libs/libXrandr
+       )
+       wayland? ( dev-libs/wayland-protocols )"
+BDEPEND="
+       ${PYTHON_DEPS}
+       sys-libs/ncurses
+       virtual/pkgconfig
+       test? ( $(python_gen_cond_dep 'dev-python/pillow[${PYTHON_USEDEP}]') )
+       wayland? ( dev-util/wayland-scanner )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.23.1-flags.patch
+)
+
+src_prepare() {
+       default
+
+       sed "s/'x11 wayland'/'$(usev X x11) $(usev wayland)'/" -i setup.py || 
die
+       sed "s/else linux_backends/else [$(usev X "'x11',")$(usev wayland 
"'wayland'")]/" \
+               -i kitty_tests/check_build.py || die
+       use X || sed "/glfw_path('x11')/s/x11/wayland/" -i kitty_tests/glfw.py 
|| die
+
+       # --shell-integration="enabled no-rc" is the intended way to set
+       # no-rc by default, but setup.py's replacer currently fails
+       # (no-rc prevents modifying users .bashrc without asking, and it's
+       # unnecessary given shell-integration package uses /etc/bash/bashrc.d)
+       sed -i "/shell_integration:/s/'enabled'/&,'no-rc'/" 
kitty/options/types.py || die
+
+       # test relies on 'who' command which typically works but have 1 VM
+       # where it didn't only under portage/sandbox, needs investigation but
+       # disable for now
+       rm kitty_tests/utmp.py || die
+
+       # skip docs for live version
+       [[ ${PV} != 9999 ]] || sed -i '/exists.*_build/,/docs(ddir)/d' setup.py 
|| die
+}
+
+src_compile() {
+       tc-export CC
+       export PKGCONFIG_EXE=$(tc-getPKG_CONFIG)
+
+       local setup=(
+               ${EPYTHON} setup.py linux-package
+               --disable-link-time-optimization
+               --ignore-compiler-warnings
+               --libdir-name=$(get_libdir)
+               --update-check-interval=0
+               --verbose
+               $(usev debug --debug)
+       )
+
+       echo "${setup[*]}"
+       "${setup[@]}" || die "setup.py failed to compile ${PN}"
+
+       [[ ${PV} == 9999 ]] || mv linux-package/share/doc/{${PN},${PF}} || die
+       rm -r linux-package/share/terminfo || die
+}
+
+src_test() {
+       PATH=linux-package/bin:${PATH} KITTY_CONFIG_DIRECTORY=${T} \
+               ${EPYTHON} test.py || die
+}
+
+src_install() {
+       insinto /usr
+       doins -r linux-package/.
+
+       fperms +x /usr/bin/kitty
+}
+
+pkg_postinst() {
+       xdg_icon_cache_update
+
+       optfeature "in-terminal image display with kitty icat" 
media-gfx/imagemagick
+       optfeature "audio-based terminal bell support" media-libs/libcanberra
+}

Reply via email to