Github messages for voidlinux
 help / color / Atom feed
* [PR PATCH] [WIP] json-c: update to 0.14.
@ 2020-05-31 17:51 rmccask
  2020-05-31 20:49 ` [PR PATCH] [Updated] " rmccask
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: rmccask @ 2020-05-31 17:51 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 318 bytes --]

There is a new pull request by rmccask against master on the void-packages repository

https://github.com/rmccask/void-packages json-c-0.14
https://github.com/void-linux/void-packages/pull/22472

[WIP] json-c: update to 0.14.


A patch file from https://github.com/void-linux/void-packages/pull/22472.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-json-c-0.14-22472.patch --]
[-- Type: text/x-diff, Size: 19150 bytes --]

From f2c8cf0ec51df061709be2d37d9819088c2fe71e Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 00:03:20 -0400
Subject: [PATCH] json-c: update to 0.14.

---
 common/shlibs                                 |   2 +-
 .../1-json-c-0.14-cmake-static-libs.patch     |  56 +++++++
 .../patches/2-json-c-0.14-security-fix.patch  | 155 ++++++++++++++++++
 .../3-json-c-0.14-object-limitation.patch     |  93 +++++++++++
 srcpkgs/json-c/template                       |  20 +--
 5 files changed, 314 insertions(+), 12 deletions(-)
 create mode 100644 srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch
 create mode 100644 srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch
 create mode 100644 srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch

diff --git a/common/shlibs b/common/shlibs
index 73436d079df..aad7dde57ba 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -890,7 +890,7 @@ libv4lconvert.so.0 v4l-utils-0.8.5_1
 libv4l1.so.0 v4l-utils-0.8.5_1
 libv4l2rds.so.0 v4l-utils-1.2.1_1
 libdvbv5.so.0 v4l-utils-1.6.2_1
-libjson-c.so.4 json-c-0.13.1_1
+libjson-c.so.5 json-c-0.14.0_1
 libcogl.so.20 cogl-1.18.0_1
 libcogl-pango.so.20 cogl-1.18.0_1
 libcogl-gst.so.20 cogl-1.18.0_1
diff --git a/srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch b/srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch
new file mode 100644
index 00000000000..c452121af3a
--- /dev/null
+++ b/srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch
@@ -0,0 +1,56 @@
+diff --git CMakeLists.txt CMakeLists.txt
+index ba692ff..fc2edff 100644
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -65,6 +65,7 @@ include(GNUInstallDirs)
+ include(CMakePackageConfigHelpers)
+ 
+ option(BUILD_SHARED_LIBS  "Default to building shared libraries" ON)
++option(BUILD_STATIC_LIBS  "Default to building static libraries" OFF)
+ 
+ # Generate a release merge and test it to verify the correctness of republishing the package.
+ ADD_CUSTOM_TARGET(distcheck
+@@ -383,7 +384,7 @@ add_library(${PROJECT_NAME}
+ set_target_properties(${PROJECT_NAME} PROPERTIES
+     VERSION 5.0.0
+     SOVERSION 5)
+-
++list(APPEND CMAKE_TARGETS ${PROJECT_NAME})
+ # If json-c is used as subroject it set to target correct interface -I flags and allow
+ # to build external target without extra include_directories(...)
+ target_include_directories(${PROJECT_NAME}
+@@ -392,7 +393,33 @@ target_include_directories(${PROJECT_NAME}
+         $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
+ )
+ 
+-install(TARGETS ${PROJECT_NAME}
++# Allow to build static and shared libraries at the same time
++if (BUILD_STATIC_LIBS)
++    set(STATIC_LIB ${PROJECT_NAME}-static)
++    add_library(${STATIC_LIB} STATIC
++        ${JSON_C_SOURCES}
++        ${JSON_C_HEADERS}
++    )
++
++    # rename the static library
++    set_target_properties(${STATIC_LIB} PROPERTIES
++        OUTPUT_NAME ${PROJECT_NAME}
++    )
++    list(APPEND CMAKE_TARGETS ${STATIC_LIB})
++endif ()
++
++# Always create new install dirs with 0755 permissions, regardless of umask
++set(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
++	OWNER_READ
++	OWNER_WRITE
++	OWNER_EXECUTE
++	GROUP_READ
++	GROUP_EXECUTE
++	WORLD_READ
++	WORLD_EXECUTE
++   )
++
++install(TARGETS ${CMAKE_TARGETS}
+     EXPORT ${PROJECT_NAME}-targets
+     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
diff --git a/srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch b/srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch
new file mode 100644
index 00000000000..e5a693e2ef8
--- /dev/null
+++ b/srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch
@@ -0,0 +1,155 @@
+From 099016b7e8d70a6d5dd814e788bba08d33d48426 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Mon, 4 May 2020 19:41:16 +0200
+Subject: [PATCH 1/3] Protect array_list_del_idx against size_t overflow.
+
+If the assignment of stop overflows due to idx and count being
+larger than SIZE_T_MAX in sum, out of boundary access could happen.
+
+It takes invalid usage of this function for this to happen, but
+I decided to add this check so array_list_del_idx is as safe against
+bad usage as the other arraylist functions.
+---
+ arraylist.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git arraylist.c arraylist.c
+index 12ad8af6d3..e5524aca75 100644
+--- arraylist.c
++++ arraylist.c
+@@ -136,6 +136,9 @@ int array_list_del_idx(struct array_list *arr, size_t idx, size_t count)
+ {
+ 	size_t i, stop;
+ 
++	/* Avoid overflow in calculation with large indices. */
++	if (idx > SIZE_T_MAX - count)
++		return -1;
+ 	stop = idx + count;
+ 	if (idx >= arr->length || stop > arr->length)
+ 		return -1;
+
+From 77d935b7ae7871a1940cd827e850e6063044ec45 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Mon, 4 May 2020 19:46:45 +0200
+Subject: [PATCH 2/3] Prevent division by zero in linkhash.
+
+If a linkhash with a size of zero is created, then modulo operations
+are prone to division by zero operations.
+
+Purely protective measure against bad usage.
+---
+ linkhash.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git linkhash.c linkhash.c
+index 7ea58c0abf..f05cc38030 100644
+--- linkhash.c
++++ linkhash.c
+@@ -12,6 +12,7 @@
+ 
+ #include "config.h"
+ 
++#include <assert.h>
+ #include <limits.h>
+ #include <stdarg.h>
+ #include <stddef.h>
+@@ -499,6 +500,8 @@ struct lh_table *lh_table_new(int size, lh_entry_free_fn *free_fn, lh_hash_fn *h
+ 	int i;
+ 	struct lh_table *t;
+ 
++	/* Allocate space for elements to avoid divisions by zero. */
++	assert(size > 0);
+ 	t = (struct lh_table *)calloc(1, sizeof(struct lh_table));
+ 	if (!t)
+ 		return NULL;
+
+From d07b91014986900a3a75f306d302e13e005e9d67 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Mon, 4 May 2020 19:47:25 +0200
+Subject: [PATCH 3/3] Fix integer overflows.
+
+The data structures linkhash and printbuf are limited to 2 GB in size
+due to a signed integer being used to track their current size.
+
+If too much data is added, then size variable can overflow, which is
+an undefined behaviour in C programming language.
+
+Assuming that a signed int overflow just leads to a negative value,
+like it happens on many sytems (Linux i686/amd64 with gcc), then
+printbuf is vulnerable to an out of boundary write on 64 bit systems.
+---
+ linkhash.c |  7 +++++--
+ printbuf.c | 19 ++++++++++++++++---
+ 2 files changed, 21 insertions(+), 5 deletions(-)
+
+diff --git linkhash.c linkhash.c
+index f05cc38030..51e90b13a2 100644
+--- linkhash.c
++++ linkhash.c
+@@ -580,9 +580,12 @@ int lh_table_insert_w_hash(struct lh_table *t, const void *k, const void *v, con
+ {
+ 	unsigned long n;
+ 
+-	if (t->count >= t->size * LH_LOAD_FACTOR)
+-		if (lh_table_resize(t, t->size * 2) != 0)
++	if (t->count >= t->size * LH_LOAD_FACTOR) {
++		/* Avoid signed integer overflow with large tables. */
++		int new_size = INT_MAX / 2 < t->size ? t->size * 2 : INT_MAX;
++		if (t->size == INT_MAX || lh_table_resize(t, new_size) != 0)
+ 			return -1;
++	}
+ 
+ 	n = h % t->size;
+ 
+diff --git printbuf.c printbuf.c
+index 976c12dde5..00822fac4f 100644
+--- printbuf.c
++++ printbuf.c
+@@ -15,6 +15,7 @@
+ 
+ #include "config.h"
+ 
++#include <limits.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -65,10 +66,16 @@ static int printbuf_extend(struct printbuf *p, int min_size)
+ 
+ 	if (p->size >= min_size)
+ 		return 0;
+-
+-	new_size = p->size * 2;
+-	if (new_size < min_size + 8)
++	/* Prevent signed integer overflows with large buffers. */
++	if (min_size > INT_MAX - 8)
++		return -1;
++	if (p->size > INT_MAX / 2)
+ 		new_size = min_size + 8;
++	else {
++		new_size = p->size * 2;
++		if (new_size < min_size + 8)
++			new_size = min_size + 8;
++	}
+ #ifdef PRINTBUF_DEBUG
+ 	MC_DEBUG("printbuf_memappend: realloc "
+ 	         "bpos=%d min_size=%d old_size=%d new_size=%d\n",
+@@ -83,6 +90,9 @@ static int printbuf_extend(struct printbuf *p, int min_size)
+ 
+ int printbuf_memappend(struct printbuf *p, const char *buf, int size)
+ {
++	/* Prevent signed integer overflows with large buffers. */
++	if (size > INT_MAX - p->bpos - 1)
++		return -1;
+ 	if (p->size <= p->bpos + size + 1)
+ 	{
+ 		if (printbuf_extend(p, p->bpos + size + 1) < 0)
+@@ -100,6 +110,9 @@ int printbuf_memset(struct printbuf *pb, int offset, int charvalue, int len)
+ 
+ 	if (offset == -1)
+ 		offset = pb->bpos;
++	/* Prevent signed integer overflows with large buffers. */
++	if (len > INT_MAX - offset)
++		return -1;
+ 	size_needed = offset + len;
+ 	if (pb->size < size_needed)
+ 	{
diff --git a/srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch b/srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch
new file mode 100644
index 00000000000..017c559b0ca
--- /dev/null
+++ b/srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch
@@ -0,0 +1,93 @@
+From 519dfe1591d85432986f9762d41d1a883198c157 Mon Sep 17 00:00:00 2001
+From: Eric Haszlakiewicz <erh+git@nimenees.com>
+Date: Sun, 10 May 2020 03:32:19 +0000
+Subject: [PATCH 01/13] Issue #599: Fix the backwards check in
+ lh_table_insert_w_hash() that was preventing adding more than 11 objects. Add
+ a test to check for this too.
+
+---
+ linkhash.c           |  2 +-
+ tests/test4.c        | 29 +++++++++++++++++++++++++++++
+ tests/test4.expected |  1 +
+ 3 files changed, 31 insertions(+), 1 deletion(-)
+
+diff --git linkhash.c linkhash.c
+index 51e90b1..f930efd 100644
+--- linkhash.c
++++ linkhash.c
+@@ -582,7 +582,7 @@ int lh_table_insert_w_hash(struct lh_table *t, const void *k, const void *v, con
+ 
+ 	if (t->count >= t->size * LH_LOAD_FACTOR) {
+ 		/* Avoid signed integer overflow with large tables. */
+-		int new_size = INT_MAX / 2 < t->size ? t->size * 2 : INT_MAX;
++		int new_size = (t->size > INT_MAX / 2) ? INT_MAX : (t->size * 2);
+ 		if (t->size == INT_MAX || lh_table_resize(t, new_size) != 0)
+ 			return -1;
+ 	}
+diff --git tests/test4.c tests/test4.c
+index bd964ec..fd2f3be 100644
+--- tests/test4.c
++++ tests/test4.c
+@@ -3,8 +3,10 @@
+  */
+ 
+ #include "config.h"
++#include <assert.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <stdlib.h>
+ 
+ #include "json_inttypes.h"
+ #include "json_object.h"
+@@ -24,6 +26,30 @@ void print_hex(const char *s)
+ 	putchar('\n');
+ }
+ 
++static void test_lot_of_adds(void);
++static void test_lot_of_adds()
++{
++	int ii;
++	char key[50];
++	json_object *jobj = json_object_new_object();
++	assert(jobj != NULL);
++	for (ii = 0; ii < 500; ii++)
++	{
++		snprintf(key, sizeof(key), "k%d", ii);
++		json_object *iobj = json_object_new_int(ii);
++		assert(iobj != NULL);
++		if (json_object_object_add(jobj, key, iobj))
++		{
++			fprintf(stderr, "FAILED to add object #%d\n", ii);
++			abort();
++		}
++	}
++	printf("%s\n", json_object_to_json_string(jobj));
++	assert(json_object_object_length(jobj) == 500);
++	json_object_put(jobj);
++}
++
++
+ int main(void)
+ {
+ 	const char *input = "\"\\ud840\\udd26,\\ud840\\udd27,\\ud800\\udd26,\\ud800\\udd27\"";
+@@ -52,5 +78,8 @@ int main(void)
+ 		retval = 1;
+ 	}
+ 	json_object_put(parse_result);
++
++	test_lot_of_adds();
++
+ 	return retval;
+ }
+diff --git tests/test4.expected tests/test4.expected
+index 68d4336..cb27440 100644
+--- tests/test4.expected
++++ tests/test4.expected
+@@ -1,3 +1,4 @@
+ input: "\ud840\udd26,\ud840\udd27,\ud800\udd26,\ud800\udd27"
+ JSON parse result is correct: 𠄦,𠄧,𐄦,𐄧
+ PASS
++{ "k0": 0, "k1": 1, "k2": 2, "k3": 3, "k4": 4, "k5": 5, "k6": 6, "k7": 7, "k8": 8, "k9": 9, "k10": 10, "k11": 11, "k12": 12, "k13": 13, "k14": 14, "k15": 15, "k16": 16, "k17": 17, "k18": 18, "k19": 19, "k20": 20, "k21": 21, "k22": 22, "k23": 23, "k24": 24, "k25": 25, "k26": 26, "k27": 27, "k28": 28, "k29": 29, "k30": 30, "k31": 31, "k32": 32, "k33": 33, "k34": 34, "k35": 35, "k36": 36, "k37": 37, "k38": 38, "k39": 39, "k40": 40, "k41": 41, "k42": 42, "k43": 43, "k44": 44, "k45": 45, "k46": 46, "k47": 47, "k48": 48, "k49": 49, "k50": 50, "k51": 51, "k52": 52, "k53": 53, "k54": 54, "k55": 55, "k56": 56, "k57": 57, "k58": 58, "k59": 59, "k60": 60, "k61": 61, "k62": 62, "k63": 63, "k64": 64, "k65": 65, "k66": 66, "k67": 67, "k68": 68, "k69": 69, "k70": 70, "k71": 71, "k72": 72, "k73": 73, "k74": 74, "k75": 75, "k76": 76, "k77": 77, "k78": 78, "k79": 79, "k80": 80, "k81": 81, "k82": 82, "k83": 83, "k84": 84, "k85": 85, "k86": 86, "k87": 87, "k88": 88, "k89": 89, "k90": 90, "k91": 91, "k92": 92, "k93": 93, "k94": 94, "k95": 95, "k96": 96, "k97": 97, "k98": 98, "k99": 99, "k100": 100, "k101": 101, "k102": 102, "k103": 103, "k104": 104, "k105": 105, "k106": 106, "k107": 107, "k108": 108, "k109": 109, "k110": 110, "k111": 111, "k112": 112, "k113": 113, "k114": 114, "k115": 115, "k116": 116, "k117": 117, "k118": 118, "k119": 119, "k120": 120, "k121": 121, "k122": 122, "k123": 123, "k124": 124, "k125": 125, "k126": 126, "k127": 127, "k128": 128, "k129": 129, "k130": 130, "k131": 131, "k132": 132, "k133": 133, "k134": 134, "k135": 135, "k136": 136, "k137": 137, "k138": 138, "k139": 139, "k140": 140, "k141": 141, "k142": 142, "k143": 143, "k144": 144, "k145": 145, "k146": 146, "k147": 147, "k148": 148, "k149": 149, "k150": 150, "k151": 151, "k152": 152, "k153": 153, "k154": 154, "k155": 155, "k156": 156, "k157": 157, "k158": 158, "k159": 159, "k160": 160, "k161": 161, "k162": 162, "k163": 163, "k164": 164, "k165": 165, "k166": 166, "k167": 167, "k168": 168, "k169": 169, "k170": 170, "k171": 171, "k172": 172, "k173": 173, "k174": 174, "k175": 175, "k176": 176, "k177": 177, "k178": 178, "k179": 179, "k180": 180, "k181": 181, "k182": 182, "k183": 183, "k184": 184, "k185": 185, "k186": 186, "k187": 187, "k188": 188, "k189": 189, "k190": 190, "k191": 191, "k192": 192, "k193": 193, "k194": 194, "k195": 195, "k196": 196, "k197": 197, "k198": 198, "k199": 199, "k200": 200, "k201": 201, "k202": 202, "k203": 203, "k204": 204, "k205": 205, "k206": 206, "k207": 207, "k208": 208, "k209": 209, "k210": 210, "k211": 211, "k212": 212, "k213": 213, "k214": 214, "k215": 215, "k216": 216, "k217": 217, "k218": 218, "k219": 219, "k220": 220, "k221": 221, "k222": 222, "k223": 223, "k224": 224, "k225": 225, "k226": 226, "k227": 227, "k228": 228, "k229": 229, "k230": 230, "k231": 231, "k232": 232, "k233": 233, "k234": 234, "k235": 235, "k236": 236, "k237": 237, "k238": 238, "k239": 239, "k240": 240, "k241": 241, "k242": 242, "k243": 243, "k244": 244, "k245": 245, "k246": 246, "k247": 247, "k248": 248, "k249": 249, "k250": 250, "k251": 251, "k252": 252, "k253": 253, "k254": 254, "k255": 255, "k256": 256, "k257": 257, "k258": 258, "k259": 259, "k260": 260, "k261": 261, "k262": 262, "k263": 263, "k264": 264, "k265": 265, "k266": 266, "k267": 267, "k268": 268, "k269": 269, "k270": 270, "k271": 271, "k272": 272, "k273": 273, "k274": 274, "k275": 275, "k276": 276, "k277": 277, "k278": 278, "k279": 279, "k280": 280, "k281": 281, "k282": 282, "k283": 283, "k284": 284, "k285": 285, "k286": 286, "k287": 287, "k288": 288, "k289": 289, "k290": 290, "k291": 291, "k292": 292, "k293": 293, "k294": 294, "k295": 295, "k296": 296, "k297": 297, "k298": 298, "k299": 299, "k300": 300, "k301": 301, "k302": 302, "k303": 303, "k304": 304, "k305": 305, "k306": 306, "k307": 307, "k308": 308, "k309": 309, "k310": 310, "k311": 311, "k312": 312, "k313": 313, "k314": 314, "k315": 315, "k316": 316, "k317": 317, "k318": 318, "k319": 319, "k320": 320, "k321": 321, "k322": 322, "k323": 323, "k324": 324, "k325": 325, "k326": 326, "k327": 327, "k328": 328, "k329": 329, "k330": 330, "k331": 331, "k332": 332, "k333": 333, "k334": 334, "k335": 335, "k336": 336, "k337": 337, "k338": 338, "k339": 339, "k340": 340, "k341": 341, "k342": 342, "k343": 343, "k344": 344, "k345": 345, "k346": 346, "k347": 347, "k348": 348, "k349": 349, "k350": 350, "k351": 351, "k352": 352, "k353": 353, "k354": 354, "k355": 355, "k356": 356, "k357": 357, "k358": 358, "k359": 359, "k360": 360, "k361": 361, "k362": 362, "k363": 363, "k364": 364, "k365": 365, "k366": 366, "k367": 367, "k368": 368, "k369": 369, "k370": 370, "k371": 371, "k372": 372, "k373": 373, "k374": 374, "k375": 375, "k376": 376, "k377": 377, "k378": 378, "k379": 379, "k380": 380, "k381": 381, "k382": 382, "k383": 383, "k384": 384, "k385": 385, "k386": 386, "k387": 387, "k388": 388, "k389": 389, "k390": 390, "k391": 391, "k392": 392, "k393": 393, "k394": 394, "k395": 395, "k396": 396, "k397": 397, "k398": 398, "k399": 399, "k400": 400, "k401": 401, "k402": 402, "k403": 403, "k404": 404, "k405": 405, "k406": 406, "k407": 407, "k408": 408, "k409": 409, "k410": 410, "k411": 411, "k412": 412, "k413": 413, "k414": 414, "k415": 415, "k416": 416, "k417": 417, "k418": 418, "k419": 419, "k420": 420, "k421": 421, "k422": 422, "k423": 423, "k424": 424, "k425": 425, "k426": 426, "k427": 427, "k428": 428, "k429": 429, "k430": 430, "k431": 431, "k432": 432, "k433": 433, "k434": 434, "k435": 435, "k436": 436, "k437": 437, "k438": 438, "k439": 439, "k440": 440, "k441": 441, "k442": 442, "k443": 443, "k444": 444, "k445": 445, "k446": 446, "k447": 447, "k448": 448, "k449": 449, "k450": 450, "k451": 451, "k452": 452, "k453": 453, "k454": 454, "k455": 455, "k456": 456, "k457": 457, "k458": 458, "k459": 459, "k460": 460, "k461": 461, "k462": 462, "k463": 463, "k464": 464, "k465": 465, "k466": 466, "k467": 467, "k468": 468, "k469": 469, "k470": 470, "k471": 471, "k472": 472, "k473": 473, "k474": 474, "k475": 475, "k476": 476, "k477": 477, "k478": 478, "k479": 479, "k480": 480, "k481": 481, "k482": 482, "k483": 483, "k484": 484, "k485": 485, "k486": 486, "k487": 487, "k488": 488, "k489": 489, "k490": 490, "k491": 491, "k492": 492, "k493": 493, "k494": 494, "k495": 495, "k496": 496, "k497": 497, "k498": 498, "k499": 499 }
+-- 
+2.26.2
+
diff --git a/srcpkgs/json-c/template b/srcpkgs/json-c/template
index 9fad1d3ebd9..ed4892611e2 100644
--- a/srcpkgs/json-c/template
+++ b/srcpkgs/json-c/template
@@ -1,26 +1,23 @@
 # Template file for 'json-c'
 pkgname=json-c
-version=0.13.1
-revision=2
-build_style=gnu-configure
-configure_args="--enable-threading $(vopt_enable rdrand)"
-hostmakedepends="automake libtool"
-short_desc="A JSON implementation in C"
+version=0.14
+revision=1
+build_style=cmake
+configure_args="-DENABLE_THREADING=ON -DBUILD_STATIC_LIBS=ON
+ -DENABLE_RDRAND=$(vopt_if rdrand ON OFF)"
+hostmakedepends="doxygen"
+short_desc="JSON implementation in C"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://json-c.github.io/json-c"
 distfiles="https://s3.amazonaws.com/json-c_releases/releases/${pkgname}-${version}.tar.gz"
-checksum=b87e608d4d3f7bfdd36ef78d56d53c74e66ab278d318b71e6002a369d36f4873
+checksum=b377de08c9b23ca3b37d9a9828107dff1de5ce208ff4ebb35005a794f30c6870
 
 CFLAGS="-Wno-error"
 
 build_options="rdrand"
 desc_option_rdrand="Enable RDRAND Hardware RNG Hash Seed generation on x86_x64 platforms"
 
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
 	vlicense COPYING
 }
@@ -31,6 +28,7 @@ json-c-devel_package() {
 	pkg_install() {
 		vmove "usr/lib/*.a"
 		vmove "usr/lib/*.so"
+		vmove usr/lib/cmake
 		vmove usr/include
 		vmove usr/lib/pkgconfig
 	}

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] json-c: update to 0.14.
  2020-05-31 17:51 [PR PATCH] [WIP] json-c: update to 0.14 rmccask
@ 2020-05-31 20:49 ` rmccask
  2020-05-31 21:44 ` ericonr
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: rmccask @ 2020-05-31 20:49 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 323 bytes --]

There is an updated pull request by rmccask against master on the void-packages repository

https://github.com/rmccask/void-packages json-c-0.14
https://github.com/void-linux/void-packages/pull/22472

[WIP] json-c: update to 0.14.


A patch file from https://github.com/void-linux/void-packages/pull/22472.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-json-c-0.14-22472.patch --]
[-- Type: text/x-diff, Size: 48205 bytes --]

From cd885cd7020de519500dda65df4ca8051db595ec Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 00:03:20 -0400
Subject: [PATCH 01/29] json-c: update to 0.14.

[ci skip]
---
 common/shlibs                                 |   2 +-
 .../1-json-c-0.14-cmake-static-libs.patch     |  56 +++++++
 .../patches/2-json-c-0.14-security-fix.patch  | 155 ++++++++++++++++++
 .../3-json-c-0.14-object-limitation.patch     |  93 +++++++++++
 srcpkgs/json-c/template                       |  20 +--
 5 files changed, 314 insertions(+), 12 deletions(-)
 create mode 100644 srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch
 create mode 100644 srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch
 create mode 100644 srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch

diff --git a/common/shlibs b/common/shlibs
index e47fa9e3ec5..b73f5de1218 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -890,7 +890,7 @@ libv4lconvert.so.0 v4l-utils-0.8.5_1
 libv4l1.so.0 v4l-utils-0.8.5_1
 libv4l2rds.so.0 v4l-utils-1.2.1_1
 libdvbv5.so.0 v4l-utils-1.6.2_1
-libjson-c.so.4 json-c-0.13.1_1
+libjson-c.so.5 json-c-0.14.0_1
 libcogl.so.20 cogl-1.18.0_1
 libcogl-pango.so.20 cogl-1.18.0_1
 libcogl-gst.so.20 cogl-1.18.0_1
diff --git a/srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch b/srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch
new file mode 100644
index 00000000000..c452121af3a
--- /dev/null
+++ b/srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch
@@ -0,0 +1,56 @@
+diff --git CMakeLists.txt CMakeLists.txt
+index ba692ff..fc2edff 100644
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -65,6 +65,7 @@ include(GNUInstallDirs)
+ include(CMakePackageConfigHelpers)
+ 
+ option(BUILD_SHARED_LIBS  "Default to building shared libraries" ON)
++option(BUILD_STATIC_LIBS  "Default to building static libraries" OFF)
+ 
+ # Generate a release merge and test it to verify the correctness of republishing the package.
+ ADD_CUSTOM_TARGET(distcheck
+@@ -383,7 +384,7 @@ add_library(${PROJECT_NAME}
+ set_target_properties(${PROJECT_NAME} PROPERTIES
+     VERSION 5.0.0
+     SOVERSION 5)
+-
++list(APPEND CMAKE_TARGETS ${PROJECT_NAME})
+ # If json-c is used as subroject it set to target correct interface -I flags and allow
+ # to build external target without extra include_directories(...)
+ target_include_directories(${PROJECT_NAME}
+@@ -392,7 +393,33 @@ target_include_directories(${PROJECT_NAME}
+         $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
+ )
+ 
+-install(TARGETS ${PROJECT_NAME}
++# Allow to build static and shared libraries at the same time
++if (BUILD_STATIC_LIBS)
++    set(STATIC_LIB ${PROJECT_NAME}-static)
++    add_library(${STATIC_LIB} STATIC
++        ${JSON_C_SOURCES}
++        ${JSON_C_HEADERS}
++    )
++
++    # rename the static library
++    set_target_properties(${STATIC_LIB} PROPERTIES
++        OUTPUT_NAME ${PROJECT_NAME}
++    )
++    list(APPEND CMAKE_TARGETS ${STATIC_LIB})
++endif ()
++
++# Always create new install dirs with 0755 permissions, regardless of umask
++set(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
++	OWNER_READ
++	OWNER_WRITE
++	OWNER_EXECUTE
++	GROUP_READ
++	GROUP_EXECUTE
++	WORLD_READ
++	WORLD_EXECUTE
++   )
++
++install(TARGETS ${CMAKE_TARGETS}
+     EXPORT ${PROJECT_NAME}-targets
+     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
diff --git a/srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch b/srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch
new file mode 100644
index 00000000000..e5a693e2ef8
--- /dev/null
+++ b/srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch
@@ -0,0 +1,155 @@
+From 099016b7e8d70a6d5dd814e788bba08d33d48426 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Mon, 4 May 2020 19:41:16 +0200
+Subject: [PATCH 1/3] Protect array_list_del_idx against size_t overflow.
+
+If the assignment of stop overflows due to idx and count being
+larger than SIZE_T_MAX in sum, out of boundary access could happen.
+
+It takes invalid usage of this function for this to happen, but
+I decided to add this check so array_list_del_idx is as safe against
+bad usage as the other arraylist functions.
+---
+ arraylist.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git arraylist.c arraylist.c
+index 12ad8af6d3..e5524aca75 100644
+--- arraylist.c
++++ arraylist.c
+@@ -136,6 +136,9 @@ int array_list_del_idx(struct array_list *arr, size_t idx, size_t count)
+ {
+ 	size_t i, stop;
+ 
++	/* Avoid overflow in calculation with large indices. */
++	if (idx > SIZE_T_MAX - count)
++		return -1;
+ 	stop = idx + count;
+ 	if (idx >= arr->length || stop > arr->length)
+ 		return -1;
+
+From 77d935b7ae7871a1940cd827e850e6063044ec45 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Mon, 4 May 2020 19:46:45 +0200
+Subject: [PATCH 2/3] Prevent division by zero in linkhash.
+
+If a linkhash with a size of zero is created, then modulo operations
+are prone to division by zero operations.
+
+Purely protective measure against bad usage.
+---
+ linkhash.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git linkhash.c linkhash.c
+index 7ea58c0abf..f05cc38030 100644
+--- linkhash.c
++++ linkhash.c
+@@ -12,6 +12,7 @@
+ 
+ #include "config.h"
+ 
++#include <assert.h>
+ #include <limits.h>
+ #include <stdarg.h>
+ #include <stddef.h>
+@@ -499,6 +500,8 @@ struct lh_table *lh_table_new(int size, lh_entry_free_fn *free_fn, lh_hash_fn *h
+ 	int i;
+ 	struct lh_table *t;
+ 
++	/* Allocate space for elements to avoid divisions by zero. */
++	assert(size > 0);
+ 	t = (struct lh_table *)calloc(1, sizeof(struct lh_table));
+ 	if (!t)
+ 		return NULL;
+
+From d07b91014986900a3a75f306d302e13e005e9d67 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Mon, 4 May 2020 19:47:25 +0200
+Subject: [PATCH 3/3] Fix integer overflows.
+
+The data structures linkhash and printbuf are limited to 2 GB in size
+due to a signed integer being used to track their current size.
+
+If too much data is added, then size variable can overflow, which is
+an undefined behaviour in C programming language.
+
+Assuming that a signed int overflow just leads to a negative value,
+like it happens on many sytems (Linux i686/amd64 with gcc), then
+printbuf is vulnerable to an out of boundary write on 64 bit systems.
+---
+ linkhash.c |  7 +++++--
+ printbuf.c | 19 ++++++++++++++++---
+ 2 files changed, 21 insertions(+), 5 deletions(-)
+
+diff --git linkhash.c linkhash.c
+index f05cc38030..51e90b13a2 100644
+--- linkhash.c
++++ linkhash.c
+@@ -580,9 +580,12 @@ int lh_table_insert_w_hash(struct lh_table *t, const void *k, const void *v, con
+ {
+ 	unsigned long n;
+ 
+-	if (t->count >= t->size * LH_LOAD_FACTOR)
+-		if (lh_table_resize(t, t->size * 2) != 0)
++	if (t->count >= t->size * LH_LOAD_FACTOR) {
++		/* Avoid signed integer overflow with large tables. */
++		int new_size = INT_MAX / 2 < t->size ? t->size * 2 : INT_MAX;
++		if (t->size == INT_MAX || lh_table_resize(t, new_size) != 0)
+ 			return -1;
++	}
+ 
+ 	n = h % t->size;
+ 
+diff --git printbuf.c printbuf.c
+index 976c12dde5..00822fac4f 100644
+--- printbuf.c
++++ printbuf.c
+@@ -15,6 +15,7 @@
+ 
+ #include "config.h"
+ 
++#include <limits.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -65,10 +66,16 @@ static int printbuf_extend(struct printbuf *p, int min_size)
+ 
+ 	if (p->size >= min_size)
+ 		return 0;
+-
+-	new_size = p->size * 2;
+-	if (new_size < min_size + 8)
++	/* Prevent signed integer overflows with large buffers. */
++	if (min_size > INT_MAX - 8)
++		return -1;
++	if (p->size > INT_MAX / 2)
+ 		new_size = min_size + 8;
++	else {
++		new_size = p->size * 2;
++		if (new_size < min_size + 8)
++			new_size = min_size + 8;
++	}
+ #ifdef PRINTBUF_DEBUG
+ 	MC_DEBUG("printbuf_memappend: realloc "
+ 	         "bpos=%d min_size=%d old_size=%d new_size=%d\n",
+@@ -83,6 +90,9 @@ static int printbuf_extend(struct printbuf *p, int min_size)
+ 
+ int printbuf_memappend(struct printbuf *p, const char *buf, int size)
+ {
++	/* Prevent signed integer overflows with large buffers. */
++	if (size > INT_MAX - p->bpos - 1)
++		return -1;
+ 	if (p->size <= p->bpos + size + 1)
+ 	{
+ 		if (printbuf_extend(p, p->bpos + size + 1) < 0)
+@@ -100,6 +110,9 @@ int printbuf_memset(struct printbuf *pb, int offset, int charvalue, int len)
+ 
+ 	if (offset == -1)
+ 		offset = pb->bpos;
++	/* Prevent signed integer overflows with large buffers. */
++	if (len > INT_MAX - offset)
++		return -1;
+ 	size_needed = offset + len;
+ 	if (pb->size < size_needed)
+ 	{
diff --git a/srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch b/srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch
new file mode 100644
index 00000000000..017c559b0ca
--- /dev/null
+++ b/srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch
@@ -0,0 +1,93 @@
+From 519dfe1591d85432986f9762d41d1a883198c157 Mon Sep 17 00:00:00 2001
+From: Eric Haszlakiewicz <erh+git@nimenees.com>
+Date: Sun, 10 May 2020 03:32:19 +0000
+Subject: [PATCH 01/13] Issue #599: Fix the backwards check in
+ lh_table_insert_w_hash() that was preventing adding more than 11 objects. Add
+ a test to check for this too.
+
+---
+ linkhash.c           |  2 +-
+ tests/test4.c        | 29 +++++++++++++++++++++++++++++
+ tests/test4.expected |  1 +
+ 3 files changed, 31 insertions(+), 1 deletion(-)
+
+diff --git linkhash.c linkhash.c
+index 51e90b1..f930efd 100644
+--- linkhash.c
++++ linkhash.c
+@@ -582,7 +582,7 @@ int lh_table_insert_w_hash(struct lh_table *t, const void *k, const void *v, con
+ 
+ 	if (t->count >= t->size * LH_LOAD_FACTOR) {
+ 		/* Avoid signed integer overflow with large tables. */
+-		int new_size = INT_MAX / 2 < t->size ? t->size * 2 : INT_MAX;
++		int new_size = (t->size > INT_MAX / 2) ? INT_MAX : (t->size * 2);
+ 		if (t->size == INT_MAX || lh_table_resize(t, new_size) != 0)
+ 			return -1;
+ 	}
+diff --git tests/test4.c tests/test4.c
+index bd964ec..fd2f3be 100644
+--- tests/test4.c
++++ tests/test4.c
+@@ -3,8 +3,10 @@
+  */
+ 
+ #include "config.h"
++#include <assert.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <stdlib.h>
+ 
+ #include "json_inttypes.h"
+ #include "json_object.h"
+@@ -24,6 +26,30 @@ void print_hex(const char *s)
+ 	putchar('\n');
+ }
+ 
++static void test_lot_of_adds(void);
++static void test_lot_of_adds()
++{
++	int ii;
++	char key[50];
++	json_object *jobj = json_object_new_object();
++	assert(jobj != NULL);
++	for (ii = 0; ii < 500; ii++)
++	{
++		snprintf(key, sizeof(key), "k%d", ii);
++		json_object *iobj = json_object_new_int(ii);
++		assert(iobj != NULL);
++		if (json_object_object_add(jobj, key, iobj))
++		{
++			fprintf(stderr, "FAILED to add object #%d\n", ii);
++			abort();
++		}
++	}
++	printf("%s\n", json_object_to_json_string(jobj));
++	assert(json_object_object_length(jobj) == 500);
++	json_object_put(jobj);
++}
++
++
+ int main(void)
+ {
+ 	const char *input = "\"\\ud840\\udd26,\\ud840\\udd27,\\ud800\\udd26,\\ud800\\udd27\"";
+@@ -52,5 +78,8 @@ int main(void)
+ 		retval = 1;
+ 	}
+ 	json_object_put(parse_result);
++
++	test_lot_of_adds();
++
+ 	return retval;
+ }
+diff --git tests/test4.expected tests/test4.expected
+index 68d4336..cb27440 100644
+--- tests/test4.expected
++++ tests/test4.expected
+@@ -1,3 +1,4 @@
+ input: "\ud840\udd26,\ud840\udd27,\ud800\udd26,\ud800\udd27"
+ JSON parse result is correct: 𠄦,𠄧,𐄦,𐄧
+ PASS
++{ "k0": 0, "k1": 1, "k2": 2, "k3": 3, "k4": 4, "k5": 5, "k6": 6, "k7": 7, "k8": 8, "k9": 9, "k10": 10, "k11": 11, "k12": 12, "k13": 13, "k14": 14, "k15": 15, "k16": 16, "k17": 17, "k18": 18, "k19": 19, "k20": 20, "k21": 21, "k22": 22, "k23": 23, "k24": 24, "k25": 25, "k26": 26, "k27": 27, "k28": 28, "k29": 29, "k30": 30, "k31": 31, "k32": 32, "k33": 33, "k34": 34, "k35": 35, "k36": 36, "k37": 37, "k38": 38, "k39": 39, "k40": 40, "k41": 41, "k42": 42, "k43": 43, "k44": 44, "k45": 45, "k46": 46, "k47": 47, "k48": 48, "k49": 49, "k50": 50, "k51": 51, "k52": 52, "k53": 53, "k54": 54, "k55": 55, "k56": 56, "k57": 57, "k58": 58, "k59": 59, "k60": 60, "k61": 61, "k62": 62, "k63": 63, "k64": 64, "k65": 65, "k66": 66, "k67": 67, "k68": 68, "k69": 69, "k70": 70, "k71": 71, "k72": 72, "k73": 73, "k74": 74, "k75": 75, "k76": 76, "k77": 77, "k78": 78, "k79": 79, "k80": 80, "k81": 81, "k82": 82, "k83": 83, "k84": 84, "k85": 85, "k86": 86, "k87": 87, "k88": 88, "k89": 89, "k90": 90, "k91": 91, "k92": 92, "k93": 93, "k94": 94, "k95": 95, "k96": 96, "k97": 97, "k98": 98, "k99": 99, "k100": 100, "k101": 101, "k102": 102, "k103": 103, "k104": 104, "k105": 105, "k106": 106, "k107": 107, "k108": 108, "k109": 109, "k110": 110, "k111": 111, "k112": 112, "k113": 113, "k114": 114, "k115": 115, "k116": 116, "k117": 117, "k118": 118, "k119": 119, "k120": 120, "k121": 121, "k122": 122, "k123": 123, "k124": 124, "k125": 125, "k126": 126, "k127": 127, "k128": 128, "k129": 129, "k130": 130, "k131": 131, "k132": 132, "k133": 133, "k134": 134, "k135": 135, "k136": 136, "k137": 137, "k138": 138, "k139": 139, "k140": 140, "k141": 141, "k142": 142, "k143": 143, "k144": 144, "k145": 145, "k146": 146, "k147": 147, "k148": 148, "k149": 149, "k150": 150, "k151": 151, "k152": 152, "k153": 153, "k154": 154, "k155": 155, "k156": 156, "k157": 157, "k158": 158, "k159": 159, "k160": 160, "k161": 161, "k162": 162, "k163": 163, "k164": 164, "k165": 165, "k166": 166, "k167": 167, "k168": 168, "k169": 169, "k170": 170, "k171": 171, "k172": 172, "k173": 173, "k174": 174, "k175": 175, "k176": 176, "k177": 177, "k178": 178, "k179": 179, "k180": 180, "k181": 181, "k182": 182, "k183": 183, "k184": 184, "k185": 185, "k186": 186, "k187": 187, "k188": 188, "k189": 189, "k190": 190, "k191": 191, "k192": 192, "k193": 193, "k194": 194, "k195": 195, "k196": 196, "k197": 197, "k198": 198, "k199": 199, "k200": 200, "k201": 201, "k202": 202, "k203": 203, "k204": 204, "k205": 205, "k206": 206, "k207": 207, "k208": 208, "k209": 209, "k210": 210, "k211": 211, "k212": 212, "k213": 213, "k214": 214, "k215": 215, "k216": 216, "k217": 217, "k218": 218, "k219": 219, "k220": 220, "k221": 221, "k222": 222, "k223": 223, "k224": 224, "k225": 225, "k226": 226, "k227": 227, "k228": 228, "k229": 229, "k230": 230, "k231": 231, "k232": 232, "k233": 233, "k234": 234, "k235": 235, "k236": 236, "k237": 237, "k238": 238, "k239": 239, "k240": 240, "k241": 241, "k242": 242, "k243": 243, "k244": 244, "k245": 245, "k246": 246, "k247": 247, "k248": 248, "k249": 249, "k250": 250, "k251": 251, "k252": 252, "k253": 253, "k254": 254, "k255": 255, "k256": 256, "k257": 257, "k258": 258, "k259": 259, "k260": 260, "k261": 261, "k262": 262, "k263": 263, "k264": 264, "k265": 265, "k266": 266, "k267": 267, "k268": 268, "k269": 269, "k270": 270, "k271": 271, "k272": 272, "k273": 273, "k274": 274, "k275": 275, "k276": 276, "k277": 277, "k278": 278, "k279": 279, "k280": 280, "k281": 281, "k282": 282, "k283": 283, "k284": 284, "k285": 285, "k286": 286, "k287": 287, "k288": 288, "k289": 289, "k290": 290, "k291": 291, "k292": 292, "k293": 293, "k294": 294, "k295": 295, "k296": 296, "k297": 297, "k298": 298, "k299": 299, "k300": 300, "k301": 301, "k302": 302, "k303": 303, "k304": 304, "k305": 305, "k306": 306, "k307": 307, "k308": 308, "k309": 309, "k310": 310, "k311": 311, "k312": 312, "k313": 313, "k314": 314, "k315": 315, "k316": 316, "k317": 317, "k318": 318, "k319": 319, "k320": 320, "k321": 321, "k322": 322, "k323": 323, "k324": 324, "k325": 325, "k326": 326, "k327": 327, "k328": 328, "k329": 329, "k330": 330, "k331": 331, "k332": 332, "k333": 333, "k334": 334, "k335": 335, "k336": 336, "k337": 337, "k338": 338, "k339": 339, "k340": 340, "k341": 341, "k342": 342, "k343": 343, "k344": 344, "k345": 345, "k346": 346, "k347": 347, "k348": 348, "k349": 349, "k350": 350, "k351": 351, "k352": 352, "k353": 353, "k354": 354, "k355": 355, "k356": 356, "k357": 357, "k358": 358, "k359": 359, "k360": 360, "k361": 361, "k362": 362, "k363": 363, "k364": 364, "k365": 365, "k366": 366, "k367": 367, "k368": 368, "k369": 369, "k370": 370, "k371": 371, "k372": 372, "k373": 373, "k374": 374, "k375": 375, "k376": 376, "k377": 377, "k378": 378, "k379": 379, "k380": 380, "k381": 381, "k382": 382, "k383": 383, "k384": 384, "k385": 385, "k386": 386, "k387": 387, "k388": 388, "k389": 389, "k390": 390, "k391": 391, "k392": 392, "k393": 393, "k394": 394, "k395": 395, "k396": 396, "k397": 397, "k398": 398, "k399": 399, "k400": 400, "k401": 401, "k402": 402, "k403": 403, "k404": 404, "k405": 405, "k406": 406, "k407": 407, "k408": 408, "k409": 409, "k410": 410, "k411": 411, "k412": 412, "k413": 413, "k414": 414, "k415": 415, "k416": 416, "k417": 417, "k418": 418, "k419": 419, "k420": 420, "k421": 421, "k422": 422, "k423": 423, "k424": 424, "k425": 425, "k426": 426, "k427": 427, "k428": 428, "k429": 429, "k430": 430, "k431": 431, "k432": 432, "k433": 433, "k434": 434, "k435": 435, "k436": 436, "k437": 437, "k438": 438, "k439": 439, "k440": 440, "k441": 441, "k442": 442, "k443": 443, "k444": 444, "k445": 445, "k446": 446, "k447": 447, "k448": 448, "k449": 449, "k450": 450, "k451": 451, "k452": 452, "k453": 453, "k454": 454, "k455": 455, "k456": 456, "k457": 457, "k458": 458, "k459": 459, "k460": 460, "k461": 461, "k462": 462, "k463": 463, "k464": 464, "k465": 465, "k466": 466, "k467": 467, "k468": 468, "k469": 469, "k470": 470, "k471": 471, "k472": 472, "k473": 473, "k474": 474, "k475": 475, "k476": 476, "k477": 477, "k478": 478, "k479": 479, "k480": 480, "k481": 481, "k482": 482, "k483": 483, "k484": 484, "k485": 485, "k486": 486, "k487": 487, "k488": 488, "k489": 489, "k490": 490, "k491": 491, "k492": 492, "k493": 493, "k494": 494, "k495": 495, "k496": 496, "k497": 497, "k498": 498, "k499": 499 }
+-- 
+2.26.2
+
diff --git a/srcpkgs/json-c/template b/srcpkgs/json-c/template
index 9fad1d3ebd9..ed4892611e2 100644
--- a/srcpkgs/json-c/template
+++ b/srcpkgs/json-c/template
@@ -1,26 +1,23 @@
 # Template file for 'json-c'
 pkgname=json-c
-version=0.13.1
-revision=2
-build_style=gnu-configure
-configure_args="--enable-threading $(vopt_enable rdrand)"
-hostmakedepends="automake libtool"
-short_desc="A JSON implementation in C"
+version=0.14
+revision=1
+build_style=cmake
+configure_args="-DENABLE_THREADING=ON -DBUILD_STATIC_LIBS=ON
+ -DENABLE_RDRAND=$(vopt_if rdrand ON OFF)"
+hostmakedepends="doxygen"
+short_desc="JSON implementation in C"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://json-c.github.io/json-c"
 distfiles="https://s3.amazonaws.com/json-c_releases/releases/${pkgname}-${version}.tar.gz"
-checksum=b87e608d4d3f7bfdd36ef78d56d53c74e66ab278d318b71e6002a369d36f4873
+checksum=b377de08c9b23ca3b37d9a9828107dff1de5ce208ff4ebb35005a794f30c6870
 
 CFLAGS="-Wno-error"
 
 build_options="rdrand"
 desc_option_rdrand="Enable RDRAND Hardware RNG Hash Seed generation on x86_x64 platforms"
 
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
 	vlicense COPYING
 }
@@ -31,6 +28,7 @@ json-c-devel_package() {
 	pkg_install() {
 		vmove "usr/lib/*.a"
 		vmove "usr/lib/*.so"
+		vmove usr/lib/cmake
 		vmove usr/include
 		vmove usr/lib/pkgconfig
 	}

From 4cab85c68c4f70184441d42e6423479218ba8550 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:38:38 -0400
Subject: [PATCH 02/29] CPU-X: rebuild against json-c 0.14

---
 srcpkgs/CPU-X/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/CPU-X/template b/srcpkgs/CPU-X/template
index fce5dd7659b..2c6621d888b 100644
--- a/srcpkgs/CPU-X/template
+++ b/srcpkgs/CPU-X/template
@@ -1,7 +1,7 @@
 # Template file for 'CPU-X'
 pkgname=CPU-X
 version=3.2.4
-revision=2
+revision=3
 # /usr/bin/ld: i386:x86-64 architecture of input file
 # ../output/lib/libbandwidth.a(routines-x86-64bit.o)'
 # is incompatible with i386 output

From 93284f532323cb43b41be4d7500965740f490c92 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:38:38 -0400
Subject: [PATCH 03/29] bti: rebuild against json-c 0.14

---
 srcpkgs/bti/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/bti/template b/srcpkgs/bti/template
index 3bae88c092b..174b9c4139d 100644
--- a/srcpkgs/bti/template
+++ b/srcpkgs/bti/template
@@ -1,7 +1,7 @@
 # Template file for 'bti'
 pkgname=bti
 version=034
-revision=3
+revision=4
 build_style=gnu-configure
 hostmakedepends="pkg-config"
 makedepends="pcre-devel libxml2-devel libcurl-devel json-c-devel liboauth-devel"

From 2e2d668909613afcfdfef0372548a9a67e82cc16 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:38:39 -0400
Subject: [PATCH 04/29] clamav: rebuild against json-c 0.14

---
 srcpkgs/clamav/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/clamav/template b/srcpkgs/clamav/template
index 5afb3841882..192a6142d0c 100644
--- a/srcpkgs/clamav/template
+++ b/srcpkgs/clamav/template
@@ -1,7 +1,7 @@
 # Template file for 'clamav'
 pkgname=clamav
 version=0.102.3
-revision=3
+revision=4
 build_style=gnu-configure
 # XXX: system llvm is too new (< 3.7 required)
 # Shipped llvm does not build with gcc6

From f6bb9b1d43bea27ec29061216ed06a6c83ebeade Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:40:22 -0400
Subject: [PATCH 05/29] connman-ncurses: rebuild against json-c 0.14

---
 .../patches/lowercase-boolean.patch           | 39 +++++++++++++++++++
 srcpkgs/connman-ncurses/template              |  2 +-
 2 files changed, 40 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/connman-ncurses/patches/lowercase-boolean.patch

diff --git a/srcpkgs/connman-ncurses/patches/lowercase-boolean.patch b/srcpkgs/connman-ncurses/patches/lowercase-boolean.patch
new file mode 100644
index 00000000000..41a91751ea2
--- /dev/null
+++ b/srcpkgs/connman-ncurses/patches/lowercase-boolean.patch
@@ -0,0 +1,39 @@
+--- json_utils.c	2020-05-31 00:39:12.983378846 -0400
++++ json_utils.c	2020-05-31 00:39:26.062122347 -0400
+@@ -81,7 +81,7 @@
+ 		key_is_trusted = json_object_object_get_ex(jtrusted, key,
+ 				&tmp_trusted);
+ 
+-		if (key_is_trusted == FALSE)
++		if (key_is_trusted == false)
+ 			return false;
+ 
+ 		res = __json_type_dispatch(val, tmp_trusted);
+--- json_regex.c	2020-05-31 00:44:07.233613212 -0400
++++ json_regex.c	2020-05-31 00:48:33.307401463 -0400
+@@ -22,6 +22,7 @@
+ #endif
+ 
+ #include <json.h>
++#include <stdbool.h>
+ 
+ #include "json_regex.h"
+ #include "keys.h"
+@@ -62,7 +63,7 @@
+ 	json_object_object_add(jregex_agent_response, "Username", json_object_new_string("^([[:print:]]*)$"));
+ 	json_object_object_add(jregex_agent_response, "Password", json_object_new_string("^([[:print:]]*)$"));
+ 
+-	jregex_agent_retry_response = json_object_new_boolean(TRUE);
++	jregex_agent_retry_response = json_object_new_boolean(true);
+ 
+ 	// See commands.c __cmd_config_service for a better idea of the format.
+ 	jregex_config_service = json_object_new_object();
+@@ -92,7 +93,7 @@
+ 	json_object_array_add(arr, json_object_new_string("^([[:print:]]*)$"));
+ 	json_object_object_add(tmp, key_serv_proxy_excludes, arr);
+ 	json_object_object_add(opt, key_serv_proxy_config, tmp);
+-	json_object_object_add(opt, key_serv_autoconnect, json_object_new_boolean(TRUE));
++	json_object_object_add(opt, key_serv_autoconnect, json_object_new_boolean(true));
+ 	arr = json_object_new_array();
+ 	json_object_array_add(arr, json_object_new_string("^([[:print:]]*)$"));
+ 	json_object_object_add(opt, key_serv_domains_config, arr);
diff --git a/srcpkgs/connman-ncurses/template b/srcpkgs/connman-ncurses/template
index 88b0503b1b7..8ba2028a5f2 100644
--- a/srcpkgs/connman-ncurses/template
+++ b/srcpkgs/connman-ncurses/template
@@ -1,7 +1,7 @@
 # Template file for 'connman-ncurses'
 pkgname=connman-ncurses
 version=1.0
-revision=3
+revision=4
 wrksrc="connman-json-client-${version}"
 build_style=gnu-configure
 hostmakedepends="automake autoconf pkg-config json-c-devel ncurses-devel dbus-devel"

From f5248659aed05327a1e59c744d09c581caa4df18 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:42:06 -0400
Subject: [PATCH 06/29] cryptsetup: rebuild against json-c 0.14

---
 srcpkgs/cryptsetup/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cryptsetup/template b/srcpkgs/cryptsetup/template
index d4f5f1b3a20..e9f3206ab7b 100644
--- a/srcpkgs/cryptsetup/template
+++ b/srcpkgs/cryptsetup/template
@@ -1,7 +1,7 @@
 # Template file for 'cryptsetup'
 pkgname=cryptsetup
 version=2.3.3
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto_backend=openssl $(vopt_enable pwquality)
  --enable-cryptsetup-reencrypt --enable-libargon2"

From 5cf4e197c93d3d9cb84e53d3637a6b4eacb2c1aa Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:42:06 -0400
Subject: [PATCH 07/29] fastd: rebuild against json-c 0.14

---
 srcpkgs/fastd/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/fastd/template b/srcpkgs/fastd/template
index 665778d6f8c..2bca39e95f8 100644
--- a/srcpkgs/fastd/template
+++ b/srcpkgs/fastd/template
@@ -1,7 +1,7 @@
 # Template file for 'fastd'
 pkgname=fastd
 version=18
-revision=4
+revision=5
 build_style=cmake
 hostmakedepends="pkg-config bison"
 makedepends="libuecc-devel libsodium-devel json-c-devel libcap-devel"

From 9a2b3398242b872efc91c64565eb3a23d27731aa Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:42:06 -0400
Subject: [PATCH 08/29] fcitx: rebuild against json-c 0.14

---
 srcpkgs/fcitx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/fcitx/template b/srcpkgs/fcitx/template
index beeed2d9ca2..5069c9543d6 100644
--- a/srcpkgs/fcitx/template
+++ b/srcpkgs/fcitx/template
@@ -1,7 +1,7 @@
 # Template file for 'fcitx'
 pkgname=fcitx
 version=4.2.9.7
-revision=2
+revision=3
 build_style=cmake
 short_desc="Flexible Context-aware Input Tool with eXtension"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From 9de512ef7f8f3fce1c274f7205ce5707d6866263 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:42:45 -0400
Subject: [PATCH 09/29] frr: rebuild against json-c 0.14

---
 srcpkgs/frr/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/frr/template b/srcpkgs/frr/template
index 05163cc6ad0..0664ea36479 100644
--- a/srcpkgs/frr/template
+++ b/srcpkgs/frr/template
@@ -1,7 +1,7 @@
 # Template file for 'frr'
 pkgname=frr
 version=7.2.1
-revision=1
+revision=2
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=gnu-configure
 # chroot-texinfo is not able to build frr's docs
@@ -13,16 +13,16 @@ make_build_args="SPHINXBUILD=sphinx-build3"
 conf_files="/etc/frr/*.conf"
 make_dirs="/var/log/frr 0700 _frr _frr"
 hostmakedepends="pkg-config flex bison autoconf automake libtool
- python python3 python3-Sphinx python-devel python3-devel libyang-tools"
+ python3 python3-Sphinx python3-devel libyang-tools"
 makedepends="pcre-devel libcap-devel json-c-devel pam-devel c-ares-devel
- readline-devel python-devel python3-devel libyang-devel"
+ readline-devel python3-devel libyang-devel"
 short_desc="IP routing protocol suite"
 maintainer="Cameron Nemo <cnemo@tutanota.com>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://frrouting.org"
 distfiles="https://github.com/FRRouting/frr/archive/${pkgname}-${version}.tar.gz"
 checksum=40fea6ff007453e27761a0372cde51fd8279f89984dff009092eebe2a7b29be3
-python_version=2 #unverified
+python_version=3
 nocross="http://ix.io/1rQ6"
 system_groups="_frrvty"
 system_accounts="_frr"
@@ -68,7 +68,7 @@ frr-flush_package() {
 
 frr-reload_package() {
 	short_desc+=" - reload tool"
-	depends="python3-ipaddr python3 ${sourcepkg}-${version}_${revision}"
+	depends="python-ipaddr python3 ${sourcepkg}-${version}_${revision}"
 	pkg_install() {
 		vmove usr/bin/frr-reload
 	}

From 90f263ba4149ce574bc1bdb60bc6a29f4f9b2e9c Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:43:17 -0400
Subject: [PATCH 10/29] girara: rebuild against json-c 0.14

---
 srcpkgs/girara/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/girara/template b/srcpkgs/girara/template
index b6241d0c8b6..77ab9cf418d 100644
--- a/srcpkgs/girara/template
+++ b/srcpkgs/girara/template
@@ -1,7 +1,7 @@
 # Template file for 'girara'
 pkgname=girara
 version=0.3.4
-revision=1
+revision=2
 build_style=meson
 configure_args="$(vopt_if notify -Dnotify=enabled -Dnotify=disabled) -Dtests=disabled"
 hostmakedepends="pkg-config intltool doxygen glib-devel"

From 5fc1a316259e72589e93b1904954f82c5f35dfd7 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:43:18 -0400
Subject: [PATCH 11/29] igt-gpu-tools: rebuild against json-c 0.14

---
 srcpkgs/igt-gpu-tools/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/igt-gpu-tools/template b/srcpkgs/igt-gpu-tools/template
index 64cd2d3f1dd..d118f888582 100644
--- a/srcpkgs/igt-gpu-tools/template
+++ b/srcpkgs/igt-gpu-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'igt-gpu-tools'
 pkgname=igt-gpu-tools
 version=1.25
-revision=1
+revision=2
 build_style=meson
 configure_args="-Db_ndebug=false -Db_lto=false"
 # b_lto=true makes the build hang at a random point

From 0121725f1413f0e2f7bd6bc28938d66e29dca5a0 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:43:18 -0400
Subject: [PATCH 12/29] libgdal: rebuild against json-c 0.14

---
 srcpkgs/libgdal/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libgdal/template b/srcpkgs/libgdal/template
index 18c8c6a22b1..b0321df463f 100644
--- a/srcpkgs/libgdal/template
+++ b/srcpkgs/libgdal/template
@@ -1,7 +1,7 @@
 # Template file for 'libgdal'
 pkgname=libgdal
 version=3.0.4
-revision=4
+revision=5
 wrksrc="gdal-${version}"
 build_style=gnu-configure
 configure_args="--with-liblzma --with-webp --with-zstd --with-podofo --with-opencl=yes"

From 3012c297190f316dea64f4346937b87d14bcf768 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:43:18 -0400
Subject: [PATCH 13/29] libmypaint: rebuild against json-c 0.14

---
 srcpkgs/libmypaint/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libmypaint/template b/srcpkgs/libmypaint/template
index bdb0a2e8d94..e8e68dc8590 100644
--- a/srcpkgs/libmypaint/template
+++ b/srcpkgs/libmypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'libmypaint'
 pkgname=libmypaint
 version=1.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-gegl"
 hostmakedepends="intltool pkg-config $(vopt_if gir gobject-introspection)"

From 857ecea87aa9606d73b389dd6e55273a083aa8f6 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:45:11 -0400
Subject: [PATCH 14/29] libu2f-host: rebuild against json-c 0.14

---
 .../patches/lowercase-boolean.patch           | 37 +++++++++++++++++++
 srcpkgs/libu2f-host/template                  |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/libu2f-host/patches/lowercase-boolean.patch

diff --git a/srcpkgs/libu2f-host/patches/lowercase-boolean.patch b/srcpkgs/libu2f-host/patches/lowercase-boolean.patch
new file mode 100644
index 00000000000..aa3b8deed85
--- /dev/null
+++ b/srcpkgs/libu2f-host/patches/lowercase-boolean.patch
@@ -0,0 +1,37 @@
+--- u2f-host/u2fmisc.c	2019-05-15 07:54:11.000000000 -0400
++++ u2f-host/u2fmisc.c	2020-05-31 11:19:24.305252337 -0400
+@@ -19,6 +19,7 @@
+ #include "internal.h"
+ 
+ #include <json.h>
++#include <stdbool.h>
+ 
+ #include "sha256.h"
+ 
+@@ -30,7 +31,7 @@
+ #define u2fh_json_object_object_get(obj, key, value) json_object_object_get_ex(obj, key, &value)
+ #else
+ typedef int json_bool;
+-#define u2fh_json_object_object_get(obj, key, value) (value = json_object_object_get(obj, key)) == NULL ? (json_bool)FALSE : (json_bool)TRUE
++#define u2fh_json_object_object_get(obj, key, value) (value = json_object_object_get(obj, key)) == NULL ? (json_bool)false : (json_bool)true
+ #endif
+ 
+ static void
+@@ -114,7 +115,7 @@
+   if (debug)
+     fprintf (stderr, "JSON: %s\n", json_object_to_json_string (jo));
+ 
+-  if (u2fh_json_object_object_get (jo, "appId", k) == FALSE)
++  if (u2fh_json_object_object_get (jo, "appId", k) == false)
+     return U2FH_JSON_ERROR;
+ 
+   app_id = json_object_get_string (k);
+@@ -390,7 +391,7 @@
+   if (debug)
+     fprintf (stderr, "JSON: %s\n", json_object_to_json_string (jo));
+ 
+-  if (u2fh_json_object_object_get (jo, key, k) == FALSE)
++  if (u2fh_json_object_object_get (jo, key, k) == false)
+     return U2FH_JSON_ERROR;
+ 
+   urlb64 = json_object_get_string (k);
diff --git a/srcpkgs/libu2f-host/template b/srcpkgs/libu2f-host/template
index 0942b9d03d8..ae1a50577a2 100644
--- a/srcpkgs/libu2f-host/template
+++ b/srcpkgs/libu2f-host/template
@@ -1,7 +1,7 @@
 # Template file for 'libu2f-host'
 pkgname=libu2f-host
 version=1.1.10
-revision=1
+revision=2
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=gnu-configure
 configure_args="--with-openssl=yes --with-udevrulesdir=/usr/lib/udev/rules.d"

From 7bb3c6be890ad9ef93dc274f3b28750ec631e37b Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:45:59 -0400
Subject: [PATCH 15/29] libu2f-server: rebuild against json-c 0.14

---
 .../patches/lowercase-boolean.patch           | 82 +++++++++++++++++++
 srcpkgs/libu2f-server/template                |  2 +-
 2 files changed, 83 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/libu2f-server/patches/lowercase-boolean.patch

diff --git a/srcpkgs/libu2f-server/patches/lowercase-boolean.patch b/srcpkgs/libu2f-server/patches/lowercase-boolean.patch
new file mode 100644
index 00000000000..cfa7584633e
--- /dev/null
+++ b/srcpkgs/libu2f-server/patches/lowercase-boolean.patch
@@ -0,0 +1,82 @@
+--- u2f-server/core.c	2018-01-04 09:21:38.000000000 -0500
++++ u2f-server/core.c	2020-05-31 11:24:48.986906605 -0400
+@@ -32,6 +32,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <json.h>
++#include <stdbool.h>
+ #include "crypto.h"
+ #include "b64/cencode.h"
+ #include "b64/cdecode.h"
+@@ -41,7 +42,7 @@
+ #define u2fs_json_object_object_get(obj, key, value) json_object_object_get_ex(obj, key, &value)
+ #else
+ typedef int json_bool;
+-#define u2fs_json_object_object_get(obj, key, value) (value = json_object_object_get(obj, key)) == NULL ? (json_bool)FALSE : (json_bool)TRUE
++#define u2fs_json_object_object_get(obj, key, value) (value = json_object_object_get(obj, key)) == NULL ? (json_bool)false : (json_bool)true
+ #endif
+ 
+ static u2fs_rc encode_b64u(const char *data, size_t data_len, char *output)
+@@ -477,7 +478,7 @@
+   if (jo == NULL)
+     return U2FS_JSON_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "challenge", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "challenge", k) == false)
+     return U2FS_JSON_ERROR;
+ 
+   p = json_object_get_string(k);
+@@ -488,7 +489,7 @@
+   if (*challenge == NULL)
+     return U2FS_MEMORY_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "origin", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "origin", k) == false)
+     return U2FS_JSON_ERROR;
+ 
+   p = json_object_get_string(k);
+@@ -520,7 +521,7 @@
+   if (jo == NULL)
+     return U2FS_JSON_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "registrationData", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "registrationData", k) == false)
+     return U2FS_JSON_ERROR;
+   p = json_object_get_string(k);
+   if (p == NULL)
+@@ -529,7 +530,7 @@
+   if (*registrationData == NULL)
+     return U2FS_MEMORY_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "clientData", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "clientData", k) == false)
+     return U2FS_JSON_ERROR;
+   p = json_object_get_string(k);
+   if (p == NULL)
+@@ -1125,7 +1126,7 @@
+   if (jo == NULL)
+     return U2FS_JSON_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "signatureData", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "signatureData", k) == false)
+     return U2FS_JSON_ERROR;
+   p = json_object_get_string(k);
+   if (p == NULL)
+@@ -1134,7 +1135,7 @@
+   if (*signatureData == NULL)
+     return U2FS_MEMORY_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "clientData", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "clientData", k) == false)
+     return U2FS_JSON_ERROR;
+   p = json_object_get_string(k);
+   if (p == NULL)
+@@ -1143,7 +1144,7 @@
+   if (*clientData == NULL)
+     return U2FS_MEMORY_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "keyHandle", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "keyHandle", k) == false)
+     return U2FS_JSON_ERROR;
+   p = json_object_get_string(k);
+   if (p == NULL)
diff --git a/srcpkgs/libu2f-server/template b/srcpkgs/libu2f-server/template
index 952b080fca5..e352a5773d8 100644
--- a/srcpkgs/libu2f-server/template
+++ b/srcpkgs/libu2f-server/template
@@ -1,7 +1,7 @@
 # Template file for 'libu2f-server'
 pkgname=libu2f-server
 version=1.1.0
-revision=6
+revision=7
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config gengetopt check"

From 72f150affd0a13be0a14d85d78fa69e5615ed02b Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:46:47 -0400
Subject: [PATCH 16/29] masterpassword-cli: rebuild against json-c 0.14

---
 .../patches/lowercase-boolean.patch                   | 11 +++++++++++
 srcpkgs/masterpassword-cli/template                   |  3 +--
 2 files changed, 12 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/masterpassword-cli/patches/lowercase-boolean.patch

diff --git a/srcpkgs/masterpassword-cli/patches/lowercase-boolean.patch b/srcpkgs/masterpassword-cli/patches/lowercase-boolean.patch
new file mode 100644
index 00000000000..fe4a33b628d
--- /dev/null
+++ b/srcpkgs/masterpassword-cli/patches/lowercase-boolean.patch
@@ -0,0 +1,11 @@
+--- core/c/mpw-marshal-util.c	2017-09-25 02:59:09.000000000 -0400
++++ core/c/mpw-marshal-util.c	2020-05-31 11:32:02.362438198 -0400
+@@ -112,7 +112,7 @@
+     if (!json_value)
+         return defaultValue;
+ 
+-    return json_object_get_boolean( json_value ) == TRUE;
++    return json_object_get_boolean( json_value ) == true;
+ }
+ #endif
+ 
diff --git a/srcpkgs/masterpassword-cli/template b/srcpkgs/masterpassword-cli/template
index e704e6fc68f..ee2b8d41ae4 100644
--- a/srcpkgs/masterpassword-cli/template
+++ b/srcpkgs/masterpassword-cli/template
@@ -1,7 +1,7 @@
 # Template file for 'masterpassword-cli'
 pkgname=masterpassword-cli
 version=2.6
-revision=4
+revision=5
 wrksrc=MasterPassword-${version}-cli-3
 build_wrksrc=platform-independent/cli-c
 build_style=cmake
@@ -23,6 +23,5 @@ pre_configure() {
 do_install() {
 	cat mpw.completion.bash | tail -n +3 >> bashcomplib
 	vinstall bashcomplib 644 usr/share/bash-completion/completions mpw
-	vlicense ${wrksrc}/LICENSE
 	vbin ${cmake_builddir}/mpw
 }

From f8fa3c8306ff1f9a9290ee1f8080048fa66c81c8 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:11 -0400
Subject: [PATCH 17/29] ndctl: rebuild against json-c 0.14

---
 srcpkgs/ndctl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/ndctl/template b/srcpkgs/ndctl/template
index 84442555823..6cd158c6b4a 100644
--- a/srcpkgs/ndctl/template
+++ b/srcpkgs/ndctl/template
@@ -1,7 +1,7 @@
 # Template file for 'ndctl'
 pkgname=ndctl
 version=68
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-docs --without-systemd"
 hostmakedepends="automake libtool pkg-config xmlto"

From 66b0e99370257b3425d508253985693cff999d9f Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:12 -0400
Subject: [PATCH 18/29] ndpi: rebuild against json-c 0.14

---
 srcpkgs/ndpi/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/ndpi/template b/srcpkgs/ndpi/template
index 03702495cf1..4990b335352 100644
--- a/srcpkgs/ndpi/template
+++ b/srcpkgs/ndpi/template
@@ -1,7 +1,7 @@
 # Template file for 'ndpi'
 pkgname=ndpi
 version=2.2
-revision=3
+revision=4
 wrksrc=nDPI-${version}
 build_style=gnu-configure
 hostmakedepends="libtool automake pkg-config"

From 9420859384cb43f5aba071a5b1a2e8437ea16bec Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:12 -0400
Subject: [PATCH 19/29] newsboat: rebuild against json-c 0.14

---
 srcpkgs/newsboat/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/newsboat/template b/srcpkgs/newsboat/template
index 485df0eb989..2de75817d2c 100644
--- a/srcpkgs/newsboat/template
+++ b/srcpkgs/newsboat/template
@@ -1,7 +1,7 @@
 # Template file for 'newsboat'
 pkgname=newsboat
 version=2.19
-revision=1
+revision=2
 build_style=configure
 build_helper="rust"
 configure_script="./config.sh"

From bae57439966f29de4349e3eefaaade99a28960b8 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:12 -0400
Subject: [PATCH 20/29] pianobar: rebuild against json-c 0.14

---
 srcpkgs/pianobar/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/pianobar/template b/srcpkgs/pianobar/template
index 1094ff2ecc5..7fa56729fbc 100644
--- a/srcpkgs/pianobar/template
+++ b/srcpkgs/pianobar/template
@@ -1,7 +1,7 @@
 # Template file for 'pianobar'
 pkgname=pianobar
 version=2020.04.05
-revision=1
+revision=2
 build_style=gnu-makefile
 make_build_args="V=1"
 hostmakedepends="pkg-config"

From 523edb94806e4919fe6c539228cd4e3e9b118ce2 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:13 -0400
Subject: [PATCH 21/29] postgis: rebuild against json-c 0.14

---
 srcpkgs/postgis/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/postgis/template b/srcpkgs/postgis/template
index df49d167b48..4221b20c415 100644
--- a/srcpkgs/postgis/template
+++ b/srcpkgs/postgis/template
@@ -1,7 +1,7 @@
 # Template file for 'postgis'
 pkgname=postgis
 version=3.0.0
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-projdir=${XBPS_CROSS_BASE}/usr
  --with-projdir=${XBPS_CROSS_BASE}/usr

From 011e3023c8dec4c0ffce41364ff6a88739a3efb4 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:13 -0400
Subject: [PATCH 22/29] psensor: rebuild against json-c 0.14

---
 srcpkgs/psensor/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/psensor/template b/srcpkgs/psensor/template
index 647b63150d5..67e81009157 100644
--- a/srcpkgs/psensor/template
+++ b/srcpkgs/psensor/template
@@ -1,7 +1,7 @@
 # Template file for 'psensor'
 pkgname=psensor
 version=1.2.0
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="pkg-config help2man glib-devel"
 makedepends="gtk+3-devel udisks2-devel libgtop-devel json-c-devel libsensors-devel libatasmart-devel libcurl-devel libnotify-devel libappindicator-devel libmicrohttpd-devel"

From 33cd6b56da7941b2ff9e67ac75bd2daacae07aa1 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:13 -0400
Subject: [PATCH 23/29] slurm-wlm: rebuild against json-c 0.14

---
 srcpkgs/slurm-wlm/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/slurm-wlm/template b/srcpkgs/slurm-wlm/template
index fb4f6d7b130..86b40a0a6cb 100644
--- a/srcpkgs/slurm-wlm/template
+++ b/srcpkgs/slurm-wlm/template
@@ -1,7 +1,7 @@
 # Template file for 'slurm-wlm'
 pkgname=slurm-wlm
 version=19.05.5.1
-revision=1
+revision=2
 _distver="${version//./-}"
 wrksrc="slurm-slurm-${_distver}"
 build_style=gnu-configure

From 9ac4db55ecdb28c8c2b5bc8e8bcf9b062c536d5b Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:13 -0400
Subject: [PATCH 24/29] solvespace: rebuild against json-c 0.14

---
 srcpkgs/solvespace/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/solvespace/template b/srcpkgs/solvespace/template
index 974f2f073b0..06c16a0d069 100644
--- a/srcpkgs/solvespace/template
+++ b/srcpkgs/solvespace/template
@@ -1,7 +1,7 @@
 # Template file for 'solvespace'
 pkgname=solvespace
 version=2.3
-revision=1
+revision=2
 wrksrc=solvespace
 build_style=cmake
 hostmakedepends="pkg-config"

From b0c81e66ebe7b38eab5c8a6b738e14f23c385d6b Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:14 -0400
Subject: [PATCH 25/29] startup: rebuild against json-c 0.14

---
 srcpkgs/startup/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/startup/template b/srcpkgs/startup/template
index 054191616a2..4a163d65afc 100644
--- a/srcpkgs/startup/template
+++ b/srcpkgs/startup/template
@@ -1,7 +1,7 @@
 # Template file for 'startup'
 pkgname=startup
 version=2.0.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-sysvcompat --disable-dconf-bridge --disable-cgroups"
 make_dirs="/var/log/startup 0750 root adm"

From 778557d568004270c83a29616594ba168989a4ab Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:14 -0400
Subject: [PATCH 26/29] sway: rebuild against json-c 0.14

---
 srcpkgs/sway/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/sway/template b/srcpkgs/sway/template
index ff20221bde8..49f50cd191a 100644
--- a/srcpkgs/sway/template
+++ b/srcpkgs/sway/template
@@ -1,7 +1,7 @@
 # Template file for 'sway'
 pkgname=sway
 version=1.4
-revision=3
+revision=4
 build_style=meson
 conf_files="/etc/sway/config"
 hostmakedepends="pkg-config wayland-devel scdoc git"

From ca979b9e7008029ff1441829f2308aa3e8035e6c Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:14 -0400
Subject: [PATCH 27/29] trace-cmd: rebuild against json-c 0.14

---
 srcpkgs/trace-cmd/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/trace-cmd/template b/srcpkgs/trace-cmd/template
index 2918ba0929c..b10187a8856 100644
--- a/srcpkgs/trace-cmd/template
+++ b/srcpkgs/trace-cmd/template
@@ -1,7 +1,7 @@
 # Template file for 'trace-cmd'
 pkgname=trace-cmd
 version=2.8.3
-revision=1
+revision=2
 wrksrc="${pkgname}-v${version}"
 build_style=gnu-makefile
 make_build_args="prefix=/usr all gui doc"

From de9baa8b0088f3e883874169fb8c8285625ce79b Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:15 -0400
Subject: [PATCH 28/29] ttyd: rebuild against json-c 0.14

---
 srcpkgs/ttyd/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/ttyd/template b/srcpkgs/ttyd/template
index f6abde61397..7d1b03da558 100644
--- a/srcpkgs/ttyd/template
+++ b/srcpkgs/ttyd/template
@@ -1,7 +1,7 @@
 # Template file for 'ttyd'
 pkgname=ttyd
 version=1.6.0
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config xxd"
 makedepends="libwebsockets-devel json-c-devel libressl-devel zlib-devel

From 73e2212b0e10a476a29239245ecda44c713b0c11 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:15 -0400
Subject: [PATCH 29/29] zmap: rebuild against json-c 0.14

---
 srcpkgs/zmap/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/zmap/template b/srcpkgs/zmap/template
index 86ab5d7bedd..53f2383fa79 100644
--- a/srcpkgs/zmap/template
+++ b/srcpkgs/zmap/template
@@ -1,7 +1,7 @@
 # Template file for 'zmap'
 pkgname=zmap
 version=2.1.1
-revision=3
+revision=4
 build_style=cmake
 conf_files="/etc/zmap/blacklist.conf /etc/zmap/zmap.conf"
 hostmakedepends="flex byacc gengetopt pkg-config"

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: json-c: update to 0.14.
  2020-05-31 17:51 [PR PATCH] [WIP] json-c: update to 0.14 rmccask
  2020-05-31 20:49 ` [PR PATCH] [Updated] " rmccask
