pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

foot: update to 1.25.0



Module Name:	pkgsrc-wip
Committed By:	kikadf <kikadf.01%gmail.com@localhost>
Pushed By:	kikadf
Date:		Sat Feb 7 11:33:17 2026 +0100
Changeset:	e7ab35a35f61c4ad02566b327eb913abc361f740

Modified Files:
	foot/Makefile
	foot/PLIST
	foot/TODO
	foot/distinfo
Added Files:
	foot/patches/patch-char32.c
	foot/patches/patch-config.c
	foot/patches/patch-meson.build
	foot/patches/patch-server.c
	foot/patches/patch-slave.c
	foot/patches/patch-utils_xtgettcap.c

Log Message:
foot: update to 1.25.0

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=e7ab35a35f61c4ad02566b327eb913abc361f740

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 foot/Makefile                        |  15 +++--
 foot/PLIST                           |  41 ++++++++++++--
 foot/TODO                            |   2 +-
 foot/distinfo                        |  12 +++-
 foot/patches/patch-char32.c          |  16 ++++++
 foot/patches/patch-config.c          | 107 +++++++++++++++++++++++++++++++++++
 foot/patches/patch-meson.build       |  15 +++++
 foot/patches/patch-server.c          |  34 +++++++++++
 foot/patches/patch-slave.c           |  20 +++++++
 foot/patches/patch-utils_xtgettcap.c |  24 ++++++++
 10 files changed, 272 insertions(+), 14 deletions(-)

diffs:
diff --git a/foot/Makefile b/foot/Makefile
index 81a8214b16..d3ef9db903 100644
--- a/foot/Makefile
+++ b/foot/Makefile
@@ -1,6 +1,6 @@
 # $NetBSD$
 
-DISTNAME=	foot-1.17.0
+DISTNAME=	foot-1.25.0
 CATEGORIES=	x11
 MASTER_SITES=	https://codeberg.org/dnkl/foot/releases/download/${PKGVERSION_NOREV}/
 
@@ -11,21 +11,28 @@ LICENSE=	mit
 
 USE_TOOLS+=	pkg-config
 
-BUILD_DEPENDS+=	scdoc-[0-9]*:../../textproc/scdoc
+MESON_ARGS+=	-Dtests=false
+
+EGDIR=		${PREFIX}/share/examples/foot
+OWN_DIRS+=	${PKG_SYSCONFDIR}/xdg/foot
+CONF_FILES=	${EGDIR}/foot.ini ${PKG_SYSCONFDIR}/xdg/foot/foot.ini
 
 post-install:
 	${RM} -rf ${DESTDIR}${PREFIX}/share/terminfo
 
 .include "../../devel/meson/build.mk"
+.include "../../textproc/scdoc/tool.mk"
 .include "../../converters/utf8proc/buildlink3.mk"
-#.include "../../devel/libepoll-shim/buildlink3.mk"
+CFLAGS+=	-I${BUILDLINK_PREFIX.libepoll-shim}/include/libepoll-shim
+.include "../../devel/libepoll-shim/buildlink3.mk"
 .include "../../devel/wayland/buildlink3.mk"
 .include "../../devel/wayland-protocols/buildlink3.mk"
 .include "../../fonts/fontconfig/buildlink3.mk"
 .include "../../graphics/hicolor-icon-theme/buildlink3.mk"
-.include "../../lang/python/application.mk"
+#.include "../../lang/python/application.mk"
 .include "../../wip/fcft/buildlink3.mk"
 .include "../../wip/tllist/buildlink3.mk"
+.include "../../wip/input-headers/buildlink3.mk"
 .include "../../x11/pixman/buildlink3.mk"
 .include "../../x11/libxkbcommon/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff --git a/foot/PLIST b/foot/PLIST
index 2284e60a25..4a3f2d17af 100644
--- a/foot/PLIST
+++ b/foot/PLIST
@@ -1,52 +1,80 @@
 @comment $NetBSD$
 bin/foot
 bin/footclient
