Download raw body.
update: x11/dunst version bump v1.11.0
They're using wordexp to replace environment variables, I don't think
either glob or the first propose patch handle that.
--
Sent from a phone, apologies for poor formatting.
On 20 August 2024 18:51:55 Timo Myyrä <timo.myyra@bittivirhe.fi> wrote:
> On Tue, Aug 20 2024, José Maldonado wrote:
>
>> 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!
>
> I got following diff at the moment. Not sure if the glob adds value
> here.
>
> timo
>
> diff /usr/ports
> commit - 8e4b8dff34f8c8a46b16f8f5f305a301d14bbf3d
> path + /usr/ports
> blob - eac7443cb23f53d564d0d50c9e3a4c894a1fda82
> file + x11/dunst/Makefile
> --- x11/dunst/Makefile
> +++ x11/dunst/Makefile
> @@ -2,8 +2,7 @@ COMMENT = customizable and lightweight notification-da
>
> GH_ACCOUNT = dunst-project
> GH_PROJECT = dunst
> -GH_TAGNAME = v1.9.2
> -REVISION = 0
> +GH_TAGNAME = v1.11.0
>
> CATEGORIES = x11
>
> blob - 093bbc84211d476e0f7fa34991e242f0a06f73da
> file + x11/dunst/distinfo
> --- x11/dunst/distinfo
> +++ x11/dunst/distinfo
> @@ -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
> blob - 958ea4261737f9be45def56356d55fbd23c4dccb
> file + x11/dunst/patches/patch-config_mk
> --- x11/dunst/patches/patch-config_mk
> +++ x11/dunst/patches/patch-config_mk
> @@ -1,13 +1,13 @@
> 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
> blob - 76eb300d292dd84ed65eb1f6f5a8a1deb9d9a797
> file + x11/dunst/patches/patch-docs_dunst_5_pod
> --- x11/dunst/patches/patch-docs_dunst_5_pod
> +++ x11/dunst/patches/patch-docs_dunst_5_pod
> @@ -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 h
> is reached, older notifications will be deleted once a new one arrives. See
> HISTORY.
>
> blob - fed4e50ecba2ae7b194f97a5556806372857a133
> file + x11/dunst/patches/patch-dunstrc
> --- x11/dunst/patches/patch-dunstrc
> +++ x11/dunst/patches/patch-dunstrc
> @@ -1,21 +1,21 @@
> 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.
> - dmenu = /usr/bin/dmenu -p dunst:
> -+ dmenu = ${LOCALBASE}/bin/dmenu -p dunst:
> ++ dmenu = ${LOCALBASE}/usr/bin/dmenu -p dunst:
>
> # Browser for opening urls in context menu.
> - browser = /usr/bin/xdg-open
> blob - cba0c845fee96e3f439ac82f300a16f0427e3bb9
> file + x11/dunst/patches/patch-src_dunst_c
> --- x11/dunst/patches/patch-src_dunst_c
> +++ x11/dunst/patches/patch-src_dunst_c
> @@ -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);
> + }
> blob - f49421b7619b5443f71067d2824793187f223852
> file + /dev/null
> --- x11/dunst/patches/patch-src_input_c
> +++ /dev/null
> @@ -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)
> - {
> blob - 715b6f4731cd5787df605a5fe2e7e98aa020ece7
> file + x11/dunst/patches/patch-src_notification_c
> --- x11/dunst/patches/patch-src_notification_c
> +++ x11/dunst/patches/patch-src_notification_c
> @@ -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", (long long)n->start);
> ++ printf("\ttimestamp: %lld\n", (long long)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,21 +25,24 @@ 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 notific
> char *new_buf;
> if (hours > 0) {
> new_buf =
> - g_strdup_printf("%s (%ldh %ldm %lds old)",
> buf, hours,
> -+ g_strdup_printf("%s (%lldh %lldm %llds old)",
> buf, hours,
> - minutes, seconds);
> +- minutes, seconds);
> ++ g_strdup_printf("%s (%lldh %lldm %llds old)",
> buf,
> ++ (long long)hours, (long
> long)minutes,
> ++ (long long)seconds);
> } else if (minutes > 0) {
> new_buf =
> - g_strdup_printf("%s (%ldm %lds old)", buf,
> minutes,
> -+ g_strdup_printf("%s (%lldm %llds old)", buf,
> minutes,
> - seconds);
> +- seconds);
> ++ g_strdup_printf("%s (%lldm %llds old)", buf,
> (long long)minutes,
> ++ (long long)seconds);
> } else {
> - new_buf = g_strdup_printf("%s (%lds old)", buf,
> seconds);
> -+ new_buf = g_strdup_printf("%s (%llds old)", buf,
> seconds);
> ++ new_buf = g_strdup_printf("%s (%llds old)", buf,
> (long long)seconds);
> }
>
> g_free(buf);
> blob - e7f4abb95bfa619ce7cb19344f2dee16446b0e7a
> file + /dev/null
> --- x11/dunst/patches/patch-src_settings_h
> +++ /dev/null
> @@ -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 };
> blob - /dev/null
> file + x11/dunst/patches/patch-src_utils_c (mode 644)
> --- /dev/null
> +++ x11/dunst/patches/patch-src_utils_c
> @@ -0,0 +1,40 @@
> +Index: src/utils.c
> +--- src/utils.c.orig
> ++++ src/utils.c
> +@@ -13,7 +13,11 @@
> + #include <sys/stat.h>
> + #include <time.h>
> + #include <unistd.h>
> ++#ifndef __OpenBSD__
> + #include <wordexp.h>
> ++#else
> ++#include <glob.h>
> ++#endif
> +
> + #include "log.h"
> + #include "settings_data.h"
> +@@ -181,7 +185,7 @@ int string_array_length(char **s)
> + char *string_to_path(char *string)
> + {
> + ASSERT_OR_RET(string, string);
> +-
> ++#ifndef __OpenBSD__
> + wordexp_t we;
> + switch (wordexp(string, &we, WRDE_NOCMD | WRDE_UNDEF)) {
> + case 0:
> +@@ -208,6 +212,15 @@ char *string_to_path(char *string)
> + wordfree(&we);
> +
> + return res;
> ++#else
> ++ glob_t p;
> ++ if (glob(string, GLOB_TILDE, NULL, &p) == 0) {
> ++ char *str = g_strjoinv(" ", p.gl_pathv);
> ++ globfree(&p);
> ++ return str;
> ++ }
> ++ return string;
> ++#endif
> + }
> +
> + /* see utils.h */
> blob - 7fd20d0e4edf51b71a83f9dc5f95a0ced5d4c98e
> file + /dev/null
> --- x11/dunst/patches/patch-src_x11_x_c
> +++ /dev/null
> @@ -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"
> blob - 118752ce99490e2ccca2614ef2e5e184afb0c909
> file + x11/dunst/pkg/PLIST
> --- x11/dunst/pkg/PLIST
> +++ x11/dunst/pkg/PLIST
> @@ -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
update: x11/dunst version bump v1.11.0