From 7dbcc42bf5c8c29d6af157937de94c47d9fa40a3 Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Wed, 27 Oct 2021 04:36:55 -0400 Subject: 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 --- x11-terms/kitty/kitty-9999.ebuild | 130 +++++++++++++++++++++----------------- 1 file changed, 71 insertions(+), 59 deletions(-) (limited to 'x11-terms') 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 } -- cgit v1.2.3-65-gdbad