@ 2020-05-31 21:44 ` ericonr
  2020-05-31 21:45 ` ericonr
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ericonr @ 2020-05-31 21:44 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 379 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/22472#issuecomment-636534569

Comment:
json-c requires a patch for a CVE https://github.com/json-c/json-c/commits/json-c-0.14 and should be releasing a version, because there were some other issues in the 0.14 version.

@leahneukirchen was going to look into this, I believe.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: json-c: update to 0.14.
  2020-05-31 17:51 [PR PATCH] [WIP] json-c: update to 0.14 rmccask
  2020-05-31 20:49 ` [PR PATCH] [Updated] " rmccask
  2020-05-31 21:44 ` ericonr
@ 2020-05-31 21:45 ` ericonr
  2020-05-31 22:14 ` rmccask
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ericonr @ 2020-05-31 21:45 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 438 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/22472#issuecomment-636534569

Comment:
json-c requires a patch for a CVE https://github.com/json-c/json-c/commits/json-c-0.14 and should be releasing a version, because there were some other issues in the 0.14 version.

@leahneukirchen was going to look into this, I believe.

EDIT: I believe applying the patch is a necessary step.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: json-c: update to 0.14.
  2020-05-31 17:51 [PR PATCH] [WIP] json-c: update to 0.14 rmccask
                   ` (2 preceding siblings ...)
  2020-05-31 21:45 ` ericonr
