aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicola Vitale <nivit@FreeBSD.org>2023-07-15 13:59:01 +0000
committerNicola Vitale <nivit@FreeBSD.org>2023-07-15 14:00:53 +0000
commit593b9705c8e6519948ee0ab17563662c06c97516 (patch)
treeac306441d201cd16496980d9fff205bc57c16081
parentc702ec87f036252587844883fa0a0f9dcd9ef7d0 (diff)
-rw-r--r--x11/kitty/Makefile55
-rw-r--r--x11/kitty/distinfo14
-rw-r--r--x11/kitty/files/patch-docs_changelog.rst29
-rw-r--r--x11/kitty/files/patch-docs_conf.py23
-rw-r--r--x11/kitty/files/patch-setup.py26
5 files changed, 114 insertions, 33 deletions
diff --git a/x11/kitty/Makefile b/x11/kitty/Makefile
index 906878a357ae..1476dc9a9e19 100644
--- a/x11/kitty/Makefile
+++ b/x11/kitty/Makefile
@@ -1,13 +1,9 @@
PORTNAME= kitty
DISTVERSIONPREFIX= v
-DISTVERSION= 0.28.1
-PORTREVISION= 1
+DISTVERSION= 0.29.0
+PORTREVISION= 0
CATEGORIES= x11 wayland
-PATCH_SITES= https://github.com/kovidgoyal/${PORTNAME}/commit/
-PATCHFILES+= 95d15648fa37.patch:-p1 # https://github.com/kovidgoyal/kitty/issues/6422
-PATCHFILES+= 7d2dc252f149.patch:-p1 # https://github.com/kovidgoyal/kitty/issues/6422
-
MAINTAINER= nivit@FreeBSD.org
COMMENT= Cross-platform, fast, featureful, GPU-based terminal emulator
WWW= https://sw.kovidgoyal.net/kitty/
@@ -22,7 +18,8 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}furo>0:textproc/py-furo@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sphinxext-opengraph>0:textproc/py-sphinxext-opengraph@${PY_FLAVOR} \
sphinx-build:textproc/py-sphinx@${PY_FLAVOR} \
wayland-protocols>=0:graphics/wayland-protocols
-LIB_DEPENDS= libdbus-1.so:devel/dbus \
+LIB_DEPENDS= libcanberra.so:audio/libcanberra \
+ libdbus-1.so:devel/dbus \
libepoll-shim-interpose.so:devel/libepoll-shim \
libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2 \
@@ -35,8 +32,8 @@ LIB_DEPENDS= libdbus-1.so:devel/dbus \
libxkbcommon.so:x11/libxkbcommon
USES= compiler:c11 cpe desktop-file-utils gettext-runtime gl gmake \
- go:modules pkgconfig python shebangfix ssl tar:xz terminfo \
- xorg
+ go:modules magick pkgconfig python shebangfix ssl tar:xz \
+ terminfo xorg
CPE_VENDOR= kitty_project
GH_TUPLE= ALTree:bigfloat:38c8b72a9924:altree_bigfloat/vendor/github.com/ALTree/bigfloat \
disintegration:imaging:v1.6.2:disintegration_imaging/vendor/github.com/disintegration/imaging \
@@ -66,17 +63,22 @@ LDFLAGS+= `pkg-config --libs epoll-shim-interpose`
BINARY_ALIAS= python3=${PYTHON_CMD} python=${PYTHON_CMD}
+BUILD_DIR= ${WRKSRC}/${OPSYS:tl}-package
+
INSTALL_WRKSRC= ${WRKSRC}/linux-package
-_STRIP_TARGETS= lib/kitty/kitty/fast_data_types.so lib/kitty/kitty/glfw-x11.so \
- lib/kitty/kitty/glfw-wayland.so bin/kitten bin/kitty \
- lib/kitty/kittens/transfer/rsync.so
+_STRIP_TARGETS= kitty/fast_data_types.so kitty/glfw-x11.so \
+ kitty/glfw-wayland.so kittens/transfer/rsync.so
_EMPTY_DIRS= kittens/choose kittens/diff kittens/unicode_input kittens kitty
+OPTIONS_DEFINE= DOCS
+DOCS_MAKE_ENV= BUILD_DOCS=yes
+
.include <bsd.port.options.mk>
-.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400079 || ( ${OSVERSION} >= 1302505 && ${OSVERSION} < 1400000 ))
+.if ${OPSYS} == FreeBSD && (${OSVERSION} >= 1400079 || (${OSVERSION} >= 1302505 && \
+ ${OSVERSION} < 1400000))
CFLAGS+= -Wno-error=invalid-utf8 -Winvalid-utf8
.endif
@@ -96,16 +98,35 @@ USES+= ncurses
EXTRA_PATCHES= ${PATCHDIR}/extra-patch-kitty_data-types.h
.endif
+post-patch:
+ ${REINPLACE_CMD} -i.bak -e "s:'go':'${GO_CMD:T}':1" ${WRKSRC}/setup.py
+
# For librsync, we need to set header and library path
do-build:
(cd ${WRKSRC} && \
- ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} setup.py linux-package --update-check-interval 0 --extra-include-dirs ${LOCALBASE}/include/ --extra-library-dirs ${LOCALBASE}/lib)
- ${FIND} ${INSTALL_WRKSRC} -name __pycache__ -type d -exec ${RM} -r -- {} +
+ ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} setup.py \
+ --extra-include-dirs ${LOCALBASE}/include \
+ --extra-library-dirs ${LOCALBASE}/lib \
+ --libdir-name share \
+ --prefix ${BUILD_DIR:T} \
+ --update-check-interval 0 \
+ linux-package)
do-install:
- ${CP} -a ${INSTALL_WRKSRC}/ ${STAGEDIR}${PREFIX}
- ${STRIP_CMD} ${_STRIP_TARGETS:S|^|${STAGEDIR}${PREFIX}/|}
+ cd ${BUILD_DIR} && \
+ ${INSTALL_PROGRAM} bin/kitty bin/kitten ${STAGEDIR}${PREFIX}/bin && \
+ ${INSTALL_DATA} share/applications/* ${STAGEDIR}${DESKTOPDIR} && \
+ ${INSTALL_DATA} -d share/icons/hicolor ${STAGEDIR}${PREFIX}/share/icons/highcolor
+ cd ${BUILD_DIR}/share/kitty && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}
${INSTALL_DATA} ${WRKSRC}/terminfo/kitty.terminfo \
${STAGEDIR}${PREFIX}/share/misc/
+ ${INSTALL_MAN} ${BUILD_DIR}/share/man/man1/kitty.1 ${STAGEDIR}${MANPREFIX}/share/man/man1
+ ${INSTALL_MAN} ${BUILD_DIR}/share/man/man5/kitty.conf.5 ${STAGEDIR}${MANPREFIX}/share/man/man5
+ ${STRIP_CMD} ${_STRIP_TARGETS:S|^|${STAGEDIR}${DATADIR}/|}
+
+do-install-DOCS-on:
+ cd ${BUILD_DIR}/share/doc/kitty/html && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>
diff --git a/x11/kitty/distinfo b/x11/kitty/distinfo
index 32502263ccd8..ba38bdfb1b17 100644
--- a/x11/kitty/distinfo
+++ b/x11/kitty/distinfo
@@ -1,9 +1,5 @@
-TIMESTAMP = 1683875864
-SHA256 (go/x11_kitty/kitty-v0.28.1/v0.28.1.mod) = 0b13cb16daa2d5096cf82ccb083e36999a0f14ef24442946376b8622cf59dd12
-SIZE (go/x11_kitty/kitty-v0.28.1/v0.28.1.mod) = 1048
-SHA256 (go/x11_kitty/kitty-v0.28.1/v0.28.1.zip) = 9557eca1fe041935f6f7b7fa08c5b81a89c85f53fed7fd3c31f4c90823fcfd77
-SIZE (go/x11_kitty/kitty-v0.28.1/v0.28.1.zip) = 8285949
-SHA256 (go/x11_kitty/kitty-v0.28.1/95d15648fa37.patch) = c51a27a65e9fa6e481ce7da48bd722d4d75bf863c4ba770fa5ae852aa321f27c
-SIZE (go/x11_kitty/kitty-v0.28.1/95d15648fa37.patch) = 1189
-SHA256 (go/x11_kitty/kitty-v0.28.1/7d2dc252f149.patch) = 9d5d3274945d6eb589ab3e4118df8bf8585acac65f3fcfd06873337f56546125
-SIZE (go/x11_kitty/kitty-v0.28.1/7d2dc252f149.patch) = 737
+TIMESTAMP = 1689257329
+SHA256 (go/x11_kitty/kitty-v0.29.0/v0.29.0.mod) = 824f1a4725be13881152b849609fb73128c19513c25ec3e8495a298e627c3c02
+SIZE (go/x11_kitty/kitty-v0.29.0/v0.29.0.mod) = 1063
+SHA256 (go/x11_kitty/kitty-v0.29.0/v0.29.0.zip) = 8fa1e10b12c9af8c5e911a85baf6a1d6839d4e8c13bcb6465a94344708223470
+SIZE (go/x11_kitty/kitty-v0.29.0/v0.29.0.zip) = 8320600
diff --git a/x11/kitty/files/patch-docs_changelog.rst b/x11/kitty/files/patch-docs_changelog.rst
new file mode 100644
index 000000000000..da82a8ac5fda
--- /dev/null
+++ b/x11/kitty/files/patch-docs_changelog.rst
@@ -0,0 +1,29 @@
+--- docs/changelog.rst.orig 1979-11-29 23:00:00 UTC
++++ docs/changelog.rst
+@@ -2937,7 +2937,7 @@ Detailed list of changes
+ - A :doc:`new kitten <kittens/panel>` to create dock panels on X11 desktops
+ showing the output from arbitrary terminal programs.
+
+-- Reduce data sent to the GPU per render by 30% (:commit:`8dea5b3`)
++- Reduce data sent to the GPU per render by 30% (:commit:`8dea5b3e3ec1db8597f3a3649b5cefd52f41e409`)
+
+ - Implement changing the font size for individual top level (OS) windows
+ (:iss:`408`)
+@@ -3052,7 +3052,7 @@ Detailed list of changes
+ - Implement support for the SGR *faint* escape code to make text blend
+ into the background (:iss:`446`).
+
+-- Make the hints kitten a little smarter (:commit:`ad1109b`)
++- Make the hints kitten a little smarter (:commit:`ad1109b6fe0a6802ca4f77182a7a0b36086b3e9f`)
+ so that URLs that stretch over multiple lines are detected. Also improve
+ detection of surrounding brackets/quotes.
+
+@@ -3064,7 +3064,7 @@ Detailed list of changes
+
+ - Expand environment variables in config file include directives
+
+-- Allow programs running in kitty to read/write from the clipboard (:commit:`889ca77`).
++- Allow programs running in kitty to read/write from the clipboard (:commit:`889ca7791244253cb08fbc3eca8883a87fb943a7`).
+ By default only writing is allowed. This feature is supported in many
+ terminals, search for `OSC 52 clipboard` to find out more about using it.
+
diff --git a/x11/kitty/files/patch-docs_conf.py b/x11/kitty/files/patch-docs_conf.py
new file mode 100644
index 000000000000..a9775ffc7d43
--- /dev/null
+++ b/x11/kitty/files/patch-docs_conf.py
@@ -0,0 +1,23 @@
+--- docs/conf.py.orig 2023-05-12 12:26:28 UTC
++++ docs/conf.py
+@@ -207,18 +207,10 @@ def commit_role(
+ name: str, rawtext: str, text: str, lineno: int, inliner: Any, options: Any = {}, content: Any = []
+ ) -> Tuple[List[nodes.reference], List[nodes.problematic]]:
+ ' Link to a github commit '
+- try:
+- commit_id = subprocess.check_output(
+- f'git rev-list --max-count=1 --skip=# {text}'.split()).decode('utf-8').strip()
+- except Exception:
+- msg = inliner.reporter.error(
+- f'GitHub commit id "{text}" not recognized.', line=lineno)
+- prb = inliner.problematic(rawtext, rawtext, msg)
+- return [prb], [msg]
++ commit_id = text
+ url = f'https://github.com/kovidgoyal/kitty/commit/{commit_id}'
+ set_classes(options)
+- short_id = subprocess.check_output(
+- f'git rev-list --max-count=1 --abbrev-commit --skip=# {commit_id}'.split()).decode('utf-8').strip()
++ short_id = text[:9]
+ node = nodes.reference(rawtext, f'commit: {short_id}', refuri=url, **options)
+ return [node], []
+ # }}}
diff --git a/x11/kitty/files/patch-setup.py b/x11/kitty/files/patch-setup.py
index 8e2753461889..9a63378dbe51 100644
--- a/x11/kitty/files/patch-setup.py
+++ b/x11/kitty/files/patch-setup.py
@@ -1,11 +1,14 @@
---- setup.py.orig 2023-04-08 12:02:15 UTC
+--- setup.py.orig 2023-07-13 16:10:52 UTC
+++ setup.py
-@@ -126,25 +126,9 @@ def libcrypto_flags() -> Tuple[List[str], List[str]]:
+@@ -130,27 +130,11 @@ def libcrypto_flags() -> Tuple[List[str], List[str]]:
# Apple use their special snowflake TLS libraries and additionally
# have an ancient broken system OpenSSL, so we need to check for one
# installed by all the various macOS package managers.
- extra_pc_dir = ''
--
++ cflags = [f"-I{sys.prefix}/include"]
++ libs = [f"-L{sys.prefix}/lib", "-lcrypto"]
++ return cflags, libs
+
- try:
- cflags = pkg_config('libcrypto', '--cflags-only-I', fatal=False)
- except subprocess.CalledProcessError:
@@ -23,9 +26,18 @@
- extra_pc_dir = os.pathsep.join(openssl_dirs)
- cflags = pkg_config('libcrypto', '--cflags-only-I', extra_pc_dir=extra_pc_dir)
- return cflags, pkg_config('libcrypto', '--libs', extra_pc_dir=extra_pc_dir)
-+ cflags = [f"-I{sys.prefix}/include"]
-+ libs = [f"-L{sys.prefix}/lib", "-lcrypto"]
-+ return cflags, libs
-
+-
def at_least_version(package: str, major: int, minor: int = 0) -> None:
+ q = f'{major}.{minor}'
+ if subprocess.run([PKGCONFIG, package, f'--atleast-version={q}']
+@@ -1163,7 +1147,8 @@ def create_linux_bundle_gunk(ddir: str, libdir_name: s
+ make = 'gmake' if is_freebsd else 'make'
+ run_tool([make, 'docs'])
+ copy_man_pages(ddir)
+- copy_html_docs(ddir)
++ if os.getenv('BUILD_DOCS') == 'yes':
++ copy_html_docs(ddir)
+ for (icdir, ext) in {'256x256': 'png', 'scalable': 'svg'}.items():
+ icdir = os.path.join(ddir, 'share', 'icons', 'hicolor', icdir, 'apps')
+ safe_makedirs(icdir)