thanks - committed
On 2026/10/17 13:36, Daniil Ryvkin wrote:
> Hello,
>
> Update to 0.49.2
>
> Now SIMD is enabled, and precompiled GLSL shaders from upstream
> release archive are used, because slangc is not in ports.
>
> Tested on amd64.
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/x11/kitty/Makefile,v
> diff -u -p -u -p -r1.35 Makefile
> --- Makefile 15 Sep 2026 11:14:07 -0000 1.35
> +++ Makefile 17 Oct 2026 01:10:18 -0000
> @@ -4,10 +4,11 @@ ONLY_FOR_ARCHS = aarch64 amd64
>
> COMMENT = fast, feature full, GPU-based terminal emulator
>
> -MODPY_DISTV = 0.48.2
> +MODPY_DISTV = 0.49.2
> MODGO_MODNAME = github.com/kovidgoyal/kitty
> MODGO_VERSION = v${MODPY_DISTV}
> DISTNAME = kitty-${MODGO_VERSION}
> +DIST_TUPLE = github simd-everywhere simde v0.8.2 simde
> WRKDIST = ${WRKDIR}/${MODGO_MODNAME}@${MODGO_VERSION}
> CATEGORIES = x11
> HOMEPAGE = https://sw.kovidgoyal.net/kitty/
> @@ -23,6 +24,15 @@ WANTLIB += dbus-1 fontconfig freetype ha
> WANTLIB += util xcb xkbcommon xkbcommon-x11 xxhash z ${MODPY_WANTLIB}
> # WANTLIB += wayland-client wayland-cursor
>
> +# Shaders need slangc (shader-slang), which is not in ports. Use the
> +# precompiled GLSL from upstream's Linux release archive.
> +SITES.shaders = \
> +
> https://github.com/kovidgoyal/kitty/releases/download/${MODGO_VERSION}/
> +DISTFILES.shaders = \
> +
> kitty-shaders-${MODPY_DISTV}.tar.xz{kitty-${MODPY_DISTV}-x86_64.txz}
> +EXTRACT_ONLY += kitty-shaders-${MODPY_DISTV}.tar.xz \
> + simd-everywhere-simde-v0.8.2.tar.gz
> +
> CFLAGS += -DOPENSSL_clear_free=freezero
>
> # C11
> @@ -62,12 +72,16 @@ TEST_ENV = CI=true \
> USE_GMAKE = Yes
>
> _ARGS = --extra-include-dirs=${LOCALBASE}/include \
> + --extra-include-dirs=${WRKSRC}/simde \
> --extra-library-dirs=${LOCALBASE}/lib \
> --ignore-compiler-warnings \
> --verbose
>
> # this disables checking upstream for updates
> _ARGS += --update-check-interval=0
> +
> +post-extract:
> + mv ${WRKDIR}/lib/kitty/shaders ${WRKSRC}/shaders
>
> # ensure parent dir exists for MODGO_SETUP_WORKSPACE symlink
> # TMPDIR must not be a parent of WRKSRC
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/x11/kitty/distinfo,v
> diff -u -p -u -p -r1.13 distinfo
> --- distinfo 15 Sep 2026 11:14:07 -0000 1.13
> +++ distinfo 17 Oct 2026 01:10:18 -0000
> @@ -1,22 +1,22 @@
> -SHA256 (go_modules/github.com/!a!l!tree/bigfloat/@v/v0.2.0.mod) =
> 3Wdu7JyOLAGtMSq0M22lrdR6WKNEamlnOzYaqy5t58w=
> -SHA256 (go_modules/github.com/!a!l!tree/bigfloat/@v/v0.2.0.zip) =
> AEIoPCXWbd2w0tlAo3kMeu662+sR3zWTLkeMJJLm/Nk=
> +SHA256 (go_modules/github.com/!a!l!tree/bigfloat/@v/v0.3.0.mod) =
> 3Wdu7JyOLAGtMSq0M22lrdR6WKNEamlnOzYaqy5t58w=
> +SHA256 (go_modules/github.com/!a!l!tree/bigfloat/@v/v0.3.0.zip) =
> RQyGEzuJXBMd8Kaqi5OS20AUqxV9q2l0UlRdGTtxS1o=
> SHA256 (go_modules/github.com/alecthomas/assert/v2/@v/v2.11.0.mod) =
> r/3U6HeASwwie/rF21Cvke9QHnttS++tU/kJeNhjXhw=
> SHA256 (go_modules/github.com/alecthomas/assert/v2/@v/v2.11.0.zip) =
> h93LapxCIouhs7YcWBvy/zWPAUB4vSdLj/W0f3pHWes=
> SHA256 (go_modules/github.com/alecthomas/chroma/v2/@v/v2.27.0.mod) =
> 7q71K9dDFdWI1nmZkLoIzCCacOdIRzw6QzM0mUSHGhA=
> SHA256 (go_modules/github.com/alecthomas/chroma/v2/@v/v2.27.0.zip) =
> jrB0qvSntM9AboEGLPXWtUwyeXvlP1KH2I71cPpzYl8=
> SHA256 (go_modules/github.com/alecthomas/repr/@v/v0.5.2.mod) =
> K/LL5QDij0uoEQeYW/DzESIcWImu+5JtUjBgaIlEMrQ=
> SHA256 (go_modules/github.com/alecthomas/repr/@v/v0.5.2.zip) =
> IyDlxH3w+h/lJYPIV03AlHOB6muyk9Z95XI0bkfQzqM=
> -SHA256 (go_modules/github.com/bmatcuk/doublestar/v4/@v/v4.10.0.mod) =
> Tu6kWg0dlVdqyZya3d7Nd4eLmERb9nnT8ZOlFmm9FFA=
> -SHA256 (go_modules/github.com/bmatcuk/doublestar/v4/@v/v4.10.0.zip) =
> OBiCdi1jrTVwmmpCa+M21rcUsm8To5H95SkR+t7AeUk=
> +SHA256 (go_modules/github.com/bmatcuk/doublestar/v4/@v/v4.10.2.mod) =
> Tu6kWg0dlVdqyZya3d7Nd4eLmERb9nnT8ZOlFmm9FFA=
> +SHA256 (go_modules/github.com/bmatcuk/doublestar/v4/@v/v4.10.2.zip) =
> V+dJD0Jd6VXI3/U1NGwtQExeJYj19g212DYYJp7gAS4=
> SHA256 (go_modules/github.com/davecgh/go-spew/@v/v1.1.1.mod) =
> vLKTkyUSN7eaF7bBm/KRNPQ+j0OMMZiYj81GGhzfBcw=
> SHA256 (go_modules/github.com/davecgh/go-spew/@v/v1.1.1.zip) =
> a0SoQ5UfNxtwEMdU7MPKvv6BXVztHFuUCfstaX6KiQ0=
> SHA256 (go_modules/github.com/dlclark/regexp2/@v/v1.12.0.mod) =
> cBfoH7n6kiejGApi4yMVi0UjxnBi8KiqCGN8CSuNSqc=
> SHA256 (go_modules/github.com/dlclark/regexp2/@v/v1.12.0.zip) =
> 2sk9dZi5WmosizNPmAeMd9IuKahbT3NXNZG82mVAZjY=
> SHA256 (go_modules/github.com/dlclark/regexp2/v2/@v/v2.2.1.mod) =
> Nptvpg38VyVMwbruK+z/5ZTsG07E9j9Go8cU+x4usQc=
> SHA256 (go_modules/github.com/dlclark/regexp2/v2/@v/v2.2.1.zip) =
> sQXqus/BtuDdSLIiDumFqARzkmEKs13SeVakncRN2c0=
> -SHA256 (go_modules/github.com/ebitengine/purego/@v/v0.10.0.mod) =
> SSDsxSOdeURtm2FULDdJxzidIXjToULlV+A3kFGGZRQ=
> SHA256 (go_modules/github.com/ebitengine/purego/@v/v0.10.2.mod) =
> SSDsxSOdeURtm2FULDdJxzidIXjToULlV+A3kFGGZRQ=
> -SHA256 (go_modules/github.com/ebitengine/purego/@v/v0.10.2.zip) =
> 57O+Ff9V9DJE8JYqbP0O7EqYiWxE3OC1cOwFziKxpQQ=
> +SHA256 (go_modules/github.com/ebitengine/purego/@v/v0.11.1.mod) =
> tjyRN7DCYIxM1DoCNMuut3e8DUOil0TyBYwdqCttNY4=
> +SHA256 (go_modules/github.com/ebitengine/purego/@v/v0.11.1.zip) =
> 8xQAN2d1f9PBUAKUlq7briWSsthbDnbbD5B/d/AXDyY=
> SHA256 (go_modules/github.com/emmansun/base64/@v/v0.10.0.mod) =
> 7Qg8Bh+3CQFhjyazliAI1kQEl3Aa5XiEGdgx0N9XcWo=
> SHA256 (go_modules/github.com/emmansun/base64/@v/v0.10.0.zip) =
> rfmIaZkMrs9x8vjYop2/5gUuwrOrhKKg8+Okgfm/wdQ=
> SHA256 (go_modules/github.com/go-ole/go-ole/@v/v1.2.6.mod) =
> 3n2lmFjWEhlW2gAt7XESQswU7PWX6TKoYlJGQY/Tu6o=
> @@ -33,8 +33,8 @@ SHA256 (go_modules/github.com/hexops/got
> SHA256 (go_modules/github.com/hexops/gotextdiff/@v/v1.0.3.zip) =
> oQw5QvCbxRMiaNItS7nQwYSRItUz/ozfZepp2gXOu68=
> SHA256 (go_modules/github.com/jessevdk/go-flags/@v/v1.4.0.mod) =
> n/9I81DbxrsGZZTpRJbe+hlei1UgbSYcpbL5ifZ4Ki0=
> SHA256 (go_modules/github.com/jessevdk/go-flags/@v/v1.4.0.zip) =
> om5yw/TCIN+LZaxus9NYqK0u/DALISMYWCiT6ognJvk=
> -SHA256 (go_modules/github.com/klauspost/compress/@v/v1.19.0.mod) =
> DWbWBp2eL7h1xbRk0VssgCMs/ImR5viDNs5GHKgQ4M8=
> -SHA256 (go_modules/github.com/klauspost/compress/@v/v1.19.0.zip) =
> LqyjKM6oHdR5e27q3A/lbP5QHkP8pdFRLxKznUfg2PY=
> +SHA256 (go_modules/github.com/klauspost/compress/@v/v1.20.0.mod) =
> DU6Q2ZrLwZ7qVwbnOQ+MklsmsfWGE4W7TxMh1FSh1Iw=
> +SHA256 (go_modules/github.com/klauspost/compress/@v/v1.20.0.zip) =
> oEZU0EmjyvM7y2DuRe/YzOyruT64vogEXtAAOw7LV3M=
> SHA256 (go_modules/github.com/klauspost/cpuid/v2/@v/v2.2.10.mod) =
> /2HUfyVPIzO/RKj/QYei8ulzaTgHwQAlAzuzcUNXcjc=
> SHA256 (go_modules/github.com/klauspost/cpuid/v2/@v/v2.2.10.zip) =
> 24lmX6Is70d9xVG3LUlwfFFrdJwX7RVL9n64CB7gjf8=
> SHA256
> (go_modules/github.com/kovidgoyal/dbus/@v/v0.0.0-20250519011319-e811c41c0bc1.mod)
> = cy6l0rNxq7OGx5rAKRtCfz5F4niSJ0ZLlfpEiFqlrBM=
> @@ -43,35 +43,37 @@ SHA256 (go_modules/github.com/kovidgoyal
> SHA256 (go_modules/github.com/kovidgoyal/go-parallel/@v/v1.1.1.zip) =
> MMg+RLCIouyB9KhpWO3NP0D7RG7VvMbRa3uCXke1Fas=
> SHA256 (go_modules/github.com/kovidgoyal/go-shm/@v/v1.0.0.mod) =
> CQPcsgoJf46T7QcDJbcFwhHNDm6Iprh1h/fHD/b9nkw=
> SHA256 (go_modules/github.com/kovidgoyal/go-shm/@v/v1.0.0.zip) =
> B2UQBjD1VXiCDHvIG52ktF367EyykqRQd8FgWYx609Y=
> +SHA256 (go_modules/github.com/kovidgoyal/go-shm/v2/@v/v2.0.1.mod) =
> aykwoiFUlmK79Eam7nL8pNzlrFlMVKwtnU2BvdlMRKI=
> +SHA256 (go_modules/github.com/kovidgoyal/go-shm/v2/@v/v2.0.1.zip) =
> GvkIYHZotuqPmq74wCF+gjL0TFiPGaEXG1NNYf8IEC0=
> SHA256 (go_modules/github.com/kovidgoyal/imaging/@v/v1.8.23.mod) =
> NXWLhfqUSFi/JvJfdGLb8GjdljBtNN+vct3iMjeXA6E=
> SHA256 (go_modules/github.com/kovidgoyal/imaging/@v/v1.8.23.zip) =
> 5GIuNJBIGgFxW2HHLqCVlr6qaz1xx6x9Kq8UlqjJaDA=
> SHA256
> (go_modules/github.com/lufia/plan9stats/@v/v0.0.0-20211012122336-39d0f177ccd0.mod)
> = W/paqdKx8VACrZvvcKKXqxQnDQxrDVBYgrjsn6zZUHc=
> SHA256
> (go_modules/github.com/lufia/plan9stats/@v/v0.0.0-20230326075908-cb1d2100619a.mod)
> = ul0T51G0XzjqLjnMO2n/GFy2oyeFojbuCrTer/5ktCA=
> SHA256
> (go_modules/github.com/lufia/plan9stats/@v/v0.0.0-20230326075908-cb1d2100619a.zip)
> = cWOFLgLxKv9dubUlBpDzoXfNzbUU8q/Iz7OKY5apUME=
> -SHA256 (go_modules/github.com/nwaples/rardecode/v2/@v/v2.2.5.mod) =
> ICWFIlYZXuR4mPUNVYcklR/EyVHhdg7o3fGiKe+bWlg=
> -SHA256 (go_modules/github.com/nwaples/rardecode/v2/@v/v2.2.5.zip) =
> 86reFTsnt10pof7yMvSTfGX+Yp6sihZ23rmO44meZvA=
> +SHA256 (go_modules/github.com/nwaples/rardecode/v2/@v/v2.4.1.mod) =
> ICWFIlYZXuR4mPUNVYcklR/EyVHhdg7o3fGiKe+bWlg=
> +SHA256 (go_modules/github.com/nwaples/rardecode/v2/@v/v2.4.1.zip) =
> jg8YERAJP8FJ2c8RfC9E1J7Gcp1dJdAsEhTp6Wzsbz8=
> SHA256 (go_modules/github.com/pmezard/go-difflib/@v/v1.0.0.mod) =
> dLLnZushU3eGTVh7rfV+lVIfaS0qeGCzx3WQk/nJvsI=
> SHA256 (go_modules/github.com/pmezard/go-difflib/@v/v1.0.0.zip) =
> 3gTOzBpLjVPkNXBRAmeUvLxU8uaiYM+sUIzmnV1kV6A=
> SHA256
> (go_modules/github.com/power-devops/perfstat/@v/v0.0.0-20240221224432-82ca36839d55.mod)
> = BXRKkmK80pRhPmViTz+LroPXmliqSLgyjH35EZCqB78=
> SHA256
> (go_modules/github.com/power-devops/perfstat/@v/v0.0.0-20240221224432-82ca36839d55.zip)
> = Zssmom8ygrwM6n3InaX4MklwWlPlZiWfIm3ANHcDbzI=
> SHA256
> (go_modules/github.com/rwcarlsen/goexif/@v/v0.0.0-20190401172101-9e8deecbddbd.mod)
> = wsS2mkOOCAvyYkZxWUFTuNHePIyRb4VeoM5zzfzo7ek=
> SHA256
> (go_modules/github.com/rwcarlsen/goexif/@v/v0.0.0-20190401172101-9e8deecbddbd.zip)
> = mOjOe/SEcWvfJy8x7gE1RZn07EtOznwEFWwVsmTY9uw=
> -SHA256 (go_modules/github.com/seancfoley/bintree/@v/v1.3.1.mod) =
> q5FUpylbsRA+MonWdEgI0a+PdZi7VgvnTb9OD5yASDI=
> -SHA256 (go_modules/github.com/seancfoley/bintree/@v/v1.3.1.zip) =
> 5xVtQyGoyZS45a8CLFQbvWp1wyfgQ+eDzQxfAJt+/kU=
> -SHA256 (go_modules/github.com/seancfoley/ipaddress-go/@v/v1.7.1.mod) =
> YGG66IP5isN8N+WxKL8lTgSrLPWPmMIzrVo4O9s5oYs=
> -SHA256 (go_modules/github.com/seancfoley/ipaddress-go/@v/v1.7.1.zip) =
> UP+iA4M1kQ0nSWVe2HlwMbFZ2AFdEkAReak3Q5CBpH0=
> +SHA256 (go_modules/github.com/seancfoley/bintree/@v/v1.4.0.mod) =
> q5FUpylbsRA+MonWdEgI0a+PdZi7VgvnTb9OD5yASDI=
> +SHA256 (go_modules/github.com/seancfoley/bintree/@v/v1.4.0.zip) =
> 53eTkIaaSijpUWktpWN4F/tPQmEOxJUg8UL7CAsHyDs=
> +SHA256 (go_modules/github.com/seancfoley/ipaddress-go/@v/v1.8.4.mod) =
> SpkZG3U3bq2721IYRzzvfpOqaN79IYcP61qKV4lXdmw=
> +SHA256 (go_modules/github.com/seancfoley/ipaddress-go/@v/v1.8.4.zip) =
> hLNTW+8akTCzZaj4AW6NJAl6Kn5K/lfOm1ThjRLwHTE=
> SHA256 (go_modules/github.com/sgtdi/fswatcher/@v/v1.3.0.mod) =
> /uX4T+QmZ2uz8H4+shbkasCm4IUphIMbgWhYE/bfzU0=
> SHA256 (go_modules/github.com/sgtdi/fswatcher/@v/v1.3.0.zip) =
> IHna8facCby0Sa/zol3nE6rs2yCY1rYaCWAhRk/yRCo=
> -SHA256 (go_modules/github.com/shirou/gopsutil/v4/@v/v4.26.6.mod) =
> 9a3zvvgIiSP/R1TQFZ4QQgLH6ZfjQr2sSYOc3l1L+m8=
> -SHA256 (go_modules/github.com/shirou/gopsutil/v4/@v/v4.26.6.zip) =
> dgSaYW++mAZw9zPUMKGj1O5dWFzyJFn/+a47O5ApNsQ=
> +SHA256 (go_modules/github.com/shirou/gopsutil/v4/@v/v4.26.8.mod) =
> J7DjTabfx9nmNP+ZDTKsgNeDODj4X1Y0RidMU10fPLg=
> +SHA256 (go_modules/github.com/shirou/gopsutil/v4/@v/v4.26.8.zip) =
> N5m669gqgpkXrsCj6uuOt6ekcsqfqLKE5YDM/TwbT8Y=
> SHA256 (go_modules/github.com/stretchr/testify/@v/v1.11.1.mod) =
> WEavIEBD8p3yhQJhCb8y22UZw9fh1cOmX++xdPnYHTM=
> SHA256 (go_modules/github.com/stretchr/testify/@v/v1.11.1.zip) =
> tzJbVh6tUwS3K58yrryHH/SbOCNmfVMKSf1sjzrfyW4=
> SHA256 (go_modules/github.com/tklauser/go-sysconf/@v/v0.3.16.mod) =
> 0x7WAIb6WPANxgdhXmJjFBXV/5nsR3UpVAHqFBcMC8E=
> SHA256 (go_modules/github.com/tklauser/go-sysconf/@v/v0.3.16.zip) =
> 1MiW935ZNPVNdytfao+AQ7jTTfGJ9lgbwrqE0jmmtkM=
> SHA256 (go_modules/github.com/tklauser/numcpus/@v/v0.11.0.mod) =
> VZqP+4lmrIy5/wjNB/1eWl2JoDLYlG0+bD8/Y+7TKi4=
> SHA256 (go_modules/github.com/tklauser/numcpus/@v/v0.11.0.zip) =
> enUn4faAWadxia6HXClOXDEJJfu4ulpseU7dK35ocmc=
> -SHA256 (go_modules/github.com/ulikunitz/xz/@v/v0.5.15.mod) =
> OTh2BG1j2Q818hwbtGUbCYXnbY8UpIpyef+Ue5aVbns=
> -SHA256 (go_modules/github.com/ulikunitz/xz/@v/v0.5.15.zip) =
> yhgw+avGyZoAOtKPKxReoK8MmdV2nd/wjSPOBVlZ/RI=
> +SHA256 (go_modules/github.com/ulikunitz/xz/@v/v0.5.17.mod) =
> LkapvtvtFBezR5NwVwVMRjpemrYvT/vVEtnIu3bpjbI=
> +SHA256 (go_modules/github.com/ulikunitz/xz/@v/v0.5.17.zip) =
> FP02q6L0uubthei4siafP+V0PcO249c6PvdGnyDVzF4=
> SHA256 (go_modules/github.com/yusufpapurcu/wmi/@v/v1.2.4.mod) =
> /yqcjJmq7WvGmE6uCUqejNw29qsu8sVned2Y7MWDE1s=
> SHA256 (go_modules/github.com/yusufpapurcu/wmi/@v/v1.2.4.zip) =
> wqChIgMWLvj9b2XhkarDWYI9Nw4RMSLL2OgHEd3Jwfk=
> SHA256 (go_modules/github.com/zeebo/assert/@v/v1.3.0.mod) =
> y4zqaey8mWkq8h1EkJCD9Nli6V3Lety1/QZ2t3NYfpw=
> @@ -81,12 +83,13 @@ SHA256 (go_modules/github.com/zeebo/xxh3
> SHA256
> (go_modules/golang.org/x/exp/@v/v0.0.0-20230801115018-d63ba01acd4b.mod) =
> GaEVTCCSgnxM0ayLLef1sUNmCj6VhLN8w8IjdYAKuw8=
> SHA256
> (go_modules/golang.org/x/exp/@v/v0.0.0-20230801115018-d63ba01acd4b.zip) =
> c5N8LyFEHgQcMQr/oUx3CnbR19FJXRbA7UtbcXbX1yQ=
> SHA256 (go_modules/golang.org/x/image/@v/v0.44.0.mod) =
> szRHiq5g46VDS3lsPxMElLg8nfrqRIp3tpBoff0xk+0=
> -SHA256 (go_modules/golang.org/x/image/@v/v0.44.0.zip) =
> zLf+E+TMJUNA+myPB3u/V1Si/wP6t/m5HAi3pxmedXo=
> +SHA256 (go_modules/golang.org/x/image/@v/v0.46.0.mod) =
> 70Sfws6BJht7QW+ONUe93ct75C2qsrlwLhZ//jdlh84=
> +SHA256 (go_modules/golang.org/x/image/@v/v0.46.0.zip) =
> EEWaF8NTPMnKTRrHqGZ0vwwFFLe6xyFTGzwReM/NqC4=
> SHA256 (go_modules/golang.org/x/mod/@v/v0.11.0.mod) =
> YkVnRZxumUesSr3gtwNO5h3Ltqk3P1lwCUwLs+gSGWQ=
> -SHA256 (go_modules/golang.org/x/mod/@v/v0.37.0.mod) =
> U4Ry/fCU3V5J3EDnBGj6kxqTwkHroH+5RqmHR8lKtN8=
> -SHA256 (go_modules/golang.org/x/mod/@v/v0.37.0.zip) =
> kejk6bdKhwba6Ai2ZTjUqyK+/QDBHzQTTrl/9XLVLoU=
> -SHA256 (go_modules/golang.org/x/sync/@v/v0.22.0.mod) =
> o+KedgYL1WEGBFSx+ivc1mZ09gycqTgzuBBjVeNMYDw=
> -SHA256 (go_modules/golang.org/x/sync/@v/v0.22.0.zip) =
> S8Z9JYznhnz8GkN2XEPZi0xJuQxG3QuG+JalpJCfreA=
> +SHA256 (go_modules/golang.org/x/mod/@v/v0.41.0.mod) =
> /Ftk71H9kvS4dj671vqVpwBp0pnH3g98ZmYe8kKD6ww=
> +SHA256 (go_modules/golang.org/x/mod/@v/v0.41.0.zip) =
> IB5njQo1sYskar5Y2AAXt11gviHLr0y7npY7SIclZak=
> +SHA256 (go_modules/golang.org/x/sync/@v/v0.23.0.mod) =
> /r9P7V3BLA3iRSj3Blvwccx0okJAcBlKryRhe5EGbNo=
> +SHA256 (go_modules/golang.org/x/sync/@v/v0.23.0.zip) =
> wZoRurpcGgk8tP0vbQ2NeWc8l6gssP4taTybathPD4I=
> SHA256
> (go_modules/golang.org/x/sys/@v/v0.0.0-20190916202348-b4ddaad3f8a3.mod) =
> GBl56L1X0tngZBgtqGyaYRGqaXVeiI8IQx7OR0Kuw0M=
> SHA256
> (go_modules/golang.org/x/sys/@v/v0.0.0-20201204225414-ed752295db88.mod) =
> GBl56L1X0tngZBgtqGyaYRGqaXVeiI8IQx7OR0Kuw0M=
> SHA256 (go_modules/golang.org/x/sys/@v/v0.1.0.mod) =
> 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
> @@ -97,12 +100,13 @@ SHA256 (go_modules/golang.org/x/sys/@v/v
> SHA256 (go_modules/golang.org/x/sys/@v/v0.45.0.mod) =
> V/Q5PqGNVEahI2OzXCOmFthD+hZpxxIacKK8OpZ31mU=
> SHA256 (go_modules/golang.org/x/sys/@v/v0.46.0.mod) =
> V/Q5PqGNVEahI2OzXCOmFthD+hZpxxIacKK8OpZ31mU=
> SHA256 (go_modules/golang.org/x/sys/@v/v0.47.0.mod) =
> V/Q5PqGNVEahI2OzXCOmFthD+hZpxxIacKK8OpZ31mU=
> -SHA256 (go_modules/golang.org/x/sys/@v/v0.47.0.zip) =
> zawBPdztAmKSbsKf/NpkXaOWcOYcflt2HlcraxgJuxs=
> -SHA256 (go_modules/golang.org/x/text/@v/v0.40.0.mod) =
> 5p+wmxRjfKtiRaElPCLYASG3nZ/j3dGbVYYp4Vuq2vM=
> -SHA256 (go_modules/golang.org/x/text/@v/v0.40.0.zip) =
> B3VzhHKND1LdhcHz8WNAXmOWsrD7frfWthDypxHWnuM=
> +SHA256 (go_modules/golang.org/x/sys/@v/v0.48.0.mod) =
> lSL0yYBtHCZYbqgPpWKSkpvSlYZecZgZJ/UplsaxyDE=
> +SHA256 (go_modules/golang.org/x/sys/@v/v0.48.0.zip) =
> OkfgZDG6HiTVsqyjp84x/RP6/zTfPl2OY/EF/50MF4Y=
> +SHA256 (go_modules/golang.org/x/text/@v/v0.42.0.mod) =
> R1bEuO7q4qIMtDwZjBBwHSDFNJO9kLkcZjIVPJy6wkA=
> +SHA256 (go_modules/golang.org/x/text/@v/v0.42.0.zip) =
> p7ZOADBWtkcDA/QIICCY2PNxShFfIwkbjKyF7esmVHY=
> SHA256 (go_modules/golang.org/x/tools/@v/v0.2.0.mod) =
> nJteYq9p8rEAKc4SlE3Ig08SJqg7skPpoNvzfguxhro=
> -SHA256 (go_modules/golang.org/x/tools/@v/v0.47.0.mod) =
> 60bkSFD7TcpI97aAysUXdoLLDjArMH1NPb1+2d8F/A8=
> -SHA256 (go_modules/golang.org/x/tools/@v/v0.47.0.zip) =
> FD0TK1GdoUVNuWf+u2UkF5aAXXydR1IDQ0HBN2/T1/E=
> +SHA256 (go_modules/golang.org/x/tools/@v/v0.49.0.mod) =
> huNO/qNbiqUqq/8OoYwO8hfwdN/2fve0xwCugzloz2I=
> +SHA256 (go_modules/golang.org/x/tools/@v/v0.49.0.zip) =
> ur0tWgzPTqxJtsl4W+K545smEJeti4prkleLnySHA9U=
> SHA256
> (go_modules/gopkg.in/check.v1/@v/v0.0.0-20161208181325-20d25e280405.mod) =
> XDBuDWM81moRtA4uX7vG2kIRDbfXLqPBUkzrRe5Awz8=
> SHA256
> (go_modules/gopkg.in/check.v1/@v/v0.0.0-20161208181325-20d25e280405.zip) =
> ThgX+WTKNOVFuBr9oDJaXonPWN4uQT2CB8Cv3dD9wVw=
> SHA256
> (go_modules/gopkg.in/yaml.v1/@v/v1.0.0-20140924161607-9f9df34309c0.mod) =
> F7dqbs88TQr/YqWL/n5AGl9Y/pvDj5xLb9jaZgvKQTU=
> @@ -111,26 +115,28 @@ SHA256 (go_modules/gopkg.in/yaml.v3/@v/v
> SHA256 (go_modules/gopkg.in/yaml.v3/@v/v3.0.1.zip) =
> qrj7xOYwDqCOav4crqGKIckMefSJ9SxT4vIEMfGpoBU=
> SHA256 (go_modules/howett.net/plist/@v/v1.0.1.mod) =
> yCzVtVedg9sbqQjwQYS1bAT7SpBSBC6DLOaPetxzkzU=
> SHA256 (go_modules/howett.net/plist/@v/v1.0.1.zip) =
> pz2ibXFdKNYIZBGJPRDZ7998Aj8ghRgYCursfadIWiE=
> -SHA256 (kitty-v0.48.2.zip) = 84dJCshgoaOEhVXv2CsR5aXWnDgA72P4JuVXxiWSORs=
> -SIZE (go_modules/github.com/!a!l!tree/bigfloat/@v/v0.2.0.mod) = 43
> -SIZE (go_modules/github.com/!a!l!tree/bigfloat/@v/v0.2.0.zip) = 16636
> +SHA256 (kitty-shaders-0.49.2.tar.xz) =
> 1XNhi5EenEYb1CG5bBPHTH8csvGsnDJ4GNT/hDZs9cY=
> +SHA256 (kitty-v0.49.2.zip) = qtXNJLwm0u1lUw9reogjCzJCYUswF5UPK3xmOd+eELY=
> +SHA256 (simd-everywhere-simde-v0.8.2.tar.gz) =
> 7SoyaGWPLyqbU2diioXM1M+VFkYO2GBO7TaWU9SbJfs=
> +SIZE (go_modules/github.com/!a!l!tree/bigfloat/@v/v0.3.0.mod) = 43
> +SIZE (go_modules/github.com/!a!l!tree/bigfloat/@v/v0.3.0.zip) = 16976
> SIZE (go_modules/github.com/alecthomas/assert/v2/@v/v2.11.0.mod) = 133
> SIZE (go_modules/github.com/alecthomas/assert/v2/@v/v2.11.0.zip) = 12302
> SIZE (go_modules/github.com/alecthomas/chroma/v2/@v/v2.27.0.mod) = 232
> SIZE (go_modules/github.com/alecthomas/chroma/v2/@v/v2.27.0.zip) = 1777523
> SIZE (go_modules/github.com/alecthomas/repr/@v/v0.5.2.mod) = 43
> SIZE (go_modules/github.com/alecthomas/repr/@v/v0.5.2.zip) = 11328
> -SIZE (go_modules/github.com/bmatcuk/doublestar/v4/@v/v4.10.0.mod) = 49
> -SIZE (go_modules/github.com/bmatcuk/doublestar/v4/@v/v4.10.0.zip) = 40145
> +SIZE (go_modules/github.com/bmatcuk/doublestar/v4/@v/v4.10.2.mod) = 49
> +SIZE (go_modules/github.com/bmatcuk/doublestar/v4/@v/v4.10.2.zip) = 42684
> SIZE (go_modules/github.com/davecgh/go-spew/@v/v1.1.1.mod) = 34
> SIZE (go_modules/github.com/davecgh/go-spew/@v/v1.1.1.zip) = 60320
> SIZE (go_modules/github.com/dlclark/regexp2/@v/v1.12.0.mod) = 43
> SIZE (go_modules/github.com/dlclark/regexp2/@v/v1.12.0.zip) = 704800
> SIZE (go_modules/github.com/dlclark/regexp2/v2/@v/v2.2.1.mod) = 46
> SIZE (go_modules/github.com/dlclark/regexp2/v2/@v/v2.2.1.zip) = 897401
> -SIZE (go_modules/github.com/ebitengine/purego/@v/v0.10.0.mod) = 45
> SIZE (go_modules/github.com/ebitengine/purego/@v/v0.10.2.mod) = 45
> -SIZE (go_modules/github.com/ebitengine/purego/@v/v0.10.2.zip) = 219238
> +SIZE (go_modules/github.com/ebitengine/purego/@v/v0.11.1.mod) = 47
> +SIZE (go_modules/github.com/ebitengine/purego/@v/v0.11.1.zip) = 261919
> SIZE (go_modules/github.com/emmansun/base64/@v/v0.10.0.mod) = 79
> SIZE (go_modules/github.com/emmansun/base64/@v/v0.10.0.zip) = 92489
> SIZE (go_modules/github.com/go-ole/go-ole/@v/v1.2.6.mod) = 102
> @@ -147,8 +153,8 @@ SIZE (go_modules/github.com/hexops/gotex
> SIZE (go_modules/github.com/hexops/gotextdiff/@v/v1.0.3.zip) = 33608
> SIZE (go_modules/github.com/jessevdk/go-flags/@v/v1.4.0.mod) = 36
> SIZE (go_modules/github.com/jessevdk/go-flags/@v/v1.4.0.zip) = 73484
> -SIZE (go_modules/github.com/klauspost/compress/@v/v1.19.0.mod) = 201
> -SIZE (go_modules/github.com/klauspost/compress/@v/v1.19.0.zip) = 39232841
> +SIZE (go_modules/github.com/klauspost/compress/@v/v1.20.0.mod) = 201
> +SIZE (go_modules/github.com/klauspost/compress/@v/v1.20.0.zip) = 40063352
> SIZE (go_modules/github.com/klauspost/cpuid/v2/@v/v2.2.10.mod) = 80
> SIZE (go_modules/github.com/klauspost/cpuid/v2/@v/v2.2.10.zip) = 52186
> SIZE
> (go_modules/github.com/kovidgoyal/dbus/@v/v0.0.0-20250519011319-e811c41c0bc1.mod)
> = 77
> @@ -157,35 +163,37 @@ SIZE (go_modules/github.com/kovidgoyal/g
> SIZE (go_modules/github.com/kovidgoyal/go-parallel/@v/v1.1.1.zip) = 5839
> SIZE (go_modules/github.com/kovidgoyal/go-shm/@v/v1.0.0.mod) = 81
> SIZE (go_modules/github.com/kovidgoyal/go-shm/@v/v1.0.0.zip) = 13228
> +SIZE (go_modules/github.com/kovidgoyal/go-shm/v2/@v/v2.0.1.mod) = 84
> +SIZE (go_modules/github.com/kovidgoyal/go-shm/v2/@v/v2.0.1.zip) = 15694
> SIZE (go_modules/github.com/kovidgoyal/imaging/@v/v1.8.23.mod) = 475
> SIZE (go_modules/github.com/kovidgoyal/imaging/@v/v1.8.23.zip) = 13367281
> SIZE
> (go_modules/github.com/lufia/plan9stats/@v/v0.0.0-20211012122336-39d0f177ccd0.mod)
> = 85
> SIZE
> (go_modules/github.com/lufia/plan9stats/@v/v0.0.0-20230326075908-cb1d2100619a.mod)
> = 85
> SIZE
> (go_modules/github.com/lufia/plan9stats/@v/v0.0.0-20230326075908-cb1d2100619a.zip)
> = 25307
> -SIZE (go_modules/github.com/nwaples/rardecode/v2/@v/v2.2.5.mod) = 48
> -SIZE (go_modules/github.com/nwaples/rardecode/v2/@v/v2.2.5.zip) = 55639
> +SIZE (go_modules/github.com/nwaples/rardecode/v2/@v/v2.4.1.mod) = 48
> +SIZE (go_modules/github.com/nwaples/rardecode/v2/@v/v2.4.1.zip) = 58850
> SIZE (go_modules/github.com/pmezard/go-difflib/@v/v1.0.0.mod) = 37
> SIZE (go_modules/github.com/pmezard/go-difflib/@v/v1.0.0.zip) = 12433
> SIZE
> (go_modules/github.com/power-devops/perfstat/@v/v0.0.0-20240221224432-82ca36839d55.mod)
> = 110
> SIZE
> (go_modules/github.com/power-devops/perfstat/@v/v0.0.0-20240221224432-82ca36839d55.zip)
> = 52527
> SIZE
> (go_modules/github.com/rwcarlsen/goexif/@v/v0.0.0-20190401172101-9e8deecbddbd.mod)
> = 35
> SIZE
> (go_modules/github.com/rwcarlsen/goexif/@v/v0.0.0-20190401172101-9e8deecbddbd.zip)
> = 985726
> -SIZE (go_modules/github.com/seancfoley/bintree/@v/v1.3.1.mod) = 646
> -SIZE (go_modules/github.com/seancfoley/bintree/@v/v1.3.1.zip) = 43614
> -SIZE (go_modules/github.com/seancfoley/ipaddress-go/@v/v1.7.1.mod) = 698
> -SIZE (go_modules/github.com/seancfoley/ipaddress-go/@v/v1.7.1.zip) = 722585
> +SIZE (go_modules/github.com/seancfoley/bintree/@v/v1.4.0.mod) = 646
> +SIZE (go_modules/github.com/seancfoley/bintree/@v/v1.4.0.zip) = 52923
> +SIZE (go_modules/github.com/seancfoley/ipaddress-go/@v/v1.8.4.mod) = 698
> +SIZE (go_modules/github.com/seancfoley/ipaddress-go/@v/v1.8.4.zip) = 858373
> SIZE (go_modules/github.com/sgtdi/fswatcher/@v/v1.3.0.mod) = 268
> SIZE (go_modules/github.com/sgtdi/fswatcher/@v/v1.3.0.zip) = 64465
> -SIZE (go_modules/github.com/shirou/gopsutil/v4/@v/v4.26.6.mod) = 645
> -SIZE (go_modules/github.com/shirou/gopsutil/v4/@v/v4.26.6.zip) = 367109
> +SIZE (go_modules/github.com/shirou/gopsutil/v4/@v/v4.26.8.mod) = 645
> +SIZE (go_modules/github.com/shirou/gopsutil/v4/@v/v4.26.8.zip) = 392383
> SIZE (go_modules/github.com/stretchr/testify/@v/v1.11.1.mod) = 498
> SIZE (go_modules/github.com/stretchr/testify/@v/v1.11.1.zip) = 134860
> SIZE (go_modules/github.com/tklauser/go-sysconf/@v/v0.3.16.mod) = 125
> SIZE (go_modules/github.com/tklauser/go-sysconf/@v/v0.3.16.zip) = 95853
> SIZE (go_modules/github.com/tklauser/numcpus/@v/v0.11.0.mod) = 80
> SIZE (go_modules/github.com/tklauser/numcpus/@v/v0.11.0.zip) = 18783
> -SIZE (go_modules/github.com/ulikunitz/xz/@v/v0.5.15.mod) = 40
> -SIZE (go_modules/github.com/ulikunitz/xz/@v/v0.5.15.zip) = 4245181
> +SIZE (go_modules/github.com/ulikunitz/xz/@v/v0.5.17.mod) = 40
> +SIZE (go_modules/github.com/ulikunitz/xz/@v/v0.5.17.zip) = 4379875
> SIZE (go_modules/github.com/yusufpapurcu/wmi/@v/v1.2.4.mod) = 85
> SIZE (go_modules/github.com/yusufpapurcu/wmi/@v/v1.2.4.zip) = 16351
> SIZE (go_modules/github.com/zeebo/assert/@v/v1.3.0.mod) = 40
> @@ -195,12 +203,13 @@ SIZE (go_modules/github.com/zeebo/xxh3/@
> SIZE (go_modules/golang.org/x/exp/@v/v0.0.0-20230801115018-d63ba01acd4b.mod)
> = 177
> SIZE (go_modules/golang.org/x/exp/@v/v0.0.0-20230801115018-d63ba01acd4b.zip)
> = 461648
> SIZE (go_modules/golang.org/x/image/@v/v0.44.0.mod) = 72
> -SIZE (go_modules/golang.org/x/image/@v/v0.44.0.zip) = 5334657
> +SIZE (go_modules/golang.org/x/image/@v/v0.46.0.mod) = 103
> +SIZE (go_modules/golang.org/x/image/@v/v0.46.0.zip) = 5434137
> SIZE (go_modules/golang.org/x/mod/@v/v0.11.0.mod) = 84
> -SIZE (go_modules/golang.org/x/mod/@v/v0.37.0.mod) = 86
> -SIZE (go_modules/golang.org/x/mod/@v/v0.37.0.zip) = 174531
> -SIZE (go_modules/golang.org/x/sync/@v/v0.22.0.mod) = 36
> -SIZE (go_modules/golang.org/x/sync/@v/v0.22.0.zip) = 25790
> +SIZE (go_modules/golang.org/x/mod/@v/v0.41.0.mod) = 86
> +SIZE (go_modules/golang.org/x/mod/@v/v0.41.0.zip) = 180455
> +SIZE (go_modules/golang.org/x/sync/@v/v0.23.0.mod) = 36
> +SIZE (go_modules/golang.org/x/sync/@v/v0.23.0.zip) = 26276
> SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20190916202348-b4ddaad3f8a3.mod)
> = 33
> SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20201204225414-ed752295db88.mod)
> = 33
> SIZE (go_modules/golang.org/x/sys/@v/v0.1.0.mod) = 33
> @@ -211,12 +220,13 @@ SIZE (go_modules/golang.org/x/sys/@v/v0.
> SIZE (go_modules/golang.org/x/sys/@v/v0.45.0.mod) = 35
> SIZE (go_modules/golang.org/x/sys/@v/v0.46.0.mod) = 35
> SIZE (go_modules/golang.org/x/sys/@v/v0.47.0.mod) = 35
> -SIZE (go_modules/golang.org/x/sys/@v/v0.47.0.zip) = 2022425
> -SIZE (go_modules/golang.org/x/text/@v/v0.40.0.mod) = 190
> -SIZE (go_modules/golang.org/x/text/@v/v0.40.0.zip) = 7015236
> +SIZE (go_modules/golang.org/x/sys/@v/v0.48.0.mod) = 35
> +SIZE (go_modules/golang.org/x/sys/@v/v0.48.0.zip) = 2094772
> +SIZE (go_modules/golang.org/x/text/@v/v0.42.0.mod) = 190
> +SIZE (go_modules/golang.org/x/text/@v/v0.42.0.zip) = 7337550
> SIZE (go_modules/golang.org/x/tools/@v/v0.2.0.mod) = 177
> -SIZE (go_modules/golang.org/x/tools/@v/v0.47.0.mod) = 301
> -SIZE (go_modules/golang.org/x/tools/@v/v0.47.0.zip) = 2760246
> +SIZE (go_modules/golang.org/x/tools/@v/v0.49.0.mod) = 301
> +SIZE (go_modules/golang.org/x/tools/@v/v0.49.0.zip) = 2836351
> SIZE
> (go_modules/gopkg.in/check.v1/@v/v0.0.0-20161208181325-20d25e280405.mod) = 25
> SIZE
> (go_modules/gopkg.in/check.v1/@v/v0.0.0-20161208181325-20d25e280405.zip) =
> 39844
> SIZE (go_modules/gopkg.in/yaml.v1/@v/v1.0.0-20140924161607-9f9df34309c0.mod)
> = 24
> @@ -225,4 +235,6 @@ SIZE (go_modules/gopkg.in/yaml.v3/@v/v3.
> SIZE (go_modules/gopkg.in/yaml.v3/@v/v3.0.1.zip) = 104623
> SIZE (go_modules/howett.net/plist/@v/v1.0.1.mod) = 218
> SIZE (go_modules/howett.net/plist/@v/v1.0.1.zip) = 72046
> -SIZE (kitty-v0.48.2.zip) = 10334225
> +SIZE (kitty-shaders-0.49.2.tar.xz) = 45897008
> +SIZE (kitty-v0.49.2.zip) = 10643362
> +SIZE (simd-everywhere-simde-v0.8.2.tar.gz) = 7468969
> Index: modules.inc
> ===================================================================
> RCS file: /cvs/ports/x11/kitty/modules.inc,v
> diff -u -p -u -p -r1.3 modules.inc
> --- modules.inc 15 Sep 2026 11:14:07 -0000 1.3
> +++ modules.inc 17 Oct 2026 01:10:18 -0000
> @@ -1,13 +1,13 @@
> MODGO_MODULES = \
> - github.com/!a!l!tree/bigfloat v0.2.0 \
> + github.com/!a!l!tree/bigfloat v0.3.0 \
> github.com/alecthomas/assert/v2 v2.11.0 \
> github.com/alecthomas/chroma/v2 v2.27.0 \
> github.com/alecthomas/repr v0.5.2 \
> - github.com/bmatcuk/doublestar/v4 v4.10.0 \
> + github.com/bmatcuk/doublestar/v4 v4.10.2 \
> github.com/davecgh/go-spew v1.1.1 \
> github.com/dlclark/regexp2 v1.12.0 \
> github.com/dlclark/regexp2/v2 v2.2.1 \
> - github.com/ebitengine/purego v0.10.2 \
> + github.com/ebitengine/purego v0.11.1 \
> github.com/emmansun/base64 v0.10.0 \
> github.com/go-ole/go-ole v1.2.6 \
> github.com/google/go-cmp v0.7.0 \
> @@ -15,45 +15,47 @@ MODGO_MODULES = \
> github.com/hako/durafmt
> v0.0.0-20210608085754-5c1018a4e16b \
> github.com/hexops/gotextdiff v1.0.3 \
> github.com/jessevdk/go-flags v1.4.0 \
> - github.com/klauspost/compress v1.19.0 \
> + github.com/klauspost/compress v1.20.0 \
> github.com/klauspost/cpuid/v2 v2.2.10 \
> github.com/kovidgoyal/dbus
> v0.0.0-20250519011319-e811c41c0bc1 \
> github.com/kovidgoyal/go-parallel v1.1.1 \
> github.com/kovidgoyal/go-shm v1.0.0 \
> + github.com/kovidgoyal/go-shm/v2 v2.0.1 \
> github.com/kovidgoyal/imaging v1.8.23 \
> github.com/lufia/plan9stats
> v0.0.0-20230326075908-cb1d2100619a \
> - github.com/nwaples/rardecode/v2 v2.2.5 \
> + github.com/nwaples/rardecode/v2 v2.4.1 \
> github.com/pmezard/go-difflib v1.0.0 \
> github.com/power-devops/perfstat
> v0.0.0-20240221224432-82ca36839d55 \
> github.com/rwcarlsen/goexif
> v0.0.0-20190401172101-9e8deecbddbd \
> - github.com/seancfoley/bintree v1.3.1 \
> - github.com/seancfoley/ipaddress-go v1.7.1 \
> + github.com/seancfoley/bintree v1.4.0 \
> + github.com/seancfoley/ipaddress-go v1.8.4 \
> github.com/sgtdi/fswatcher v1.3.0 \
> - github.com/shirou/gopsutil/v4 v4.26.6 \
> + github.com/shirou/gopsutil/v4 v4.26.8 \
> github.com/stretchr/testify v1.11.1 \
> github.com/tklauser/go-sysconf v0.3.16 \
> github.com/tklauser/numcpus v0.11.0 \
> - github.com/ulikunitz/xz v0.5.15 \
> + github.com/ulikunitz/xz v0.5.17 \
> github.com/yusufpapurcu/wmi v1.2.4 \
> github.com/zeebo/assert v1.3.0 \
> github.com/zeebo/xxh3 v1.1.0 \
> golang.org/x/exp
> v0.0.0-20230801115018-d63ba01acd4b \
> - golang.org/x/image v0.44.0 \
> - golang.org/x/mod v0.37.0 \
> - golang.org/x/sync v0.22.0 \
> - golang.org/x/sys v0.47.0 \
> - golang.org/x/text v0.40.0 \
> - golang.org/x/tools v0.47.0 \
> + golang.org/x/image v0.46.0 \
> + golang.org/x/mod v0.41.0 \
> + golang.org/x/sync v0.23.0 \
> + golang.org/x/sys v0.48.0 \
> + golang.org/x/text v0.42.0 \
> + golang.org/x/tools v0.49.0 \
> gopkg.in/check.v1
> v0.0.0-20161208181325-20d25e280405 \
> gopkg.in/yaml.v1
> v1.0.0-20140924161607-9f9df34309c0 \
> gopkg.in/yaml.v3 v3.0.1 \
> howett.net/plist v1.0.1
>
> MODGO_MODFILES = \
> - github.com/ebitengine/purego v0.10.0 \
> + github.com/ebitengine/purego v0.10.2 \
> github.com/google/go-cmp v0.5.8 \
> github.com/google/go-cmp v0.5.9 \
> github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 \
> + golang.org/x/image v0.44.0 \
> golang.org/x/mod v0.11.0 \
> golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 \
> golang.org/x/sys v0.0.0-20201204225414-ed752295db88 \
> @@ -64,5 +66,6 @@ MODGO_MODFILES = \
> golang.org/x/sys v0.41.0 \
> golang.org/x/sys v0.45.0 \
> golang.org/x/sys v0.46.0 \
> + golang.org/x/sys v0.47.0 \
> golang.org/x/tools v0.2.0
>
> Index: patches/patch-docs_conf_py
> ===================================================================
> RCS file: /cvs/ports/x11/kitty/patches/patch-docs_conf_py,v
> diff -u -p -u -p -r1.2 patch-docs_conf_py
> --- patches/patch-docs_conf_py 23 Jul 2026 10:15:47 -0000 1.2
> +++ patches/patch-docs_conf_py 17 Oct 2026 01:10:18 -0000
> @@ -4,12 +4,12 @@ remove HTML-only sphinx extensions not a
> Index: docs/conf.py
> --- docs/conf.py.orig
> +++ docs/conf.py
> -@@ -65,9 +65,6 @@ extensions = [
> +@@ -62,9 +62,6 @@ extensions = [
> 'sphinx.ext.viewcode',
> 'sphinx.ext.githubpages',
> 'sphinx.ext.extlinks',
> - 'sphinx_copybutton',
> -- 'sphinx_inline_tabs',
> +- 'sphinx_design',
> - 'sphinxext.opengraph',
> ]
>
> Index: patches/patch-glfw_backend_utils_c
> ===================================================================
> RCS file: /cvs/ports/x11/kitty/patches/patch-glfw_backend_utils_c,v
> diff -u -p -u -p -r1.3 patch-glfw_backend_utils_c
> --- patches/patch-glfw_backend_utils_c 23 Jul 2026 10:15:47 -0000
> 1.3
> +++ patches/patch-glfw_backend_utils_c 17 Oct 2026 01:10:18 -0000
> @@ -3,16 +3,16 @@ We don't have posix_fallocate.
> Index: glfw/backend_utils.c
> --- glfw/backend_utils.c.orig
> +++ glfw/backend_utils.c
> -@@ -397,7 +397,7 @@ GLFWAPI char* utf_8_strndup(const char* source, size_t
> - * receive SIGBUS on accessing mmap()'ed file contents instead.
> +@@ -422,7 +422,7 @@ utf_8_strndup(const char *source, size_t max_length) {
> */
> - int createAnonymousFile(off_t size) {
> + int
> + createAnonymousFile(off_t size) {
> - int ret, fd = -1, shm_anon = 0;
> + int ret, fd = -1;
> #ifdef HAS_MEMFD_CREATE
> fd = glfw_memfd_create("glfw-shared", MFD_CLOEXEC | MFD_ALLOW_SEALING);
> if (fd < 0) return -1;
> -@@ -407,10 +407,6 @@ int createAnonymousFile(off_t size) {
> +@@ -432,10 +432,6 @@ createAnonymousFile(off_t size) {
> // There is also no need to check for the return value, we couldn’t do
> // anything with it anyway.
> fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_SEAL);
> @@ -22,14 +22,14 @@ Index: glfw/backend_utils.c
> - shm_anon = 1;
> #else
> static const char template[] = "/glfw-shared-XXXXXX";
> - const char* path;
> -@@ -434,8 +430,7 @@ int createAnonymousFile(off_t size) {
> - if (fd < 0)
> - return -1;
> + const char *path;
> +@@ -457,8 +453,7 @@ createAnonymousFile(off_t size) {
> +
> + if (fd < 0) return -1;
> #endif
> - // posix_fallocate does not work on SHM descriptors
> - ret = shm_anon ? ftruncate(fd, size) : posix_fallocate(fd, 0, size);
> + ret = ftruncate(fd, size);
> - if (ret != 0)
> - {
> + if (ret != 0) {
> close(fd);
> + errno = ret;
> Index: patches/patch-glfw_internal_h
> ===================================================================
> RCS file: /cvs/ports/x11/kitty/patches/patch-glfw_internal_h,v
> diff -u -p -u -p -r1.1 patch-glfw_internal_h
> --- patches/patch-glfw_internal_h 22 Jun 2026 13:02:15 -0000 1.1
> +++ patches/patch-glfw_internal_h 17 Oct 2026 01:10:18 -0000
> @@ -3,10 +3,10 @@ undef close macro from libepoll-shim at
> Index: glfw/internal.h
> --- glfw/internal.h.orig
> +++ glfw/internal.h
> -@@ -926,3 +926,7 @@ void _glfw_free_clipboard_data(_GLFWClipboardData *cd)
> - #define debug_rendering(...) if (_glfw.hints.init.debugRendering) {
> timed_debug_print(__VA_ARGS__); }
> - #define debug_input(...) if (_glfw.hints.init.debugKeyboard) {
> timed_debug_print(__VA_ARGS__); }
> - #define safe_close(fd) do { errno = 0; close(fd); } while(errno == EINTR)
> +@@ -904,3 +904,7 @@ void _glfw_free_clipboard_data(_GLFWClipboardData *cd)
> + } while (errno == EINTR)
> +
> + int _glfwApplyModifierRemap(int mods);
> +// libepoll-shim defines close() as a macro; undef to avoid conflicts with
> struct members
> +#ifdef close
> +# undef close
> Index: patches/patch-kitty_colors_c
> ===================================================================
> RCS file: /cvs/ports/x11/kitty/patches/patch-kitty_colors_c,v
> diff -u -p -u -p -r1.1 patch-kitty_colors_c
> --- patches/patch-kitty_colors_c 22 Jun 2026 13:02:15 -0000 1.1
> +++ patches/patch-kitty_colors_c 17 Oct 2026 01:10:18 -0000
> @@ -3,7 +3,7 @@ use uselocale+strtod instead of strtod_l
> Index: kitty/colors.c
> --- kitty/colors.c.orig
> +++ kitty/colors.c
> -@@ -1051,7 +1051,13 @@ static bool
> +@@ -1150,7 +1150,13 @@ static bool
> parse_double(const char *src, double *out) {
> char *endptr;
> errno = 0;
> Index: patches/patch-setup_py
> ===================================================================
> RCS file: /cvs/ports/x11/kitty/patches/patch-setup_py,v
> diff -u -p -u -p -r1.12 patch-setup_py
> --- patches/patch-setup_py 23 Jul 2026 10:15:47 -0000 1.12
> +++ patches/patch-setup_py 17 Oct 2026 01:10:18 -0000
> @@ -8,42 +8,30 @@ skip HTML docs installation on OpenBSD
> Index: setup.py
> --- setup.py.orig
> +++ setup.py
> -@@ -511,7 +511,6 @@ def init_env(
> +@@ -625,7 +625,6 @@ 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'
> sanitize_args = get_sanitize_args(cc, ccver) if sanitize else []
> cppflags_ = os.environ.get(
> - 'OVERRIDE_CPPFLAGS', '-D{}DEBUG'.format('' if debug else 'N'),
> -@@ -531,7 +530,7 @@ def init_env(
> - cflags_ = os.environ.get(
> - 'OVERRIDE_CFLAGS', (
> + 'OVERRIDE_CPPFLAGS',
> +@@ -647,12 +646,12 @@ def init_env(
> + 'OVERRIDE_CFLAGS',
> + (
> f'-Wextra {float_conversion} -Wno-missing-field-initializers
> -Wall -Wstrict-prototypes {c_std}'
> - f' {werror} {optimize} {sanitize_flag} -fwrapv
> {stack_protector} {missing_braces}'
> + f' {werror} {sanitize_flag} -fwrapv {stack_protector}
> {missing_braces}'
> f' -pipe -fvisibility=hidden {no_plt}'
> - )
> - )
> -@@ -540,7 +539,7 @@ def init_env(
> - )
> - ldflags_ = os.environ.get(
> - 'OVERRIDE_LDFLAGS',
> -- '-Wall ' + ' '.join(sanitize_args) + ('' if debug else ' -O3')
> -+ '-Wall ' + ' '.join(sanitize_args)
> + ),
> )
> + cflags = shlex.split(cflags_) +
> shlex.split(sysconfig.get_config_var('CCSHARED') or '')
> +- ldflags_ = os.environ.get('OVERRIDE_LDFLAGS', '-Wall ' + '
> '.join(sanitize_args) + ('' if debug else ' -O3'))
> ++ ldflags_ = os.environ.get('OVERRIDE_LDFLAGS', '-Wall ' + '
> '.join(sanitize_args))
> ldflags = shlex.split(ldflags_)
> ldflags.append('-shared')
> -@@ -599,7 +598,7 @@ def init_env(
> - set_arches(ldflags, building_arch)
> - ba = test_compile(cc, *(cppflags + cflags), ldflags=ldflags,
> get_output_arch=True)
> - assert isinstance(ba, BinaryArch)
> -- if ba.isa not in (ISA.AMD64, ISA.X86, ISA.ARM64):
> -+ if ba.isa not in (ISA.AMD64, ISA.X86, ISA.ARM64) or is_openbsd:
> - cppflags.append('-DKITTY_NO_SIMD')
> -
> - control_flow_protection = ''
> -@@ -614,9 +613,6 @@ def init_env(
> + cppflags += env_cppflags
> +@@ -725,9 +724,6 @@ def init_env(
> if control_flow_protection:
> cflags.append(control_flow_protection)
>
> @@ -51,9 +39,9 @@ Index: setup.py
> - cflags.extend('-march=native -mtune=native'.split())
> -
> ans = Env(
> - cc, cppflags, cflags, ldflags, library_paths, binary_arch=ba,
> native_optimizations=native_optimizations,
> - ccver=ccver, ldpaths=ldpaths, vcs_rev=vcs_rev,
> -@@ -1039,7 +1035,7 @@ def find_c_files() -> Tuple[List[str], List[str]]:
> + cc,
> + cppflags,
> +@@ -1269,7 +1265,7 @@ def build_wayland_protocols(
>
>
> def compile_glfw(compilation_database: CompilationDatabase, build_dsym:
> bool = False) -> None:
> @@ -61,17 +49,26 @@ Index: setup.py
> + modules = 'cocoa' if is_macos else ('x11' if is_openbsd else 'x11
> wayland')
> for module in modules.split():
> try:
> - genv = glfw.init_env(env, pkg_config, pkg_version,
> at_least_version, test_compile, module)
> -@@ -1388,8 +1384,6 @@ def build_launcher(args: Options, launcher_dir: str =
> + genv = glfw_init_env(env, pkg_config, pkg_version,
> at_least_version, test_compile, module)
> +@@ -1400,7 +1396,7 @@ def build_shaders(args: Options, kitty_exe: str, for_f
> + return
> + env = os.environ.copy()
> + env['ASAN_OPTIONS'] = 'detect_leaks=0'
> +- cp = subprocess.run(
> ++ cp = subprocess.CompletedProcess([], 0) if is_openbsd else
> subprocess.run(
> + [
> + kitty_exe,
> + '+launch',
> +@@ -1611,8 +1607,6 @@ def build_launcher(args: Options, launcher_dir: str =
> + cflags.extend(sanitize_args)
> + ldflags.extend(sanitize_args)
> libs += ['-lasan'] if not is_macos and env.compiler_type is not
> CompilerType.clang else []
> - if args.profile:
> - libs.append('-lprofiler')
> - else:
> - cflags.append('-g3' if args.debug else '-O3')
> if bundle_type.endswith('-freeze'):
> cppflags.append('-DFOR_BUNDLE')
> cppflags.append(f'-DPYVER="{sysconfig.get_python_version()}"')
> -@@ -1454,7 +1448,7 @@ def build_launcher(args: Options, launcher_dir: str =
> +@@ -1678,7 +1672,7 @@ def build_launcher(args: Options, launcher_dir: str =
>
> # Packaging {{{
> def copy_man_pages(ddir: str) -> None:
> @@ -80,7 +77,7 @@ Index: setup.py
> safe_makedirs(mandir)
> man_levels = '15'
> with suppress(FileNotFoundError):
> -@@ -1512,8 +1506,8 @@ def create_linux_bundle_gunk(ddir: str, args: Options)
> +@@ -1744,8 +1738,8 @@ def create_linux_bundle_gunk(ddir: str, args: Options)
> kitten_exe = os.path.join(os.path.dirname(str(launcher)), 'kitten')
> if os.path.exists(kitten_exe):
> os.environ['KITTEN_EXE_FOR_DOCS'] = kitten_exe
> @@ -91,13 +88,13 @@ Index: setup.py
> else:
> if args.skip_building_kitten:
> skip_docs = True
> -@@ -1524,7 +1518,8 @@ def create_linux_bundle_gunk(ddir: str, args: Options)
> +@@ -1759,7 +1753,8 @@ def create_linux_bundle_gunk(ddir: str, args: Options)
> raise SystemExit(f'kitten binary not found at:
> {kitten_exe}')
> if not skip_docs:
> copy_man_pages(ddir)
> - copy_html_docs(ddir)
> + if not is_openbsd:
> + copy_html_docs(ddir)
> - for (icdir, ext) in {'256x256': 'png', 'scalable': 'svg'}.items():
> + for icdir, ext in {'256x256': 'png', 'scalable': 'svg'}.items():
> icdir = os.path.join(ddir, 'share', 'icons', 'hicolor', icdir,
> 'apps')
> safe_makedirs(icdir)
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/x11/kitty/pkg/PLIST,v
> diff -u -p -u -p -r1.11 PLIST
> --- pkg/PLIST 23 Jul 2026 10:15:47 -0000 1.11
> +++ pkg/PLIST 17 Oct 2026 01:10:18 -0000
> @@ -429,9 +429,6 @@ lib/kitty/kitty/${MODPY_PYCACHE}search_q
>
> lib/kitty/kitty/${MODPY_PYCACHE}session.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/kitty/kitty/${MODPY_PYCACHE}session.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> lib/kitty/kitty/${MODPY_PYCACHE}session.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/kitty/kitty/${MODPY_PYCACHE}shaders.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/kitty/kitty/${MODPY_PYCACHE}shaders.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> -lib/kitty/kitty/${MODPY_PYCACHE}shaders.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/kitty/kitty/${MODPY_PYCACHE}shell_integration.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>
> lib/kitty/kitty/${MODPY_PYCACHE}shell_integration.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> lib/kitty/kitty/${MODPY_PYCACHE}shell_integration.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -478,20 +475,9 @@ lib/kitty/kitty/${MODPY_PYCACHE}xdg.${MO
> lib/kitty/kitty/${MODPY_PYCACHE}xdg.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> lib/kitty/kitty/${MODPY_PYCACHE}xdg.${MODPY_PYC_MAGIC_TAG}pyc
> lib/kitty/kitty/actions.py
> -lib/kitty/kitty/alpha_blend.glsl
> lib/kitty/kitty/bash.py
> -lib/kitty/kitty/bgimage_fragment.glsl
> -lib/kitty/kitty/bgimage_vertex.glsl
> -lib/kitty/kitty/blit_common.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_defines.glsl
> -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
> @@ -554,10 +540,7 @@ lib/kitty/kitty/fonts/fontconfig.py
> lib/kitty/kitty/fonts/list.py
> lib/kitty/kitty/fonts/render.py
> @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/hsluv.glsl
> lib/kitty/kitty/key_encoding.py
> lib/kitty/kitty/key_names.py
> lib/kitty/kitty/keys.py
> @@ -598,7 +581,6 @@ 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/linear2srgb.glsl
> lib/kitty/kitty/machine_id.py
> lib/kitty/kitty/main.py
> lib/kitty/kitty/marks.py
> @@ -707,6 +689,9 @@ lib/kitty/kitty/rc/${MODPY_PYCACHE}resiz
>
> lib/kitty/kitty/rc/${MODPY_PYCACHE}run.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/kitty/kitty/rc/${MODPY_PYCACHE}run.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> lib/kitty/kitty/rc/${MODPY_PYCACHE}run.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/rc/${MODPY_PYCACHE}screenshot.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/rc/${MODPY_PYCACHE}screenshot.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/rc/${MODPY_PYCACHE}screenshot.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/kitty/kitty/rc/${MODPY_PYCACHE}scroll_window.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>
> lib/kitty/kitty/rc/${MODPY_PYCACHE}scroll_window.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> lib/kitty/kitty/rc/${MODPY_PYCACHE}scroll_window.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -734,6 +719,9 @@ lib/kitty/kitty/rc/${MODPY_PYCACHE}set_e
>
> lib/kitty/kitty/rc/${MODPY_PYCACHE}set_font_size.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>
> lib/kitty/kitty/rc/${MODPY_PYCACHE}set_font_size.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> lib/kitty/kitty/rc/${MODPY_PYCACHE}set_font_size.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/rc/${MODPY_PYCACHE}set_os_window_title.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/rc/${MODPY_PYCACHE}set_os_window_title.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/rc/${MODPY_PYCACHE}set_os_window_title.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/kitty/kitty/rc/${MODPY_PYCACHE}set_spacing.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>
> lib/kitty/kitty/rc/${MODPY_PYCACHE}set_spacing.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> lib/kitty/kitty/rc/${MODPY_PYCACHE}set_spacing.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -779,6 +767,7 @@ lib/kitty/kitty/rc/remove_marker.py
> lib/kitty/kitty/rc/resize_os_window.py
> lib/kitty/kitty/rc/resize_window.py
> lib/kitty/kitty/rc/run.py
> +lib/kitty/kitty/rc/screenshot.py
> lib/kitty/kitty/rc/scroll_window.py
> lib/kitty/kitty/rc/select_window.py
> lib/kitty/kitty/rc/send_key.py
> @@ -788,6 +777,7 @@ lib/kitty/kitty/rc/set_background_opacit
> lib/kitty/kitty/rc/set_colors.py
> lib/kitty/kitty/rc/set_enabled_layouts.py
> lib/kitty/kitty/rc/set_font_size.py
> +lib/kitty/kitty/rc/set_os_window_title.py
> lib/kitty/kitty/rc/set_spacing.py
> lib/kitty/kitty/rc/set_tab_color.py
> lib/kitty/kitty/rc/set_tab_title.py
> @@ -798,13 +788,83 @@ lib/kitty/kitty/rc/signal_child.py
> lib/kitty/kitty/remote_control.py
> lib/kitty/kitty/render_cache.py
> lib/kitty/kitty/rgb.py
> -lib/kitty/kitty/rounded_rect_fragment.glsl
> -lib/kitty/kitty/rounded_rect_vertex.glsl
> -lib/kitty/kitty/screenshot_fragment.glsl
> -lib/kitty/kitty/screenshot_vertex.glsl
> lib/kitty/kitty/search_query_parser.py
> lib/kitty/kitty/session.py
> -lib/kitty/kitty/shaders.py
> +lib/kitty/kitty/shaders/
> +lib/kitty/kitty/shaders/__init__.py
> +lib/kitty/kitty/shaders/${MODPY_PYCACHE}/
> +lib/kitty/kitty/shaders/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/shaders/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/shaders/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/shaders/${MODPY_PYCACHE}slang.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/shaders/${MODPY_PYCACHE}slang.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/shaders/${MODPY_PYCACHE}slang.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/shaders/${MODPY_PYCACHE}validate_shaders.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/shaders/${MODPY_PYCACHE}validate_shaders.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/shaders/${MODPY_PYCACHE}validate_shaders.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/shaders/alpha-blend.slang
> +lib/kitty/kitty/shaders/background.slang
> +lib/kitty/kitty/shaders/bgimage.slang
> +lib/kitty/kitty/shaders/blit-common.slang
> +lib/kitty/kitty/shaders/blit.slang
> +lib/kitty/kitty/shaders/border.slang
> +lib/kitty/kitty/shaders/cell.slang
> +lib/kitty/kitty/shaders/custom/
> +lib/kitty/kitty/shaders/custom/__init__.py
> +lib/kitty/kitty/shaders/custom/${MODPY_PYCACHE}/
> +lib/kitty/kitty/shaders/custom/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/shaders/custom/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/shaders/custom/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/shaders/custom/${MODPY_PYCACHE}demo.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/shaders/custom/${MODPY_PYCACHE}demo.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/shaders/custom/${MODPY_PYCACHE}demo.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/shaders/custom/bloom.slang
> +lib/kitty/kitty/shaders/custom/crt-blue.pipeline
> +lib/kitty/kitty/shaders/custom/crt.slang
> +lib/kitty/kitty/shaders/custom/cursor-trail-blaze.pipeline
> +lib/kitty/kitty/shaders/custom/cursor-trail-blaze.slang
> +lib/kitty/kitty/shaders/custom/cursor-trail-default.pipeline
> +lib/kitty/kitty/shaders/custom/cursor-trail-default.slang
> +lib/kitty/kitty/shaders/custom/cursor-trail-lightning.pipeline
> +lib/kitty/kitty/shaders/custom/cursor-trail-lightning.slang
> +lib/kitty/kitty/shaders/custom/cursor-trail-motion-blur.pipeline
> +lib/kitty/kitty/shaders/custom/cursor-trail-motion-blur.slang
> +lib/kitty/kitty/shaders/custom/demo.py
> +lib/kitty/kitty/shaders/custom/dim-inactive-windows.pipeline
> +lib/kitty/kitty/shaders/custom/fireworks-rockets.pipeline
> +lib/kitty/kitty/shaders/custom/fireworks-rockets.slang
> +lib/kitty/kitty/shaders/custom/fireworks.pipeline
> +lib/kitty/kitty/shaders/custom/fireworks.slang
> +lib/kitty/kitty/shaders/custom/focus-highlight.pipeline
> +lib/kitty/kitty/shaders/custom/focus-highlight.slang
> +lib/kitty/kitty/shaders/custom/inside-the-matrix.pipeline
> +lib/kitty/kitty/shaders/custom/inside-the-matrix.slang
> +lib/kitty/kitty/shaders/custom/negative.slang
> +lib/kitty/kitty/shaders/custom/northern-lights.pipeline
> +lib/kitty/kitty/shaders/custom/northern-lights.slang
> +lib/kitty/kitty/shaders/custom/pipeline.slang
> +lib/kitty/kitty/shaders/custom/pond-ripple.pipeline
> +lib/kitty/kitty/shaders/custom/pond-ripple.slang
> +lib/kitty/kitty/shaders/custom/sample.slang
> +lib/kitty/kitty/shaders/custom/spotlight.pipeline
> +lib/kitty/kitty/shaders/custom/spotlight.slang
> +lib/kitty/kitty/shaders/custom/tab-change.pipeline
> +lib/kitty/kitty/shaders/custom/tab-change.slang
> +lib/kitty/kitty/shaders/custom/tft.slang
> +lib/kitty/kitty/shaders/custom/types.slang
> +lib/kitty/kitty/shaders/custom/underwater.slang
> +lib/kitty/kitty/shaders/custom/water.slang
> +lib/kitty/kitty/shaders/graphics.slang
> +lib/kitty/kitty/shaders/hsluv.slang
> +lib/kitty/kitty/shaders/linear2srgb.slang
> +lib/kitty/kitty/shaders/padding.slang
> +lib/kitty/kitty/shaders/rounded_rect.slang
> +lib/kitty/kitty/shaders/screenshot.slang
> +lib/kitty/kitty/shaders/slang.py
> +lib/kitty/kitty/shaders/tint.slang
> +lib/kitty/kitty/shaders/trail.slang
> +lib/kitty/kitty/shaders/utils.slang
> +lib/kitty/kitty/shaders/validate_shaders.py
> lib/kitty/kitty/shell_integration.py
> lib/kitty/kitty/shm.py
> lib/kitty/kitty/short_uuid.py
> @@ -812,14 +872,9 @@ lib/kitty/kitty/simple_cli_definitions.p
> 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/trail_fragment.glsl
> -lib/kitty/kitty/trail_vertex.glsl
> lib/kitty/kitty/types.py
> lib/kitty/kitty/typing_compat.py
> lib/kitty/kitty/update_check.py
> -lib/kitty/kitty/utils.glsl
> lib/kitty/kitty/utils.py
> lib/kitty/kitty/window.py
> lib/kitty/kitty/window_list.py
> @@ -830,6 +885,165 @@ lib/kitty/logo/beam-cursor.png
> lib/kitty/logo/[email protected]
> lib/kitty/logo/kitty-128.png
> lib/kitty/logo/kitty.png
> +lib/kitty/shaders/
> +lib/kitty/shaders/bgimage.frag.glsl
> +lib/kitty/shaders/bgimage.glsl.json
> +lib/kitty/shaders/bgimage.json
> +lib/kitty/shaders/bgimage.spv
> +lib/kitty/shaders/bgimage.spv.json
> +lib/kitty/shaders/bgimage.vert.glsl
> +lib/kitty/shaders/blit.frag.glsl
> +lib/kitty/shaders/blit.glsl.json
> +lib/kitty/shaders/blit.json
> +lib/kitty/shaders/blit.spv
> +lib/kitty/shaders/blit.spv.json
> +lib/kitty/shaders/blit.vert.glsl
> +lib/kitty/shaders/border.frag.glsl
> +lib/kitty/shaders/border.glsl.json
> +lib/kitty/shaders/border.json
> +lib/kitty/shaders/border.spv
> +lib/kitty/shaders/border.spv.json
> +lib/kitty/shaders/border.vert.glsl
> +lib/kitty/shaders/cell.06299.frag.glsl
> +lib/kitty/shaders/cell.06299.glsl.json
> +lib/kitty/shaders/cell.06299.spv
> +lib/kitty/shaders/cell.06299.spv.json
> +lib/kitty/shaders/cell.06299.vert.glsl
> +lib/kitty/shaders/cell.2ced3.frag.glsl
> +lib/kitty/shaders/cell.2ced3.glsl.json
> +lib/kitty/shaders/cell.2ced3.spv
> +lib/kitty/shaders/cell.2ced3.spv.json
> +lib/kitty/shaders/cell.2ced3.vert.glsl
> +lib/kitty/shaders/cell.337b6.frag.glsl
> +lib/kitty/shaders/cell.337b6.glsl.json
> +lib/kitty/shaders/cell.337b6.spv
> +lib/kitty/shaders/cell.337b6.spv.json
> +lib/kitty/shaders/cell.337b6.vert.glsl
> +lib/kitty/shaders/cell.37c22.frag.glsl
> +lib/kitty/shaders/cell.37c22.glsl.json
> +lib/kitty/shaders/cell.37c22.spv
> +lib/kitty/shaders/cell.37c22.spv.json
> +lib/kitty/shaders/cell.37c22.vert.glsl
> +lib/kitty/shaders/cell.3a52d.frag.glsl
> +lib/kitty/shaders/cell.3a52d.glsl.json
> +lib/kitty/shaders/cell.3a52d.spv
> +lib/kitty/shaders/cell.3a52d.spv.json
> +lib/kitty/shaders/cell.3a52d.vert.glsl
> +lib/kitty/shaders/cell.3e8c7.frag.glsl
> +lib/kitty/shaders/cell.3e8c7.glsl.json
> +lib/kitty/shaders/cell.3e8c7.spv
> +lib/kitty/shaders/cell.3e8c7.spv.json
> +lib/kitty/shaders/cell.3e8c7.vert.glsl
> +lib/kitty/shaders/cell.4307f.frag.glsl
> +lib/kitty/shaders/cell.4307f.glsl.json
> +lib/kitty/shaders/cell.4307f.spv
> +lib/kitty/shaders/cell.4307f.spv.json
> +lib/kitty/shaders/cell.4307f.vert.glsl
> +lib/kitty/shaders/cell.45d75.frag.glsl
> +lib/kitty/shaders/cell.45d75.glsl.json
> +lib/kitty/shaders/cell.45d75.spv
> +lib/kitty/shaders/cell.45d75.spv.json
> +lib/kitty/shaders/cell.45d75.vert.glsl
> +lib/kitty/shaders/cell.53df3.frag.glsl
> +lib/kitty/shaders/cell.53df3.glsl.json
> +lib/kitty/shaders/cell.53df3.spv
> +lib/kitty/shaders/cell.53df3.spv.json
> +lib/kitty/shaders/cell.53df3.vert.glsl
> +lib/kitty/shaders/cell.696dd.frag.glsl
> +lib/kitty/shaders/cell.696dd.glsl.json
> +lib/kitty/shaders/cell.696dd.spv
> +lib/kitty/shaders/cell.696dd.spv.json
> +lib/kitty/shaders/cell.696dd.vert.glsl
> +lib/kitty/shaders/cell.7c802.frag.glsl
> +lib/kitty/shaders/cell.7c802.glsl.json
> +lib/kitty/shaders/cell.7c802.spv
> +lib/kitty/shaders/cell.7c802.spv.json
> +lib/kitty/shaders/cell.7c802.vert.glsl
> +lib/kitty/shaders/cell.8795d.frag.glsl
> +lib/kitty/shaders/cell.8795d.glsl.json
> +lib/kitty/shaders/cell.8795d.spv
> +lib/kitty/shaders/cell.8795d.spv.json
> +lib/kitty/shaders/cell.8795d.vert.glsl
> +lib/kitty/shaders/cell.97519.frag.glsl
> +lib/kitty/shaders/cell.97519.glsl.json
> +lib/kitty/shaders/cell.97519.spv
> +lib/kitty/shaders/cell.97519.spv.json
> +lib/kitty/shaders/cell.97519.vert.glsl
> +lib/kitty/shaders/cell.a0507.frag.glsl
> +lib/kitty/shaders/cell.a0507.glsl.json
> +lib/kitty/shaders/cell.a0507.spv
> +lib/kitty/shaders/cell.a0507.spv.json
> +lib/kitty/shaders/cell.a0507.vert.glsl
> +lib/kitty/shaders/cell.a07b1.frag.glsl
> +lib/kitty/shaders/cell.a07b1.glsl.json
> +lib/kitty/shaders/cell.a07b1.spv
> +lib/kitty/shaders/cell.a07b1.spv.json
> +lib/kitty/shaders/cell.a07b1.vert.glsl
> +lib/kitty/shaders/cell.ce584.frag.glsl
> +lib/kitty/shaders/cell.ce584.glsl.json
> +lib/kitty/shaders/cell.ce584.spv
> +lib/kitty/shaders/cell.ce584.spv.json
> +lib/kitty/shaders/cell.ce584.vert.glsl
> +lib/kitty/shaders/cell.d5dd6.frag.glsl
> +lib/kitty/shaders/cell.d5dd6.glsl.json
> +lib/kitty/shaders/cell.d5dd6.spv
> +lib/kitty/shaders/cell.d5dd6.spv.json
> +lib/kitty/shaders/cell.d5dd6.vert.glsl
> +lib/kitty/shaders/cell.frag.glsl
> +lib/kitty/shaders/cell.glsl.json
> +lib/kitty/shaders/cell.json
> +lib/kitty/shaders/cell.spv
> +lib/kitty/shaders/cell.spv.json
> +lib/kitty/shaders/cell.vert.glsl
> +lib/kitty/shaders/glsl-uniforms.json
> +lib/kitty/shaders/graphics.alpha_mask.frag.glsl
> +lib/kitty/shaders/graphics.alpha_mask.glsl.json
> +lib/kitty/shaders/graphics.alpha_mask.spv
> +lib/kitty/shaders/graphics.alpha_mask.spv.json
> +lib/kitty/shaders/graphics.alpha_mask.vert.glsl
> +lib/kitty/shaders/graphics.frag.glsl
> +lib/kitty/shaders/graphics.glsl.json
> +lib/kitty/shaders/graphics.json
> +lib/kitty/shaders/graphics.premult.frag.glsl
> +lib/kitty/shaders/graphics.premult.glsl.json
> +lib/kitty/shaders/graphics.premult.spv
> +lib/kitty/shaders/graphics.premult.spv.json
> +lib/kitty/shaders/graphics.premult.vert.glsl
> +lib/kitty/shaders/graphics.spv
> +lib/kitty/shaders/graphics.spv.json
> +lib/kitty/shaders/graphics.vert.glsl
> +lib/kitty/shaders/padding.frag.glsl
> +lib/kitty/shaders/padding.glsl.json
> +lib/kitty/shaders/padding.json
> +lib/kitty/shaders/padding.spv
> +lib/kitty/shaders/padding.spv.json
> +lib/kitty/shaders/padding.vert.glsl
> +lib/kitty/shaders/rounded_rect.frag.glsl
> +lib/kitty/shaders/rounded_rect.glsl.json
> +lib/kitty/shaders/rounded_rect.json
> +lib/kitty/shaders/rounded_rect.spv
> +lib/kitty/shaders/rounded_rect.spv.json
> +lib/kitty/shaders/rounded_rect.vert.glsl
> +lib/kitty/shaders/screenshot.frag.glsl
> +lib/kitty/shaders/screenshot.glsl.json
> +lib/kitty/shaders/screenshot.json
> +lib/kitty/shaders/screenshot.spv
> +lib/kitty/shaders/screenshot.spv.json
> +lib/kitty/shaders/screenshot.vert.glsl
> +lib/kitty/shaders/slangc.version
> +lib/kitty/shaders/slangpy.version
> +lib/kitty/shaders/tint.frag.glsl
> +lib/kitty/shaders/tint.glsl.json
> +lib/kitty/shaders/tint.json
> +lib/kitty/shaders/tint.spv
> +lib/kitty/shaders/tint.spv.json
> +lib/kitty/shaders/tint.vert.glsl
> +lib/kitty/shaders/trail.frag.glsl
> +lib/kitty/shaders/trail.glsl.json
> +lib/kitty/shaders/trail.json
> +lib/kitty/shaders/trail.spv
> +lib/kitty/shaders/trail.spv.json
> +lib/kitty/shaders/trail.vert.glsl
> lib/kitty/shell-integration/
> lib/kitty/shell-integration/bash/
> lib/kitty/shell-integration/bash/kitty.bash
> @@ -880,6 +1094,7 @@ lib/kitty/terminfo/x/xterm-kitty
> @man man/man1/[email protected]
> @man man/man1/[email protected]
> @man man/man1/[email protected]
> +@man man/man1/[email protected]
> @man man/man1/[email protected]
> @man man/man1/[email protected]
> @man man/man1/[email protected]
> @@ -889,6 +1104,7 @@ lib/kitty/terminfo/x/xterm-kitty
> @man man/man1/[email protected]
> @man man/man1/[email protected]
> @man man/man1/[email protected]
> +@man man/man1/[email protected]
> @man man/man1/[email protected]
> @man man/man1/[email protected]
> @man man/man1/[email protected]
> @@ -916,6 +1132,7 @@ lib/kitty/terminfo/x/xterm-kitty
> @man man/man1/kitten-query-terminal.1
> @man man/man1/kitten-quick-access-terminal.1
> @man man/man1/kitten-remote-file.1
> +@man man/man1/kitten-resize-window.1
> @man man/man1/kitten-run-shell.1
> @man man/man1/kitten-show-key.1
> @man man/man1/kitten-ssh.1
> @@ -927,6 +1144,7 @@ lib/kitty/terminfo/x/xterm-kitty
> @man man/man1/kitty.1
> share/applications/kitty-open.desktop
> share/applications/kitty.desktop
> +share/doc/pkg-readmes/${PKGSTEM}
> share/icons/hicolor/256x256/apps/kitty.png
> share/icons/hicolor/scalable/apps/kitty.svg
> share/terminfo/
> Index: pkg/README
> ===================================================================
> RCS file: pkg/README
> diff -N pkg/README
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ pkg/README 17 Oct 2026 01:10:18 -0000
> @@ -0,0 +1,10 @@
> ++-------------------------------------------------------------------------------
> +| Running ${PKGSTEM} on OpenBSD
> ++-------------------------------------------------------------------------------
> +
> +Custom shaders
> +==============
> +
> +The built-in shaders are precompiled, but custom shaders (see the "Custom
> +shaders" page in the kitty documentation) need the Slang shader compiler
> +(slangc), which is not available in OpenBSD ports.