@ 2020-05-31 22:14 ` rmccask
  2020-05-31 22:46 ` ericonr
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: rmccask @ 2020-05-31 22:14 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 291 bytes --]

New comment by rmccask on void-packages repository

https://github.com/void-linux/void-packages/pull/22472#issuecomment-636538291

Comment:
The patch, 2-json-c-0.14-security-fix.patch, that I copied from Gentoo fixes the CVE already.  It is almost exactly like the patch committed upstream.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: json-c: update to 0.14.
  2020-05-31 17:51 [PR PATCH] [WIP] json-c: update to 0.14 rmccask
                   ` (3 preceding siblings ...)
  2020-05-31 22:14 ` rmccask
@ 2020-05-31 22:46 ` ericonr
  2020-05-31 23:14 ` rmccask
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ericonr @ 2020-05-31 22:46 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 204 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/22472#issuecomment-636541853

Comment:
I missed it, sorry! Could you mention it in the commit as well?

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: json-c: update to 0.14.
  2020-05-31 17:51 [PR PATCH] [WIP] json-c: update to 0.14 rmccask
                   ` (4 preceding siblings ...)
  2020-05-31 22:46 ` ericonr
@ 2020-05-31 23:14 ` rmccask
  2020-05-31 23:54 ` [PR PATCH] [Updated] " rmccask
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: rmccask @ 2020-05-31 23:14 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 276 bytes --]