-etc/xdg/foot/foot.ini
-share/applications/org.codeberg.dnkl.foot-server.desktop
-share/applications/org.codeberg.dnkl.foot.desktop
-share/applications/org.codeberg.dnkl.footclient.desktop
+man/man1/foot.1
+man/man1/footclient.1
+man/man5/foot.ini.5
+man/man7/foot-ctlseqs.7
+share/applications/foot-server.desktop
+share/applications/foot.desktop
+share/applications/footclient.desktop
 share/bash-completion/completions/foot
 share/bash-completion/completions/footclient
+share/doc/foot/CHANGELOG.md
+share/doc/foot/LICENSE
+share/doc/foot/README.md
+share/examples/foot/foot.ini
 share/fish/vendor_completions.d/foot.fish
 share/fish/vendor_completions.d/footclient.fish
 share/foot/themes/aeroroot
+share/foot/themes/alacritty
 share/foot/themes/apprentice
 share/foot/themes/ayu-mirage
-share/foot/themes/catppuccin
+share/foot/themes/catppuccin-frappe
+share/foot/themes/catppuccin-latte
+share/foot/themes/catppuccin-macchiato
+share/foot/themes/catppuccin-mocha
 share/foot/themes/chiba-dark
 share/foot/themes/derp
 share/foot/themes/deus
 share/foot/themes/dracula
+share/foot/themes/dracula-iterm
 share/foot/themes/electrophoretic
+share/foot/themes/gruvbox
 share/foot/themes/gruvbox-dark
 share/foot/themes/gruvbox-light
 share/foot/themes/hacktober
+share/foot/themes/iterm
 share/foot/themes/jetbrains-darcula
 share/foot/themes/kitty
 share/foot/themes/material-amber
 share/foot/themes/material-design
 share/foot/themes/modus-operandi
 share/foot/themes/modus-vivendi
+share/foot/themes/modus-vivendi-tinted
+share/foot/themes/molokai
 share/foot/themes/monokai-pro
 share/foot/themes/moonfly
 share/foot/themes/neon
+share/foot/themes/night-owl
 share/foot/themes/nightfly
+share/foot/themes/noirblaze
 share/foot/themes/nord
 share/foot/themes/nordiq
+share/foot/themes/nvim
+share/foot/themes/nvim-dark
+share/foot/themes/nvim-light
 share/foot/themes/onedark
+share/foot/themes/onehalf-dark
 share/foot/themes/panda
+share/foot/themes/paper-color
 share/foot/themes/paper-color-dark
 share/foot/themes/paper-color-light
 share/foot/themes/poimandres
 share/foot/themes/rezza
 share/foot/themes/rose-pine
+share/foot/themes/rose-pine-dawn
+share/foot/themes/rose-pine-moon
+share/foot/themes/selenized
 share/foot/themes/selenized-black
 share/foot/themes/selenized-dark
 share/foot/themes/selenized-light
 share/foot/themes/selenized-white
+share/foot/themes/solarized
 share/foot/themes/solarized-dark
 share/foot/themes/solarized-dark-normal-brights
 share/foot/themes/solarized-light
+share/foot/themes/solarized-normal-brights
 share/foot/themes/srcery
 share/foot/themes/starlight
 share/foot/themes/tango
@@ -66,10 +94,11 @@ share/foot/themes/tempus-tempest
 share/foot/themes/tempus-totus
 share/foot/themes/tempus-warp
 share/foot/themes/tempus-winter
-share/foot/themes/tokyonight-day
+share/foot/themes/tokyonight-light
 share/foot/themes/tokyonight-night
 share/foot/themes/tokyonight-storm
 share/foot/themes/visibone
+share/foot/themes/xterm
 share/foot/themes/zenburn
 share/icons/hicolor/48x48/apps/foot.png
 share/icons/hicolor/scalable/apps/foot.svg
diff --git a/foot/TODO b/foot/TODO
index 75ed81e70b..4a25bc076f 100644
--- a/foot/TODO
+++ b/foot/TODO
@@ -1 +1 @@
-- handle the config file correctly
+- handle the config file correctly: done :)
diff --git a/foot/distinfo b/foot/distinfo
index ea503eaf3b..ab78e2abcc 100644
--- a/foot/distinfo
+++ b/foot/distinfo
@@ -1,5 +1,11 @@
 $NetBSD$
 
