From: José Maldonado Subject: Re: update: x11/dunst version bump v1.11.0 To: Timo Myyrä Cc: ports Date: Tue, 20 Aug 2024 01:10:24 -0400 El mar, 20 ago 2024 a la(s) 12:24 a.m., Timo Myyrä (timo.myyra@bittivirhe.fi) escribió: > > On Mon, Aug 19 2024, José Maldonado wrote: > > > Hi! > > > > A new update for x11/dunst, for bump version to v1.11.0 (with patches > > updates), take a look at the changelog for all the bug fixes and > > improvements. > > > > Added > > > > * Add corners, progress_bar_corners and icon_corners options to > > control which corners to round (#1268) > > * Support GTK/CSS cursor names on Wayland (#1276) > > * Make dunst more portable (#1288) > > * Print detected monitors names (X11) (#1332) > > * New completions for bash, zsh and fish > > > > Changed > > > > * Make X11 optional in build (this allows wayland-only dunst) (#1290) > > * Shell completions are now official and can be installed from the > > Makefile (#1262, #1263) > > * Don't search for icon path if icons are disabled (#1301) > > * Eagerly parse and cache colors (#1306) > > * Update dunstctl manpage (#1298) > > * Update documentation (#1315, #1334) > > > > Fixed > > > > * Fix settings initialization (this prevented --print and > > --startup_notification from working) (#1299) > > * Rework timer logic and fix error about Glib source ID for good (#1308, #1196) > > * Prevent memory corruption in XrmSetDatabase (#1256, #1291) > > * Don't try to print NULL strings (#1323) > > * Do not resolve icon paths twice (#1307, #1314) > > * Don't crash the test suite if librsvg is not present (#1329) > > * Fix memory leak in DBus RuleEnable (#1328) > > * Fix dunstctl rule (#1281) > > * Remove newlines from icon logging (#1296) > > * Prevent make from failing if git tags are not found (#1287) > > * Fix some typos (#1324, #1325, #1279) > > > > -- > > "Dios en su Cielo, todo bien en la Tierra" > > *********************************************** > > > > Index: Makefile > > =================================================================== > > RCS file: /cvs/ports/x11/dunst/Makefile,v > > diff -u -p -r1.16 Makefile > > --- Makefile 2 Nov 2023 11:49:20 -0000 1.16 > > +++ Makefile 20 Aug 2024 00:57:35 -0000 > > @@ -2,8 +2,7 @@ COMMENT = customizable and lightweight n > > > > GH_ACCOUNT = dunst-project > > GH_PROJECT = dunst > > -GH_TAGNAME = v1.9.2 > > -REVISION = 0 > > +GH_TAGNAME = v1.11.0 > > > > CATEGORIES = x11 > > > > Index: distinfo > > =================================================================== > > RCS file: /cvs/ports/x11/dunst/distinfo,v > > diff -u -p -r1.9 distinfo > > --- distinfo 8 May 2023 17:58:46 -0000 1.9 > > +++ distinfo 20 Aug 2024 00:57:35 -0000 > > @@ -1,2 +1,2 @@ > > -SHA256 (dunst-1.9.2.tar.gz) = +mzkXAr0uuGIsNZ5pbqS+Pm35DAbsbtHboLfJrzp5xo= > > -SIZE (dunst-1.9.2.tar.gz) = 4614703 > > +SHA256 (dunst-1.11.0.tar.gz) = McDrdJyoPat/WvM765Ucn5qEUSY/zubLz4uj3tvy4fE= > > +SIZE (dunst-1.11.0.tar.gz) = 4645279 > > Index: patches/patch-config_mk > > =================================================================== > > RCS file: /cvs/ports/x11/dunst/patches/patch-config_mk,v > > diff -u -p -r1.8 patch-config_mk > > --- patches/patch-config_mk 8 May 2023 17:58:46 -0000 1.8 > > +++ patches/patch-config_mk 20 Aug 2024 00:57:35 -0000 > > @@ -1,14 +1,14 @@ > > Index: config.mk > > --- config.mk.orig > > +++ config.mk > > -@@ -42,8 +42,8 @@ endif > > - > > +@@ -52,8 +52,8 @@ endif > > + > > # flags > > DEFAULT_CPPFLAGS = -Wno-gnu-zero-variadic-macro-arguments -D_DEFAULT_SOURCE -DVERSION=\"${VERSION}\" -DSYSCONFDIR=\"${SYSCONFDIR}\" > > --DEFAULT_CFLAGS = -g -std=gnu99 -pedantic -Wall -Wno-overlength-strings -Os ${ENABLE_WAYLAND} ${EXTRA_CFLAGS} > > +-DEFAULT_CFLAGS = -g -std=gnu11 -pedantic -Wall -Wno-overlength-strings -Os ${ENABLE_WAYLAND} ${ENABLE_X11} ${EXTRA_CFLAGS} > > -DEFAULT_LDFLAGS = -lm -lrt > > -+DEFAULT_CFLAGS = -g -std=gnu99 -pedantic -Wall -Wno-overlength-strings ${ENABLE_WAYLAND} ${EXTRA_CFLAGS} > > ++DEFAULT_CFLAGS = -g -std=gnu11 -pedantic -Wall -Wno-overlength-strings ${ENABLE_WAYLAND} ${ENABLE_X11} ${EXTRA_CFLAGS} > > +DEFAULT_LDFLAGS = -lm > > - > > + > > CPPFLAGS_DEBUG := -DDEBUG_BUILD > > CFLAGS_DEBUG := -O0 > > Index: patches/patch-docs_dunst_5_pod > > =================================================================== > > RCS file: /cvs/ports/x11/dunst/patches/patch-docs_dunst_5_pod,v > > diff -u -p -r1.4 patch-docs_dunst_5_pod > > --- patches/patch-docs_dunst_5_pod 8 May 2023 17:58:46 -0000 1.4 > > +++ patches/patch-docs_dunst_5_pod 20 Aug 2024 00:57:35 -0000 > > @@ -1,7 +1,7 @@ > > Index: docs/dunst.5.pod > > --- docs/dunst.5.pod.orig > > +++ docs/dunst.5.pod > > -@@ -409,7 +409,7 @@ Hide the count of stacked duplicate notifications. > > +@@ -444,7 +444,7 @@ Hide the count of stacked duplicate notifications. > > Show an indicator if a notification contains actions and/or open-able URLs. See > > ACTIONS below for further details. > > > > @@ -10,16 +10,16 @@ Index: docs/dunst.5.pod > > > > Can be set to a colon-separated list of paths to search for icons to use with > > notifications. > > -@@ -423,7 +423,7 @@ replace this and will need new settings. > > - Comma-separated of names of the the themes to use for looking up icons. This has > > - to be the name of the directory in which the theme is located, not the > > +@@ -458,7 +458,7 @@ replace this and will need new settings. > > + Comma-separated list of names of the the themes to use for looking up icons. This > > + as to be the name of the directory in which the theme is located, not the > > human-friendly name of the theme. So for example, the theme B is > > -located in F. In this case you have to set the > > +located in F<${PREFIX}/share/icons/breeze-dark>. In this case you have to set the > > theme to B. > > > > The first theme in the list is the most important. Only if the icon cannot be > > -@@ -461,12 +461,12 @@ Maximum number of notifications that will be kept in h > > +@@ -496,12 +496,12 @@ Maximum number of notifications that will be kept in history. After that limit > > is reached, older notifications will be deleted once a new one arrives. See > > HISTORY. > > > > Index: patches/patch-dunstrc > > =================================================================== > > RCS file: /cvs/ports/x11/dunst/patches/patch-dunstrc,v > > diff -u -p -r1.7 patch-dunstrc > > --- patches/patch-dunstrc 8 May 2023 17:58:46 -0000 1.7 > > +++ patches/patch-dunstrc 20 Aug 2024 00:57:35 -0000 > > @@ -1,16 +1,16 @@ > > Index: dunstrc > > --- dunstrc.orig > > +++ dunstrc > > -@@ -217,7 +217,7 @@ > > +@@ -230,7 +230,7 @@ > > max_icon_size = 128 > > > > - # Paths to default icons (only neccesary when not using recursive icon lookup) > > + # Paths to default icons (only necessary when not using recursive icon lookup) > > - icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ > > + icon_path = ${LOCALBASE}/share/icons/gnome/16x16/status/:${LOCALBASE}/share/icons/gnome/16x16/devices/ > > > > ### History ### > > > > -@@ -231,10 +231,10 @@ > > +@@ -244,10 +244,10 @@ > > ### Misc/Advanced ### > > > > # dmenu path. > > Index: patches/patch-src_dunst_c > > =================================================================== > > RCS file: /cvs/ports/x11/dunst/patches/patch-src_dunst_c,v > > diff -u -p -r1.8 patch-src_dunst_c > > --- patches/patch-src_dunst_c 8 May 2023 17:58:46 -0000 1.8 > > +++ patches/patch-src_dunst_c 20 Aug 2024 00:57:35 -0000 > > @@ -1,12 +1,12 @@ > > Index: src/dunst.c > > --- src/dunst.c.orig > > +++ src/dunst.c > > -@@ -100,7 +100,7 @@ static gboolean run(void *data) > > +@@ -162,7 +162,7 @@ static gboolean run(void *data) > > gint64 sleep = timeout_at - now; > > sleep = MAX(sleep, 1000); // Sleep at least 1ms > > > > - LOG_D("Sleeping for %li ms", sleep/1000); > > + LOG_D("Sleeping for %lli ms", (long long)sleep/1000); > > > > - if (sleep >= 0) { > > - if (reason == 0 || next_timeout < now || timeout_at < next_timeout) { > > + next_timeout_id = g_timeout_add(sleep/1000, run, NULL); > > + } > > Index: patches/patch-src_input_c > > =================================================================== > > RCS file: patches/patch-src_input_c > > diff -N patches/patch-src_input_c > > --- patches/patch-src_input_c 6 Jul 2022 19:30:02 -0000 1.3 > > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > > @@ -1,13 +0,0 @@ > > -Index: src/input.c > > ---- src/input.c.orig > > -+++ src/input.c > > -@@ -4,7 +4,9 @@ > > - #include "settings.h" > > - #include "queues.h" > > - #include > > -+#ifdef __linux__ > > - #include > > -+#endif > > - > > - int get_notification_clickable_height(struct notification *n, bool first, bool last) > > - { > > Index: patches/patch-src_notification_c > > =================================================================== > > RCS file: /cvs/ports/x11/dunst/patches/patch-src_notification_c,v > > diff -u -p -r1.7 patch-src_notification_c > > --- patches/patch-src_notification_c 8 May 2023 17:58:46 -0000 1.7 > > +++ patches/patch-src_notification_c 20 Aug 2024 00:57:35 -0000 > > @@ -1,16 +1,20 @@ > > Index: src/notification.c > > --- src/notification.c.orig > > +++ src/notification.c > > -@@ -60,7 +60,7 @@ void notification_print(const struct notification *n) > > - printf("\ticon_id: '%s'\n", n->icon_id); > > +@@ -60,9 +60,9 @@ void notification_print(const struct notification *n) > > + printf("\ticon_id: '%s'\n", STR_NN(n->icon_id)); > > printf("\tdesktop_entry: '%s'\n", n->desktop_entry ? n->desktop_entry : ""); > > - printf("\tcategory: %s\n", n->category); > > + printf("\tcategory: %s\n", STR_NN(n->category)); > > - printf("\ttimeout: %ld\n", n->timeout/1000); > > +- printf("\tstart: %ld\n", n->start); > > +- printf("\ttimestamp: %ld\n", n->timestamp); > > + printf("\ttimeout: %lld\n", (long long)n->timeout/1000); > > ++ printf("\tstart: %lld\n", n->start); > > ++ printf("\ttimestamp: %lld\n", n->timestamp); > > printf("\turgency: %s\n", notification_urgency_to_string(n->urgency)); > > printf("\ttransient: %d\n", n->transient); > > - printf("\tformatted: '%s'\n", n->msg); > > -@@ -140,8 +140,8 @@ void notification_run_script(struct notification *n) > > + printf("\tformatted: '%s'\n", STR_NN(n->msg)); > > +@@ -143,8 +143,8 @@ void notification_run_script(struct notification *n) > > // Set environment variables > > gchar *n_id_str = g_strdup_printf("%i", n->id); > > gchar *n_progress_str = g_strdup_printf("%i", n->progress); > > @@ -21,7 +25,7 @@ Index: src/notification.c > > safe_setenv("DUNST_APP_NAME", appname); > > safe_setenv("DUNST_SUMMARY", summary); > > safe_setenv("DUNST_BODY", body); > > -@@ -684,14 +684,14 @@ void notification_update_text_to_render(struct notific > > +@@ -705,14 +705,15 @@ void notification_update_text_to_render(struct notification *n) > > char *new_buf; > > if (hours > 0) { > > new_buf = > > @@ -36,6 +40,7 @@ Index: src/notification.c > > } else { > > - new_buf = g_strdup_printf("%s (%lds old)", buf, seconds); > > + new_buf = g_strdup_printf("%s (%llds old)", buf, seconds); > > ++ > > } > > > > g_free(buf); > > Index: patches/patch-src_settings_h > > =================================================================== > > RCS file: patches/patch-src_settings_h > > diff -N patches/patch-src_settings_h > > --- patches/patch-src_settings_h 2 Nov 2023 11:49:21 -0000 1.4 > > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > > @@ -1,12 +0,0 @@ > > -Index: src/settings.h > > ---- src/settings.h.orig > > -+++ src/settings.h > > -@@ -13,6 +13,8 @@ > > - > > - #define LIST_END (-1) > > - > > -+enum mouse_button { BTN_LEFT=1, BTN_RIGHT, BTN_MIDDLE, BTN_TOUCH }; > > -+ > > - enum alignment { ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT }; > > - enum vertical_alignment { VERTICAL_TOP, VERTICAL_CENTER, VERTICAL_BOTTOM }; > > - enum separator_color { SEP_FOREGROUND, SEP_AUTO, SEP_FRAME, SEP_CUSTOM }; > > Index: patches/patch-src_utils_c > > =================================================================== > > RCS file: patches/patch-src_utils_c > > diff -N patches/patch-src_utils_c > > --- /dev/null 1 Jan 1970 00:00:00 -0000 > > +++ patches/patch-src_utils_c 20 Aug 2024 00:57:35 -0000 > > @@ -0,0 +1,54 @@ > > +Index: src/utils.c > > +--- src/utils.c.orig > > ++++ src/utils.c > > +@@ -13,7 +13,6 @@ > > + #include > > + #include > > + #include > > +-#include > > + > > + #include "log.h" > > + #include "settings_data.h" > > +@@ -180,34 +179,16 @@ int string_array_length(char **s) > > + /* see utils.h */ > > + char *string_to_path(char *string) > > + { > > +- ASSERT_OR_RET(string, string); > > +- > > +- wordexp_t we; > > +- switch (wordexp(string, &we, WRDE_NOCMD | WRDE_UNDEF)) { > > +- case 0: > > +- break; > > +- case WRDE_BADCHAR: > > +- LOG_W("Expansion of \"%s\" failed. It contains invalid characters.", string); > > +- return string; > > +- case WRDE_BADVAL: > > +- LOG_W("Expansion of \"%s\" failed. It contains an undefined variable.", string); > > +- return string; > > +- case WRDE_CMDSUB: > > +- LOG_W("Expansion of \"%s\" failed. The requested command substitution is currently not supported.", string); > > +- return string; > > +- case WRDE_NOSPACE: > > +- LOG_W("Expansion of \"%s\" failed. We ran out of memory.", string); > > +- return string; > > +- case WRDE_SYNTAX: > > +- LOG_W("Expansion of \"%s\" failed. It contains invalid syntax.", string); > > +- return string; > > +- } > > +- g_free(string); > > ++ if (string && STRN_EQ(string, "~/", 2)) { > > ++ char *home = g_strconcat(user_get_home(), "/", NULL); > > ++ > > ++ string = string_replace_at(string, 0, 2, home); > > + > > +- char *res = g_strjoinv(" ", we.we_wordv); > > +- wordfree(&we); > > ++ g_free(home); > > ++ } > > + > > +- return res; > > ++ return string; > > ++ > > + } > > + > > + /* see utils.h */ > > Index: patches/patch-src_x11_x_c > > =================================================================== > > RCS file: patches/patch-src_x11_x_c > > diff -N patches/patch-src_x11_x_c > > --- patches/patch-src_x11_x_c 11 Mar 2022 20:15:26 -0000 1.2 > > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > > @@ -1,13 +0,0 @@ > > -Index: src/x11/x.c > > ---- src/x11/x.c.orig > > -+++ src/x11/x.c > > -@@ -19,7 +19,9 @@ > > - #include > > - #include > > - #include > > -+#ifdef __linux__ > > - #include > > -+#endif > > - > > - #include "../dbus.h" > > - #include "../draw.h" > > Index: pkg/PLIST > > =================================================================== > > RCS file: /cvs/ports/x11/dunst/pkg/PLIST,v > > diff -u -p -r1.6 PLIST > > --- pkg/PLIST 11 Mar 2022 20:15:26 -0000 1.6 > > +++ pkg/PLIST 20 Aug 2024 00:57:35 -0000 > > @@ -8,6 +8,19 @@ share/dunst/ > > @sample ${SYSCONFDIR}/dunst/ > > share/dunst/dunstrc > > @sample ${SYSCONFDIR}/dunst/dunstrc > > +share/examples/bash-completion/ > > +share/examples/bash-completion/completions/ > > +share/examples/bash-completion/completions/dunst > > +share/examples/bash-completion/completions/dunstctl > > share/examples/dbus-1/ > > share/examples/dbus-1/services/ > > share/examples/dbus-1/services/org.knopwob.dunst.service > > +share/examples/fish/ > > +share/examples/fish/vendor_completions.d/ > > +share/examples/fish/vendor_completions.d/dunst > > +share/examples/fish/vendor_completions.d/dunstctl > > +share/examples/fish/vendor_completions.d/dunstify > > +share/examples/zsh/ > > +share/examples/zsh/site-functions/ > > +share/examples/zsh/site-functions/_dunst > > +share/examples/zsh/site-functions/_dunstctl > > Hi, > > I have similar diff I'm working with as well. I'm trying to see if using > glob(3) would be better in the utils.c but so far I haven't got it to > work. I'm trying to come up a bit more clean implementation so it might > be upstreamed later on. > > timo Hi! I can try something using glob(3), but at the moment I am using it as is without problems. Maybe for the weekend, I can give you something with a more elaborate glob(3) and we'll check it out. Thanks! -- "Dios en su Cielo, todo bien en la Tierra" ***********************************************