New comment by rmccask on void-packages repository

https://github.com/void-linux/void-packages/pull/22472#issuecomment-636545197

Comment:
I am in the middle of something.  I will update the commit message as soon as it completes and then I will update this message as well.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PR PATCH] [Updated] json-c: update to 0.14.
  2020-05-31 17:51 [PR PATCH] [WIP] json-c: update to 0.14 rmccask
                   ` (5 preceding siblings ...)
  2020-05-31 23:14 ` rmccask
@ 2020-05-31 23:54 ` rmccask
  2020-05-31 23:55 ` rmccask
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: rmccask @ 2020-05-31 23:54 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 317 bytes --]

There is an updated pull request by rmccask against master on the void-packages repository

https://github.com/rmccask/void-packages json-c-0.14
https://github.com/void-linux/void-packages/pull/22472

json-c: update to 0.14.


A patch file from https://github.com/void-linux/void-packages/pull/22472.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-json-c-0.14-22472.patch --]
[-- Type: text/x-diff, Size: 48285 bytes --]

From eef09c4af5cb28bfeac55ecaa493a19c3261324e Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 00:03:20 -0400
Subject: [PATCH 01/29] json-c: update to 0.14.

[ci skip]

This includes 3 patches from Gentoo.  One of them is a fix for CVE-2020-12762.
---
 common/shlibs                                 |   2 +-
 .../1-json-c-0.14-cmake-static-libs.patch     |  56 +++++++
 .../patches/2-json-c-0.14-security-fix.patch  | 155 ++++++++++++++++++
 .../3-json-c-0.14-object-limitation.patch     |  93 +++++++++++
 srcpkgs/json-c/template                       |  20 +--
 5 files changed, 314 insertions(+), 12 deletions(-)
 create mode 100644 srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch
 create mode 100644 srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch
 create mode 100644 srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch

diff --git a/common/shlibs b/common/shlibs
index e47fa9e3ec5..b73f5de1218 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -890,7 +890,7 @@ libv4lconvert.so.0 v4l-utils-0.8.5_1
 libv4l1.so.0 v4l-utils-0.8.5_1
 libv4l2rds.so.0 v4l-utils-1.2.1_1
 libdvbv5.so.0 v4l-utils-1.6.2_1
-libjson-c.so.4 json-c-0.13.1_1
+libjson-c.so.5 json-c-0.14.0_1
 libcogl.so.20 cogl-1.18.0_1
 libcogl-pango.so.20 cogl-1.18.0_1
 libcogl-gst.so.20 cogl-1.18.0_1
