[Bug 233010] x11/kitty: Cross-platform, fast, feature full, GPU based terminal emulator

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Mar 15 13:18:56 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233010

--- Comment #21 from Jan Beich <jbeich at FreeBSD.org> ---
Comment on attachment 202749
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=202749
INSTALLS_ICONS re-removed

Fails to build with ICAT=on:
[00:00:02] Error: x11/kitty depends on nonexistent origin
'graphics/ImageMagick' (moved to graphics/ImageMagick6)

> COMMENT=	Cross-platform, fast, feature full, GPU based terminal emulator

feature full -> featureful? GPU based -> GPU-based? Why , (comma) before "GPU
based" (cumulative adjective)?
Maybe also drop "Cross-platform" as it's ambiguous and doesn't include Windows
or Android.
See https://repology.org/project/kitty/information for alternative summaries.

> BUILD_DEPENDS=	wayland-protocols>=0:graphics/wayland-protocols \
> 	evdev-proto>0:devel/evdev-proto

Consistently use either >0 or >=0 for both.

> LIB_DEPENDS=	libdbus-1.so:devel/dbus \
> 	libfontconfig.so:x11-fonts/fontconfig \
> 	libfreetype.so:print/freetype2 \
> 	libglfw.so:graphics/glfw \

Why is this necessary if the port builds bundled version?

> 	libharfbuzz.so:print/harfbuzz \
> 	libpng.so:graphics/png \
> 	libxkbcommon.so:x11/libxkbcommon \
> 	libncursesw.so:devel/ncurses \

Switch to USES=ncurses:port as libncursesw.so may match /usr/lib/libncursesw.so

> 	libdbus-1.so:devel/dbus \

Is there any reason to specify devel/dbus more than once?

> 	libwayland-egl.so:graphics/wayland \
> 	libwayland-client.so:graphics/wayland \

libwayland-egl.so is part of graphics/wayland after bug 227423, so drop
libwayland-client.so line to avoid redundancy. There's no need to list every
single library used from a dependency port.

> 	libepoll-shim.so:devel/libepoll-shim \
> 	libpng.so:graphics/png

Is there any reason to specify graphics/png more than once?
Can you sort *_DEPENDS based on port category? For one, in Emacs select region
via C-SPC then C-u C-| sort -k2 -t:
Also try to keep indentation consistent as there's plenty of room before
exceeding 80 columns.

> USE_XORG=	x11 xft xrandr xinerama xcb xcursor xi

Why xft is necessary? According to "poudriere testport" libXft is not NEEDED.
xi (libXi) can be dropped as like xxf86vm (libXxf86vm.so) it's only dlopen'd.

> BINARY_ALIAS=	python3=${PYTHON_CMD}

Doesn't appear to be necessary as do-build invokes ${PYTHON_CMD} explicitly.
post-patch-DOCS-on is enough otherwise.

> OPTIONS_DEFAULT=	NLS NOBELL #DOCS

NLS and DOCS are always enabled by default, see Mk/bsd.options.mk.

> OPTIONS_DEFINE=	ICAT NOBELL NLS #DOCS
[...]
> # XXX: docs cannot build because it relies on sphinx >= 1.7 which doesn't yet
> # exist in ports. When docs is capable of building, remove EXTRA_PATCHES and
> # uncomment all the DOCS_* lines.
> #DOCS_BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sphinx>=1.7:textproc/py-sphinx@${PY_FLAVOR}
> #DOCS_EXTRA_PATCHES=	${PATCHDIR}/docs-on-patch-setup.py
> #DOCS_EXTRA_PATCHES_OFF=	${PATCHDIR}/docs-off-patch-setup.py

Don't leave unfinished code in. Better apply bug 230140, enable and test the
code properly, fix issues then add OPTIONS_EXCLUDE=DOCS until the main tree
catches up.

> ICAT_DESC=	tool to display images in the terminal
> NOBELL_DESC=	disable audio bell by default (can be changed in kitty.conf)

Capitalize the first letter in sentence.

> ICAT_LIB_DEPENDS=	libMagickCore-6.so:graphics/ImageMagick

Does it link against the library? If not convert to RUN_DEPENDS. That'd also
make it easier to switch between ImageMagick6 and ImageMagick7.

> NLS_USES=	gettext

Can one actually disable NLS? If not make it unconditional.
If only the library is required switch to USES=gettext-runtime.

>	${FIND} ${STAGEDIR}${PREFIX} -name __pycache__ -type d -exec ${RM} -r {} +

Maybe define USE_PYTHON=py3kplist and add .pyo for each .py file in pkg-plist
instead.

$ sed -i '' '/\.py$/ { p; s//&o/; }' pkg-plist

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list