-BLAKE2s (foot-1.17.0.tar.gz) = 81f3eaaf907e996a155ab6d571f61860be3782036adc0a56cf9bf98856d3cba4
-SHA512 (foot-1.17.0.tar.gz) = 4d24575c94ac5429b21134a21dd8b03d232d36798345fac3102b8a58de2acd951f6c1b4527085456072c3a0816d3fcf60210ec2004d84484b26bba22f44fbd89
-Size (foot-1.17.0.tar.gz) = 543481 bytes
+BLAKE2s (foot-1.25.0.tar.gz) = 19c79d76e58c0e4d024a4fea3658d7790d813cb42b9f1ab498693391cb2b9ab5
+SHA512 (foot-1.25.0.tar.gz) = 2b8d9070e9cf9c36bc481ff927a0df0619c1c0aae9d7e654b841b98b016149bcb667a46ae7c270c5b166f108edc6700246d275152e4d399cf36505e861fbaeba
+Size (foot-1.25.0.tar.gz) = 621034 bytes
+SHA1 (patch-char32.c) = 833e1f2e6d7cbd9985bb5307bb0b097e5c26b4ef
+SHA1 (patch-config.c) = f3639ee869c2a667f66bf10880b9fab2f5e35c73
+SHA1 (patch-meson.build) = ed84dfab137e9a0be7d464d5f78b8dcbe94956f8
+SHA1 (patch-server.c) = 2d27b2c391e3c624ef6573faca641050549f5966
+SHA1 (patch-slave.c) = 7ed9560294fbbecfca49f4c09e6617fa7e8f131d
+SHA1 (patch-utils_xtgettcap.c) = c19b19367a863fae012b15b447d2389671ddd90d
diff --git a/foot/patches/patch-char32.c b/foot/patches/patch-char32.c
new file mode 100644
index 0000000000..4604d1a232
--- /dev/null
+++ b/foot/patches/patch-char32.c
@@ -0,0 +1,16 @@
+$NetBSD$
+
+* Add NetBSD support
+
+--- char32.c.orig	2026-02-05 16:00:31.082232514 +0000
++++ char32.c
+@@ -34,7 +34,8 @@ _Static_assert(
+ #if !defined(__STDC_UTF_32__) || !__STDC_UTF_32__
+  #error "char32_t does not use UTF-32"
+ #endif
+-#if (!defined(__STDC_ISO_10646__) || !__STDC_ISO_10646__) && !defined(__FreeBSD__)
++#if (!defined(__STDC_ISO_10646__) || !__STDC_ISO_10646__) && !defined(__FreeBSD__) && \
++    !defined(__NetBSD__)
+  #error "wchar_t does not use UTF-32"
+ #endif
+ 
diff --git a/foot/patches/patch-config.c b/foot/patches/patch-config.c
new file mode 100644
index 0000000000..dcf14633a2
--- /dev/null
+++ b/foot/patches/patch-config.c
@@ -0,0 +1,107 @@
+$NetBSD$
+
+* Fix ctype usage
+
+--- config.c.orig	2026-02-05 16:28:45.447020587 +0000
++++ config.c
+@@ -755,7 +755,7 @@ value_to_fonts(struct context *ctx)
+          font = strtok(NULL, ","))
+     {
+         /* Trim spaces, strictly speaking not necessary, but looks nice :) */
+-        while (isspace(font[0]))
++        while (isspace((unsigned char)font[0]))
+             font++;
+ 
+         if (font[0] == '\0')
+@@ -1374,7 +1374,7 @@ parse_color_theme(struct context *ctx, s
+     uint8_t last_digit = (unsigned char)key[key_len - 1] - '0';
+     uint32_t *color = NULL;
+ 
+-    if (isdigit(key[0])) {
++    if (isdigit((unsigned char)key[0])) {
+         unsigned long index;
+         if (!str_to_ulong(key, 0, &index) || index >= ALEN(theme->table)) {
+             LOG_CONTEXTUAL_ERR(
+@@ -2188,7 +2188,7 @@ pipe_argv_from_value(struct context *ctx
+ 
+     ssize_t remove_len = pipe_cmd_end + 1 - ctx->value;
+     ctx->value = pipe_cmd_end + 1;
+-    while (isspace(*ctx->value)) {
++    while (isspace((unsigned char)*ctx->value)) {
+         ctx->value++;
+         remove_len++;
+     }
+@@ -2216,7 +2216,7 @@ regex_name_from_value(struct context *ct
+ 
+     ssize_t remove_len = regex_end + 1 - ctx->value;
+     ctx->value = regex_end + 1;
+-    while (isspace(*ctx->value)) {
++    while (isspace((unsigned char)*ctx->value)) {
+         ctx->value++;
+         remove_len++;
+     }
+@@ -2890,7 +2890,7 @@ parse_key_value(char *kv, char **section
+     bool section_is_needed = section != NULL;
+ 
+     /* Strip leading whitespace */
+-    while (isspace(kv[0]))
++    while (isspace((unsigned char)kv[0]))
+         ++kv;
+ 
+     if (section_is_needed)
+@@ -2905,7 +2905,7 @@ parse_key_value(char *kv, char **section
+     size_t kvlen = strlen(kv);
+ 
+     /* Strip trailing whitespace */
+-    while (isspace(kv[kvlen - 1]))
++    while (isspace((unsigned char)kv[kvlen - 1]))
+         kvlen--;
+     kv[kvlen] = '\0';
+ 
+@@ -2932,16 +2932,16 @@ parse_key_value(char *kv, char **section
+ 
+     /* Strip trailing whitespace from key (leading stripped earlier) */
+     {
+-        xassert(!isspace(*key[0]));
++        xassert(!isspace((unsigned char)*key[0]));
+ 
+         char *end = (char *)*key + strlen(*key) - 1;
+-        while (isspace(end[0]))
++        while (isspace((unsigned char)end[0]))
+             end--;
+         end[1] = '\0';
+     }
+ 
+     /* Strip leading whitespace from value (trailing stripped earlier) */
+-    while (isspace(*value[0]))
++    while (isspace((unsigned char)*value[0]))
+         ++*value;
+ 
+     return true;
+@@ -3073,7 +3073,7 @@ parse_config_file(FILE *f, struct config
+         char *line = _line;
+ 
+         /* Strip leading whitespace */
+-        while (isspace(line[0])) {
++        while (isspace((unsigned char)line[0])) {
+             line++;
+             len--;
+         }
+@@ -3091,7 +3091,7 @@ parse_config_file(FILE *f, struct config
+         char *kv_trailing = &line[len - 1];
+         char *comment = &line[1];
+         while (comment[1] != '\0') {
+-            if (isblank(comment[0]) && comment[1] == '#') {
++            if (isblank((unsigned char)comment[0]) && comment[1] == '#') {
+                 comment[1] = '\0'; /* Terminate key/value pair */
+                 kv_trailing = comment++;
+                 break;
+@@ -3101,7 +3101,7 @@ parse_config_file(FILE *f, struct config
+         comment++;
+ 
+         /* Strip trailing whitespace */
+-        while (isspace(kv_trailing[0]))
++        while (isspace((unsigned char)kv_trailing[0]))
+             kv_trailing--;
+         kv_trailing[1] = '\0';
+ 
diff --git a/foot/patches/patch-meson.build b/foot/patches/patch-meson.build
new file mode 100644
index 0000000000..721b49c71b
--- /dev/null
+++ b/foot/patches/patch-meson.build
@@ -0,0 +1,15 @@
+$NetBSD$
+
+* Install config file to examples
+
+--- meson.build.orig	2026-02-06 09:47:48.610608225 +0000
++++ meson.build
+@@ -373,7 +373,7 @@ if systemd.found() or custom_systemd_uni
+ endif
+ 
+ scdoc = dependency('scdoc', native: true, required: get_option('docs'))
+-install_data('foot.ini', install_dir: join_paths(get_option('sysconfdir'), 'xdg', 'foot'))
++install_data('foot.ini', install_dir: join_paths(get_option('datadir'), 'examples', 'foot'))
+ if scdoc.found()
+   install_data(
+     'LICENSE', 'README.md', 'CHANGELOG.md',
diff --git a/foot/patches/patch-server.c b/foot/patches/patch-server.c
new file mode 100644
index 0000000000..47b693d586
--- /dev/null
+++ b/foot/patches/patch-server.c
@@ -0,0 +1,34 @@
+$NetBSD$
+
+* Fix prepare_socket() without SO_DOMAIN
+
+--- server.c.orig	2026-02-06 08:28:05.607636888 +0000
++++ server.c
+@@ -527,9 +527,27 @@ prepare_socket(int fd)
+         return false;
+     }
+ 
++#ifndef SO_DOMAIN
++    struct sockaddr_storage ss;
++    socklen_t l = sizeof(ss);
++    if (getsockname(fd, (struct sockaddr*)&ss, &l) == -1) {
++        LOG_ERRNO("getsockname failed on passed file descriptor");
++        return false;
++    }
++    if (ss.ss_family != AF_UNIX) {
++        LOG_ERR("wrong socket domain: expected AF_UNIX, got %d",
++                    ss.ss_family);
++        return false;
++    }
++
++    int const socket_options[] = { SO_ACCEPTCONN, SO_TYPE };
++    int const socket_options_values[] = { NON_ZERO_OPT, SOCK_STREAM};
++    char const * const socket_options_names[] = { "SO_ACCEPTCONN", "SO_TYPE" };
++#else
+     int const socket_options[] = { SO_DOMAIN, SO_ACCEPTCONN, SO_TYPE };
+     int const socket_options_values[] = { AF_UNIX, NON_ZERO_OPT, SOCK_STREAM};
+     char const * const socket_options_names[] = { "SO_DOMAIN", "SO_ACCEPTCONN", "SO_TYPE" };
++#endif
+ 
+     xassert(ALEN(socket_options) == ALEN(socket_options_values));
+     xassert(ALEN(socket_options) == ALEN(socket_options_names));
diff --git a/foot/patches/patch-slave.c b/foot/patches/patch-slave.c
new file mode 100644
index 0000000000..1ade6766d3
--- /dev/null
+++ b/foot/patches/patch-slave.c
@@ -0,0 +1,20 @@
+$NetBSD$
+
+* Fix ctype usage
+
+--- slave.c.orig	2026-02-06 09:11:40.270730099 +0000
++++ slave.c
+@@ -108,11 +108,11 @@ is_valid_shell(const char *shell)
+ 
+         char *line = _line;
+         {
+-            while (isspace(*line))
++            while (isspace((unsigned char)*line))
+                 line++;
+             if (line[0] != '\0') {
+                 char *end = line + strlen(line) - 1;
+-                while (isspace(*end))
++                while (isspace((unsigned char)*end))
+                     end--;
+                 *(end + 1) = '\0';
+             }
diff --git a/foot/patches/patch-utils_xtgettcap.c b/foot/patches/patch-utils_xtgettcap.c
new file mode 100644
index 0000000000..d27e0f59a3
--- /dev/null
+++ b/foot/patches/patch-utils_xtgettcap.c
@@ -0,0 +1,24 @@
+$NetBSD$
+
+* Fix ctype usage
+
+--- utils/xtgettcap.c.orig	2026-02-06 09:32:13.200532969 +0000
++++ utils/xtgettcap.c
+@@ -100,7 +100,7 @@ main(int argc, const char *const *argv)
+         printf("reply: (%zd chars): ", count);
+ 
+         for (size_t i = 0; i < (size_t)count; i++) {
+-            if (isprint(buf[i]))
++            if (isprint((unsigned char)buf[i]))
+                 printf("%c", buf[i]);
+             else if (buf[i] == '\033')
+                 printf("\033[1;31m<ESC>\033[m");
+@@ -161,7 +161,7 @@ main(int argc, const char *const *argv)
+ 
+                 printf("  \033[%dm", color);
+                 for (size_t i = 0 ; i < len; i++) {
+-                    if (isprint(decoded[i])) {
++                    if (isprint((unsigned char)decoded[i])) {
+                         /* All printable characters */
+                         printf("%c", decoded[i]);
+                     }


Home | Main Index | Thread Index | Old Index