diff --git a/srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch b/srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch
new file mode 100644
index 00000000000..c452121af3a
--- /dev/null
+++ b/srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch
@@ -0,0 +1,56 @@
+diff --git CMakeLists.txt CMakeLists.txt
+index ba692ff..fc2edff 100644
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -65,6 +65,7 @@ include(GNUInstallDirs)
+ include(CMakePackageConfigHelpers)
+ 
+ option(BUILD_SHARED_LIBS  "Default to building shared libraries" ON)
++option(BUILD_STATIC_LIBS  "Default to building static libraries" OFF)
+ 
+ # Generate a release merge and test it to verify the correctness of republishing the package.
+ ADD_CUSTOM_TARGET(distcheck
+@@ -383,7 +384,7 @@ add_library(${PROJECT_NAME}
+ set_target_properties(${PROJECT_NAME} PROPERTIES
+     VERSION 5.0.0
+     SOVERSION 5)
+-
++list(APPEND CMAKE_TARGETS ${PROJECT_NAME})
+ # If json-c is used as subroject it set to target correct interface -I flags and allow
+ # to build external target without extra include_directories(...)
+ target_include_directories(${PROJECT_NAME}
+@@ -392,7 +393,33 @@ target_include_directories(${PROJECT_NAME}
+         $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
+ )
+ 
+-install(TARGETS ${PROJECT_NAME}
++# Allow to build static and shared libraries at the same time
++if (BUILD_STATIC_LIBS)
++    set(STATIC_LIB ${PROJECT_NAME}-static)
++    add_library(${STATIC_LIB} STATIC
++        ${JSON_C_SOURCES}
++        ${JSON_C_HEADERS}
++    )
++
++    # rename the static library
++    set_target_properties(${STATIC_LIB} PROPERTIES
++        OUTPUT_NAME ${PROJECT_NAME}
++    )
++    list(APPEND CMAKE_TARGETS ${STATIC_LIB})
++endif ()
++
++# Always create new install dirs with 0755 permissions, regardless of umask
++set(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
++	OWNER_READ
++	OWNER_WRITE
++	OWNER_EXECUTE
++	GROUP_READ
++	GROUP_EXECUTE
++	WORLD_READ
++	WORLD_EXECUTE
++   )
++
++install(TARGETS ${CMAKE_TARGETS}
+     EXPORT ${PROJECT_NAME}-targets
+     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
diff --git a/srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch b/srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch
new file mode 100644
index 00000000000..e5a693e2ef8
--- /dev/null
+++ b/srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch
@@ -0,0 +1,155 @@
+From 099016b7e8d70a6d5dd814e788bba08d33d48426 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Mon, 4 May 2020 19:41:16 +0200
+Subject: [PATCH 1/3] Protect array_list_del_idx against size_t overflow.
+
+If the assignment of stop overflows due to idx and count being
+larger than SIZE_T_MAX in sum, out of boundary access could happen.
+
+It takes invalid usage of this function for this to happen, but
+I decided to add this check so array_list_del_idx is as safe against
+bad usage as the other arraylist functions.
+---
+ arraylist.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git arraylist.c arraylist.c
+index 12ad8af6d3..e5524aca75 100644
+--- arraylist.c
++++ arraylist.c
+@@ -136,6 +136,9 @@ int array_list_del_idx(struct array_list *arr, size_t idx, size_t count)
+ {
+ 	size_t i, stop;
+ 
++	/* Avoid overflow in calculation with large indices. */
++	if (idx > SIZE_T_MAX - count)
++		return -1;
+ 	stop = idx + count;
+ 	if (idx >= arr->length || stop > arr->length)
+ 		return -1;
+
+From 77d935b7ae7871a1940cd827e850e6063044ec45 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Mon, 4 May 2020 19:46:45 +0200
+Subject: [PATCH 2/3] Prevent division by zero in linkhash.
+
+If a linkhash with a size of zero is created, then modulo operations
+are prone to division by zero operations.
+
+Purely protective measure against bad usage.
+---
+ linkhash.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git linkhash.c linkhash.c
+index 7ea58c0abf..f05cc38030 100644
+--- linkhash.c
++++ linkhash.c
+@@ -12,6 +12,7 @@
+ 
+ #include "config.h"
+ 
++#include <assert.h>
+ #include <limits.h>
+ #include <stdarg.h>
+ #include <stddef.h>
+@@ -499,6 +500,8 @@ struct lh_table *lh_table_new(int size, lh_entry_free_fn *free_fn, lh_hash_fn *h
+ 	int i;
+ 	struct lh_table *t;
+ 
++	/* Allocate space for elements to avoid divisions by zero. */
++	assert(size > 0);
+ 	t = (struct lh_table *)calloc(1, sizeof(struct lh_table));
+ 	if (!t)
+ 		return NULL;
+
+From d07b91014986900a3a75f306d302e13e005e9d67 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Mon, 4 May 2020 19:47:25 +0200
+Subject: [PATCH 3/3] Fix integer overflows.
+
+The data structures linkhash and printbuf are limited to 2 GB in size
+due to a signed integer being used to track their current size.
+
+If too much data is added, then size variable can overflow, which is
+an undefined behaviour in C programming language.
+
+Assuming that a signed int overflow just leads to a negative value,
+like it happens on many sytems (Linux i686/amd64 with gcc), then
+printbuf is vulnerable to an out of boundary write on 64 bit systems.
+---
+ linkhash.c |  7 +++++--
+ printbuf.c | 19 ++++++++++++++++---
+ 2 files changed, 21 insertions(+), 5 deletions(-)
+
+diff --git linkhash.c linkhash.c
+index f05cc38030..51e90b13a2 100644
+--- linkhash.c
++++ linkhash.c
+@@ -580,9 +580,12 @@ int lh_table_insert_w_hash(struct lh_table *t, const void *k, const void *v, con
+ {
+ 	unsigned long n;
+ 
+-	if (t->count >= t->size * LH_LOAD_FACTOR)
+-		if (lh_table_resize(t, t->size * 2) != 0)
++	if (t->count >= t->size * LH_LOAD_FACTOR) {
++		/* Avoid signed integer overflow with large tables. */
++		int new_size = INT_MAX / 2 < t->size ? t->size * 2 : INT_MAX;
++		if (t->size == INT_MAX || lh_table_resize(t, new_size) != 0)
+ 			return -1;
++	}
+ 
+ 	n = h % t->size;
+ 
+diff --git printbuf.c printbuf.c
+index 976c12dde5..00822fac4f 100644
+--- printbuf.c
++++ printbuf.c
+@@ -15,6 +15,7 @@
+ 
+ #include "config.h"
+ 
++#include <limits.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -65,10 +66,16 @@ static int printbuf_extend(struct printbuf *p, int min_size)
+ 
+ 	if (p->size >= min_size)
+ 		return 0;
+-
+-	new_size = p->size * 2;
+-	if (new_size < min_size + 8)
++	/* Prevent signed integer overflows with large buffers. */
++	if (min_size > INT_MAX - 8)
++		return -1;
++	if (p->size > INT_MAX / 2)
+ 		new_size = min_size + 8;
++	else {
++		new_size = p->size * 2;
++		if (new_size < min_size + 8)
++			new_size = min_size + 8;
++	}
+ #ifdef PRINTBUF_DEBUG
+ 	MC_DEBUG("printbuf_memappend: realloc "
+ 	         "bpos=%d min_size=%d old_size=%d new_size=%d\n",
+@@ -83,6 +90,9 @@ static int printbuf_extend(struct printbuf *p, int min_size)
+ 
+ int printbuf_memappend(struct printbuf *p, const char *buf, int size)
+ {
++	/* Prevent signed integer overflows with large buffers. */
++	if (size > INT_MAX - p->bpos - 1)
++		return -1;
+ 	if (p->size <= p->bpos + size + 1)
+ 	{
+ 		if (printbuf_extend(p, p->bpos + size + 1) < 0)
+@@ -100,6 +110,9 @@ int printbuf_memset(struct printbuf *pb, int offset, int charvalue, int len)
+ 
+ 	if (offset == -1)
+ 		offset = pb->bpos;
++	/* Prevent signed integer overflows with large buffers. */
++	if (len > INT_MAX - offset)
++		return -1;
+ 	size_needed = offset + len;
+ 	if (pb->size < size_needed)
+ 	{
diff --git a/srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch b/srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch
new file mode 100644
index 00000000000..017c559b0ca
--- /dev/null
+++ b/srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch
@@ -0,0 +1,93 @@
+From 519dfe1591d85432986f9762d41d1a883198c157 Mon Sep 17 00:00:00 2001
+From: Eric Haszlakiewicz <erh+git@nimenees.com>
+Date: Sun, 10 May 2020 03:32:19 +0000
+Subject: [PATCH 01/13] Issue #599: Fix the backwards check in
+ lh_table_insert_w_hash() that was preventing adding more than 11 objects. Add
+ a test to check for this too.
+
+---
+ linkhash.c           |  2 +-
+ tests/test4.c        | 29 +++++++++++++++++++++++++++++
+ tests/test4.expected |  1 +
+ 3 files changed, 31 insertions(+), 1 deletion(-)
+
+diff --git linkhash.c linkhash.c
+index 51e90b1..f930efd 100644
+--- linkhash.c
++++ linkhash.c
+@@ -582,7 +582,7 @@ int lh_table_insert_w_hash(struct lh_table *t, const void *k, const void *v, con
+ 
+ 	if (t->count >= t->size * LH_LOAD_FACTOR) {
+ 		/* Avoid signed integer overflow with large tables. */
+-		int new_size = INT_MAX / 2 < t->size ? t->size * 2 : INT_MAX;
++		int new_size = (t->size > INT_MAX / 2) ? INT_MAX : (t->size * 2);
+ 		if (t->size == INT_MAX || lh_table_resize(t, new_size) != 0)
+ 			return -1;
+ 	}
+diff --git tests/test4.c tests/test4.c
+index bd964ec..fd2f3be 100644
+--- tests/test4.c
++++ tests/test4.c
+@@ -3,8 +3,10 @@
+  */
+ 
+ #include "config.h"
++#include <assert.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <stdlib.h>
+ 
+ #include "json_inttypes.h"
+ #include "json_object.h"
+@@ -24,6 +26,30 @@ void print_hex(const char *s)
+ 	putchar('\n');
+ }
+ 
++static void test_lot_of_adds(void);
++static void test_lot_of_adds()
++{
++	int ii;
++	char key[50];
++	json_object *jobj = json_object_new_object();
++	assert(jobj != NULL);
++	for (ii = 0; ii < 500; ii++)
++	{
++		snprintf(key, sizeof(key), "k%d", ii);
++		json_object *iobj = json_object_new_int(ii);
++		assert(iobj != NULL);
++		if (json_object_object_add(jobj, key, iobj))
++		{
++			fprintf(stderr, "FAILED to add object #%d\n", ii);
++			abort();
++		}
++	}
++	printf("%s\n", json_object_to_json_string(jobj));
++	assert(json_object_object_length(jobj) == 500);
++	json_object_put(jobj);
++}
++
++
+ int main(void)
+ {
+ 	const char *input = "\"\\ud840\\udd26,\\ud840\\udd27,\\ud800\\udd26,\\ud800\\udd27\"";
+@@ -52,5 +78,8 @@ int main(void)
+ 		retval = 1;
+ 	}
+ 	json_object_put(parse_result);
++
++	test_lot_of_adds();
++
+ 	return retval;
+ }
+diff --git tests/test4.expected tests/test4.expected
+index 68d4336..cb27440 100644
+--- tests/test4.expected
++++ tests/test4.expected
+@@ -1,3 +1,4 @@
+ input: "\ud840\udd26,\ud840\udd27,\ud800\udd26,\ud800\udd27"
+ JSON parse result is correct: 𠄦,𠄧,𐄦,𐄧
+ PASS
++{ "k0": 0, "k1": 1, "k2": 2, "k3": 3, "k4": 4, "k5": 5, "k6": 6, "k7": 7, "k8": 8, "k9": 9, "k10": 10, "k11": 11, "k12": 12, "k13": 13, "k14": 14, "k15": 15, "k16": 16, "k17": 17, "k18": 18, "k19": 19, "k20": 20, "k21": 21, "k22": 22, "k23": 23, "k24": 24, "k25": 25, "k26": 26, "k27": 27, "k28": 28, "k29": 29, "k30": 30, "k31": 31, "k32": 32, "k33": 33, "k34": 34, "k35": 35, "k36": 36, "k37": 37, "k38": 38, "k39": 39, "k40": 40, "k41": 41, "k42": 42, "k43": 43, "k44": 44, "k45": 45, "k46": 46, "k47": 47, "k48": 48, "k49": 49, "k50": 50, "k51": 51, "k52": 52, "k53": 53, "k54": 54, "k55": 55, "k56": 56, "k57": 57, "k58": 58, "k59": 59, "k60": 60, "k61": 61, "k62": 62, "k63": 63, "k64": 64, "k65": 65, "k66": 66, "k67": 67, "k68": 68, "k69": 69, "k70": 70, "k71": 71, "k72": 72, "k73": 73, "k74": 74, "k75": 75, "k76": 76, "k77": 77, "k78": 78, "k79": 79, "k80": 80, "k81": 81, "k82": 82, "k83": 83, "k84": 84, "k85": 85, "k86": 86, "k87": 87, "k88": 88, "k89": 89, "k90": 90, "k91": 91, "k92": 92, "k93": 93, "k94": 94, "k95": 95, "k96": 96, "k97": 97, "k98": 98, "k99": 99, "k100": 100, "k101": 101, "k102": 102, "k103": 103, "k104": 104, "k105": 105, "k106": 106, "k107": 107, "k108": 108, "k109": 109, "k110": 110, "k111": 111, "k112": 112, "k113": 113, "k114": 114, "k115": 115, "k116": 116, "k117": 117, "k118": 118, "k119": 119, "k120": 120, "k121": 121, "k122": 122, "k123": 123, "k124": 124, "k125": 125, "k126": 126, "k127": 127, "k128": 128, "k129": 129, "k130": 130, "k131": 131, "k132": 132, "k133": 133, "k134": 134, "k135": 135, "k136": 136, "k137": 137, "k138": 138, "k139": 139, "k140": 140, "k141": 141, "k142": 142, "k143": 143, "k144": 144, "k145": 145, "k146": 146, "k147": 147, "k148": 148, "k149": 149, "k150": 150, "k151": 151, "k152": 152, "k153": 153, "k154": 154, "k155": 155, "k156": 156, "k157": 157, "k158": 158, "k159": 159, "k160": 160, "k161": 161, "k162": 162, "k163": 163, "k164": 164, "k165": 165, "k166": 166, "k167": 167, "k168": 168, "k169": 169, "k170": 170, "k171": 171, "k172": 172, "k173": 173, "k174": 174, "k175": 175, "k176": 176, "k177": 177, "k178": 178, "k179": 179, "k180": 180, "k181": 181, "k182": 182, "k183": 183, "k184": 184, "k185": 185, "k186": 186, "k187": 187, "k188": 188, "k189": 189, "k190": 190, "k191": 191, "k192": 192, "k193": 193, "k194": 194, "k195": 195, "k196": 196, "k197": 197, "k198": 198, "k199": 199, "k200": 200, "k201": 201, "k202": 202, "k203": 203, "k204": 204, "k205": 205, "k206": 206, "k207": 207, "k208": 208, "k209": 209, "k210": 210, "k211": 211, "k212": 212, "k213": 213, "k214": 214, "k215": 215, "k216": 216, "k217": 217, "k218": 218, "k219": 219, "k220": 220, "k221": 221, "k222": 222, "k223": 223, "k224": 224, "k225": 225, "k226": 226, "k227": 227, "k228": 228, "k229": 229, "k230": 230, "k231": 231, "k232": 232, "k233": 233, "k234": 234, "k235": 235, "k236": 236, "k237": 237, "k238": 238, "k239": 239, "k240": 240, "k241": 241, "k242": 242, "k243": 243, "k244": 244, "k245": 245, "k246": 246, "k247": 247, "k248": 248, "k249": 249, "k250": 250, "k251": 251, "k252": 252, "k253": 253, "k254": 254, "k255": 255, "k256": 256, "k257": 257, "k258": 258, "k259": 259, "k260": 260, "k261": 261, "k262": 262, "k263": 263, "k264": 264, "k265": 265, "k266": 266, "k267": 267, "k268": 268, "k269": 269, "k270": 270, "k271": 271, "k272": 272, "k273": 273, "k274": 274, "k275": 275, "k276": 276, "k277": 277, "k278": 278, "k279": 279, "k280": 280, "k281": 281, "k282": 282, "k283": 283, "k284": 284, "k285": 285, "k286": 286, "k287": 287, "k288": 288, "k289": 289, "k290": 290, "k291": 291, "k292": 292, "k293": 293, "k294": 294, "k295": 295, "k296": 296, "k297": 297, "k298": 298, "k299": 299, "k300": 300, "k301": 301, "k302": 302, "k303": 303, "k304": 304, "k305": 305, "k306": 306, "k307": 307, "k308": 308, "k309": 309, "k310": 310, "k311": 311, "k312": 312, "k313": 313, "k314": 314, "k315": 315, "k316": 316, "k317": 317, "k318": 318, "k319": 319, "k320": 320, "k321": 321, "k322": 322, "k323": 323, "k324": 324, "k325": 325, "k326": 326, "k327": 327, "k328": 328, "k329": 329, "k330": 330, "k331": 331, "k332": 332, "k333": 333, "k334": 334, "k335": 335, "k336": 336, "k337": 337, "k338": 338, "k339": 339, "k340": 340, "k341": 341, "k342": 342, "k343": 343, "k344": 344, "k345": 345, "k346": 346, "k347": 347, "k348": 348, "k349": 349, "k350": 350, "k351": 351, "k352": 352, "k353": 353, "k354": 354, "k355": 355, "k356": 356, "k357": 357, "k358": 358, "k359": 359, "k360": 360, "k361": 361, "k362": 362, "k363": 363, "k364": 364, "k365": 365, "k366": 366, "k367": 367, "k368": 368, "k369": 369, "k370": 370, "k371": 371, "k372": 372, "k373": 373, "k374": 374, "k375": 375, "k376": 376, "k377": 377, "k378": 378, "k379": 379, "k380": 380, "k381": 381, "k382": 382, "k383": 383, "k384": 384, "k385": 385, "k386": 386, "k387": 387, "k388": 388, "k389": 389, "k390": 390, "k391": 391, "k392": 392, "k393": 393, "k394": 394, "k395": 395, "k396": 396, "k397": 397, "k398": 398, "k399": 399, "k400": 400, "k401": 401, "k402": 402, "k403": 403, "k404": 404, "k405": 405, "k406": 406, "k407": 407, "k408": 408, "k409": 409, "k410": 410, "k411": 411, "k412": 412, "k413": 413, "k414": 414, "k415": 415, "k416": 416, "k417": 417, "k418": 418, "k419": 419, "k420": 420, "k421": 421, "k422": 422, "k423": 423, "k424": 424, "k425": 425, "k426": 426, "k427": 427, "k428": 428, "k429": 429, "k430": 430, "k431": 431, "k432": 432, "k433": 433, "k434": 434, "k435": 435, "k436": 436, "k437": 437, "k438": 438, "k439": 439, "k440": 440, "k441": 441, "k442": 442, "k443": 443, "k444": 444, "k445": 445, "k446": 446, "k447": 447, "k448": 448, "k449": 449, "k450": 450, "k451": 451, "k452": 452, "k453": 453, "k454": 454, "k455": 455, "k456": 456, "k457": 457, "k458": 458, "k459": 459, "k460": 460, "k461": 461, "k462": 462, "k463": 463, "k464": 464, "k465": 465, "k466": 466, "k467": 467, "k468": 468, "k469": 469, "k470": 470, "k471": 471, "k472": 472, "k473": 473, "k474": 474, "k475": 475, "k476": 476, "k477": 477, "k478": 478, "k479": 479, "k480": 480, "k481": 481, "k482": 482, "k483": 483, "k484": 484, "k485": 485, "k486": 486, "k487": 487, "k488": 488, "k489": 489, "k490": 490, "k491": 491, "k492": 492, "k493": 493, "k494": 494, "k495": 495, "k496": 496, "k497": 497, "k498": 498, "k499": 499 }
+-- 
+2.26.2
+
diff --git a/srcpkgs/json-c/template b/srcpkgs/json-c/template
index 9fad1d3ebd9..ed4892611e2 100644
--- a/srcpkgs/json-c/template
+++ b/srcpkgs/json-c/template
@@ -1,26 +1,23 @@
 # Template file for 'json-c'
 pkgname=json-c
-version=0.13.1
-revision=2
-build_style=gnu-configure
-configure_args="--enable-threading $(vopt_enable rdrand)"
-hostmakedepends="automake libtool"
-short_desc="A JSON implementation in C"
+version=0.14
+revision=1
+build_style=cmake
+configure_args="-DENABLE_THREADING=ON -DBUILD_STATIC_LIBS=ON
+ -DENABLE_RDRAND=$(vopt_if rdrand ON OFF)"
+hostmakedepends="doxygen"
+short_desc="JSON implementation in C"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://json-c.github.io/json-c"
 distfiles="https://s3.amazonaws.com/json-c_releases/releases/${pkgname}-${version}.tar.gz"
-checksum=b87e608d4d3f7bfdd36ef78d56d53c74e66ab278d318b71e6002a369d36f4873
+checksum=b377de08c9b23ca3b37d9a9828107dff1de5ce208ff4ebb35005a794f30c6870
 
 CFLAGS="-Wno-error"
 
 build_options="rdrand"
 desc_option_rdrand="Enable RDRAND Hardware RNG Hash Seed generation on x86_x64 platforms"
 
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
 	vlicense COPYING
 }
@@ -31,6 +28,7 @@ json-c-devel_package() {
 	pkg_install() {
 		vmove "usr/lib/*.a"
 		vmove "usr/lib/*.so"
+		vmove usr/lib/cmake
 		vmove usr/include
 		vmove usr/lib/pkgconfig
 	}

From 20a7d42eaee3e7498377822032a2b483ef37036d Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:38:38 -0400
Subject: [PATCH 02/29] CPU-X: rebuild against json-c 0.14

---
 srcpkgs/CPU-X/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/CPU-X/template b/srcpkgs/CPU-X/template
index fce5dd7659b..2c6621d888b 100644
--- a/srcpkgs/CPU-X/template
+++ b/srcpkgs/CPU-X/template
@@ -1,7 +1,7 @@
 # Template file for 'CPU-X'
 pkgname=CPU-X
 version=3.2.4
-revision=2
+revision=3
 # /usr/bin/ld: i386:x86-64 architecture of input file
 # ../output/lib/libbandwidth.a(routines-x86-64bit.o)'
 # is incompatible with i386 output

From 5eeea5ec3e9e8cb1c884144813815e93588efa7a Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:38:38 -0400
Subject: [PATCH 03/29] bti: rebuild against json-c 0.14

---
 srcpkgs/bti/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/bti/template b/srcpkgs/bti/template
index 3bae88c092b..174b9c4139d 100644
--- a/srcpkgs/bti/template
+++ b/srcpkgs/bti/template
@@ -1,7 +1,7 @@
 # Template file for 'bti'
 pkgname=bti
 version=034
-revision=3
+revision=4
 build_style=gnu-configure
 hostmakedepends="pkg-config"
 makedepends="pcre-devel libxml2-devel libcurl-devel json-c-devel liboauth-devel"

From 6f28d91a27af6b5da13aba04e6d7d2efce2812e8 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:38:39 -0400
Subject: [PATCH 04/29] clamav: rebuild against json-c 0.14

---
 srcpkgs/clamav/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/clamav/template b/srcpkgs/clamav/template
index 5afb3841882..192a6142d0c 100644
--- a/srcpkgs/clamav/template
+++ b/srcpkgs/clamav/template
@@ -1,7 +1,7 @@
 # Template file for 'clamav'
 pkgname=clamav
 version=0.102.3
-revision=3
+revision=4
 build_style=gnu-configure
 # XXX: system llvm is too new (< 3.7 required)
 # Shipped llvm does not build with gcc6

From 099b93a8d3ff48e0cd299f8ae88484df4835e555 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:40:22 -0400
Subject: [PATCH 05/29] connman-ncurses: rebuild against json-c 0.14

---
 .../patches/lowercase-boolean.patch           | 39 +++++++++++++++++++
 srcpkgs/connman-ncurses/template              |  2 +-
 2 files changed, 40 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/connman-ncurses/patches/lowercase-boolean.patch

diff --git a/srcpkgs/connman-ncurses/patches/lowercase-boolean.patch b/srcpkgs/connman-ncurses/patches/lowercase-boolean.patch
new file mode 100644
index 00000000000..41a91751ea2
--- /dev/null
+++ b/srcpkgs/connman-ncurses/patches/lowercase-boolean.patch
@@ -0,0 +1,39 @@
+--- json_utils.c	2020-05-31 00:39:12.983378846 -0400
++++ json_utils.c	2020-05-31 00:39:26.062122347 -0400
+@@ -81,7 +81,7 @@
+ 		key_is_trusted = json_object_object_get_ex(jtrusted, key,
+ 				&tmp_trusted);
+ 
+-		if (key_is_trusted == FALSE)
++		if (key_is_trusted == false)
+ 			return false;
+ 
+ 		res = __json_type_dispatch(val, tmp_trusted);
+--- json_regex.c	2020-05-31 00:44:07.233613212 -0400
++++ json_regex.c	2020-05-31 00:48:33.307401463 -0400
+@@ -22,6 +22,7 @@
+ #endif
+ 
+ #include <json.h>
++#include <stdbool.h>
+ 
+ #include "json_regex.h"
+ #include "keys.h"
+@@ -62,7 +63,7 @@
+ 	json_object_object_add(jregex_agent_response, "Username", json_object_new_string("^([[:print:]]*)$"));
+ 	json_object_object_add(jregex_agent_response, "Password", json_object_new_string("^([[:print:]]*)$"));
+ 
+-	jregex_agent_retry_response = json_object_new_boolean(TRUE);
++	jregex_agent_retry_response = json_object_new_boolean(true);
+ 
+ 	// See commands.c __cmd_config_service for a better idea of the format.
+ 	jregex_config_service = json_object_new_object();
+@@ -92,7 +93,7 @@
+ 	json_object_array_add(arr, json_object_new_string("^([[:print:]]*)$"));
+ 	json_object_object_add(tmp, key_serv_proxy_excludes, arr);
+ 	json_object_object_add(opt, key_serv_proxy_config, tmp);
+-	json_object_object_add(opt, key_serv_autoconnect, json_object_new_boolean(TRUE));
++	json_object_object_add(opt, key_serv_autoconnect, json_object_new_boolean(true));
+ 	arr = json_object_new_array();
+ 	json_object_array_add(arr, json_object_new_string("^([[:print:]]*)$"));
+ 	json_object_object_add(opt, key_serv_domains_config, arr);
diff --git a/srcpkgs/connman-ncurses/template b/srcpkgs/connman-ncurses/template
index 88b0503b1b7..8ba2028a5f2 100644
--- a/srcpkgs/connman-ncurses/template
+++ b/srcpkgs/connman-ncurses/template
@@ -1,7 +1,7 @@
 # Template file for 'connman-ncurses'
 pkgname=connman-ncurses
 version=1.0
-revision=3
+revision=4
 wrksrc="connman-json-client-${version}"
 build_style=gnu-configure
 hostmakedepends="automake autoconf pkg-config json-c-devel ncurses-devel dbus-devel"

From 2eb2e5e9377d8218049066178a98acd44871b909 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:42:06 -0400
Subject: [PATCH 06/29] cryptsetup: rebuild against json-c 0.14

---
 srcpkgs/cryptsetup/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cryptsetup/template b/srcpkgs/cryptsetup/template
index d4f5f1b3a20..e9f3206ab7b 100644
--- a/srcpkgs/cryptsetup/template
+++ b/srcpkgs/cryptsetup/template
@@ -1,7 +1,7 @@
 # Template file for 'cryptsetup'
 pkgname=cryptsetup
 version=2.3.3
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto_backend=openssl $(vopt_enable pwquality)
  --enable-cryptsetup-reencrypt --enable-libargon2"

From 88917a12a753578a34e83559f9682fa485b27a34 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:42:06 -0400
Subject: [PATCH 07/29] fastd: rebuild against json-c 0.14

---
 srcpkgs/fastd/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/fastd/template b/srcpkgs/fastd/template
index 665778d6f8c..2bca39e95f8 100644
--- a/srcpkgs/fastd/template
+++ b/srcpkgs/fastd/template
@@ -1,7 +1,7 @@
 # Template file for 'fastd'
 pkgname=fastd
 version=18
-revision=4
+revision=5
 build_style=cmake
 hostmakedepends="pkg-config bison"
 makedepends="libuecc-devel libsodium-devel json-c-devel libcap-devel"

From 09fd1d602d4b68c8657b831a9fb818a9308efc3d Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:42:06 -0400
Subject: [PATCH 08/29] fcitx: rebuild against json-c 0.14

---
 srcpkgs/fcitx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/fcitx/template b/srcpkgs/fcitx/template
index beeed2d9ca2..5069c9543d6 100644
--- a/srcpkgs/fcitx/template
+++ b/srcpkgs/fcitx/template
@@ -1,7 +1,7 @@
 # Template file for 'fcitx'
 pkgname=fcitx
 version=4.2.9.7
-revision=2
+revision=3
 build_style=cmake
 short_desc="Flexible Context-aware Input Tool with eXtension"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From ae9db668776f2755987b072651377e3fa49aad1f Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:42:45 -0400
Subject: [PATCH 09/29] frr: rebuild against json-c 0.14

---
 srcpkgs/frr/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/frr/template b/srcpkgs/frr/template
index 05163cc6ad0..0664ea36479 100644
--- a/srcpkgs/frr/template
+++ b/srcpkgs/frr/template
@@ -1,7 +1,7 @@
 # Template file for 'frr'
 pkgname=frr
 version=7.2.1
-revision=1
+revision=2
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=gnu-configure
 # chroot-texinfo is not able to build frr's docs
@@ -13,16 +13,16 @@ make_build_args="SPHINXBUILD=sphinx-build3"
 conf_files="/etc/frr/*.conf"
 make_dirs="/var/log/frr 0700 _frr _frr"
 hostmakedepends="pkg-config flex bison autoconf automake libtool
- python python3 python3-Sphinx python-devel python3-devel libyang-tools"
+ python3 python3-Sphinx python3-devel libyang-tools"
 makedepends="pcre-devel libcap-devel json-c-devel pam-devel c-ares-devel
- readline-devel python-devel python3-devel libyang-devel"
+ readline-devel python3-devel libyang-devel"
 short_desc="IP routing protocol suite"
 maintainer="Cameron Nemo <cnemo@tutanota.com>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://frrouting.org"
 distfiles="https://github.com/FRRouting/frr/archive/${pkgname}-${version}.tar.gz"
 checksum=40fea6ff007453e27761a0372cde51fd8279f89984dff009092eebe2a7b29be3
-python_version=2 #unverified
+python_version=3
 nocross="http://ix.io/1rQ6"
 system_groups="_frrvty"
 system_accounts="_frr"
@@ -68,7 +68,7 @@ frr-flush_package() {
 
 frr-reload_package() {
 	short_desc+=" - reload tool"
-	depends="python3-ipaddr python3 ${sourcepkg}-${version}_${revision}"
+	depends="python-ipaddr python3 ${sourcepkg}-${version}_${revision}"
 	pkg_install() {
 		vmove usr/bin/frr-reload
 	}

From 6d9ca95e96ac40da8b624bd596b3436b00efff15 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:43:17 -0400
Subject: [PATCH 10/29] girara: rebuild against json-c 0.14

---
 srcpkgs/girara/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/girara/template b/srcpkgs/girara/template
index b6241d0c8b6..77ab9cf418d 100644
--- a/srcpkgs/girara/template
+++ b/srcpkgs/girara/template
@@ -1,7 +1,7 @@
 # Template file for 'girara'
 pkgname=girara
 version=0.3.4
-revision=1
+revision=2
 build_style=meson
 configure_args="$(vopt_if notify -Dnotify=enabled -Dnotify=disabled) -Dtests=disabled"
 hostmakedepends="pkg-config intltool doxygen glib-devel"

From 4dd12da23fe2728c9e42c1999eca9c8e6a2aa3ba Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:43:18 -0400
Subject: [PATCH 11/29] igt-gpu-tools: rebuild against json-c 0.14

---
 srcpkgs/igt-gpu-tools/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/igt-gpu-tools/template b/srcpkgs/igt-gpu-tools/template
index 64cd2d3f1dd..d118f888582 100644
--- a/srcpkgs/igt-gpu-tools/template
+++ b/srcpkgs/igt-gpu-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'igt-gpu-tools'
 pkgname=igt-gpu-tools
 version=1.25
-revision=1
+revision=2
 build_style=meson
 configure_args="-Db_ndebug=false -Db_lto=false"
 # b_lto=true makes the build hang at a random point

From 700589cabaa3d7fcf9f8492b7945fe4bdd9a3e3b Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:43:18 -0400
Subject: [PATCH 12/29] libgdal: rebuild against json-c 0.14

---
 srcpkgs/libgdal/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libgdal/template b/srcpkgs/libgdal/template
index 18c8c6a22b1..b0321df463f 100644
--- a/srcpkgs/libgdal/template
+++ b/srcpkgs/libgdal/template
@@ -1,7 +1,7 @@
 # Template file for 'libgdal'
 pkgname=libgdal
 version=3.0.4
-revision=4
+revision=5
 wrksrc="gdal-${version}"
 build_style=gnu-configure
 configure_args="--with-liblzma --with-webp --with-zstd --with-podofo --with-opencl=yes"

From 70895b25316feb4814d6b2a50f0b6cfcbe179101 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:43:18 -0400
Subject: [PATCH 13/29] libmypaint: rebuild against json-c 0.14

---
 srcpkgs/libmypaint/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libmypaint/template b/srcpkgs/libmypaint/template
index bdb0a2e8d94..e8e68dc8590 100644
--- a/srcpkgs/libmypaint/template
+++ b/srcpkgs/libmypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'libmypaint'
 pkgname=libmypaint
 version=1.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-gegl"
 hostmakedepends="intltool pkg-config $(vopt_if gir gobject-introspection)"

From 8864a2622302eb4c7c56792143517db3b3ff7db0 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:45:11 -0400
Subject: [PATCH 14/29] libu2f-host: rebuild against json-c 0.14

---
 .../patches/lowercase-boolean.patch           | 37 +++++++++++++++++++
 srcpkgs/libu2f-host/template                  |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/libu2f-host/patches/lowercase-boolean.patch

diff --git a/srcpkgs/libu2f-host/patches/lowercase-boolean.patch b/srcpkgs/libu2f-host/patches/lowercase-boolean.patch
new file mode 100644
index 00000000000..aa3b8deed85
--- /dev/null
+++ b/srcpkgs/libu2f-host/patches/lowercase-boolean.patch
@@ -0,0 +1,37 @@
+--- u2f-host/u2fmisc.c	2019-05-15 07:54:11.000000000 -0400
++++ u2f-host/u2fmisc.c	2020-05-31 11:19:24.305252337 -0400
+@@ -19,6 +19,7 @@
+ #include "internal.h"
+ 
+ #include <json.h>
++#include <stdbool.h>
+ 
+ #include "sha256.h"
+ 
+@@ -30,7 +31,7 @@
+ #define u2fh_json_object_object_get(obj, key, value) json_object_object_get_ex(obj, key, &value)
+ #else
+ typedef int json_bool;
+-#define u2fh_json_object_object_get(obj, key, value) (value = json_object_object_get(obj, key)) == NULL ? (json_bool)FALSE : (json_bool)TRUE
++#define u2fh_json_object_object_get(obj, key, value) (value = json_object_object_get(obj, key)) == NULL ? (json_bool)false : (json_bool)true
+ #endif
+ 
+ static void
+@@ -114,7 +115,7 @@
+   if (debug)
+     fprintf (stderr, "JSON: %s\n", json_object_to_json_string (jo));
+ 
+-  if (u2fh_json_object_object_get (jo, "appId", k) == FALSE)
++  if (u2fh_json_object_object_get (jo, "appId", k) == false)
+     return U2FH_JSON_ERROR;
+ 
+   app_id = json_object_get_string (k);
+@@ -390,7 +391,7 @@
+   if (debug)
+     fprintf (stderr, "JSON: %s\n", json_object_to_json_string (jo));
+ 
+-  if (u2fh_json_object_object_get (jo, key, k) == FALSE)
++  if (u2fh_json_object_object_get (jo, key, k) == false)
+     return U2FH_JSON_ERROR;
+ 
+   urlb64 = json_object_get_string (k);
diff --git a/srcpkgs/libu2f-host/template b/srcpkgs/libu2f-host/template
index 0942b9d03d8..ae1a50577a2 100644
--- a/srcpkgs/libu2f-host/template
+++ b/srcpkgs/libu2f-host/template
@@ -1,7 +1,7 @@
 # Template file for 'libu2f-host'
 pkgname=libu2f-host
 version=1.1.10
-revision=1
+revision=2
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=gnu-configure
 configure_args="--with-openssl=yes --with-udevrulesdir=/usr/lib/udev/rules.d"

From c44d513f99b9981bb813b641dc23d94fe8870811 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:45:59 -0400
Subject: [PATCH 15/29] libu2f-server: rebuild against json-c 0.14

---
 .../patches/lowercase-boolean.patch           | 82 +++++++++++++++++++
 srcpkgs/libu2f-server/template                |  2 +-
 2 files changed, 83 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/libu2f-server/patches/lowercase-boolean.patch

diff --git a/srcpkgs/libu2f-server/patches/lowercase-boolean.patch b/srcpkgs/libu2f-server/patches/lowercase-boolean.patch
new file mode 100644
index 00000000000..cfa7584633e
--- /dev/null
+++ b/srcpkgs/libu2f-server/patches/lowercase-boolean.patch
@@ -0,0 +1,82 @@
+--- u2f-server/core.c	2018-01-04 09:21:38.000000000 -0500
++++ u2f-server/core.c	2020-05-31 11:24:48.986906605 -0400
+@@ -32,6 +32,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <json.h>
++#include <stdbool.h>
+ #include "crypto.h"
+ #include "b64/cencode.h"
+ #include "b64/cdecode.h"
+@@ -41,7 +42,7 @@
+ #define u2fs_json_object_object_get(obj, key, value) json_object_object_get_ex(obj, key, &value)
+ #else
+ typedef int json_bool;
+-#define u2fs_json_object_object_get(obj, key, value) (value = json_object_object_get(obj, key)) == NULL ? (json_bool)FALSE : (json_bool)TRUE
++#define u2fs_json_object_object_get(obj, key, value) (value = json_object_object_get(obj, key)) == NULL ? (json_bool)false : (json_bool)true
+ #endif
+ 
+ static u2fs_rc encode_b64u(const char *data, size_t data_len, char *output)
+@@ -477,7 +478,7 @@
+   if (jo == NULL)
+     return U2FS_JSON_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "challenge", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "challenge", k) == false)
+     return U2FS_JSON_ERROR;
+ 
+   p = json_object_get_string(k);
+@@ -488,7 +489,7 @@
+   if (*challenge == NULL)
+     return U2FS_MEMORY_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "origin", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "origin", k) == false)
+     return U2FS_JSON_ERROR;
+ 
+   p = json_object_get_string(k);
+@@ -520,7 +521,7 @@
+   if (jo == NULL)
+     return U2FS_JSON_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "registrationData", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "registrationData", k) == false)
+     return U2FS_JSON_ERROR;
+   p = json_object_get_string(k);
+   if (p == NULL)
+@@ -529,7 +530,7 @@
+   if (*registrationData == NULL)
+     return U2FS_MEMORY_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "clientData", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "clientData", k) == false)
+     return U2FS_JSON_ERROR;
+   p = json_object_get_string(k);
+   if (p == NULL)
+@@ -1125,7 +1126,7 @@
+   if (jo == NULL)
+     return U2FS_JSON_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "signatureData", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "signatureData", k) == false)
+     return U2FS_JSON_ERROR;
+   p = json_object_get_string(k);
+   if (p == NULL)
+@@ -1134,7 +1135,7 @@
+   if (*signatureData == NULL)
+     return U2FS_MEMORY_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "clientData", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "clientData", k) == false)
+     return U2FS_JSON_ERROR;
+   p = json_object_get_string(k);
+   if (p == NULL)
+@@ -1143,7 +1144,7 @@
+   if (*clientData == NULL)
+     return U2FS_MEMORY_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "keyHandle", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "keyHandle", k) == false)
+     return U2FS_JSON_ERROR;
+   p = json_object_get_string(k);
+   if (p == NULL)
diff --git a/srcpkgs/libu2f-server/template b/srcpkgs/libu2f-server/template
index 952b080fca5..e352a5773d8 100644
--- a/srcpkgs/libu2f-server/template
+++ b/srcpkgs/libu2f-server/template
@@ -1,7 +1,7 @@
 # Template file for 'libu2f-server'
 pkgname=libu2f-server
 version=1.1.0
