From a8be241ca4a1507ed8e2319d6ead4c35933042b8 Mon Sep 17 00:00:00 2001
From: nia <nia@pkgsrc.org>
Date: Mon, 23 Nov 2020 14:07:27 +0000
Subject: lemonbar: Update to 1.4

Notable changes:

    Unlimited number of clickable areas, the -a switch was removed.
    Unlimited number of loadable fonts (yay, I guess?).
    You can now specify what screens are used by lemonbar with the -o switch.
    The new Sn specifier allows you to select a screen by name.
    Much better handling of rapidly-changing input (#107).
    Underlines and overlines are not reset when changing the alignment.

Bug fixes:

    Use opaque black/white colors as default values.
    Reset the attributes and colors between each rendered line.
---
 x11/lemonbar/Makefile                 | 17 ++++++--------
 x11/lemonbar/distinfo                 | 11 ++++-----
 x11/lemonbar/patches/patch-lemonbar.c | 42 +++++++++++++++++++++++++++++++++++
 3 files changed, 55 insertions(+), 15 deletions(-)
 create mode 100644 x11/lemonbar/patches/patch-lemonbar.c

(limited to 'x11/lemonbar')

diff --git a/x11/lemonbar/Makefile b/x11/lemonbar/Makefile
index 5a7a3434784..7f5e673e48a 100644
--- a/x11/lemonbar/Makefile
+++ b/x11/lemonbar/Makefile
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.1 2020/11/03 11:44:58 nia Exp $
+# $NetBSD: Makefile,v 1.2 2020/11/23 14:07:27 nia Exp $
 
-DISTNAME=	lemonbar-1.3
+DISTNAME=	lemonbar-1.4
 CATEGORIES=	x11
 MASTER_SITES=	${MASTER_SITE_GITHUB:=LemonBoy/}
 GITHUB_PROJECT=	bar
@@ -13,15 +13,12 @@ LICENSE=	mit
 
 USE_TOOLS+=	gmake pod2man
 
-AUTO_MKDIRS=	yes
+BUILD_TARGET=	all doc
 
-# generate the man page as in the lemonbar Makefile's `doc' target
-# because `all' does not call it
-post-build:
-	${TOOLS_PATH.pod2man} --section=1 --name=lemonbar \
-		--center="lemonbar manual" \
-		--release="${PKGVERSION_NOREV}" \
-		${WRKSRC}/README.pod > ${WRKSRC}/lemonbar.1
+CFLAGS.NetBSD+=	-D_NETBSD_SOURCE # memrchr
+
+INSTALLATION_DIRS+=	bin
+INSTALLATION_DIRS+=	${PKGMANDIR}/man1
 
 do-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/lemonbar ${DESTDIR}${PREFIX}/bin/
diff --git a/x11/lemonbar/distinfo b/x11/lemonbar/distinfo
index cee3a979600..4f3a07769ee 100644
--- a/x11/lemonbar/distinfo
+++ b/x11/lemonbar/distinfo
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.1 2020/11/03 11:44:58 nia Exp $
+$NetBSD: distinfo,v 1.2 2020/11/23 14:07:27 nia Exp $
 
-SHA1 (lemonbar-1.3.tar.gz) = b5afa75790a5283df4c0acee4ba6431934fc62b8
-RMD160 (lemonbar-1.3.tar.gz) = b754d0c1fd1f5819d4cc768186e6473efd31bdc4
-SHA512 (lemonbar-1.3.tar.gz) = 69f379f6ec04c3f55fd2aa03aa3c3c181fc884b683bd7232905775c34e5597f0c878874aafc6c940238f2fa980121302cfd13bf6dc3f9979007885b3c0287cf7
-Size (lemonbar-1.3.tar.gz) = 14930 bytes
+SHA1 (lemonbar-1.4.tar.gz) = 18abca2464a50ccf21a7d92378f9e7585952c919
+RMD160 (lemonbar-1.4.tar.gz) = 416917e37c611abf12eb6ee1a12fce7b836e5ac1
+SHA512 (lemonbar-1.4.tar.gz) = 2e516298854ad4ebf3dd4b67e933f0dca46a23cfb4146ef1737f26d937c582d0f9ce93b62ce094a7e456d55bd6273168f664c284c48c9637c8ed08f032799b14
+Size (lemonbar-1.4.tar.gz) = 16810 bytes
+SHA1 (patch-lemonbar.c) = 63ebe2eaaf6ea08dc2eee48a7f6496f819358520
diff --git a/x11/lemonbar/patches/patch-lemonbar.c b/x11/lemonbar/patches/patch-lemonbar.c
new file mode 100644
index 00000000000..3d8288aca3d
--- /dev/null
+++ b/x11/lemonbar/patches/patch-lemonbar.c
@@ -0,0 +1,42 @@
+$NetBSD: patch-lemonbar.c,v 1.1 2020/11/23 14:07:27 nia Exp $
+
+Argument to ctype functions must be unsigned char.
+
+--- lemonbar.c.orig	2020-11-20 08:32:06.000000000 +0000
++++ lemonbar.c
+@@ -539,7 +539,7 @@ parse (char *text)
+         if (p[0] == '%' && p[1] == '{' && (block_end = strchr(p++, '}'))) {
+             p++;
+             while (p < block_end) {
+-                while (isspace(*p))
++                while (isspace((unsigned char)*p))
+                     p++;
+ 
+                 switch (*p++) {
+@@ -593,7 +593,7 @@ parse (char *text)
+                     case 'A': {
+                         button = XCB_BUTTON_INDEX_1;
+                         // The range is 1-5
+-                        if (isdigit(*p) && (*p > '0' && *p < '6'))
++                        if (isdigit((unsigned char)*p) && (*p > '0' && *p < '6'))
+                             button = *p++ - '0';
+                         if (!area_add(p, block_end, &p, cur_mon, pos_x, align, button))
+                             return;
+@@ -671,7 +671,7 @@ parse (char *text)
+                               // Switch to automatic font selection.
+                               font_index = -1;
+                               p++;
+-                          } else if (isdigit(*p)) {
++                          } else if (isdigit((unsigned char)*p)) {
+                               font_index = (int)strtoul(p, &ep, 10);
+                               // User-specified 'font_index' ∊ (0,font_count]
+                               // Otherwise just fallback to the automatic font selection
+@@ -1217,7 +1217,7 @@ parse_geometry_string (char *str, int *t
+             p++; continue;
+         }
+         // A digit must follow
+-        if (!isdigit(*p)) {
++        if (!isdigit((unsigned char)*p)) {
+             fprintf(stderr, "Invalid geometry specified\n");
+             return false;
+         }
-- 
cgit v1.2.3