summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2021-10-27 04:36:55 -0400
committerIonen Wolkens <ionen@gentoo.org>2021-11-03 02:36:51 -0400
commit7dbcc42bf5c8c29d6af157937de94c47d9fa40a3 (patch)
tree58578fac4c4af55fa3954c276b7a02d52747345b /x11-terms
parentx11-terms/kitty: revamp ebuild (diff)
downloadgentoo-7dbcc42bf5c8c29d6af157937de94c47d9fa40a3.tar.gz
gentoo-7dbcc42bf5c8c29d6af157937de94c47d9fa40a3.tar.bz2
gentoo-7dbcc42bf5c8c29d6af157937de94c47d9fa40a3.zip
x11-terms/kitty: sync and update live ebuild
New dependency on librsync for transfer kitten. Note about skipped docs: Since ~3 months ago, a new theme is used and needs some missing dependencies (not just sphinx) and, as long as it's only needed for the live ebuild (prebuilt for release), does not feel worth it. Given the full depgraph, users would likely prefer it optional+disabled too. Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'x11-terms')
-rw-r--r--x11-terms/kitty/kitty-9999.ebuild130
1 files changed, 71 insertions, 59 deletions
diff --git a/x11-terms/kitty/kitty-9999.ebuild b/x11-terms/kitty/kitty-9999.ebuild
index eaa36cc37bd5..45697c8607df 100644
--- a/x11-terms/kitty/kitty-9999.ebuild
+++ b/x11-terms/kitty/kitty-9999.ebuild
@@ -1,106 +1,118 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9} )
+EAPI=8
+PYTHON_COMPAT=( python3_{8..10} )
inherit optfeature python-single-r1 toolchain-funcs xdg
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://github.com/kovidgoyal/kitty.git"
+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="A modern, hackable, featureful, OpenGL-based terminal emulator"
-HOMEPAGE="https://github.com/kovidgoyal/kitty"
+DESCRIPTION="Fast, feature-rich, GPU-based terminal"
+HOMEPAGE="https://sw.kovidgoyal.net/kitty/"
LICENSE="GPL-3"
SLOT="0"
-IUSE="debug wayland"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+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-1.5.0:=
- media-libs/libcanberra
- media-libs/libpng:0=
- media-libs/lcms
+ 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/libxcb[xkb]
- x11-libs/libXcursor
- x11-libs/libXi
- x11-libs/libXinerama
- x11-libs/libxkbcommon[X]
- x11-libs/libXrandr
- x11-terms/kitty-terminfo
- wayland? (
- dev-libs/wayland
- >=dev-libs/wayland-protocols-1.17
+ sys-libs/zlib:=
+ x11-libs/libxkbcommon[X?]
+ x11-misc/xkeyboard-config
+ ~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
)
-"
-
-DEPEND="${RDEPEND}
- media-libs/mesa[X(+)]
+ wayland? ( dev-libs/wayland-protocols )"
+BDEPEND="
+ ${PYTHON_DEPS}
sys-libs/ncurses
-"
-
-BDEPEND="virtual/pkgconfig"
-
-[[ ${PV} == *9999 ]] && BDEPEND+="
- $(python_gen_cond_dep '>=dev-python/sphinx-1.7[${PYTHON_USEDEP}]')"
+ virtual/pkgconfig
+ test? ( $(python_gen_cond_dep 'dev-python/pillow[${PYTHON_USEDEP}]') )
+ wayland? ( dev-util/wayland-scanner )"
PATCHES=(
- "${FILESDIR}"/${PN}-0.21.2-flags.patch
- "${FILESDIR}"/${PN}-0.21.2-remove-terminfo.patch
- "${FILESDIR}"/${PN}-0.14.4-svg-icon.patch
+ "${FILESDIR}"/${PN}-0.23.1-flags.patch
)
src_prepare() {
default
- # disable wayland as required
- if ! use wayland; then
- sed -i "/'x11 wayland'/s/ wayland//" setup.py || die
- fi
+ 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
- # respect doc dir
- sed -i "/htmldir =/s/appname/'${PF}'/" setup.py || die
-
- tc-export CC
+ # skip docs for live version
+ [[ ${PV} != 9999 ]] || sed -i '/exists.*_build/,/docs(ddir)/d' setup.py || die
}
src_compile() {
- "${EPYTHON}" setup.py \
- --verbose $(usex debug --debug "") \
- --libdir-name $(get_libdir) \
- --update-check-interval=0 \
- linux-package || die "Failed to compile kitty."
+ tc-export CC
+ export PKGCONFIG_EXE=$(tc-getPKG_CONFIG)
+
+ local setup=(
+ ${EPYTHON} setup.py
+ --disable-link-time-optimization
+ --ignore-compiler-warnings
+ --libdir-name=$(get_libdir)
+ --update-check-interval=0
+ --verbose
+ $(usev debug --debug)
+ linux-package
+ )
+
+ 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() {
- export KITTY_CONFIG_DIRECTORY=${T}
- "${EPYTHON}" test.py || die
+ PATH=linux-package/bin:${PATH} KITTY_CONFIG_DIRECTORY=${T} \
+ ${EPYTHON} test.py || die
}
src_install() {
insinto /usr
- doins -r linux-package/*
- dobin linux-package/bin/kitty
- python_fix_shebang "${ED}"
+ doins -r linux-package/.
+
+ fperms +x /usr/bin/kitty
}
pkg_postinst() {
xdg_icon_cache_update
- optfeature "Displaying images in the terminal" virtual/imagemagick-tools
-}
-pkg_postrm() {
- xdg_icon_cache_update
+ optfeature "displaying images in the terminal" \
+ media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick]
+
+ optfeature "audio-based terminal bell support" media-libs/libcanberra
}