-revision=6
+revision=7
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config gengetopt check"

From ad52a77862c88d9f2f8ec4c4945709f6a9744972 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:46:47 -0400
Subject: [PATCH 16/29] masterpassword-cli: rebuild against json-c 0.14

---
 .../patches/lowercase-boolean.patch                   | 11 +++++++++++
 srcpkgs/masterpassword-cli/template                   |  3 +--
 2 files changed, 12 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/masterpassword-cli/patches/lowercase-boolean.patch

diff --git a/srcpkgs/masterpassword-cli/patches/lowercase-boolean.patch b/srcpkgs/masterpassword-cli/patches/lowercase-boolean.patch
new file mode 100644
index 00000000000..fe4a33b628d
--- /dev/null
+++ b/srcpkgs/masterpassword-cli/patches/lowercase-boolean.patch
@@ -0,0 +1,11 @@
+--- core/c/mpw-marshal-util.c	2017-09-25 02:59:09.000000000 -0400
++++ core/c/mpw-marshal-util.c	2020-05-31 11:32:02.362438198 -0400
+@@ -112,7 +112,7 @@
+     if (!json_value)
+         return defaultValue;
+ 
+-    return json_object_get_boolean( json_value ) == TRUE;
++    return json_object_get_boolean( json_value ) == true;
+ }
+ #endif
+ 
diff --git a/srcpkgs/masterpassword-cli/template b/srcpkgs/masterpassword-cli/template
index e704e6fc68f..ee2b8d41ae4 100644
--- a/srcpkgs/masterpassword-cli/template
+++ b/srcpkgs/masterpassword-cli/template
@@ -1,7 +1,7 @@
 # Template file for 'masterpassword-cli'
 pkgname=masterpassword-cli
 version=2.6
-revision=4
+revision=5
 wrksrc=MasterPassword-${version}-cli-3
 build_wrksrc=platform-independent/cli-c
 build_style=cmake
@@ -23,6 +23,5 @@ pre_configure() {
 do_install() {
 	cat mpw.completion.bash | tail -n +3 >> bashcomplib
 	vinstall bashcomplib 644 usr/share/bash-completion/completions mpw
-	vlicense ${wrksrc}/LICENSE
 	vbin ${cmake_builddir}/mpw
 }

From 39df80c3347cf12a94446c7ce2e31e873644c8a4 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:11 -0400
Subject: [PATCH 17/29] ndctl: rebuild against json-c 0.14

---
 srcpkgs/ndctl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/ndctl/template b/srcpkgs/ndctl/template
index 84442555823..6cd158c6b4a 100644
--- a/srcpkgs/ndctl/template
+++ b/srcpkgs/ndctl/template
@@ -1,7 +1,7 @@
 # Template file for 'ndctl'
 pkgname=ndctl
 version=68
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-docs --without-systemd"
 hostmakedepends="automake libtool pkg-config xmlto"

From 214773968766ecdc1fef3b2ca96a926d2a61d364 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:12 -0400
Subject: [PATCH 18/29] ndpi: rebuild against json-c 0.14

---
 srcpkgs/ndpi/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/ndpi/template b/srcpkgs/ndpi/template
index 03702495cf1..4990b335352 100644
--- a/srcpkgs/ndpi/template
+++ b/srcpkgs/ndpi/template
@@ -1,7 +1,7 @@
 # Template file for 'ndpi'
 pkgname=ndpi
 version=2.2
-revision=3
+revision=4
 wrksrc=nDPI-${version}
 build_style=gnu-configure
 hostmakedepends="libtool automake pkg-config"

From 41bc2be55cbbe772e5c24696c68a2cee0aa586c1 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:12 -0400
Subject: [PATCH 19/29] newsboat: rebuild against json-c 0.14

---
 srcpkgs/newsboat/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/newsboat/template b/srcpkgs/newsboat/template
index 485df0eb989..2de75817d2c 100644
--- a/srcpkgs/newsboat/template
+++ b/srcpkgs/newsboat/template
@@ -1,7 +1,7 @@
 # Template file for 'newsboat'
 pkgname=newsboat
 version=2.19
-revision=1
+revision=2
 build_style=configure
 build_helper="rust"
 configure_script="./config.sh"

From 9b34796643b1cf2728fc9258422dc0183a466300 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:12 -0400
Subject: [PATCH 20/29] pianobar: rebuild against json-c 0.14

---
 srcpkgs/pianobar/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/pianobar/template b/srcpkgs/pianobar/template
index 1094ff2ecc5..7fa56729fbc 100644
--- a/srcpkgs/pianobar/template
+++ b/srcpkgs/pianobar/template
@@ -1,7 +1,7 @@
 # Template file for 'pianobar'
 pkgname=pianobar
 version=2020.04.05
-revision=1
+revision=2
 build_style=gnu-makefile
 make_build_args="V=1"
 hostmakedepends="pkg-config"

From 1fe8e6010009af048767991628105a1a410a939a Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:13 -0400
Subject: [PATCH 21/29] postgis: rebuild against json-c 0.14

---
 srcpkgs/postgis/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/postgis/template b/srcpkgs/postgis/template
index df49d167b48..4221b20c415 100644
--- a/srcpkgs/postgis/template
+++ b/srcpkgs/postgis/template
@@ -1,7 +1,7 @@
 # Template file for 'postgis'
 pkgname=postgis
 version=3.0.0
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-projdir=${XBPS_CROSS_BASE}/usr
  --with-projdir=${XBPS_CROSS_BASE}/usr

From ae12cf8a7e7300fbd4c1f51917292caa662ea1ce Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:13 -0400
Subject: [PATCH 22/29] psensor: rebuild against json-c 0.14

---
 srcpkgs/psensor/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/psensor/template b/srcpkgs/psensor/template
index 647b63150d5..67e81009157 100644
--- a/srcpkgs/psensor/template
+++ b/srcpkgs/psensor/template
@@ -1,7 +1,7 @@
 # Template file for 'psensor'
 pkgname=psensor
 version=1.2.0
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="pkg-config help2man glib-devel"
 makedepends="gtk+3-devel udisks2-devel libgtop-devel json-c-devel libsensors-devel libatasmart-devel libcurl-devel libnotify-devel libappindicator-devel libmicrohttpd-devel"

From 213bd9399cf68f54226736eb095ac41a201afc39 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:13 -0400
Subject: [PATCH 23/29] slurm-wlm: rebuild against json-c 0.14

---
 srcpkgs/slurm-wlm/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/slurm-wlm/template b/srcpkgs/slurm-wlm/template
index fb4f6d7b130..86b40a0a6cb 100644
--- a/srcpkgs/slurm-wlm/template
+++ b/srcpkgs/slurm-wlm/template
@@ -1,7 +1,7 @@
 # Template file for 'slurm-wlm'
 pkgname=slurm-wlm
 version=19.05.5.1
-revision=1
+revision=2
 _distver="${version//./-}"
 wrksrc="slurm-slurm-${_distver}"
 build_style=gnu-configure

From ae07d99ceb6913adf16f99b5329eac53d72c5a70 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:13 -0400
Subject: [PATCH 24/29] solvespace: rebuild against json-c 0.14

---
 srcpkgs/solvespace/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/solvespace/template b/srcpkgs/solvespace/template
index 974f2f073b0..06c16a0d069 100644
--- a/srcpkgs/solvespace/template
+++ b/srcpkgs/solvespace/template
@@ -1,7 +1,7 @@
 # Template file for 'solvespace'
 pkgname=solvespace
 version=2.3
-revision=1
+revision=2
 wrksrc=solvespace
 build_style=cmake
 hostmakedepends="pkg-config"

From f0de3a3601a53deab3ddc67b8bafdb37912bc2ae Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:14 -0400
Subject: [PATCH 25/29] startup: rebuild against json-c 0.14

---
 srcpkgs/startup/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/startup/template b/srcpkgs/startup/template
index 054191616a2..4a163d65afc 100644
--- a/srcpkgs/startup/template
+++ b/srcpkgs/startup/template
@@ -1,7 +1,7 @@
 # Template file for 'startup'
 pkgname=startup
 version=2.0.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-sysvcompat --disable-dconf-bridge --disable-cgroups"
 make_dirs="/var/log/startup 0750 root adm"

From 8accbd249a10439347287e17e4dd05fc3bb91794 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:14 -0400
Subject: [PATCH 26/29] sway: rebuild against json-c 0.14

---
 srcpkgs/sway/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/sway/template b/srcpkgs/sway/template
index ff20221bde8..49f50cd191a 100644
--- a/srcpkgs/sway/template
+++ b/srcpkgs/sway/template
@@ -1,7 +1,7 @@
 # Template file for 'sway'
 pkgname=sway
 version=1.4
-revision=3
+revision=4
 build_style=meson
 conf_files="/etc/sway/config"
 hostmakedepends="pkg-config wayland-devel scdoc git"

From 38e76e726357017b72f36ae317b813f2d8158db6 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:14 -0400
Subject: [PATCH 27/29] trace-cmd: rebuild against json-c 0.14

---
 srcpkgs/trace-cmd/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/trace-cmd/template b/srcpkgs/trace-cmd/template
index 2918ba0929c..b10187a8856 100644
--- a/srcpkgs/trace-cmd/template
+++ b/srcpkgs/trace-cmd/template
@@ -1,7 +1,7 @@
 # Template file for 'trace-cmd'
 pkgname=trace-cmd
 version=2.8.3
-revision=1
+revision=2
 wrksrc="${pkgname}-v${version}"
 build_style=gnu-makefile
 make_build_args="prefix=/usr all gui doc"

From 7ba4bdd88a6043f246900881d6eef3b17055da4f Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:15 -0400
Subject: [PATCH 28/29] ttyd: rebuild against json-c 0.14

---
 srcpkgs/ttyd/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/ttyd/template b/srcpkgs/ttyd/template
index f6abde61397..7d1b03da558 100644
--- a/srcpkgs/ttyd/template
+++ b/srcpkgs/ttyd/template
@@ -1,7 +1,7 @@
 # Template file for 'ttyd'
 pkgname=ttyd
 version=1.6.0
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config xxd"
 makedepends="libwebsockets-devel json-c-devel libressl-devel zlib-devel

From 051c5a2da48ed966c35f2274bcab12fee4439e43 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:15 -0400
Subject: [PATCH 29/29] zmap: rebuild against json-c 0.14

---
 srcpkgs/zmap/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/zmap/template b/srcpkgs/zmap/template
index 86ab5d7bedd..53f2383fa79 100644
--- a/srcpkgs/zmap/template
+++ b/srcpkgs/zmap/template
@@ -1,7 +1,7 @@
 # Template file for 'zmap'
 pkgname=zmap
 version=2.1.1
-revision=3
+revision=4
 build_style=cmake
 conf_files="/etc/zmap/blacklist.conf /etc/zmap/zmap.conf"
 hostmakedepends="flex byacc gengetopt pkg-config"

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: json-c: update to 0.14.
  2020-05-31 17:51 [PR PATCH] [WIP] json-c: update to 0.14 rmccask
                   ` (6 preceding siblings ...)
  2020-05-31 23:54 ` [PR PATCH] [Updated] " rmccask
@ 2020-05-31 23:55 ` rmccask
  2020-06-01  4:30 ` rmccask
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: rmccask @ 2020-05-31 23:55 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 262 bytes --]

New comment by rmccask on void-packages repository

https://github.com/void-linux/void-packages/pull/22472#issuecomment-636545197

Comment:
I have updated the commit comment for json-c to mention the 3 patches from Gentoo and specifically the CVE that is fixed.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: json-c: update to 0.14.
  2020-05-31 17:51 [PR PATCH] [WIP] json-c: update to 0.14 rmccask
                   ` (7 preceding siblings ...)
  2020-05-31 23:55 ` rmccask
