diff --git a/x11/kitty/Makefile b/x11/kitty/Makefile new file mode 100644 index 000000000000..78ed3b93a915 --- /dev/null +++ b/x11/kitty/Makefile @@ -0,0 +1,62 @@ +PORTNAME= kitty +DISTVERSION= 0.20.3 +DISTVERSIONPREFIX= v +CATEGORIES= x11 + +USE_GITHUB= yes +GH_ACCOUNT= kovidgoyal + +MAINTAINER= alexis.praga@free.fr +COMMENT= Cross-platform, fast, featureful, GPU-based terminal emulator + +LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= sphinx-build:textproc/py-sphinx\ + wayland-protocols>=0:graphics/wayland-protocols \ + +LIB_DEPENDS= libdbus-1.so:devel/dbus \ + libfontconfig.so:x11-fonts/fontconfig \ + libfreetype.so:print/freetype2 \ + libharfbuzz.so:print/harfbuzz \ + liblcms2.so:graphics/lcms2 \ + libpng.so:graphics/png \ + libwayland-client.so:graphics/wayland \ + libwayland-cursor.so:graphics/wayland \ + libxkbcommon.so:x11/libxkbcommon + +USES= gettext-runtime gl gmake ncurses:port pkgconfig \ + python:3.5+ shebangfix terminfo xorg +USE_GL= gl +USE_XORG= x11 xcb xcursor xi xinerama xrandr + +SHEBANG_GLOB= *.py +SHEBANG_FILES= update-on-ox build-terminfo update-on-ubuntu count-lines-of-code mypy-editor-integration + +TEST_ENV= PATH="${STAGEDIR}${PREFIX}/bin:${PATH}" +TEST_TARGET= test + +BINARY_ALIAS= python=${PYTHON_CMD} python3=${PYTHON_CMD} + +INSTALL_WRKSRC= ${WRKSRC}/linux-package + +_STRIP_TARGETS= lib/kitty/kitty/fast_data_types.so \ + lib/kitty/kitty/glfw-x11.so \ + lib/kitty/kittens/diff/diff_speedup.so \ + lib/kitty/kittens/unicode_input/unicode_names.so \ + lib/kitty/kitty/glfw-wayland.so \ + lib/kitty/kittens/choose/subseq_matcher.so bin/kitty +_EMPTY_DIRS= kittens/choose kittens/diff kittens/unicode_input kittens kitty + +do-build: + (cd ${WRKSRC} && \ + ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} setup.py linux-package --update-check-interval 0) + ${FIND} ${INSTALL_WRKSRC} -name __pycache__ -type d -exec ${RM} -r -- {} + + +do-install: + ${CP} -a ${INSTALL_WRKSRC}/ ${STAGEDIR}${PREFIX} + ${STRIP_CMD} ${_STRIP_TARGETS:S|^|${STAGEDIR}${PREFIX}/|} + ${INSTALL_DATA} ${WRKSRC}/terminfo/kitty.terminfo \ + ${STAGEDIR}${PREFIX}/share/misc/ + +.include diff --git a/x11/kitty/distinfo b/x11/kitty/distinfo new file mode 100644 index 000000000000..008f2ba6b2c2 --- /dev/null +++ b/x11/kitty/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1621171439 +SHA256 (kovidgoyal-kitty-v0.20.3_GH0.tar.gz) = 7048cc0e6c17fe5ef3fbac18125dbd5f05d6c628838f004b8e2ad3546fb77d85 +SIZE (kovidgoyal-kitty-v0.20.3_GH0.tar.gz) = 4229573 diff --git a/x11/kitty/pkg-descr b/x11/kitty/pkg-descr new file mode 100644 index 000000000000..6042101c1936 --- /dev/null +++ b/x11/kitty/pkg-descr @@ -0,0 +1,18 @@ +Kitty is the fast, featureful, GPU based terminal emulator. + +kitty is designed for power keyboard users. To that end all its controls work +with the keyboard (although it fully supports mouse interactions as well). Its +configuration is a simple, human editable, single file for easy reproducibility +(I like to store configuration in source control). + +The code in kitty is designed to be simple, modular and hackable. It is written +in a mix of C (for performance sensitive parts) and Python (for easy hackability +of the UI). It does not depend on any large and complex UI toolkit, using only +OpenGL for rendering everything. + +Finally, kitty is designed from the ground up to support all modern terminal +features, such as unicode, true color, bold/italic fonts, text formatting, etc. +It even extends existing text formatting escape codes, to add support for +features not available elsewhere, such as colored and styled (curly) underlines. +One of the design goals of kitty is to be easily extensible so that new features +can be added in the future with relatively less effort. diff --git a/x11/kitty/pkg-plist b/x11/kitty/pkg-plist new file mode 100644 index 000000000000..89ecb5ba0ee7 --- /dev/null +++ b/x11/kitty/pkg-plist @@ -0,0 +1,170 @@ +bin/kitty +lib/kitty/__main__.py +lib/kitty/kittens/__init__.py +lib/kitty/kittens/ask/__init__.py +lib/kitty/kittens/ask/main.py +lib/kitty/kittens/broadcast/__init__.py +lib/kitty/kittens/broadcast/main.py +lib/kitty/kittens/choose/__init__.py +lib/kitty/kittens/choose/main.py +lib/kitty/kittens/choose/subseq_matcher.so +lib/kitty/kittens/clipboard/__init__.py +lib/kitty/kittens/clipboard/main.py +lib/kitty/kittens/diff/__init__.py +lib/kitty/kittens/diff/collect.py +lib/kitty/kittens/diff/config.py +lib/kitty/kittens/diff/config_data.py +lib/kitty/kittens/diff/diff_speedup.so +lib/kitty/kittens/diff/highlight.py +lib/kitty/kittens/diff/main.py +lib/kitty/kittens/diff/patch.py +lib/kitty/kittens/diff/render.py +lib/kitty/kittens/diff/search.py +lib/kitty/kittens/hints/__init__.py +lib/kitty/kittens/hints/main.py +lib/kitty/kittens/hints/url_regex.py +lib/kitty/kittens/hyperlinked_grep/__init__.py +lib/kitty/kittens/hyperlinked_grep/main.py +lib/kitty/kittens/icat/__init__.py +lib/kitty/kittens/icat/main.py +lib/kitty/kittens/panel/__init__.py +lib/kitty/kittens/panel/main.py +lib/kitty/kittens/query_terminal/__init__.py +lib/kitty/kittens/query_terminal/main.py +lib/kitty/kittens/remote_file/__init__.py +lib/kitty/kittens/remote_file/main.py +lib/kitty/kittens/resize_window/__init__.py +lib/kitty/kittens/resize_window/main.py +lib/kitty/kittens/runner.py +lib/kitty/kittens/show_error/__init__.py +lib/kitty/kittens/show_error/main.py +lib/kitty/kittens/show_key/__init__.py +lib/kitty/kittens/show_key/kitty_mode.py +lib/kitty/kittens/show_key/main.py +lib/kitty/kittens/ssh/__init__.py +lib/kitty/kittens/ssh/main.py +lib/kitty/kittens/tui/__init__.py +lib/kitty/kittens/tui/dircolors.py +lib/kitty/kittens/tui/handler.py +lib/kitty/kittens/tui/images.py +lib/kitty/kittens/tui/line_edit.py +lib/kitty/kittens/tui/loop.py +lib/kitty/kittens/tui/operations.py +lib/kitty/kittens/tui/operations_stub.py +lib/kitty/kittens/tui/path_completer.py +lib/kitty/kittens/tui/utils.py +lib/kitty/kittens/unicode_input/__init__.py +lib/kitty/kittens/unicode_input/main.py +lib/kitty/kittens/unicode_input/unicode_names.so +lib/kitty/kitty/__init__.py +lib/kitty/kitty/bgimage_fragment.glsl +lib/kitty/kitty/bgimage_vertex.glsl +lib/kitty/kitty/blit_fragment.glsl +lib/kitty/kitty/blit_vertex.glsl +lib/kitty/kitty/border_fragment.glsl +lib/kitty/kitty/border_vertex.glsl +lib/kitty/kitty/borders.py +lib/kitty/kitty/boss.py +lib/kitty/kitty/cell_fragment.glsl +lib/kitty/kitty/cell_vertex.glsl +lib/kitty/kitty/child.py +lib/kitty/kitty/choose_entry.py +lib/kitty/kitty/cli.py +lib/kitty/kitty/cli_stub.py +lib/kitty/kitty/client.py +lib/kitty/kitty/complete.py +lib/kitty/kitty/conf/__init__.py +lib/kitty/kitty/conf/definition.py +lib/kitty/kitty/conf/utils.py +lib/kitty/kitty/config.py +lib/kitty/kitty/config_data.py +lib/kitty/kitty/constants.py +lib/kitty/kitty/fast_data_types.so +lib/kitty/kitty/fonts/__init__.py +lib/kitty/kitty/fonts/box_drawing.py +lib/kitty/kitty/fonts/core_text.py +lib/kitty/kitty/fonts/fontconfig.py +lib/kitty/kitty/fonts/list.py +lib/kitty/kitty/fonts/render.py +lib/kitty/kitty/glfw-wayland.so +lib/kitty/kitty/glfw-x11.so +lib/kitty/kitty/graphics_fragment.glsl +lib/kitty/kitty/graphics_vertex.glsl +lib/kitty/kitty/guess_mime_type.py +lib/kitty/kitty/key_encoding.py +lib/kitty/kitty/key_names.py +lib/kitty/kitty/keys.py +lib/kitty/kitty/launch.py +lib/kitty/kitty/launcher/kitty +lib/kitty/kitty/layout/__init__.py +lib/kitty/kitty/layout/base.py +lib/kitty/kitty/layout/grid.py +lib/kitty/kitty/layout/interface.py +lib/kitty/kitty/layout/splits.py +lib/kitty/kitty/layout/stack.py +lib/kitty/kitty/layout/tall.py +lib/kitty/kitty/layout/vertical.py +lib/kitty/kitty/main.py +lib/kitty/kitty/marks.py +lib/kitty/kitty/multiprocessing.py +lib/kitty/kitty/notify.py +lib/kitty/kitty/open_actions.py +lib/kitty/kitty/options_stub.py +lib/kitty/kitty/os_window_size.py +lib/kitty/kitty/rc/__init__.py +lib/kitty/kitty/rc/base.py +lib/kitty/kitty/rc/close_tab.py +lib/kitty/kitty/rc/close_window.py +lib/kitty/kitty/rc/create_marker.py +lib/kitty/kitty/rc/detach_tab.py +lib/kitty/kitty/rc/detach_window.py +lib/kitty/kitty/rc/disable_ligatures.py +lib/kitty/kitty/rc/env.py +lib/kitty/kitty/rc/focus_tab.py +lib/kitty/kitty/rc/focus_window.py +lib/kitty/kitty/rc/get_colors.py +lib/kitty/kitty/rc/get_text.py +lib/kitty/kitty/rc/goto_layout.py +lib/kitty/kitty/rc/kitten.py +lib/kitty/kitty/rc/last_used_layout.py +lib/kitty/kitty/rc/launch.py +lib/kitty/kitty/rc/ls.py +lib/kitty/kitty/rc/new_window.py +lib/kitty/kitty/rc/remove_marker.py +lib/kitty/kitty/rc/resize_window.py +lib/kitty/kitty/rc/scroll_window.py +lib/kitty/kitty/rc/send_text.py +lib/kitty/kitty/rc/set_background_image.py +lib/kitty/kitty/rc/set_background_opacity.py +lib/kitty/kitty/rc/set_colors.py +lib/kitty/kitty/rc/set_font_size.py +lib/kitty/kitty/rc/set_spacing.py +lib/kitty/kitty/rc/set_tab_title.py +lib/kitty/kitty/rc/set_window_title.py +lib/kitty/kitty/rc/signal_child.py +lib/kitty/kitty/remote_control.py +lib/kitty/kitty/rgb.py +lib/kitty/kitty/session.py +lib/kitty/kitty/shell.py +lib/kitty/kitty/tab_bar.py +lib/kitty/kitty/tabs.py +lib/kitty/kitty/terminfo.py +lib/kitty/kitty/tint_fragment.glsl +lib/kitty/kitty/tint_vertex.glsl +lib/kitty/kitty/types.py +lib/kitty/kitty/typing.py +lib/kitty/kitty/update_check.py +lib/kitty/kitty/utils.py +lib/kitty/kitty/window.py +lib/kitty/kitty/window_list.py +lib/kitty/logo/beam-cursor.png +lib/kitty/logo/beam-cursor@2x.png +lib/kitty/logo/kitty-128.png +lib/kitty/logo/kitty.png +lib/kitty/terminfo/x/xterm-kitty +share/applications/kitty.desktop +share/icons/hicolor/256x256/apps/kitty.png +share/man/man1/kitty.1.gz +share/man/man5/kitty.conf.5.gz +share/misc/kitty.terminfo +share/terminfo/x/xterm-kitty