pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/wm/i3
Module Name: pkgsrc
Committed By: wiz
Date: Sat Dec 27 15:37:50 UTC 2025
Modified Files:
pkgsrc/wm/i3: Makefile distinfo
pkgsrc/wm/i3/patches: patch-meson.build patch-src_config.c
Added Files:
pkgsrc/wm/i3/patches: patch-i3-config-wizard_main.c
patch-i3bar_src_child.c patch-src_ipc.c patch-src_load__layout.c
patch-src_util.c
Log Message:
i3: update to 4.25.
Most changes in this release cycle have been “behind the scenes”,
without an observable effect for users. For example, we switched
to clang-format-20, fixed a number of (benign) memory issues,
fixed a few flaky tests and maintained our GitHub Actions setup,
e.g. for the shutdown of baltocdn (our old host for nightly builds).
To generate a diff of this commit:
cvs rdiff -u -r1.64 -r1.65 pkgsrc/wm/i3/Makefile
cvs rdiff -u -r1.33 -r1.34 pkgsrc/wm/i3/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/wm/i3/patches/patch-i3-config-wizard_main.c \
pkgsrc/wm/i3/patches/patch-i3bar_src_child.c \
pkgsrc/wm/i3/patches/patch-src_ipc.c \
pkgsrc/wm/i3/patches/patch-src_load__layout.c \
pkgsrc/wm/i3/patches/patch-src_util.c
cvs rdiff -u -r1.1 -r1.2 pkgsrc/wm/i3/patches/patch-meson.build \
pkgsrc/wm/i3/patches/patch-src_config.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/wm/i3/Makefile
diff -u pkgsrc/wm/i3/Makefile:1.64 pkgsrc/wm/i3/Makefile:1.65
--- pkgsrc/wm/i3/Makefile:1.64 Thu Oct 23 20:39:41 2025
+++ pkgsrc/wm/i3/Makefile Sat Dec 27 15:37:49 2025
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.64 2025/10/23 20:39:41 wiz Exp $
+# $NetBSD: Makefile,v 1.65 2025/12/27 15:37:49 wiz Exp $
-DISTNAME= i3-4.24
-PKGREVISION= 2
+DISTNAME= i3-4.25
CATEGORIES= wm
MASTER_SITES= https://i3wm.org/downloads/
EXTRACT_SUFX= .tar.xz
Index: pkgsrc/wm/i3/distinfo
diff -u pkgsrc/wm/i3/distinfo:1.33 pkgsrc/wm/i3/distinfo:1.34
--- pkgsrc/wm/i3/distinfo:1.33 Wed Nov 20 13:15:06 2024
+++ pkgsrc/wm/i3/distinfo Sat Dec 27 15:37:49 2025
@@ -1,10 +1,15 @@
-$NetBSD: distinfo,v 1.33 2024/11/20 13:15:06 wiz Exp $
+$NetBSD: distinfo,v 1.34 2025/12/27 15:37:49 wiz Exp $
-BLAKE2s (i3-4.24.tar.xz) = 14bd55d76c933b89e58ae786dbbc3d2cf7655022a72ada5f50025e92b64ff9fd
-SHA512 (i3-4.24.tar.xz) = 0fddf0f73025ed784b82d274f147f730abb42a00e70684567943acbe941a3329919c76e9f08888c9ee71cc3aaf55e5be3104682481711a5c6aa112d53e511a23
-Size (i3-4.24.tar.xz) = 1358292 bytes
+BLAKE2s (i3-4.25.tar.xz) = 20fe167cf78466836f8cf3383c29b79712aa687f6a0ada5b4543bd86b0cb1f26
+SHA512 (i3-4.25.tar.xz) = 237f62ccb25b13bd676cca562abe6ba4c65451a02976cd0547ee44c9ed8a5ccd60e90c871e75a625fc6e3cbda1aaa6abfff246293a9b2460ae6bf9ee074bd3fb
+Size (i3-4.25.tar.xz) = 1357280 bytes
SHA1 (patch-etc_config) = d3f649e8d4dc7cae7eb3c1548fa8d81224e4dacb
SHA1 (patch-etc_config.keycodes) = 6adde0b3a56576805facd951fa9d32bfd6c88011
-SHA1 (patch-meson.build) = 013ac42f10aeb1ad05b5496f6283878e53506c46
-SHA1 (patch-src_config.c) = ce89b90fedadb2a025363e772a803e47535df0a7
+SHA1 (patch-i3-config-wizard_main.c) = 39d740b5b8ed89f03e9d90a98ff0aaf43dd17848
+SHA1 (patch-i3bar_src_child.c) = 7fb302dbe263c59dd33e9b198c7f479df189ee1f
+SHA1 (patch-meson.build) = 89ec2c7f594f8f13c13b522c7635cb59626554af
+SHA1 (patch-src_config.c) = 7985366b892f240379daa19d9b7baeddb22f66ee
+SHA1 (patch-src_ipc.c) = 0e8961d8da4b55fca4f207829f6e26deffa3c47c
+SHA1 (patch-src_load__layout.c) = 35ab682dd326c3a8ad00337321305eda52924feb
SHA1 (patch-src_log.c) = 19b33b43d1716ead4bad36e2afd52ff30af017c1
+SHA1 (patch-src_util.c) = 6285072f4d0d385bb1d3868a2a5574bd6f375fdc
Index: pkgsrc/wm/i3/patches/patch-meson.build
diff -u pkgsrc/wm/i3/patches/patch-meson.build:1.1 pkgsrc/wm/i3/patches/patch-meson.build:1.2
--- pkgsrc/wm/i3/patches/patch-meson.build:1.1 Sun Sep 12 07:22:47 2021
+++ pkgsrc/wm/i3/patches/patch-meson.build Sat Dec 27 15:37:50 2025
@@ -1,7 +1,10 @@
-$NetBSD: patch-meson.build,v 1.1 2021/09/12 07:22:47 nia Exp $
+$NetBSD: patch-meson.build,v 1.2 2025/12/27 15:37:50 wiz Exp $
Install config files to examples, per pkgsrc policy.
+Check for uselocale() before using it.
+https://github.com/i3/i3/issues/6566
+
--- meson.build.orig 2021-02-27 09:37:58.753311900 +0000
+++ meson.build
@@ -44,7 +44,7 @@ else
@@ -13,7 +16,15 @@ Install config files to examples, per pk
if get_option('b_sanitize').split(',').contains('address')
cdata.set('I3_ASAN_ENABLED', 1)
-@@ -580,7 +580,7 @@ install_data(
+@@ -52,6 +52,7 @@ endif
+
+ cdata.set('HAVE_STRNDUP', cc.has_function('strndup'))
+ cdata.set('HAVE_MKDIRP', cc.has_function('mkdirp'))
++cdata.set('HAVE_USELOCALE', cc.has_function('uselocale'))
+
+ # Instead of generating config.h directly, make vcs_tag generate it so that
+ # @VCS_TAG@ is replaced.
+@@ -580,7 +581,7 @@ install_data(
install_subdir(
'etc',
strip_directory: true,
Index: pkgsrc/wm/i3/patches/patch-src_config.c
diff -u pkgsrc/wm/i3/patches/patch-src_config.c:1.1 pkgsrc/wm/i3/patches/patch-src_config.c:1.2
--- pkgsrc/wm/i3/patches/patch-src_config.c:1.1 Mon Nov 6 11:08:52 2023
+++ pkgsrc/wm/i3/patches/patch-src_config.c Sat Dec 27 15:37:50 2025
@@ -1,17 +1,17 @@
-$NetBSD: patch-src_config.c,v 1.1 2023/11/06 11:08:52 nia Exp $
+$NetBSD: patch-src_config.c,v 1.2 2025/12/27 15:37:50 wiz Exp $
Include the correct headers for realpath(3), PATH_MAX.
Should help SunOS.
---- src/config.c.orig 2023-01-02 08:39:00.000000000 +0000
+--- src/config.c.orig 2025-12-19 07:19:53.000000000 +0000
+++ src/config.c
@@ -12,6 +12,8 @@
#include <libgen.h>
- #include <unistd.h>
+ #include <xkbcommon/xkbcommon.h>
+#include <stdlib.h>
+#include <limits.h>
- #include <xkbcommon/xkbcommon.h>
-
+ char *current_configpath = NULL;
+ Config config;
Added files:
Index: pkgsrc/wm/i3/patches/patch-i3-config-wizard_main.c
diff -u /dev/null pkgsrc/wm/i3/patches/patch-i3-config-wizard_main.c:1.1
--- /dev/null Sat Dec 27 15:37:50 2025
+++ pkgsrc/wm/i3/patches/patch-i3-config-wizard_main.c Sat Dec 27 15:37:50 2025
@@ -0,0 +1,16 @@
+$NetBSD: patch-i3-config-wizard_main.c,v 1.1 2025/12/27 15:37:50 wiz Exp $
+
+Fix ctype(3) usage.
+https://github.com/i3/i3/issues/6566
+
+--- i3-config-wizard/main.c.orig 2025-12-19 07:19:53.000000000 +0000
++++ i3-config-wizard/main.c
+@@ -732,7 +732,7 @@ static void finish(void) {
+
+ /* Skip leading whitespace */
+ char *walk = line;
+- while (isspace(*walk) && walk < (line + len)) {
++ while (isspace((unsigned char)*walk) && walk < (line + len)) {
+ /* Pre-output the skipped whitespaces to keep proper indentation */
+ fputc(*walk, ks_config);
+ walk++;
Index: pkgsrc/wm/i3/patches/patch-i3bar_src_child.c
diff -u /dev/null pkgsrc/wm/i3/patches/patch-i3bar_src_child.c:1.1
--- /dev/null Sat Dec 27 15:37:50 2025
+++ pkgsrc/wm/i3/patches/patch-i3bar_src_child.c Sat Dec 27 15:37:50 2025
@@ -0,0 +1,16 @@
+$NetBSD: patch-i3bar_src_child.c,v 1.1 2025/12/27 15:37:50 wiz Exp $
+
+Fix ctype(3) usage.
+https://github.com/i3/i3/issues/6566
+
+--- i3bar/src/child.c.orig 2025-12-19 07:19:53.000000000 +0000
++++ i3bar/src/child.c
+@@ -525,7 +525,7 @@ static void stdin_io_first_line_cb(int f
+
+ static bool isempty(char *s) {
+ while (*s != '\0') {
+- if (!isspace(*s)) {
++ if (!isspace((unsigned char)*s)) {
+ return false;
+ }
+ s++;
Index: pkgsrc/wm/i3/patches/patch-src_ipc.c
diff -u /dev/null pkgsrc/wm/i3/patches/patch-src_ipc.c:1.1
--- /dev/null Sat Dec 27 15:37:50 2025
+++ pkgsrc/wm/i3/patches/patch-src_ipc.c Sat Dec 27 15:37:50 2025
@@ -0,0 +1,123 @@
+$NetBSD: patch-src_ipc.c,v 1.1 2025/12/27 15:37:50 wiz Exp $
+
+Check for uselocale() before using it.
+https://github.com/i3/i3/issues/6566
+
+--- src/ipc.c.orig 2025-12-19 07:19:53.000000000 +0000
++++ src/ipc.c
+@@ -909,11 +909,18 @@ static void dump_bar_config(yajl_gen gen
+ }
+
+ IPC_HANDLER(tree) {
++#if HAVE_USELOCALE
+ locale_t prev_locale = uselocale(numericC);
++#else
++ setlocale(LC_NUMERIC, "C");
++#endif
+ yajl_gen gen = ygenalloc();
+ dump_node(gen, croot, false);
++#if HAVE_USELOCALE
+ uselocale(prev_locale);
+-
++#else
++ setlocale(LC_NUMERIC, "");
++#endif
+ const unsigned char *payload;
+ ylength length;
+ y(get_buf, &payload, &length);
+@@ -1585,7 +1592,11 @@ ipc_client *ipc_new_client_on_fd(EV_P_ i
+ * generator. Free with yajl_gen_free().
+ */
+ yajl_gen ipc_marshal_workspace_event(const char *change, Con *current, Con *old) {
++#if HAVE_USELOCALE
+ locale_t prev_locale = uselocale(numericC);
++#else
++ setlocale(LC_NUMERIC, "C");
++#endif
+ yajl_gen gen = ygenalloc();
+
+ y(map_open);
+@@ -1609,7 +1620,11 @@ yajl_gen ipc_marshal_workspace_event(con
+
+ y(map_close);
+
++#if HAVE_USELOCALE
+ uselocale(prev_locale);
++#else
++ setlocale(LC_NUMERIC, "");
++#endif
+
+ return gen;
+ }
+@@ -1639,7 +1654,11 @@ void ipc_send_window_event(const char *p
+ DLOG("Issue IPC window %s event (con = %p, window = 0x%08x)\n",
+ property, con, (con->window ? con->window->id : XCB_WINDOW_NONE));
+
++#if HAVE_USELOCALE
+ locale_t prev_locale = uselocale(numericC);
++#else
++ setlocale(LC_NUMERIC, "C");
++#endif
+ yajl_gen gen = ygenalloc();
+
+ y(map_open);
+@@ -1658,7 +1677,11 @@ void ipc_send_window_event(const char *p
+
+ ipc_send_event("window", I3_IPC_EVENT_WINDOW, (const char *)payload);
+ y(free);
++#if HAVE_USELOCALE
+ uselocale(prev_locale);
++#else
++ setlocale(LC_NUMERIC, "");
++#endif
+ }
+
+ /*
+@@ -1666,7 +1689,11 @@ void ipc_send_window_event(const char *p
+ */
+ void ipc_send_barconfig_update_event(Barconfig *barconfig) {
+ DLOG("Issue barconfig_update event for id = %s\n", barconfig->id);
++#if HAVE_USELOCALE
+ locale_t prev_locale = uselocale(numericC);
++#else
++ setlocale(LC_NUMERIC, "C");
++#endif
+ yajl_gen gen = ygenalloc();
+
+ dump_bar_config(gen, barconfig);
+@@ -1677,7 +1704,11 @@ void ipc_send_barconfig_update_event(Bar
+
+ ipc_send_event("barconfig_update", I3_IPC_EVENT_BARCONFIG_UPDATE, (const char *)payload);
+ y(free);
++#if HAVE_USELOCALE
+ uselocale(prev_locale);
++#else
++ setlocale(LC_NUMERIC, "");
++#endif
+ }
+
+ /*
+@@ -1686,7 +1717,11 @@ void ipc_send_barconfig_update_event(Bar
+ void ipc_send_binding_event(const char *event_type, Binding *bind, const char *modename) {
+ DLOG("Issue IPC binding %s event (sym = %s, code = %d)\n", event_type, bind->symbol, bind->keycode);
+
++#if HAVE_USELOCALE
+ locale_t prev_locale = uselocale(numericC);
++#else
++ setlocale(LC_NUMERIC, "C");
++#endif
+
+ yajl_gen gen = ygenalloc();
+
+@@ -1714,7 +1749,11 @@ void ipc_send_binding_event(const char *
+ ipc_send_event("binding", I3_IPC_EVENT_BINDING, (const char *)payload);
+
+ y(free);
++#if HAVE_USELOCALE
+ uselocale(prev_locale);
++#else
++ setlocale(LC_NUMERIC, "");
++#endif
+ }
+
+ /*
Index: pkgsrc/wm/i3/patches/patch-src_load__layout.c
diff -u /dev/null pkgsrc/wm/i3/patches/patch-src_load__layout.c:1.1
--- /dev/null Sat Dec 27 15:37:50 2025
+++ pkgsrc/wm/i3/patches/patch-src_load__layout.c Sat Dec 27 15:37:50 2025
@@ -0,0 +1,78 @@
+$NetBSD: patch-src_load__layout.c,v 1.1 2025/12/27 15:37:50 wiz Exp $
+
+Check for uselocale() before using it.
+https://github.com/i3/i3/issues/6566
+
+--- src/load_layout.c.orig 2025-12-19 07:19:53.000000000 +0000
++++ src/load_layout.c
+@@ -634,14 +634,22 @@ bool json_validate(const char *buf, cons
+ /* Allow multiple values, i.e. multiple nodes to attach */
+ yajl_config(hand, yajl_allow_multiple_values, true);
+
++#if HAVE_USELOCALE
+ locale_t prev_locale = uselocale(numericC);
++#else
++ setlocale(LC_NUMERIC, "C");
++#endif
+ if (yajl_parse(hand, (const unsigned char *)buf, len) != yajl_status_ok) {
+ unsigned char *str = yajl_get_error(hand, 1, (const unsigned char *)buf, len);
+ ELOG("JSON parsing error: %s\n", str);
+ yajl_free_error(hand, str);
+ valid = false;
+ }
++#if HAVE_USELOCALE
+ uselocale(prev_locale);
++#else
++ setlocale(LC_NUMERIC, "");
++#endif
+
+ yajl_complete_parse(hand);
+ yajl_free(hand);
+@@ -671,7 +679,11 @@ json_content_t json_determine_content(co
+ yajl_config(hand, yajl_allow_comments, true);
+ /* Allow multiple values, i.e. multiple nodes to attach */
+ yajl_config(hand, yajl_allow_multiple_values, true);
++#if HAVE_USELOCALE
+ locale_t prev_locale = uselocale(numericC);
++#else
++ setlocale(LC_NUMERIC, "C");
++#endif
+ const yajl_status stat = yajl_parse(hand, (const unsigned char *)buf, len);
+ if (stat != yajl_status_ok && stat != yajl_status_client_canceled) {
+ unsigned char *str = yajl_get_error(hand, 1, (const unsigned char *)buf, len);
+@@ -679,7 +691,11 @@ json_content_t json_determine_content(co
+ yajl_free_error(hand, str);
+ }
+
++#if HAVE_USELOCALE
+ uselocale(prev_locale);
++#else
++ setlocale(LC_NUMERIC, "");
++#endif
+ yajl_complete_parse(hand);
+ yajl_free(hand);
+
+@@ -725,7 +741,11 @@ void tree_append_json(Con *con, const ch
+ parsing_geometry = false;
+ parsing_focus = false;
+ parsing_marks = false;
++#if HAVE_USELOCALE
+ locale_t prev_locale = uselocale(numericC);
++#else
++ setlocale(LC_NUMERIC, "C");
++#endif
+ const yajl_status stat = yajl_parse(hand, (const unsigned char *)buf, len);
+ if (stat != yajl_status_ok) {
+ unsigned char *str = yajl_get_error(hand, 1, (const unsigned char *)buf, len);
+@@ -750,7 +770,11 @@ void tree_append_json(Con *con, const ch
+ * next time. */
+ con_fix_percent(con);
+
++#if HAVE_USELOCALE
+ uselocale(prev_locale);
++#else
++ setlocale(LC_NUMERIC, "");
++#endif
+ yajl_complete_parse(hand);
+ yajl_free(hand);
+
Index: pkgsrc/wm/i3/patches/patch-src_util.c
diff -u /dev/null pkgsrc/wm/i3/patches/patch-src_util.c:1.1
--- /dev/null Sat Dec 27 15:37:50 2025
+++ pkgsrc/wm/i3/patches/patch-src_util.c Sat Dec 27 15:37:50 2025
@@ -0,0 +1,38 @@
+$NetBSD: patch-src_util.c,v 1.1 2025/12/27 15:37:50 wiz Exp $
+
+Check for uselocale() before using it.
+Fix ctype(3) abuse.
+https://github.com/i3/i3/issues/6566
+
+--- src/util.c.orig 2025-12-19 07:19:53.000000000 +0000
++++ src/util.c
+@@ -67,7 +67,7 @@ __attribute__((__const__)) bool rect_equ
+ __attribute__((pure)) bool name_is_digits(const char *name) {
+ /* positive integers and zero are interpreted as numbers */
+ for (size_t i = 0; i < strlen(name); i++) {
+- if (!isdigit(name[i])) {
++ if (!isdigit((unsigned char)name[i])) {
+ return false;
+ }
+ }
+@@ -221,12 +221,20 @@ static char **add_argument(char **origin
+ #define ystr(str) yajl_gen_string(gen, (unsigned char *)str, strlen(str))
+
+ static char *store_restart_layout(void) {
++#if HAVE_USELOCALE
+ locale_t prev_locale = uselocale(numericC);
++#else
++ setlocale(LC_NUMERIC, "C");
++#endif
+ yajl_gen gen = yajl_gen_alloc(NULL);
+
+ dump_node(gen, croot, true);
+
++#if HAVE_USELOCALE
+ uselocale(prev_locale);
++#else
++ setlocale(LC_NUMERIC, "");
++#endif
+
+ const unsigned char *payload;
+ size_t length;
Home |
Main Index |
Thread Index |
Old Index