@ 2020-06-01  4:30 ` rmccask
  2020-06-01 12:41 ` [PR PATCH] [Updated] " rmccask
  2020-06-01 12:44 ` rmccask
  10 siblings, 0 replies; 12+ messages in thread
From: rmccask @ 2020-06-01  4:30 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 308 bytes --]

New comment by rmccask on void-packages repository

https://github.com/void-linux/void-packages/pull/22472#issuecomment-636606800

Comment:
An update to frr was just pushed in [22485](https://github.com/void-linux/void-packages/pull/22485/files).  After that is committed to master, I will edit this commit.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PR PATCH] [Updated] json-c: update to 0.14.
  2020-05-31 17:51 [PR PATCH] [WIP] json-c: update to 0.14 rmccask
                   ` (8 preceding siblings ...)
  2020-06-01  4:30 ` rmccask
@ 2020-06-01 12:41 ` rmccask
  2020-06-01 12:44 ` rmccask
  10 siblings, 0 replies; 12+ messages in thread
From: rmccask @ 2020-06-01 12:41 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 317 bytes --]

There is an updated pull request by rmccask against master on the void-packages repository

https://github.com/rmccask/void-packages json-c-0.14
https://github.com/void-linux/void-packages/pull/22472

json-c: update to 0.14.


A patch file from https://github.com/void-linux/void-packages/pull/22472.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-json-c-0.14-22472.patch --]
[-- Type: text/x-diff, Size: 47024 bytes --]

From 2eefb9de354156f2e93d1e1f9963512b56a0288b Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 00:03:20 -0400
Subject: [PATCH 01/29] json-c: update to 0.14.

[ci skip]

This includes 3 patches from Gentoo.  One of them is a fix for CVE-2020-12762.
---
 common/shlibs                                 |   2 +-
 .../1-json-c-0.14-cmake-static-libs.patch     |  56 +++++++
 .../patches/2-json-c-0.14-security-fix.patch  | 155 ++++++++++++++++++
 .../3-json-c-0.14-object-limitation.patch     |  93 +++++++++++
 srcpkgs/json-c/template                       |  20 +--
 5 files changed, 314 insertions(+), 12 deletions(-)
 create mode 100644 srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch
 create mode 100644 srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch
 create mode 100644 srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch

diff --git a/common/shlibs b/common/shlibs
index 2ea912f8354..6382fa206df 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -890,7 +890,7 @@ libv4lconvert.so.0 v4l-utils-0.8.5_1
 libv4l1.so.0 v4l-utils-0.8.5_1
 libv4l2rds.so.0 v4l-utils-1.2.1_1
 libdvbv5.so.0 v4l-utils-1.6.2_1
-libjson-c.so.4 json-c-0.13.1_1
+libjson-c.so.5 json-c-0.14.0_1
 libcogl.so.20 cogl-1.18.0_1
 libcogl-pango.so.20 cogl-1.18.0_1
 libcogl-gst.so.20 cogl-1.18.0_1
diff --git a/srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch b/srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch
new file mode 100644
index 00000000000..c452121af3a
--- /dev/null
+++ b/srcpkgs/json-c/patches/1-json-c-0.14-cmake-static-libs.patch
@@ -0,0 +1,56 @@
+diff --git CMakeLists.txt CMakeLists.txt
+index ba692ff..fc2edff 100644
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -65,6 +65,7 @@ include(GNUInstallDirs)
+ include(CMakePackageConfigHelpers)
+ 
+ option(BUILD_SHARED_LIBS  "Default to building shared libraries" ON)
++option(BUILD_STATIC_LIBS  "Default to building static libraries" OFF)
+ 
+ # Generate a release merge and test it to verify the correctness of republishing the package.
+ ADD_CUSTOM_TARGET(distcheck
+@@ -383,7 +384,7 @@ add_library(${PROJECT_NAME}
+ set_target_properties(${PROJECT_NAME} PROPERTIES
+     VERSION 5.0.0
+     SOVERSION 5)
+-
++list(APPEND CMAKE_TARGETS ${PROJECT_NAME})
+ # If json-c is used as subroject it set to target correct interface -I flags and allow
+ # to build external target without extra include_directories(...)
+ target_include_directories(${PROJECT_NAME}
+@@ -392,7 +393,33 @@ target_include_directories(${PROJECT_NAME}
+         $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
+ )
+ 
+-install(TARGETS ${PROJECT_NAME}
++# Allow to build static and shared libraries at the same time
++if (BUILD_STATIC_LIBS)
++    set(STATIC_LIB ${PROJECT_NAME}-static)
++    add_library(${STATIC_LIB} STATIC
++        ${JSON_C_SOURCES}
++        ${JSON_C_HEADERS}
++    )
++
++    # rename the static library
++    set_target_properties(${STATIC_LIB} PROPERTIES
++        OUTPUT_NAME ${PROJECT_NAME}
++    )
++    list(APPEND CMAKE_TARGETS ${STATIC_LIB})
++endif ()
++
++# Always create new install dirs with 0755 permissions, regardless of umask
++set(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
++	OWNER_READ
++	OWNER_WRITE
++	OWNER_EXECUTE
++	GROUP_READ
++	GROUP_EXECUTE
++	WORLD_READ
++	WORLD_EXECUTE
++   )
++
++install(TARGETS ${CMAKE_TARGETS}
+     EXPORT ${PROJECT_NAME}-targets
+     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
diff --git a/srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch b/srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch
new file mode 100644
index 00000000000..e5a693e2ef8
--- /dev/null
+++ b/srcpkgs/json-c/patches/2-json-c-0.14-security-fix.patch
@@ -0,0 +1,155 @@
+From 099016b7e8d70a6d5dd814e788bba08d33d48426 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Mon, 4 May 2020 19:41:16 +0200
+Subject: [PATCH 1/3] Protect array_list_del_idx against size_t overflow.
+
+If the assignment of stop overflows due to idx and count being
+larger than SIZE_T_MAX in sum, out of boundary access could happen.
+
+It takes invalid usage of this function for this to happen, but
+I decided to add this check so array_list_del_idx is as safe against
+bad usage as the other arraylist functions.
+---
+ arraylist.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git arraylist.c arraylist.c
+index 12ad8af6d3..e5524aca75 100644
+--- arraylist.c
++++ arraylist.c
+@@ -136,6 +136,9 @@ int array_list_del_idx(struct array_list *arr, size_t idx, size_t count)
+ {
+ 	size_t i, stop;
+ 
++	/* Avoid overflow in calculation with large indices. */
++	if (idx > SIZE_T_MAX - count)
++		return -1;
+ 	stop = idx + count;
+ 	if (idx >= arr->length || stop > arr->length)
+ 		return -1;
+
+From 77d935b7ae7871a1940cd827e850e6063044ec45 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Mon, 4 May 2020 19:46:45 +0200
+Subject: [PATCH 2/3] Prevent division by zero in linkhash.
+
+If a linkhash with a size of zero is created, then modulo operations
+are prone to division by zero operations.
+
+Purely protective measure against bad usage.
+---
+ linkhash.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git linkhash.c linkhash.c
+index 7ea58c0abf..f05cc38030 100644
+--- linkhash.c
++++ linkhash.c
+@@ -12,6 +12,7 @@
+ 
+ #include "config.h"
+ 
++#include <assert.h>
+ #include <limits.h>
+ #include <stdarg.h>
+ #include <stddef.h>
+@@ -499,6 +500,8 @@ struct lh_table *lh_table_new(int size, lh_entry_free_fn *free_fn, lh_hash_fn *h
+ 	int i;
+ 	struct lh_table *t;
+ 
++	/* Allocate space for elements to avoid divisions by zero. */
++	assert(size > 0);
+ 	t = (struct lh_table *)calloc(1, sizeof(struct lh_table));
+ 	if (!t)
+ 		return NULL;
+
+From d07b91014986900a3a75f306d302e13e005e9d67 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Mon, 4 May 2020 19:47:25 +0200
+Subject: [PATCH 3/3] Fix integer overflows.
+
+The data structures linkhash and printbuf are limited to 2 GB in size
+due to a signed integer being used to track their current size.
+
+If too much data is added, then size variable can overflow, which is
+an undefined behaviour in C programming language.
+
+Assuming that a signed int overflow just leads to a negative value,
+like it happens on many sytems (Linux i686/amd64 with gcc), then
+printbuf is vulnerable to an out of boundary write on 64 bit systems.
+---
+ linkhash.c |  7 +++++--
+ printbuf.c | 19 ++++++++++++++++---
+ 2 files changed, 21 insertions(+), 5 deletions(-)
+
+diff --git linkhash.c linkhash.c
+index f05cc38030..51e90b13a2 100644
+--- linkhash.c
++++ linkhash.c
+@@ -580,9 +580,12 @@ int lh_table_insert_w_hash(struct lh_table *t, const void *k, const void *v, con
+ {
+ 	unsigned long n;
+ 
+-	if (t->count >= t->size * LH_LOAD_FACTOR)
+-		if (lh_table_resize(t, t->size * 2) != 0)
++	if (t->count >= t->size * LH_LOAD_FACTOR) {
++		/* Avoid signed integer overflow with large tables. */
++		int new_size = INT_MAX / 2 < t->size ? t->size * 2 : INT_MAX;
++		if (t->size == INT_MAX || lh_table_resize(t, new_size) != 0)
+ 			return -1;
++	}
+ 
+ 	n = h % t->size;
+ 
+diff --git printbuf.c printbuf.c
+index 976c12dde5..00822fac4f 100644
+--- printbuf.c
++++ printbuf.c
+@@ -15,6 +15,7 @@
+ 
+ #include "config.h"
+ 
++#include <limits.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -65,10 +66,16 @@ static int printbuf_extend(struct printbuf *p, int min_size)
+ 
+ 	if (p->size >= min_size)
+ 		return 0;
+-
+-	new_size = p->size * 2;
+-	if (new_size < min_size + 8)
++	/* Prevent signed integer overflows with large buffers. */
++	if (min_size > INT_MAX - 8)
++		return -1;
++	if (p->size > INT_MAX / 2)
+ 		new_size = min_size + 8;
++	else {
++		new_size = p->size * 2;
++		if (new_size < min_size + 8)
++			new_size = min_size + 8;
++	}
+ #ifdef PRINTBUF_DEBUG
+ 	MC_DEBUG("printbuf_memappend: realloc "
+ 	         "bpos=%d min_size=%d old_size=%d new_size=%d\n",
+@@ -83,6 +90,9 @@ static int printbuf_extend(struct printbuf *p, int min_size)
+ 
+ int printbuf_memappend(struct printbuf *p, const char *buf, int size)
+ {
++	/* Prevent signed integer overflows with large buffers. */
++	if (size > INT_MAX - p->bpos - 1)
++		return -1;
+ 	if (p->size <= p->bpos + size + 1)
+ 	{
+ 		if (printbuf_extend(p, p->bpos + size + 1) < 0)
+@@ -100,6 +110,9 @@ int printbuf_memset(struct printbuf *pb, int offset, int charvalue, int len)
+ 
+ 	if (offset == -1)
+ 		offset = pb->bpos;
++	/* Prevent signed integer overflows with large buffers. */
++	if (len > INT_MAX - offset)
++		return -1;
+ 	size_needed = offset + len;
+ 	if (pb->size < size_needed)
+ 	{
diff --git a/srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch b/srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch
new file mode 100644
index 00000000000..017c559b0ca
--- /dev/null
+++ b/srcpkgs/json-c/patches/3-json-c-0.14-object-limitation.patch
@@ -0,0 +1,93 @@
+From 519dfe1591d85432986f9762d41d1a883198c157 Mon Sep 17 00:00:00 2001
+From: Eric Haszlakiewicz <erh+git@nimenees.com>
+Date: Sun, 10 May 2020 03:32:19 +0000
+Subject: [PATCH 01/13] Issue #599: Fix the backwards check in
+ lh_table_insert_w_hash() that was preventing adding more than 11 objects. Add
+ a test to check for this too.
+
+---
+ linkhash.c           |  2 +-
+ tests/test4.c        | 29 +++++++++++++++++++++++++++++
+ tests/test4.expected |  1 +
+ 3 files changed, 31 insertions(+), 1 deletion(-)
+
+diff --git linkhash.c linkhash.c
+index 51e90b1..f930efd 100644
+--- linkhash.c
++++ linkhash.c
+@@ -582,7 +582,7 @@ int lh_table_insert_w_hash(struct lh_table *t, const void *k, const void *v, con
+ 
+ 	if (t->count >= t->size * LH_LOAD_FACTOR) {
+ 		/* Avoid signed integer overflow with large tables. */
+-		int new_size = INT_MAX / 2 < t->size ? t->size * 2 : INT_MAX;
++		int new_size = (t->size > INT_MAX / 2) ? INT_MAX : (t->size * 2);
+ 		if (t->size == INT_MAX || lh_table_resize(t, new_size) != 0)
+ 			return -1;
+ 	}
+diff --git tests/test4.c tests/test4.c
+index bd964ec..fd2f3be 100644
+--- tests/test4.c
++++ tests/test4.c
+@@ -3,8 +3,10 @@
+  */
+ 
+ #include "config.h"
++#include <assert.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <stdlib.h>
+ 
+ #include "json_inttypes.h"
+ #include "json_object.h"
+@@ -24,6 +26,30 @@ void print_hex(const char *s)
+ 	putchar('\n');
+ }
+ 
++static void test_lot_of_adds(void);
++static void test_lot_of_adds()
++{
++	int ii;
++	char key[50];
++	json_object *jobj = json_object_new_object();
++	assert(jobj != NULL);
++	for (ii = 0; ii < 500; ii++)
++	{
++		snprintf(key, sizeof(key), "k%d", ii);
++		json_object *iobj = json_object_new_int(ii);
++		assert(iobj != NULL);
++		if (json_object_object_add(jobj, key, iobj))
++		{
++			fprintf(stderr, "FAILED to add object #%d\n", ii);
++			abort();
++		}
++	}
++	printf("%s\n", json_object_to_json_string(jobj));
++	assert(json_object_object_length(jobj) == 500);
++	json_object_put(jobj);
++}
++
++
+ int main(void)
+ {
+ 	const char *input = "\"\\ud840\\udd26,\\ud840\\udd27,\\ud800\\udd26,\\ud800\\udd27\"";
+@@ -52,5 +78,8 @@ int main(void)
+ 		retval = 1;
+ 	}
+ 	json_object_put(parse_result);
++
++	test_lot_of_adds();
++
+ 	return retval;
+ }
+diff --git tests/test4.expected tests/test4.expected
+index 68d4336..cb27440 100644
+--- tests/test4.expected
++++ tests/test4.expected
+@@ -1,3 +1,4 @@
+ input: "\ud840\udd26,\ud840\udd27,\ud800\udd26,\ud800\udd27"
+ JSON parse result is correct: 𠄦,𠄧,𐄦,𐄧
+ PASS
++{ "k0": 0, "k1": 1, "k2": 2, "k3": 3, "k4": 4, "k5": 5, "k6": 6, "k7": 7, "k8": 8, "k9": 9, "k10": 10, "k11": 11, "k12": 12, "k13": 13, "k14": 14, "k15": 15, "k16": 16, "k17": 17, "k18": 18, "k19": 19, "k20": 20, "k21": 21, "k22": 22, "k23": 23, "k24": 24, "k25": 25, "k26": 26, "k27": 27, "k28": 28, "k29": 29, "k30": 30, "k31": 31, "k32": 32, "k33": 33, "k34": 34, "k35": 35, "k36": 36, "k37": 37, "k38": 38, "k39": 39, "k40": 40, "k41": 41, "k42": 42, "k43": 43, "k44": 44, "k45": 45, "k46": 46, "k47": 47, "k48": 48, "k49": 49, "k50": 50, "k51": 51, "k52": 52, "k53": 53, "k54": 54, "k55": 55, "k56": 56, "k57": 57, "k58": 58, "k59": 59, "k60": 60, "k61": 61, "k62": 62, "k63": 63, "k64": 64, "k65": 65, "k66": 66, "k67": 67, "k68": 68, "k69": 69, "k70": 70, "k71": 71, "k72": 72, "k73": 73, "k74": 74, "k75": 75, "k76": 76, "k77": 77, "k78": 78, "k79": 79, "k80": 80, "k81": 81, "k82": 82, "k83": 83, "k84": 84, "k85": 85, "k86": 86, "k87": 87, "k88": 88, "k89": 89, "k90": 90, "k91": 91, "k92": 92, "k93": 93, "k94": 94, "k95": 95, "k96": 96, "k97": 97, "k98": 98, "k99": 99, "k100": 100, "k101": 101, "k102": 102, "k103": 103, "k104": 104, "k105": 105, "k106": 106, "k107": 107, "k108": 108, "k109": 109, "k110": 110, "k111": 111, "k112": 112, "k113": 113, "k114": 114, "k115": 115, "k116": 116, "k117": 117, "k118": 118, "k119": 119, "k120": 120, "k121": 121, "k122": 122, "k123": 123, "k124": 124, "k125": 125, "k126": 126, "k127": 127, "k128": 128, "k129": 129, "k130": 130, "k131": 131, "k132": 132, "k133": 133, "k134": 134, "k135": 135, "k136": 136, "k137": 137, "k138": 138, "k139": 139, "k140": 140, "k141": 141, "k142": 142, "k143": 143, "k144": 144, "k145": 145, "k146": 146, "k147": 147, "k148": 148, "k149": 149, "k150": 150, "k151": 151, "k152": 152, "k153": 153, "k154": 154, "k155": 155, "k156": 156, "k157": 157, "k158": 158, "k159": 159, "k160": 160, "k161": 161, "k162": 162, "k163": 163, "k164": 164, "k165": 165, "k166": 166, "k167": 167, "k168": 168, "k169": 169, "k170": 170, "k171": 171, "k172": 172, "k173": 173, "k174": 174, "k175": 175, "k176": 176, "k177": 177, "k178": 178, "k179": 179, "k180": 180, "k181": 181, "k182": 182, "k183": 183, "k184": 184, "k185": 185, "k186": 186, "k187": 187, "k188": 188, "k189": 189, "k190": 190, "k191": 191, "k192": 192, "k193": 193, "k194": 194, "k195": 195, "k196": 196, "k197": 197, "k198": 198, "k199": 199, "k200": 200, "k201": 201, "k202": 202, "k203": 203, "k204": 204, "k205": 205, "k206": 206, "k207": 207, "k208": 208, "k209": 209, "k210": 210, "k211": 211, "k212": 212, "k213": 213, "k214": 214, "k215": 215, "k216": 216, "k217": 217, "k218": 218, "k219": 219, "k220": 220, "k221": 221, "k222": 222, "k223": 223, "k224": 224, "k225": 225, "k226": 226, "k227": 227, "k228": 228, "k229": 229, "k230": 230, "k231": 231, "k232": 232, "k233": 233, "k234": 234, "k235": 235, "k236": 236, "k237": 237, "k238": 238, "k239": 239, "k240": 240, "k241": 241, "k242": 242, "k243": 243, "k244": 244, "k245": 245, "k246": 246, "k247": 247, "k248": 248, "k249": 249, "k250": 250, "k251": 251, "k252": 252, "k253": 253, "k254": 254, "k255": 255, "k256": 256, "k257": 257, "k258": 258, "k259": 259, "k260": 260, "k261": 261, "k262": 262, "k263": 263, "k264": 264, "k265": 265, "k266": 266, "k267": 267, "k268": 268, "k269": 269, "k270": 270, "k271": 271, "k272": 272, "k273": 273, "k274": 274, "k275": 275, "k276": 276, "k277": 277, "k278": 278, "k279": 279, "k280": 280, "k281": 281, "k282": 282, "k283": 283, "k284": 284, "k285": 285, "k286": 286, "k287": 287, "k288": 288, "k289": 289, "k290": 290, "k291": 291, "k292": 292, "k293": 293, "k294": 294, "k295": 295, "k296": 296, "k297": 297, "k298": 298, "k299": 299, "k300": 300, "k301": 301, "k302": 302, "k303": 303, "k304": 304, "k305": 305, "k306": 306, "k307": 307, "k308": 308, "k309": 309, "k310": 310, "k311": 311, "k312": 312, "k313": 313, "k314": 314, "k315": 315, "k316": 316, "k317": 317, "k318": 318, "k319": 319, "k320": 320, "k321": 321, "k322": 322, "k323": 323, "k324": 324, "k325": 325, "k326": 326, "k327": 327, "k328": 328, "k329": 329, "k330": 330, "k331": 331, "k332": 332, "k333": 333, "k334": 334, "k335": 335, "k336": 336, "k337": 337, "k338": 338, "k339": 339, "k340": 340, "k341": 341, "k342": 342, "k343": 343, "k344": 344, "k345": 345, "k346": 346, "k347": 347, "k348": 348, "k349": 349, "k350": 350, "k351": 351, "k352": 352, "k353": 353, "k354": 354, "k355": 355, "k356": 356, "k357": 357, "k358": 358, "k359": 359, "k360": 360, "k361": 361, "k362": 362, "k363": 363, "k364": 364, "k365": 365, "k366": 366, "k367": 367, "k368": 368, "k369": 369, "k370": 370, "k371": 371, "k372": 372, "k373": 373, "k374": 374, "k375": 375, "k376": 376, "k377": 377, "k378": 378, "k379": 379, "k380": 380, "k381": 381, "k382": 382, "k383": 383, "k384": 384, "k385": 385, "k386": 386, "k387": 387, "k388": 388, "k389": 389, "k390": 390, "k391": 391, "k392": 392, "k393": 393, "k394": 394, "k395": 395, "k396": 396, "k397": 397, "k398": 398, "k399": 399, "k400": 400, "k401": 401, "k402": 402, "k403": 403, "k404": 404, "k405": 405, "k406": 406, "k407": 407, "k408": 408, "k409": 409, "k410": 410, "k411": 411, "k412": 412, "k413": 413, "k414": 414, "k415": 415, "k416": 416, "k417": 417, "k418": 418, "k419": 419, "k420": 420, "k421": 421, "k422": 422, "k423": 423, "k424": 424, "k425": 425, "k426": 426, "k427": 427, "k428": 428, "k429": 429, "k430": 430, "k431": 431, "k432": 432, "k433": 433, "k434": 434, "k435": 435, "k436": 436, "k437": 437, "k438": 438, "k439": 439, "k440": 440, "k441": 441, "k442": 442, "k443": 443, "k444": 444, "k445": 445, "k446": 446, "k447": 447, "k448": 448, "k449": 449, "k450": 450, "k451": 451, "k452": 452, "k453": 453, "k454": 454, "k455": 455, "k456": 456, "k457": 457, "k458": 458, "k459": 459, "k460": 460, "k461": 461, "k462": 462, "k463": 463, "k464": 464, "k465": 465, "k466": 466, "k467": 467, "k468": 468, "k469": 469, "k470": 470, "k471": 471, "k472": 472, "k473": 473, "k474": 474, "k475": 475, "k476": 476, "k477": 477, "k478": 478, "k479": 479, "k480": 480, "k481": 481, "k482": 482, "k483": 483, "k484": 484, "k485": 485, "k486": 486, "k487": 487, "k488": 488, "k489": 489, "k490": 490, "k491": 491, "k492": 492, "k493": 493, "k494": 494, "k495": 495, "k496": 496, "k497": 497, "k498": 498, "k499": 499 }
+-- 
+2.26.2
+
diff --git a/srcpkgs/json-c/template b/srcpkgs/json-c/template
index 9fad1d3ebd9..ed4892611e2 100644
--- a/srcpkgs/json-c/template
+++ b/srcpkgs/json-c/template
@@ -1,26 +1,23 @@
 # Template file for 'json-c'
 pkgname=json-c
-version=0.13.1
-revision=2
-build_style=gnu-configure
-configure_args="--enable-threading $(vopt_enable rdrand)"
-hostmakedepends="automake libtool"
-short_desc="A JSON implementation in C"
+version=0.14
+revision=1
+build_style=cmake
+configure_args="-DENABLE_THREADING=ON -DBUILD_STATIC_LIBS=ON
+ -DENABLE_RDRAND=$(vopt_if rdrand ON OFF)"
+hostmakedepends="doxygen"
+short_desc="JSON implementation in C"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://json-c.github.io/json-c"
 distfiles="https://s3.amazonaws.com/json-c_releases/releases/${pkgname}-${version}.tar.gz"
-checksum=b87e608d4d3f7bfdd36ef78d56d53c74e66ab278d318b71e6002a369d36f4873
+checksum=b377de08c9b23ca3b37d9a9828107dff1de5ce208ff4ebb35005a794f30c6870
 
 CFLAGS="-Wno-error"
 
 build_options="rdrand"
 desc_option_rdrand="Enable RDRAND Hardware RNG Hash Seed generation on x86_x64 platforms"
 
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
 	vlicense COPYING
 }
@@ -31,6 +28,7 @@ json-c-devel_package() {
 	pkg_install() {
 		vmove "usr/lib/*.a"
 		vmove "usr/lib/*.so"
+		vmove usr/lib/cmake
 		vmove usr/include
 		vmove usr/lib/pkgconfig
 	}

From 73b738da5d2d8bfebd2e5d3bf0ed844d834b86c4 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:38:38 -0400
Subject: [PATCH 02/29] CPU-X: rebuild against json-c 0.14

---
 srcpkgs/CPU-X/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/CPU-X/template b/srcpkgs/CPU-X/template
index fce5dd7659b..2c6621d888b 100644
--- a/srcpkgs/CPU-X/template
+++ b/srcpkgs/CPU-X/template
@@ -1,7 +1,7 @@
 # Template file for 'CPU-X'
 pkgname=CPU-X
 version=3.2.4
-revision=2
+revision=3
 # /usr/bin/ld: i386:x86-64 architecture of input file
 # ../output/lib/libbandwidth.a(routines-x86-64bit.o)'
 # is incompatible with i386 output

From 825edfaddcd6d64a74c0fbbe5b19fca349807837 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:38:38 -0400
Subject: [PATCH 03/29] bti: rebuild against json-c 0.14

---
 srcpkgs/bti/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/bti/template b/srcpkgs/bti/template
index 3bae88c092b..174b9c4139d 100644
--- a/srcpkgs/bti/template
+++ b/srcpkgs/bti/template
@@ -1,7 +1,7 @@
 # Template file for 'bti'
 pkgname=bti
 version=034
-revision=3
+revision=4
 build_style=gnu-configure
 hostmakedepends="pkg-config"
 makedepends="pcre-devel libxml2-devel libcurl-devel json-c-devel liboauth-devel"

From 8cc5bd62ac173e0a3becd711ee9b8864bc334237 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:38:39 -0400
Subject: [PATCH 04/29] clamav: rebuild against json-c 0.14

---
 srcpkgs/clamav/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/clamav/template b/srcpkgs/clamav/template
index 5afb3841882..192a6142d0c 100644
--- a/srcpkgs/clamav/template
+++ b/srcpkgs/clamav/template
@@ -1,7 +1,7 @@
 # Template file for 'clamav'
 pkgname=clamav
 version=0.102.3
-revision=3
+revision=4
 build_style=gnu-configure
 # XXX: system llvm is too new (< 3.7 required)
 # Shipped llvm does not build with gcc6

From f1140a09ce18a8e40b33d3875d58e55f13f446a7 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:40:22 -0400
Subject: [PATCH 05/29] connman-ncurses: rebuild against json-c 0.14

---
 .../patches/lowercase-boolean.patch           | 39 +++++++++++++++++++
 srcpkgs/connman-ncurses/template              |  2 +-
 2 files changed, 40 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/connman-ncurses/patches/lowercase-boolean.patch

diff --git a/srcpkgs/connman-ncurses/patches/lowercase-boolean.patch b/srcpkgs/connman-ncurses/patches/lowercase-boolean.patch
new file mode 100644
index 00000000000..41a91751ea2
--- /dev/null
+++ b/srcpkgs/connman-ncurses/patches/lowercase-boolean.patch
@@ -0,0 +1,39 @@
+--- json_utils.c	2020-05-31 00:39:12.983378846 -0400
++++ json_utils.c	2020-05-31 00:39:26.062122347 -0400
+@@ -81,7 +81,7 @@
+ 		key_is_trusted = json_object_object_get_ex(jtrusted, key,
+ 				&tmp_trusted);
+ 
+-		if (key_is_trusted == FALSE)
++		if (key_is_trusted == false)
+ 			return false;
+ 
+ 		res = __json_type_dispatch(val, tmp_trusted);
+--- json_regex.c	2020-05-31 00:44:07.233613212 -0400
++++ json_regex.c	2020-05-31 00:48:33.307401463 -0400
+@@ -22,6 +22,7 @@
+ #endif
+ 
+ #include <json.h>
++#include <stdbool.h>
+ 
+ #include "json_regex.h"
+ #include "keys.h"
+@@ -62,7 +63,7 @@
+ 	json_object_object_add(jregex_agent_response, "Username", json_object_new_string("^([[:print:]]*)$"));
+ 	json_object_object_add(jregex_agent_response, "Password", json_object_new_string("^([[:print:]]*)$"));
+ 
+-	jregex_agent_retry_response = json_object_new_boolean(TRUE);
++	jregex_agent_retry_response = json_object_new_boolean(true);
+ 
+ 	// See commands.c __cmd_config_service for a better idea of the format.
+ 	jregex_config_service = json_object_new_object();
+@@ -92,7 +93,7 @@
+ 	json_object_array_add(arr, json_object_new_string("^([[:print:]]*)$"));
+ 	json_object_object_add(tmp, key_serv_proxy_excludes, arr);
+ 	json_object_object_add(opt, key_serv_proxy_config, tmp);
+-	json_object_object_add(opt, key_serv_autoconnect, json_object_new_boolean(TRUE));
++	json_object_object_add(opt, key_serv_autoconnect, json_object_new_boolean(true));
+ 	arr = json_object_new_array();
+ 	json_object_array_add(arr, json_object_new_string("^([[:print:]]*)$"));
+ 	json_object_object_add(opt, key_serv_domains_config, arr);
diff --git a/srcpkgs/connman-ncurses/template b/srcpkgs/connman-ncurses/template
index 88b0503b1b7..8ba2028a5f2 100644
--- a/srcpkgs/connman-ncurses/template
+++ b/srcpkgs/connman-ncurses/template
@@ -1,7 +1,7 @@
 # Template file for 'connman-ncurses'
 pkgname=connman-ncurses
 version=1.0
-revision=3
+revision=4
 wrksrc="connman-json-client-${version}"
 build_style=gnu-configure
 hostmakedepends="automake autoconf pkg-config json-c-devel ncurses-devel dbus-devel"

From c3c2d5e9f58b008b9a8ca137d0c2a2a4ebc3b847 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:42:06 -0400
Subject: [PATCH 06/29] cryptsetup: rebuild against json-c 0.14

---
 srcpkgs/cryptsetup/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cryptsetup/template b/srcpkgs/cryptsetup/template
index d4f5f1b3a20..e9f3206ab7b 100644
--- a/srcpkgs/cryptsetup/template
+++ b/srcpkgs/cryptsetup/template
@@ -1,7 +1,7 @@
 # Template file for 'cryptsetup'
 pkgname=cryptsetup
 version=2.3.3
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto_backend=openssl $(vopt_enable pwquality)
  --enable-cryptsetup-reencrypt --enable-libargon2"

From 9b2f5264bb4eb52a0d63deba01b816077ce1a788 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:42:06 -0400
Subject: [PATCH 07/29] fastd: rebuild against json-c 0.14

---
 srcpkgs/fastd/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/fastd/template b/srcpkgs/fastd/template
index 665778d6f8c..2bca39e95f8 100644
--- a/srcpkgs/fastd/template
+++ b/srcpkgs/fastd/template
@@ -1,7 +1,7 @@
 # Template file for 'fastd'
 pkgname=fastd
 version=18
-revision=4
+revision=5
 build_style=cmake
 hostmakedepends="pkg-config bison"
 makedepends="libuecc-devel libsodium-devel json-c-devel libcap-devel"

From 982c0fa94fc44a039e05431e1435d0ea52f83633 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:42:06 -0400
Subject: [PATCH 08/29] fcitx: rebuild against json-c 0.14

---
 srcpkgs/fcitx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/fcitx/template b/srcpkgs/fcitx/template
index beeed2d9ca2..5069c9543d6 100644
--- a/srcpkgs/fcitx/template
+++ b/srcpkgs/fcitx/template
@@ -1,7 +1,7 @@
 # Template file for 'fcitx'
 pkgname=fcitx
 version=4.2.9.7
-revision=2
+revision=3
 build_style=cmake
 short_desc="Flexible Context-aware Input Tool with eXtension"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"

From b99fa456008f7d4119521322f134bad6cb5c2172 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:43:17 -0400
Subject: [PATCH 09/29] girara: rebuild against json-c 0.14

---
 srcpkgs/girara/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/girara/template b/srcpkgs/girara/template
index b6241d0c8b6..77ab9cf418d 100644
--- a/srcpkgs/girara/template
+++ b/srcpkgs/girara/template
@@ -1,7 +1,7 @@
 # Template file for 'girara'
 pkgname=girara
 version=0.3.4
-revision=1
+revision=2
 build_style=meson
 configure_args="$(vopt_if notify -Dnotify=enabled -Dnotify=disabled) -Dtests=disabled"
 hostmakedepends="pkg-config intltool doxygen glib-devel"

From bad5743308a72b553205a30cccf72ab0af2df21c Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:43:18 -0400
Subject: [PATCH 10/29] igt-gpu-tools: rebuild against json-c 0.14

---
 srcpkgs/igt-gpu-tools/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/igt-gpu-tools/template b/srcpkgs/igt-gpu-tools/template
index 64cd2d3f1dd..d118f888582 100644
--- a/srcpkgs/igt-gpu-tools/template
+++ b/srcpkgs/igt-gpu-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'igt-gpu-tools'
 pkgname=igt-gpu-tools
 version=1.25
-revision=1
+revision=2
 build_style=meson
 configure_args="-Db_ndebug=false -Db_lto=false"
 # b_lto=true makes the build hang at a random point

From c448852a394adc9e49706c9c7a5d62430d1c6b37 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:43:18 -0400
Subject: [PATCH 11/29] libgdal: rebuild against json-c 0.14

---
 srcpkgs/libgdal/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libgdal/template b/srcpkgs/libgdal/template
index 18c8c6a22b1..b0321df463f 100644
--- a/srcpkgs/libgdal/template
+++ b/srcpkgs/libgdal/template
@@ -1,7 +1,7 @@
 # Template file for 'libgdal'
 pkgname=libgdal
 version=3.0.4
-revision=4
+revision=5
 wrksrc="gdal-${version}"
 build_style=gnu-configure
 configure_args="--with-liblzma --with-webp --with-zstd --with-podofo --with-opencl=yes"

From e79b81171b4bac0b67ba4fb45655aa6bbcb13809 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:43:18 -0400
Subject: [PATCH 12/29] libmypaint: rebuild against json-c 0.14

---
 srcpkgs/libmypaint/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libmypaint/template b/srcpkgs/libmypaint/template
index bdb0a2e8d94..e8e68dc8590 100644
--- a/srcpkgs/libmypaint/template
+++ b/srcpkgs/libmypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'libmypaint'
 pkgname=libmypaint
 version=1.5.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-gegl"
 hostmakedepends="intltool pkg-config $(vopt_if gir gobject-introspection)"

From 28f43854924a5cfba818e9d4b04af345d080b851 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:45:11 -0400
Subject: [PATCH 13/29] libu2f-host: rebuild against json-c 0.14

---
 .../patches/lowercase-boolean.patch           | 37 +++++++++++++++++++
 srcpkgs/libu2f-host/template                  |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/libu2f-host/patches/lowercase-boolean.patch

diff --git a/srcpkgs/libu2f-host/patches/lowercase-boolean.patch b/srcpkgs/libu2f-host/patches/lowercase-boolean.patch
new file mode 100644
index 00000000000..aa3b8deed85
--- /dev/null
+++ b/srcpkgs/libu2f-host/patches/lowercase-boolean.patch
@@ -0,0 +1,37 @@
+--- u2f-host/u2fmisc.c	2019-05-15 07:54:11.000000000 -0400
++++ u2f-host/u2fmisc.c	2020-05-31 11:19:24.305252337 -0400
+@@ -19,6 +19,7 @@
+ #include "internal.h"
+ 
+ #include <json.h>
++#include <stdbool.h>
+ 
+ #include "sha256.h"
+ 
+@@ -30,7 +31,7 @@
+ #define u2fh_json_object_object_get(obj, key, value) json_object_object_get_ex(obj, key, &value)
+ #else
+ typedef int json_bool;
+-#define u2fh_json_object_object_get(obj, key, value) (value = json_object_object_get(obj, key)) == NULL ? (json_bool)FALSE : (json_bool)TRUE
++#define u2fh_json_object_object_get(obj, key, value) (value = json_object_object_get(obj, key)) == NULL ? (json_bool)false : (json_bool)true
+ #endif
+ 
+ static void
+@@ -114,7 +115,7 @@
+   if (debug)
+     fprintf (stderr, "JSON: %s\n", json_object_to_json_string (jo));
+ 
+-  if (u2fh_json_object_object_get (jo, "appId", k) == FALSE)
++  if (u2fh_json_object_object_get (jo, "appId", k) == false)
+     return U2FH_JSON_ERROR;
+ 
+   app_id = json_object_get_string (k);
+@@ -390,7 +391,7 @@
+   if (debug)
+     fprintf (stderr, "JSON: %s\n", json_object_to_json_string (jo));
+ 
+-  if (u2fh_json_object_object_get (jo, key, k) == FALSE)
++  if (u2fh_json_object_object_get (jo, key, k) == false)
+     return U2FH_JSON_ERROR;
+ 
+   urlb64 = json_object_get_string (k);
diff --git a/srcpkgs/libu2f-host/template b/srcpkgs/libu2f-host/template
index 0942b9d03d8..ae1a50577a2 100644
--- a/srcpkgs/libu2f-host/template
+++ b/srcpkgs/libu2f-host/template
@@ -1,7 +1,7 @@
 # Template file for 'libu2f-host'
 pkgname=libu2f-host
 version=1.1.10
-revision=1
+revision=2
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=gnu-configure
 configure_args="--with-openssl=yes --with-udevrulesdir=/usr/lib/udev/rules.d"

From f4b2fb796b7a110bf336d63762ec9288ec76f15e Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:45:59 -0400
Subject: [PATCH 14/29] libu2f-server: rebuild against json-c 0.14

---
 .../patches/lowercase-boolean.patch           | 82 +++++++++++++++++++
 srcpkgs/libu2f-server/template                |  2 +-
 2 files changed, 83 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/libu2f-server/patches/lowercase-boolean.patch

diff --git a/srcpkgs/libu2f-server/patches/lowercase-boolean.patch b/srcpkgs/libu2f-server/patches/lowercase-boolean.patch
new file mode 100644
index 00000000000..cfa7584633e
--- /dev/null
+++ b/srcpkgs/libu2f-server/patches/lowercase-boolean.patch
@@ -0,0 +1,82 @@
+--- u2f-server/core.c	2018-01-04 09:21:38.000000000 -0500
++++ u2f-server/core.c	2020-05-31 11:24:48.986906605 -0400
+@@ -32,6 +32,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <json.h>
++#include <stdbool.h>
+ #include "crypto.h"
+ #include "b64/cencode.h"
+ #include "b64/cdecode.h"
+@@ -41,7 +42,7 @@
+ #define u2fs_json_object_object_get(obj, key, value) json_object_object_get_ex(obj, key, &value)
+ #else
+ typedef int json_bool;
+-#define u2fs_json_object_object_get(obj, key, value) (value = json_object_object_get(obj, key)) == NULL ? (json_bool)FALSE : (json_bool)TRUE
++#define u2fs_json_object_object_get(obj, key, value) (value = json_object_object_get(obj, key)) == NULL ? (json_bool)false : (json_bool)true
+ #endif
+ 
+ static u2fs_rc encode_b64u(const char *data, size_t data_len, char *output)
+@@ -477,7 +478,7 @@
+   if (jo == NULL)
+     return U2FS_JSON_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "challenge", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "challenge", k) == false)
+     return U2FS_JSON_ERROR;
+ 
+   p = json_object_get_string(k);
+@@ -488,7 +489,7 @@
+   if (*challenge == NULL)
+     return U2FS_MEMORY_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "origin", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "origin", k) == false)
+     return U2FS_JSON_ERROR;
+ 
+   p = json_object_get_string(k);
+@@ -520,7 +521,7 @@
+   if (jo == NULL)
+     return U2FS_JSON_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "registrationData", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "registrationData", k) == false)
+     return U2FS_JSON_ERROR;
+   p = json_object_get_string(k);
+   if (p == NULL)
+@@ -529,7 +530,7 @@
+   if (*registrationData == NULL)
+     return U2FS_MEMORY_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "clientData", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "clientData", k) == false)
+     return U2FS_JSON_ERROR;
+   p = json_object_get_string(k);
+   if (p == NULL)
+@@ -1125,7 +1126,7 @@
+   if (jo == NULL)
+     return U2FS_JSON_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "signatureData", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "signatureData", k) == false)
+     return U2FS_JSON_ERROR;
+   p = json_object_get_string(k);
+   if (p == NULL)
+@@ -1134,7 +1135,7 @@
+   if (*signatureData == NULL)
+     return U2FS_MEMORY_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "clientData", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "clientData", k) == false)
+     return U2FS_JSON_ERROR;
+   p = json_object_get_string(k);
+   if (p == NULL)
+@@ -1143,7 +1144,7 @@
+   if (*clientData == NULL)
+     return U2FS_MEMORY_ERROR;
+ 
+-  if (u2fs_json_object_object_get(jo, "keyHandle", k) == FALSE)
++  if (u2fs_json_object_object_get(jo, "keyHandle", k) == false)
+     return U2FS_JSON_ERROR;
+   p = json_object_get_string(k);
+   if (p == NULL)
diff --git a/srcpkgs/libu2f-server/template b/srcpkgs/libu2f-server/template
index 952b080fca5..e352a5773d8 100644
--- a/srcpkgs/libu2f-server/template
+++ b/srcpkgs/libu2f-server/template
@@ -1,7 +1,7 @@
 # Template file for 'libu2f-server'
 pkgname=libu2f-server
 version=1.1.0
-revision=6
+revision=7
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config gengetopt check"

From a5cbb9b945e771c794ee9f9c0aeaa0e3bd65eedf Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:46:47 -0400
Subject: [PATCH 15/29] masterpassword-cli: rebuild against json-c 0.14

---
 .../patches/lowercase-boolean.patch                   | 11 +++++++++++
 srcpkgs/masterpassword-cli/template                   |  3 +--
 2 files changed, 12 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/masterpassword-cli/patches/lowercase-boolean.patch

diff --git a/srcpkgs/masterpassword-cli/patches/lowercase-boolean.patch b/srcpkgs/masterpassword-cli/patches/lowercase-boolean.patch
new file mode 100644
index 00000000000..fe4a33b628d
--- /dev/null
+++ b/srcpkgs/masterpassword-cli/patches/lowercase-boolean.patch
@@ -0,0 +1,11 @@
+--- core/c/mpw-marshal-util.c	2017-09-25 02:59:09.000000000 -0400
++++ core/c/mpw-marshal-util.c	2020-05-31 11:32:02.362438198 -0400
+@@ -112,7 +112,7 @@
+     if (!json_value)
+         return defaultValue;
+ 
+-    return json_object_get_boolean( json_value ) == TRUE;
++    return json_object_get_boolean( json_value ) == true;
+ }
+ #endif
+ 
diff --git a/srcpkgs/masterpassword-cli/template b/srcpkgs/masterpassword-cli/template
index e704e6fc68f..ee2b8d41ae4 100644
--- a/srcpkgs/masterpassword-cli/template
+++ b/srcpkgs/masterpassword-cli/template
@@ -1,7 +1,7 @@
 # Template file for 'masterpassword-cli'
 pkgname=masterpassword-cli
 version=2.6
-revision=4
+revision=5
 wrksrc=MasterPassword-${version}-cli-3
 build_wrksrc=platform-independent/cli-c
 build_style=cmake
@@ -23,6 +23,5 @@ pre_configure() {
 do_install() {
 	cat mpw.completion.bash | tail -n +3 >> bashcomplib
 	vinstall bashcomplib 644 usr/share/bash-completion/completions mpw
-	vlicense ${wrksrc}/LICENSE
 	vbin ${cmake_builddir}/mpw
 }

From e4f122484fd52624bd4a8187b50cf97f77d7c339 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:11 -0400
Subject: [PATCH 16/29] ndctl: rebuild against json-c 0.14

---
 srcpkgs/ndctl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/ndctl/template b/srcpkgs/ndctl/template
index 84442555823..6cd158c6b4a 100644
--- a/srcpkgs/ndctl/template
+++ b/srcpkgs/ndctl/template
@@ -1,7 +1,7 @@
 # Template file for 'ndctl'
 pkgname=ndctl
 version=68
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-docs --without-systemd"
 hostmakedepends="automake libtool pkg-config xmlto"

From f644d1659ac5bc8c4b4f4907fa26f1aaaa72fdeb Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:12 -0400
Subject: [PATCH 17/29] ndpi: rebuild against json-c 0.14

---
 srcpkgs/ndpi/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/ndpi/template b/srcpkgs/ndpi/template
index 03702495cf1..4990b335352 100644
--- a/srcpkgs/ndpi/template
+++ b/srcpkgs/ndpi/template
@@ -1,7 +1,7 @@
 # Template file for 'ndpi'
 pkgname=ndpi
 version=2.2
-revision=3
+revision=4
 wrksrc=nDPI-${version}
 build_style=gnu-configure
 hostmakedepends="libtool automake pkg-config"

From fcb7a78141971b6efbefa66bd341ef40e444e2b6 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:12 -0400
Subject: [PATCH 18/29] newsboat: rebuild against json-c 0.14

---
 srcpkgs/newsboat/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/newsboat/template b/srcpkgs/newsboat/template
index 485df0eb989..2de75817d2c 100644
--- a/srcpkgs/newsboat/template
+++ b/srcpkgs/newsboat/template
@@ -1,7 +1,7 @@
 # Template file for 'newsboat'
 pkgname=newsboat
 version=2.19
-revision=1
+revision=2
 build_style=configure
 build_helper="rust"
 configure_script="./config.sh"

From fe0d7ec703d775b72c4c2b7099bda0e59daa2428 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:12 -0400
Subject: [PATCH 19/29] pianobar: rebuild against json-c 0.14

---
 srcpkgs/pianobar/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/pianobar/template b/srcpkgs/pianobar/template
index 1094ff2ecc5..7fa56729fbc 100644
--- a/srcpkgs/pianobar/template
+++ b/srcpkgs/pianobar/template
@@ -1,7 +1,7 @@
 # Template file for 'pianobar'
 pkgname=pianobar
 version=2020.04.05
-revision=1
+revision=2
 build_style=gnu-makefile
 make_build_args="V=1"
 hostmakedepends="pkg-config"

From 47f891ab5ac183be6045c2ed52402c1cf3877d84 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:13 -0400
Subject: [PATCH 20/29] postgis: rebuild against json-c 0.14

---
 srcpkgs/postgis/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/postgis/template b/srcpkgs/postgis/template
index df49d167b48..4221b20c415 100644
--- a/srcpkgs/postgis/template
+++ b/srcpkgs/postgis/template
@@ -1,7 +1,7 @@
 # Template file for 'postgis'
 pkgname=postgis
 version=3.0.0
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-projdir=${XBPS_CROSS_BASE}/usr
  --with-projdir=${XBPS_CROSS_BASE}/usr

From 57a0f168c233ca39534091921177866ab8eb346c Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:13 -0400
Subject: [PATCH 21/29] psensor: rebuild against json-c 0.14

---
 srcpkgs/psensor/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/psensor/template b/srcpkgs/psensor/template
index 647b63150d5..67e81009157 100644
--- a/srcpkgs/psensor/template
+++ b/srcpkgs/psensor/template
@@ -1,7 +1,7 @@
 # Template file for 'psensor'
 pkgname=psensor
 version=1.2.0
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="pkg-config help2man glib-devel"
 makedepends="gtk+3-devel udisks2-devel libgtop-devel json-c-devel libsensors-devel libatasmart-devel libcurl-devel libnotify-devel libappindicator-devel libmicrohttpd-devel"

From 48d29dfa97be4fcd4899a6949d51a9e52822c455 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:13 -0400
Subject: [PATCH 22/29] slurm-wlm: rebuild against json-c 0.14

---
 srcpkgs/slurm-wlm/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/slurm-wlm/template b/srcpkgs/slurm-wlm/template
index fb4f6d7b130..86b40a0a6cb 100644
--- a/srcpkgs/slurm-wlm/template
+++ b/srcpkgs/slurm-wlm/template
@@ -1,7 +1,7 @@
 # Template file for 'slurm-wlm'
 pkgname=slurm-wlm
 version=19.05.5.1
-revision=1
+revision=2
 _distver="${version//./-}"
 wrksrc="slurm-slurm-${_distver}"
 build_style=gnu-configure

From 8202d1dadd12a7aeacfca98bb4f1089625a7fb97 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:13 -0400
Subject: [PATCH 23/29] solvespace: rebuild against json-c 0.14

---
 srcpkgs/solvespace/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/solvespace/template b/srcpkgs/solvespace/template
index 974f2f073b0..06c16a0d069 100644
--- a/srcpkgs/solvespace/template
+++ b/srcpkgs/solvespace/template
@@ -1,7 +1,7 @@
 # Template file for 'solvespace'
 pkgname=solvespace
 version=2.3
-revision=1
+revision=2
 wrksrc=solvespace
 build_style=cmake
 hostmakedepends="pkg-config"

From 73a39012beda15b1a1864172602655e5826d4618 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:14 -0400
Subject: [PATCH 24/29] startup: rebuild against json-c 0.14

---
 srcpkgs/startup/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/startup/template b/srcpkgs/startup/template
index 054191616a2..4a163d65afc 100644
--- a/srcpkgs/startup/template
+++ b/srcpkgs/startup/template
@@ -1,7 +1,7 @@
 # Template file for 'startup'
 pkgname=startup
 version=2.0.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-sysvcompat --disable-dconf-bridge --disable-cgroups"
 make_dirs="/var/log/startup 0750 root adm"

From ae22c37b1b0f5d4006bf6d0fd306a0e125a92a66 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:14 -0400
Subject: [PATCH 25/29] sway: rebuild against json-c 0.14

---
 srcpkgs/sway/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/sway/template b/srcpkgs/sway/template
index ff20221bde8..49f50cd191a 100644
--- a/srcpkgs/sway/template
+++ b/srcpkgs/sway/template
@@ -1,7 +1,7 @@
 # Template file for 'sway'
 pkgname=sway
 version=1.4
-revision=3
+revision=4
 build_style=meson
 conf_files="/etc/sway/config"
 hostmakedepends="pkg-config wayland-devel scdoc git"

From 8e1904281519df2b22f29083e7910514b37c050b Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:14 -0400
Subject: [PATCH 26/29] trace-cmd: rebuild against json-c 0.14

---
 srcpkgs/trace-cmd/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/trace-cmd/template b/srcpkgs/trace-cmd/template
index 2918ba0929c..b10187a8856 100644
--- a/srcpkgs/trace-cmd/template
+++ b/srcpkgs/trace-cmd/template
@@ -1,7 +1,7 @@
 # Template file for 'trace-cmd'
 pkgname=trace-cmd
 version=2.8.3
-revision=1
+revision=2
 wrksrc="${pkgname}-v${version}"
 build_style=gnu-makefile
 make_build_args="prefix=/usr all gui doc"

From effad08dcc61a5c03aa910b54ff557086decdd0b Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:15 -0400
Subject: [PATCH 27/29] ttyd: rebuild against json-c 0.14

---
 srcpkgs/ttyd/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/ttyd/template b/srcpkgs/ttyd/template
index f6abde61397..7d1b03da558 100644
--- a/srcpkgs/ttyd/template
+++ b/srcpkgs/ttyd/template
@@ -1,7 +1,7 @@
 # Template file for 'ttyd'
 pkgname=ttyd
 version=1.6.0
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config xxd"
 makedepends="libwebsockets-devel json-c-devel libressl-devel zlib-devel

From e2427736ccdc6aad6e0c2005a9f0d24ce72707f5 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Sun, 31 May 2020 16:48:15 -0400
Subject: [PATCH 28/29] zmap: rebuild against json-c 0.14

---
 srcpkgs/zmap/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/zmap/template b/srcpkgs/zmap/template
index 86ab5d7bedd..53f2383fa79 100644
--- a/srcpkgs/zmap/template
+++ b/srcpkgs/zmap/template
@@ -1,7 +1,7 @@
 # Template file for 'zmap'
 pkgname=zmap
 version=2.1.1
-revision=3
+revision=4
 build_style=cmake
 conf_files="/etc/zmap/blacklist.conf /etc/zmap/zmap.conf"
 hostmakedepends="flex byacc gengetopt pkg-config"

From 5bf987d2d6eac2d43dbcd980fe84645463981088 Mon Sep 17 00:00:00 2001
From: Randy McCaskill <randy@mccaskill.us>
Date: Mon, 1 Jun 2020 08:40:56 -0400
Subject: [PATCH 29/29] frr: rebuild against json-c 0.14

---
 srcpkgs/frr/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/frr/template b/srcpkgs/frr/template
index e866265c5db..019022d486b 100644
--- a/srcpkgs/frr/template
+++ b/srcpkgs/frr/template
@@ -1,7 +1,7 @@
 # Template file for 'frr'
 pkgname=frr
 version=7.3.1
-revision=1
+revision=2
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=gnu-configure
 # chroot-texinfo is not able to build frr's docs

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: json-c: update to 0.14.
  2020-05-31 17:51 [PR PATCH] [WIP] json-c: update to 0.14 rmccask
                   ` (9 preceding siblings ...)
  2020-06-01 12:41 ` [PR PATCH] [Updated] " rmccask
@ 2020-06-01 12:44 ` rmccask
  10 siblings, 0 replies; 12+ messages in thread
From: rmccask @ 2020-06-01 12:44 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 326 bytes --]

New comment by rmccask on void-packages repository

https://github.com/void-linux/void-packages/pull/22472#issuecomment-636606800

Comment:
An update to frr was just pushed in [22485](https://github.com/void-linux/void-packages/pull/22485/files).  After it was committed to master, I updated my commit to include that update.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, back to index

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-31 17:51 [PR PATCH] [WIP] json-c: update to 0.14 rmccask
2020-05-31 20:49 ` [PR PATCH] [Updated] " rmccask
2020-05-31 21:44 ` ericonr
2020-05-31 21:45 ` ericonr
2020-05-31 22:14 ` rmccask
2020-05-31 22:46 ` ericonr
2020-05-31 23:14 ` rmccask
2020-05-31 23:54 ` [PR PATCH] [Updated] " rmccask
2020-05-31 23:55 ` rmccask
2020-06-01  4:30 ` rmccask
2020-06-01 12:41 ` [PR PATCH] [Updated] " rmccask
2020-06-01 12:44 ` rmccask

Github messages for voidlinux

Archives are clonable: git clone --mirror http://inbox.vuxu.org/voidlinux-github

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.github.voidlinux


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git