Bug 233010 - x11/kitty: Cross-platform, fast, feature full, GPU based terminal emulator
Summary: x11/kitty: Cross-platform, fast, feature full, GPU based terminal emulator
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-ports-bugs mailing list
URL:
Keywords: feature, needs-qa
Depends on: 230140
Blocks:
  Show dependency treegraph
 
Reported: 2018-11-06 02:42 UTC by Ben Widawsky
Modified: 2019-02-02 18:28 UTC (History)
5 users (show)

See Also:


Attachments
x11-kitty.diff (19.36 KB, patch)
2018-11-06 02:42 UTC, Ben Widawsky
no flags Details | Diff
fixed nits and added terminfo explanation (17.19 KB, patch)
2018-11-08 20:15 UTC, Ben Widawsky
no flags Details | Diff
v0.13.3 + dependency on termcap (15.04 KB, patch)
2019-02-02 06:56 UTC, Ben Widawsky
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Widawsky freebsd_committer 2018-11-06 02:42:55 UTC
Created attachment 198996 [details]
x11-kitty.diff

In WantedPorts:  https://wiki.freebsd.org/WantedPorts.

Note that because Sphinx isn't yet at >= 1.7, the docs option is untestable and I didn't spend much time on it.
Comment 1 Nathan 2018-11-06 02:50:29 UTC
Comment on attachment 198996 [details]
x11-kitty.diff

BINARY_ALIAS=	python3=${PYTHON_CMD} 
How is that used?

DOCS_DESC=	build docs
Remove, DOCS already has DESC in framework

BELL=
Should be BELL_DESC=

+OPTIONS_DEFINE=	ICAT DOCS BELL NLS
+OPTIONS_DEFAULT= NLS
Goes at the start of OPTIONS, not at the end

DOCS_BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sphinx>=1.7:textproc/py-sphinx
should be:
OCS_BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sphinx>=1.7:textproc/py-sphinx@${PY_FLAVOR}
Comment 2 Ben Widawsky freebsd_committer 2018-11-06 06:14:28 UTC
(In reply to Nathan from comment #1)
The project's internal installation logic tries to call python3, which is worked around via ALIAS_BINARY.

All the other changes have been made locally. I will wait for some more feedback before uploading the patch.
Comment 3 Dave Cottlehuber freebsd_committer 2018-11-06 14:27:21 UTC
neat!

I pulled this in as a patch to https://github.com/skunkwerks/ports/tree/x11/kitty to run it in a clean build in poudriere, similar to what the FreeBSD packaging system would run. This includes DOCS built by default: 
 
===>   kitty-0.12.3 depends on package: py36-sphinx>=1.7 - not found
*** Error code 1

DOCS is a pretty common base option to have defined, so I suggest poking the maintainer for py-sphinx and seeing if that's an option.

Either py-sphinx gets updated to 1.8.1 (current release) so this works, or the patch should remove the docs completely pending py-sphinx becoming available.
Comment 4 Ben Widawsky freebsd_committer 2018-11-06 18:38:57 UTC
(In reply to Dave Cottlehuber from comment #3)
Yes. I pinged lwhsu@ about this who originally wrote the package before I uploaded this.

BTW, off topic, I did test this would poudriere and it seemed like default options would always add docs no matter what. Is there a way to have poudriere jail testing test all the different options?
Comment 5 Ben Widawsky freebsd_committer 2018-11-08 17:11:40 UTC
Note, terminfo handling is currently broken. There are two issues:
1. tic run at install time isn't actually adding the entry.
2. Even when the entry is manually added, curses can't seem to figure it out.
Comment 6 Ben Widawsky freebsd_committer 2018-11-08 19:01:58 UTC
For base ncurses which uses old TERMCAP (thanks Scott):

TERMCAP=xterm-kitty|KovIdTTY:am:hs:km:mi:ms:xn:co#80:it#8:li#24:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=:K3=:K4=:K5=:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=\r:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=\n:ds=\E]2;\007:ec=\E[%dX:ei=\E[4l:fs=^G:ho=\E[H:im=\E[4h:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l:kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:mh=\E[2m:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ts=\E]2;:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?12;25h:
Comment 7 Ben Widawsky freebsd_committer 2018-11-08 20:15:56 UTC
Created attachment 199085 [details]
fixed nits and added terminfo explanation
Comment 8 Ben Widawsky freebsd_committer 2018-11-08 21:02:56 UTC
The TERMCAP method doesn't seem to properly set colors...
Comment 9 Ben Widawsky freebsd_committer 2018-11-08 22:29:48 UTC
You need to add "tc=xterm-new:" to the termcap entry.
Comment 10 Li-Wen Hsu freebsd_committer 2018-12-13 05:37:46 UTC
BTW, if we cannot get textproc/py-sphinx updated soon, disabling building doc might be another option...
Comment 11 Kubilay Kocak freebsd_committer freebsd_triage 2018-12-14 05:30:55 UTC
Reporter is Committer, assign accoringly
Comment 12 Ben Widawsky freebsd_committer 2019-02-02 00:50:57 UTC
(In reply to Kubilay Kocak from comment #11)
I am not a ports committer.
Comment 13 Ben Widawsky freebsd_committer 2019-02-02 06:56:04 UTC
Created attachment 201630 [details]
v0.13.3 + dependency on termcap
Comment 15 Ben Widawsky freebsd_committer 2019-02-02 18:28:46 UTC
(In reply to Greg V from comment #14)
Do you just want to take this over? I only did this because I wanted kitty a few months back and no port existed. I have no particular desire to maintain a port.