commit: c6680c82b3aa9965ad37228ada43198f8cecb3dd
Author: Pablo <pord <AT> tuta <DOT> io>
AuthorDate: Fri Apr 30 22:03:47 2021 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon May 10 08:06:32 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6680c82
x11-terms/kitty: bump to 0.20.1
Signed-off-by: Pablo Orduna <pabloorduna98 <AT> gmail.com>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
x11-terms/kitty/Manifest | 1 +
x11-terms/kitty/files/kitty-0.20.1-flags.patch | 49 +++++++++
.../kitty/files/kitty-0.20.1-remove-terminfo.patch | 16 +++
x11-terms/kitty/files/kitty-0.20.1-tests.patch | 11 +++
x11-terms/kitty/kitty-0.20.1.ebuild | 110 +++++++++++++++++++++
5 files changed, 187 insertions(+)
diff --git a/x11-terms/kitty/Manifest b/x11-terms/kitty/Manifest
index 5a886b4a8f4..68abc25bf93 100644
--- a/x11-terms/kitty/Manifest
+++ b/x11-terms/kitty/Manifest
@@ -1 +1,2 @@
DIST kitty-0.19.3.tar.xz 3269628 BLAKE2B
b3b673f8ad06baf770b03bcee87b2f405e1ff09d0fa5c6a232fd8df651351a428c8fbd9e2d0dc90ed44a0d6632192bea83650388ee73ebc3b523f51e51168006
SHA512
d1eea7f909c9492542650a83a149fd279c44380cf10387759f10caad57cd4dbabeac1ce84e8142bfa47266ec2562dfa3766ce08e2aee4d8e0ebacea165f101e4
+DIST kitty-0.20.1.tar.xz 3449932 BLAKE2B
aed9a250fbc7005cd67fd22bfc33de845bea7e39a5561e6957b744f03a5438945f9739ca7066a93889144a5d0289185f337ef4d487c754cba37f242030f1c46a
SHA512
19dfa66eb2a2115877b25fbff0ba7a81071bff00c732236f20342aeb619cca88ae4a4e8ce4e73908ac7d7d12fca5232a76e0167754f2e658af02e442cf5ba0cd
diff --git a/x11-terms/kitty/files/kitty-0.20.1-flags.patch
b/x11-terms/kitty/files/kitty-0.20.1-flags.patch
new file mode 100644
index 00000000000..27a44f56794
--- /dev/null
+++ b/x11-terms/kitty/files/kitty-0.20.1-flags.patch
@@ -0,0 +1,49 @@
+diff --git a/setup.py b/setup.py
+index ce5309ee..9cb59461 100755
+--- a/setup.py
++++ b/setup.py
+@@ -278,7 +278,7 @@ def init_env(
+ df += ' -Og'
+ float_conversion = '-Wfloat-conversion'
+ fortify_source = '' if sanitize and is_macos else '-D_FORTIFY_SOURCE=2'
+- optimize = df if debug or sanitize else '-O3'
++ optimize = ''
+ sanitize_args = get_sanitize_args(cc, ccver) if sanitize else set()
+ cppflags_ = os.environ.get(
+ 'OVERRIDE_CPPFLAGS', '-D{}DEBUG'.format('' if debug else 'N'),
+@@ -289,7 +289,7 @@ def init_env(
+ cflags_ = os.environ.get(
+ 'OVERRIDE_CFLAGS', (
+ '-Wextra {} -Wno-missing-field-initializers -Wall
-Wstrict-prototypes {}'
+- ' -pedantic-errors -Werror {} {} -fwrapv {} {} -pipe {}
-fvisibility=hidden {}'
++ ' -pedantic-errors {} {} -fwrapv {} {} {} -fvisibility=hidden {}'
+ ).format(
+ float_conversion,
+ '' if is_openbsd else '-std=c11',
+@@ -306,7 +306,7 @@ def init_env(
+ )
+ ldflags_ = os.environ.get(
+ 'OVERRIDE_LDFLAGS',
+- '-Wall ' + ' '.join(sanitize_args) + ('' if debug else ' -O3')
++ '-Wall ' + ' '.join(sanitize_args)
+ )
+ ldflags = shlex.split(ldflags_)
+ ldflags.append('-shared')
+@@ -764,7 +764,7 @@ def safe_makedirs(path: str) -> None:
+
+
+ def build_launcher(args: Options, launcher_dir: str = '.', bundle_type: str =
'source') -> None:
+- cflags = '-Wall -Werror -fpie'.split()
++ cflags = '-Wall -fpie'.split()
+ cppflags = []
+ libs: List[str] = []
+ if args.profile or args.sanitize:
+@@ -776,8 +776,6 @@ def build_launcher(args: Options, launcher_dir: str = '.',
bundle_type: str = 's
+ cflags.append('-g')
+ if args.profile:
+ libs.append('-lprofiler')
+- else:
+- cflags.append('-O3')
+ if bundle_type.endswith('-freeze'):
+ cppflags.append('-DFOR_BUNDLE')
+ cppflags.append('-DPYVER="{}"'.format(sysconfig.get_python_version()))
diff --git a/x11-terms/kitty/files/kitty-0.20.1-remove-terminfo.patch
b/x11-terms/kitty/files/kitty-0.20.1-remove-terminfo.patch
new file mode 100644
index 00000000000..aeb40e60118
--- /dev/null
+++ b/x11-terms/kitty/files/kitty-0.20.1-remove-terminfo.patch
@@ -0,0 +1,16 @@
+diff --git a/setup.py b/setup.py
+index ce5309ee..02f38c61 100755
+--- a/setup.py
++++ b/setup.py
+@@ -1028,11 +1028,6 @@ def package(args: Options, bundle_type: str) -> None:
+ safe_makedirs(launcher_dir)
+ build_launcher(args, launcher_dir, bundle_type)
+ os.makedirs(os.path.join(libdir, 'logo'))
+- build_terminfo = runpy.run_path('build-terminfo',
run_name='import_build') # type: ignore
+- for x in (libdir, os.path.join(ddir, 'share')):
+- odir = os.path.join(x, 'terminfo')
+- safe_makedirs(odir)
+- build_terminfo['compile_terminfo'](odir)
+ shutil.copy2('__main__.py', libdir)
+ shutil.copy2('logo/kitty-128.png', os.path.join(libdir, 'logo'))
+ shutil.copy2('logo/kitty.png', os.path.join(libdir, 'logo'))
diff --git a/x11-terms/kitty/files/kitty-0.20.1-tests.patch
b/x11-terms/kitty/files/kitty-0.20.1-tests.patch
new file mode 100644
index 00000000000..210898b888d
--- /dev/null
+++ b/x11-terms/kitty/files/kitty-0.20.1-tests.patch
@@ -0,0 +1,11 @@
+--- a/kitty/constants.py
++++ b/kitty/constants.py
+@@ -64,7 +64,7 @@
+ def kitty_exe() -> str:
+ rpath = sys._xoptions.get('bundle_exe_dir')
+ if not rpath:
+- items = os.environ.get('PATH', '').split(os.pathsep) +
[os.path.join(kitty_base_dir, 'kitty', 'launcher')]
++ items = os.environ.get('PATH', '').split(os.pathsep) +
[os.path.join(kitty_base_dir, '../linux-package/bin')]
+ seen: Set[str] = set()
+ for candidate in filter(None, items):
+ if candidate not in seen:
diff --git a/x11-terms/kitty/kitty-0.20.1.ebuild
b/x11-terms/kitty/kitty-0.20.1.ebuild
new file mode 100644
index 00000000000..242d24ee070
--- /dev/null
+++ b/x11-terms/kitty/kitty-0.20.1.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8} )
+
+inherit optfeature python-single-r1 toolchain-funcs xdg
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/kovidgoyal/kitty.git"
+ inherit git-r3
+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"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="debug wayland"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ media-libs/fontconfig
+ media-libs/freetype:2
+ >=media-libs/harfbuzz-1.5.0:=
+ media-libs/lcms
+ media-libs/libcanberra
+ media-libs/libpng:0=
+ 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
+ )
+ $(python_gen_cond_dep
'dev-python/importlib_resources[${PYTHON_USEDEP}]' python3_6)
+"
+
+DEPEND="${RDEPEND}
+ media-libs/mesa[X]
+ sys-libs/ncurses
+"
+
+BDEPEND="virtual/pkgconfig"
+
+[[ ${PV} == *9999 ]] && BDEPEND+=" >=dev-python/sphinx-1.7"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.20.1-flags.patch
+ "${FILESDIR}"/${PN}-0.14.4-svg-icon.patch
+ "${FILESDIR}"/${PN}-0.20.1-remove-terminfo.patch
+ "${FILESDIR}"/${PN}-0.20.1-tests.patch
+)
+
+src_prepare() {
+ default
+
+ # disable wayland as required
+ if ! use wayland; then
+ sed -i "/'x11 wayland'/s/ wayland//" setup.py || die
+ # also disable wayland tests
+ sed -i "/if not self.is_ci/d" kitty_tests/check_build.py || die
+ sed -i "/linux_backends.append('wayland')/d"
kitty_tests/check_build.py || die
+ fi
+
+ # respect doc dir
+ sed -i "/htmldir =/s/appname/'${PF}'/" setup.py || die
+
+ tc-export CC
+}
+
+src_compile() {
+ "${EPYTHON}" setup.py \
+ --verbose $(usex debug --debug "") \
+ --libdir-name $(get_libdir) \
+ --update-check-interval=0 \
+ linux-package || die "Failed to compile kitty."
+}
+
+src_test() {
+ export 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}"
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ optfeature "Displaying images in the terminal" virtual/imagemagick-tools
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+}