Index | Thread | Search

From:
José Maldonado <josemald89@gmail.com>
Subject:
Re: update: x11/dunst version bump v1.11.0
To:
Timo Myyrä <timo.myyra@bittivirhe.fi>
Cc:
ports <ports@openbsd.org>
Date:
Tue, 20 Aug 2024 01:10:24 -0400

Download raw body.

Thread
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<Breeze Dark> is
> >  -located in F</usr/share/icons/breeze-dark>. 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<breeze-dark>.
> >
> >   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 <stddef.h>
> > -+#ifdef __linux__
> > - #include <linux/input-event-codes.h>
> > -+#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 <sys/stat.h>
> > + #include <time.h>
> > + #include <unistd.h>
> > +-#include <wordexp.h>
> > +
> > + #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 <X11/Xlib.h>
> > - #include <X11/Xresource.h>
> > - #include <X11/Xutil.h>
> > -+#ifdef __linux__
> > - #include <linux/input-event-codes.h>
> > -+#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"
***********************************************