From 049cbf0758b5e171f3ce04892ff0e3ad3212d8db Mon Sep 17 00:00:00 2001
From: Juan RP <xtraeme@gmail.com>
Date: Thu, 20 Jun 2019 19:29:45 +0200
Subject: [PATCH 1/2] xbps: update to 0.54 (soname bump).

Two patches from master were added to fix build
failures seen on travis/void-linux/void-packages.
---
 common/shlibs                                 |   2 +-
 ...d0323852c22fd5fa78fc8c04e33b4410cd4a.patch |  28 ++
 ...7bd7745f6ce3b776d06a25a36a34687072ee.patch |  19 +
 .../xbps/patches/fix-32-bit-formatting.patch  |  62 ---
 srcpkgs/xbps/patches/fix-confdir-size.patch   |  42 --
 srcpkgs/xbps/patches/fix-https-proxy.patch    |  52 --
 .../patches/fix-namespace-violation.patch     | 475 ------------------
 srcpkgs/xbps/patches/fix-rootdir-size.patch   |  25 -
 srcpkgs/xbps/patches/fix-strncat-dash.patch   |  14 -
 srcpkgs/xbps/template                         |  19 +-
 10 files changed, 57 insertions(+), 681 deletions(-)
 create mode 100644 srcpkgs/xbps/patches/5098d0323852c22fd5fa78fc8c04e33b4410cd4a.patch
 create mode 100644 srcpkgs/xbps/patches/70867bd7745f6ce3b776d06a25a36a34687072ee.patch
 delete mode 100644 srcpkgs/xbps/patches/fix-32-bit-formatting.patch
 delete mode 100644 srcpkgs/xbps/patches/fix-confdir-size.patch
 delete mode 100644 srcpkgs/xbps/patches/fix-https-proxy.patch
 delete mode 100644 srcpkgs/xbps/patches/fix-namespace-violation.patch
 delete mode 100644 srcpkgs/xbps/patches/fix-rootdir-size.patch
 delete mode 100644 srcpkgs/xbps/patches/fix-strncat-dash.patch

diff --git a/common/shlibs b/common/shlibs
index 75431657f20..4db57e8b29e 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1115,7 +1115,7 @@ libORBit-2.so.0 libORBit2-2.14.19_1
 libORBit-imodule-2.so.0 libORBit2-2.14.19_1
 libORBitCosNaming-2.so.0 libORBit2-2.14.19_1
 libminiupnpc.so.17 miniupnpc-2.1_1
-libxbps.so.3 libxbps-0.53_1
+libxbps.so.4 libxbps-0.54_1
 libatf-c.so.1 atf-libs-0.21_1
 libatf-c++.so.2 atf-libs-0.21_1
 libvdeplug.so.3 libvde2-2.3.2_1
diff --git a/srcpkgs/xbps/patches/5098d0323852c22fd5fa78fc8c04e33b4410cd4a.patch b/srcpkgs/xbps/patches/5098d0323852c22fd5fa78fc8c04e33b4410cd4a.patch
new file mode 100644
index 00000000000..ace59f657ad
--- /dev/null
+++ b/srcpkgs/xbps/patches/5098d0323852c22fd5fa78fc8c04e33b4410cd4a.patch
@@ -0,0 +1,28 @@
+commit 5098d0323852c22fd5fa78fc8c04e33b4410cd4a
+Author: Juan RP <xtraeme@gmail.com>
+Date:   Thu Jun 20 19:26:43 2019 +0200
+
+    mk/prog.mk: set proper target for bins.
+    
+    Fixes build failure in aarch64-musl and cross compilation...
+    weird it didn't fail on native.
+
+diff --git a/mk/prog.mk b/mk/prog.mk
+index 2d99ff55..007a1cac 100644
+--- mk/prog.mk
++++ mk/prog.mk
+@@ -46,12 +46,12 @@ endif
+ 	@printf " [CC]\t\t$@\n"
+ 	${SILENT}$(CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -c $<
+ 
+-$(BIN).static: $(OBJS) $(STATIC_LIBS)
++$(BIN).static: $(OBJS) $(TOPDIR)/lib/libxbps.a
+ 	@printf " [CCLD]\t\t$@\n"
+ 	${SILENT}$(CC) -static $(OBJS) $(CPPFLAGS) -L$(TOPDIR)/lib \
+ 		$(CFLAGS) $(LDFLAGS) $(PROG_LDFLAGS) $(STATIC_LIBS) -o $@
+ 
+-$(BIN): $(OBJS)
++$(BIN): $(OBJS) $(TOPDIR)/lib/libxbps.so
+ 	@printf " [CCLD]\t\t$@\n"
+ 	${SILENT}$(CC) $^ $(CPPFLAGS) -L$(TOPDIR)/lib \
+ 		$(CFLAGS) $(PROG_CFLAGS) $(LDFLAGS) $(PROG_LDFLAGS) \
diff --git a/srcpkgs/xbps/patches/70867bd7745f6ce3b776d06a25a36a34687072ee.patch b/srcpkgs/xbps/patches/70867bd7745f6ce3b776d06a25a36a34687072ee.patch
new file mode 100644
index 00000000000..71907c2cba2
--- /dev/null
+++ b/srcpkgs/xbps/patches/70867bd7745f6ce3b776d06a25a36a34687072ee.patch
@@ -0,0 +1,19 @@
+commit 70867bd7745f6ce3b776d06a25a36a34687072ee
+Author: Duncaen <mail@duncano.de>
+Date:   Thu Jun 20 18:04:39 2019 +0200
+
+    lib/transaction_files.c: fix size_t printf
+
+diff --git a/lib/transaction_files.c b/lib/transaction_files.c
+index c9e15518..14cf7c22 100644
+--- lib/transaction_files.c
++++ lib/transaction_files.c
+@@ -194,7 +194,7 @@ can_delete_directory(struct xbps_handle *xhp, const char *file, size_t len, size
+ 	fcount -= 2;
+ 
+ 	if (fcount <= rmcount) {
+-		xbps_dbg_printf(xhp, "[files] only removed %lu out of %lu files: %s\n",
++		xbps_dbg_printf(xhp, "[files] only removed %zu out of %zu files: %s\n",
+ 		    rmcount, fcount, file);
+ 	}
+ 
diff --git a/srcpkgs/xbps/patches/fix-32-bit-formatting.patch b/srcpkgs/xbps/patches/fix-32-bit-formatting.patch
deleted file mode 100644
index 530292b9fa0..00000000000
--- a/srcpkgs/xbps/patches/fix-32-bit-formatting.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 4eaf45a7679e59f6e24d5464dc1a122bd059dbb7 Mon Sep 17 00:00:00 2001
-From: Foxlet <foxlet@furcode.co>
-Date: Tue, 17 Jul 2018 20:26:08 -0400
-Subject: [PATCH] Fix string formatting of 64-bit unsigned integers
-
----
- bin/xbps-create/main.c | 4 ++--
- lib/package_unpack.c   | 6 +++---
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git bin/xbps-create/main.c bin/xbps-create/main.c
-index d03b9f39..aac9676a 100644
---- bin/xbps-create/main.c
-+++ bin/xbps-create/main.c
-@@ -426,7 +426,7 @@ ftw_cb(const char *fpath, const struct stat *sb, const struct dirent *dir _unuse
- 		TAILQ_FOREACH(xep, &xentry_list, entries) {
- 			if (sb->st_nlink > 1 && xep->inode == sb->st_ino) {
- 				/* matched */
--				printf("%lu %lu\n", xep->inode, sb->st_ino);
-+				printf("%"PRIu64" %"PRIu64"\n", xep->inode, sb->st_ino);
- 				hlink = true;
- 				break;
- 			}
-@@ -441,7 +441,7 @@ ftw_cb(const char *fpath, const struct stat *sb, const struct dirent *dir _unuse
- 			xbps_dictionary_get_uint64(linkinfo, "inode", &inode);
- 			if (inode == sb->st_ino) {
- 				/* matched */
--				printf("%lu %lu\n", inode, sb->st_ino);
-+				printf("%"PRIu64" %"PRIu64"\n", inode, sb->st_ino);
- 				break;
- 			}
- 		}
-diff --git lib/package_unpack.c lib/package_unpack.c
-index 6546a77a..25a6388e 100644
---- lib/package_unpack.c
-+++ lib/package_unpack.c
-@@ -377,13 +377,13 @@ unpack_archive(struct xbps_handle *xhp,
- 			    archive_entry_gid(entry)) != 0) {
- 				xbps_dbg_printf(xhp,
- 				    "%s: failed "
--				    "to set uid/gid to %zu:%zu (%s)\n",
-+				    "to set uid/gid to %"PRIu64":%"PRIu64" (%s)\n",
- 				    pkgver, archive_entry_uid(entry),
- 				    archive_entry_gid(entry),
- 				    strerror(errno));
- 			} else {
- 				xbps_dbg_printf(xhp, "%s: entry %s changed "
--				    "uid/gid to %zu:%zu.\n", pkgver, entry_pname,
-+				    "uid/gid to %"PRIu64":%"PRIu64".\n", pkgver, entry_pname,
- 				    archive_entry_uid(entry),
- 				    archive_entry_gid(entry));
- 			}
-@@ -426,7 +426,7 @@ unpack_archive(struct xbps_handle *xhp,
- 				      AT_SYMLINK_NOFOLLOW) == -1) {
- 				xbps_dbg_printf(xhp,
- 				    "%s: failed "
--				    "to set mtime %ju to %s: %s\n",
-+				    "to set mtime %lu to %s: %s\n",
- 				    pkgver, archive_entry_mtime_nsec(entry),
- 				    entry_pname,
- 				    strerror(errno));
-
diff --git a/srcpkgs/xbps/patches/fix-confdir-size.patch b/srcpkgs/xbps/patches/fix-confdir-size.patch
deleted file mode 100644
index fec9f99a816..00000000000
--- a/srcpkgs/xbps/patches/fix-confdir-size.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- tests/xbps/libxbps/config/main.c	2018-07-30 13:47:08.000000000 +0200
-+++ tests/xbps/libxbps/config/main.c	2018-08-07 08:37:37.900690953 +0200
-@@ -39,6 +39,8 @@
- 	struct xbps_handle xh;
- 	const char *tcsdir;
- 	char *buf, *buf2, pwd[PATH_MAX];
-+	char confdir[PATH_MAX + 1 + sizeof("xbps.d")];
-+	size_t len;
- 
- 	/* get test source dir */
- 	tcsdir = atf_tc_get_config_var(tc, "srcdir");
-@@ -48,7 +50,9 @@
- 
- 	xbps_strlcpy(xh.rootdir, pwd, sizeof(xh.rootdir));
- 	xbps_strlcpy(xh.metadir, pwd, sizeof(xh.metadir));
--	snprintf(xh.confdir, sizeof(xh.confdir), "%s/xbps.d", pwd);
-+	len = snprintf(confdir, sizeof(confdir), "%s/xbps.d", pwd);
-+	ATF_REQUIRE_EQ((len < sizeof(xh.confdir)), 1);
-+	memcpy(xh.confdir, confdir, len + 1);
- 
- 	ATF_REQUIRE_EQ(xbps_mkpath(xh.confdir, 0755), 0);
- 
-@@ -88,6 +88,8 @@
- 	struct xbps_handle xh;
- 	const char *tcsdir;
- 	char *buf, *buf2, pwd[PATH_MAX];
-+	char confdir[PATH_MAX + 1 + sizeof("xbps.d")];
-+	size_t len;
- 
- 	/* get test source dir */
- 	tcsdir = atf_tc_get_config_var(tc, "srcdir");
-@@ -97,7 +99,9 @@
- 
- 	xbps_strlcpy(xh.rootdir, tcsdir, sizeof(xh.rootdir));
- 	xbps_strlcpy(xh.metadir, tcsdir, sizeof(xh.metadir));
--	snprintf(xh.confdir, sizeof(xh.confdir), "%s/xbps.d", pwd);
-+	len = snprintf(confdir, sizeof(confdir), "%s/xbps.d", pwd);
-+	ATF_REQUIRE_EQ((len < sizeof(xh.confdir)), 1);
-+	memcpy(xh.confdir, confdir, len + 1);
- 
- 	ATF_REQUIRE_EQ(xbps_mkpath(xh.confdir, 0755), 0);
- 
diff --git a/srcpkgs/xbps/patches/fix-https-proxy.patch b/srcpkgs/xbps/patches/fix-https-proxy.patch
deleted file mode 100644
index 860c245b3ae..00000000000
--- a/srcpkgs/xbps/patches/fix-https-proxy.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 07ec982b078f8672c8cdbb42bf2e861c969ab40b Mon Sep 17 00:00:00 2001
-From: Duncaen <mail@duncano.de>
-Date: Mon, 8 Apr 2019 13:16:53 +0200
-Subject: [PATCH] lib/fetch/http.c: ignore headers after CONNECT response
-
----
- lib/fetch/http.c | 19 ++++++++++++++++++-
- 1 file changed, 18 insertions(+), 1 deletion(-)
-
-diff --git lib/fetch/http.c lib/fetch/http.c
-index dcc7bf7d..cb27905e 100644
---- lib/fetch/http.c
-+++ lib/fetch/http.c
-@@ -721,6 +721,8 @@ http_connect(struct url *URL, struct url *purl, const char *flags, int *cached)
- {
- 	struct url *curl;
- 	conn_t *conn;
-+	const char *p;
-+	hdr_t h;
- 	int af, verbose;
- #ifdef TCP_NOPUSH
- 	int val;
-@@ -759,10 +761,25 @@ http_connect(struct url *URL, struct url *purl, const char *flags, int *cached)
- 		http_cmd(conn, "\r\n");
- 
- 		if (http_get_reply(conn) != HTTP_OK) {
-+			http_seterr(conn->err);
- 			fetch_close(conn);
- 			return (NULL);
- 		}
--		http_get_reply(conn);
-+		/* Read and discard the rest of the proxy response */
-+		do {
-+			switch ((h = http_next_header(conn, &p))) {
-+			case hdr_syserror:
-+				fetch_syserr();
-+				fetch_close(conn);
-+				return (NULL);
-+			case hdr_error:
-+				http_seterr(HTTP_PROTOCOL_ERROR);
-+				fetch_close(conn);
-+				return (NULL);
-+			default:
-+				/* ignore */ ;
-+			}
-+		} while (h > hdr_end);
- 	}
- 	if (strcasecmp(URL->scheme, SCHEME_HTTPS) == 0 &&
- 	    fetch_ssl(conn, URL, verbose) == -1) {
--- 
-2.21.0
-
diff --git a/srcpkgs/xbps/patches/fix-namespace-violation.patch b/srcpkgs/xbps/patches/fix-namespace-violation.patch
deleted file mode 100644
index 67b0202d88e..00000000000
--- a/srcpkgs/xbps/patches/fix-namespace-violation.patch
+++ /dev/null
@@ -1,475 +0,0 @@
-From 0f338597015271ee504100c32fd2c4926efdb423 Mon Sep 17 00:00:00 2001
-From: Foxlet <foxlet@furcode.co>
-Date: Tue, 17 Jul 2018 22:24:26 -0400
-Subject: [PATCH] Fix namespace violation
-
----
- bin/xbps-alternatives/main.c        |  2 +-
- bin/xbps-create/main.c              |  4 +--
- bin/xbps-install/main.c             |  4 +--
- bin/xbps-install/state_cb.c         |  2 +-
- bin/xbps-pkgdb/check.c              |  6 ++---
- bin/xbps-pkgdb/check_pkg_unneeded.c |  2 +-
- bin/xbps-query/list.c               | 38 ++++++++++++++---------------
- bin/xbps-query/ownedby.c            | 10 ++++----
- bin/xbps-query/search.c             |  8 +++---
- bin/xbps-reconfigure/main.c         |  2 +-
- bin/xbps-remove/clean-cache.c       |  4 +--
- bin/xbps-remove/main.c              |  2 +-
- bin/xbps-rindex/index-clean.c       |  4 +--
- bin/xbps-rindex/remove-obsoletes.c  |  2 +-
- bin/xbps-uchroot/main.c             |  4 +--
- configure                           |  2 +-
- lib/package_orphans.c               |  2 +-
- lib/plist_fetch.c                   |  6 ++---
- lib/rpool.c                         |  6 ++---
- lib/transaction_conflicts.c         |  2 +-
- 20 files changed, 56 insertions(+), 56 deletions(-)
-
-diff --git bin/xbps-alternatives/main.c bin/xbps-alternatives/main.c
-index c722a74b..94ab31e8 100644
---- bin/xbps-alternatives/main.c
-+++ bin/xbps-alternatives/main.c
-@@ -55,7 +55,7 @@ usage(bool fail)
- }
- 
- static int
--state_cb(const struct xbps_state_cb_data *xscd, void *cbd _unused)
-+state_cb(const struct xbps_state_cb_data *xscd, void *cbd UNUSED)
- {
- 	bool slog = false;
- 
-diff --git bin/xbps-create/main.c bin/xbps-create/main.c
-index aac9676a..2c211215 100644
---- bin/xbps-create/main.c
-+++ bin/xbps-create/main.c
-@@ -199,7 +199,7 @@ process_one_alternative(const char *altgrname, const char *val)
- 
- 
- static void
--process_dict_of_arrays(const char *key _unused, const char *val)
-+process_dict_of_arrays(const char *key UNUSED, const char *val)
- {
- 	char *altgrname, *args, *p, *saveptr;
- 
-@@ -302,7 +302,7 @@ entry_is_conf_file(const char *file)
- }
- 
- static int
--ftw_cb(const char *fpath, const struct stat *sb, const struct dirent *dir _unused)
-+ftw_cb(const char *fpath, const struct stat *sb, const struct dirent *dir UNUSED)
- {
- 	struct xentry *xe = NULL;
- 	xbps_dictionary_t fileinfo = NULL;
-diff --git bin/xbps-install/main.c bin/xbps-install/main.c
-index b57f2fe9..da20da1a 100644
---- bin/xbps-install/main.c
-+++ bin/xbps-install/main.c
-@@ -68,7 +68,7 @@ usage(bool fail)
- }
- 
- static void
--unpack_progress_cb(const struct xbps_unpack_cb_data *xpd, void *cbdata _unused)
-+unpack_progress_cb(const struct xbps_unpack_cb_data *xpd, void *cbdata UNUSED)
- {
- 	if (xpd->entry == NULL || xpd->entry_total_count <= 0)
- 		return;
-@@ -80,7 +80,7 @@ unpack_progress_cb(const struct xbps_unpack_cb_data *xpd, void *cbdata _unused)
- }
- 
- static int
--repo_import_key_cb(struct xbps_repo *repo, void *arg _unused, bool *done _unused)
-+repo_import_key_cb(struct xbps_repo *repo, void *arg UNUSED, bool *done UNUSED)
- {
- 	int rv;
- 
-diff --git bin/xbps-install/state_cb.c bin/xbps-install/state_cb.c
-index 5189b9a9..a2063cea 100644
---- bin/xbps-install/state_cb.c
-+++ bin/xbps-install/state_cb.c
-@@ -32,7 +32,7 @@
- #include "defs.h"
- 
- int
--state_cb(const struct xbps_state_cb_data *xscd, void *cbdata _unused)
-+state_cb(const struct xbps_state_cb_data *xscd, void *cbdata UNUSED)
- {
- 	xbps_dictionary_t pkgd;
- 	const char *instver, *newver;
-diff --git bin/xbps-pkgdb/check.c bin/xbps-pkgdb/check.c
-index ed393398..6ae11db7 100644
---- bin/xbps-pkgdb/check.c
-+++ bin/xbps-pkgdb/check.c
-@@ -36,11 +36,11 @@
- #include "defs.h"
- 
- static int
--pkgdb_cb(struct xbps_handle *xhp _unused,
-+pkgdb_cb(struct xbps_handle *xhp UNUSED,
- 		xbps_object_t obj,
--		const char *key _unused,
-+		const char *key UNUSED,
- 		void *arg,
--		bool *done _unused)
-+		bool *done UNUSED)
- {
- 	const char *pkgver;
- 	char *pkgname;
-diff --git bin/xbps-pkgdb/check_pkg_unneeded.c bin/xbps-pkgdb/check_pkg_unneeded.c
-index d2249304..2b137b3f 100644
---- bin/xbps-pkgdb/check_pkg_unneeded.c
-+++ bin/xbps-pkgdb/check_pkg_unneeded.c
-@@ -43,7 +43,7 @@
-  * 	  and remove them if that was true.
-  */
- int
--check_pkg_unneeded(struct xbps_handle *xhp _unused, const char *pkgname, void *arg)
-+check_pkg_unneeded(struct xbps_handle *xhp UNUSED, const char *pkgname, void *arg)
- {
- 	xbps_array_t replaces;
- 	xbps_dictionary_t pkgd = arg;
-diff --git bin/xbps-query/list.c bin/xbps-query/list.c
-index ddda8be8..f08334c3 100644
---- bin/xbps-query/list.c
-+++ bin/xbps-query/list.c
-@@ -38,11 +38,11 @@ struct list_pkgver_cb {
- };
- 
- int
--list_pkgs_in_dict(struct xbps_handle *xhp _unused,
-+list_pkgs_in_dict(struct xbps_handle *xhp UNUSED,
- 		  xbps_object_t obj,
--		  const char *key _unused,
-+		  const char *key UNUSED,
- 		  void *arg,
--		  bool *loop_done _unused)
-+		  bool *loop_done UNUSED)
- {
- 	struct list_pkgver_cb *lpc = arg;
- 	const char *pkgver, *short_desc, *state_str;
-@@ -88,11 +88,11 @@ list_pkgs_in_dict(struct xbps_handle *xhp _unused,
- }
- 
- int
--list_manual_pkgs(struct xbps_handle *xhp _unused,
-+list_manual_pkgs(struct xbps_handle *xhp UNUSED,
- 		 xbps_object_t obj,
--		 const char *key _unused,
--		 void *arg _unused,
--		 bool *loop_done _unused)
-+		 const char *key UNUSED,
-+		 void *arg UNUSED,
-+		 bool *loop_done UNUSED)
- {
- 	const char *pkgver;
- 	bool automatic = false;
-@@ -107,11 +107,11 @@ list_manual_pkgs(struct xbps_handle *xhp _unused,
- }
- 
- int
--list_hold_pkgs(struct xbps_handle *xhp _unused,
-+list_hold_pkgs(struct xbps_handle *xhp UNUSED,
- 		xbps_object_t obj,
--		const char *key _unused,
--		void *arg _unused,
--		bool *loop_done _unused)
-+		const char *key UNUSED,
-+		void *arg UNUSED,
-+		bool *loop_done UNUSED)
- {
- 	const char *pkgver;
- 
-@@ -124,11 +124,11 @@ list_hold_pkgs(struct xbps_handle *xhp _unused,
- }
- 
- int
--list_repolock_pkgs(struct xbps_handle *xhp _unused,
-+list_repolock_pkgs(struct xbps_handle *xhp UNUSED,
- 		xbps_object_t obj,
--		const char *key _unused,
--		void *arg _unused,
--		bool *loop_done _unused)
-+		const char *key UNUSED,
-+		void *arg UNUSED,
-+		bool *loop_done UNUSED)
- {
- 	const char *pkgver;
- 
-@@ -171,7 +171,7 @@ list_pkgs_pkgdb(struct xbps_handle *xhp)
- }
- 
- static int
--repo_list_uri_cb(struct xbps_repo *repo, void *arg _unused, bool *done _unused)
-+repo_list_uri_cb(struct xbps_repo *repo, void *arg UNUSED, bool *done UNUSED)
- {
- 	const char *signedby = NULL;
- 	uint16_t pubkeysize = 0;
-@@ -219,11 +219,11 @@ struct fflongest {
- };
- 
- static int
--_find_longest_pkgver_cb(struct xbps_handle *xhp _unused,
-+_find_longest_pkgver_cb(struct xbps_handle *xhp UNUSED,
- 			xbps_object_t obj,
--			const char *key _unused,
-+			const char *key UNUSED,
- 			void *arg,
--			bool *loop_done _unused)
-+			bool *loop_done UNUSED)
- {
- 	struct fflongest *ffl = arg;
- 	const char *pkgver;
-diff --git bin/xbps-query/ownedby.c bin/xbps-query/ownedby.c
-index fc8684dc..11f76a99 100644
---- bin/xbps-query/ownedby.c
-+++ bin/xbps-query/ownedby.c
-@@ -97,9 +97,9 @@ match_files_by_pattern(xbps_dictionary_t pkg_filesd,
- static int
- ownedby_pkgdb_cb(struct xbps_handle *xhp,
- 		xbps_object_t obj,
--		const char *obj_key _unused,
-+		const char *obj_key UNUSED,
- 		void *arg,
--		bool *done _unused)
-+		bool *done UNUSED)
- {
- 	xbps_dictionary_t pkgmetad;
- 	xbps_array_t files_keys;
-@@ -129,9 +129,9 @@ ownedby_pkgdb_cb(struct xbps_handle *xhp,
- static int
- repo_match_cb(struct xbps_handle *xhp,
- 		xbps_object_t obj,
--		const char *key _unused,
-+		const char *key UNUSED,
- 		void *arg,
--		bool *done _unused)
-+		bool *done UNUSED)
- {
- 	xbps_dictionary_t filesd;
- 	xbps_array_t files_keys;
-@@ -163,7 +163,7 @@ repo_match_cb(struct xbps_handle *xhp,
- }
- 
- static int
--repo_ownedby_cb(struct xbps_repo *repo, void *arg, bool *done _unused)
-+repo_ownedby_cb(struct xbps_repo *repo, void *arg, bool *done UNUSED)
- {
- 	xbps_array_t allkeys;
- 	struct ffdata *ffd = arg;
-diff --git bin/xbps-query/search.c bin/xbps-query/search.c
-index 4b7ef054..41e1211d 100644
---- bin/xbps-query/search.c
-+++ bin/xbps-query/search.c
-@@ -94,11 +94,11 @@ print_results(struct xbps_handle *xhp, struct search_data *sd)
- }
- 
- static int
--search_array_cb(struct xbps_handle *xhp _unused,
-+search_array_cb(struct xbps_handle *xhp UNUSED,
- 		xbps_object_t obj,
--		const char *key _unused,
-+		const char *key UNUSED,
- 		void *arg,
--		bool *done _unused)
-+		bool *done UNUSED)
- {
- 	xbps_object_t obj2;
- 	struct search_data *sd = arg;
-@@ -210,7 +210,7 @@ search_array_cb(struct xbps_handle *xhp _unused,
- }
- 
- static int
--search_repo_cb(struct xbps_repo *repo, void *arg, bool *done _unused)
-+search_repo_cb(struct xbps_repo *repo, void *arg, bool *done UNUSED)
- {
- 	xbps_array_t allkeys;
- 	struct search_data *sd = arg;
-diff --git bin/xbps-reconfigure/main.c bin/xbps-reconfigure/main.c
-index 814959a8..1508c375 100644
---- bin/xbps-reconfigure/main.c
-+++ bin/xbps-reconfigure/main.c
-@@ -52,7 +52,7 @@ usage(bool fail)
- }
- 
- static int
--state_cb(const struct xbps_state_cb_data *xscd, void *cbd _unused)
-+state_cb(const struct xbps_state_cb_data *xscd, void *cbd UNUSED)
- {
- 	bool slog = false;
- 
-diff --git bin/xbps-remove/clean-cache.c bin/xbps-remove/clean-cache.c
-index dacc9a59..b3e00622 100644
---- bin/xbps-remove/clean-cache.c
-+++ bin/xbps-remove/clean-cache.c
-@@ -38,8 +38,8 @@
- 
- static int
- cleaner_cb(struct xbps_handle *xhp, xbps_object_t obj,
--		const char *key _unused, void *arg,
--		bool *done _unused)
-+		const char *key UNUSED, void *arg,
-+		bool *done UNUSED)
- {
- 	xbps_dictionary_t repo_pkgd;
- 	const char *binpkg, *rsha256;
-diff --git bin/xbps-remove/main.c bin/xbps-remove/main.c
-index 25554e8c..838e610b 100644
---- bin/xbps-remove/main.c
-+++ bin/xbps-remove/main.c
-@@ -64,7 +64,7 @@ usage(bool fail)
- }
- 
- static int
--state_cb_rm(const struct xbps_state_cb_data *xscd, void *cbdata _unused)
-+state_cb_rm(const struct xbps_state_cb_data *xscd, void *cbdata UNUSED)
- {
- 	bool slog = false;
- 
-diff --git bin/xbps-rindex/index-clean.c bin/xbps-rindex/index-clean.c
-index 364d57ed..27cedd6e 100644
---- bin/xbps-rindex/index-clean.c
-+++ bin/xbps-rindex/index-clean.c
-@@ -47,9 +47,9 @@ struct CleanerCbInfo {
- static int
- idx_cleaner_cb(struct xbps_handle *xhp,
- 		xbps_object_t obj,
--		const char *key _unused,
-+		const char *key UNUSED,
- 		void *arg,
--		bool *done _unused)
-+		bool *done UNUSED)
- {
- 	struct CleanerCbInfo *info = arg;
- 	const char *arch, *pkgver, *sha256;
-diff --git bin/xbps-rindex/remove-obsoletes.c bin/xbps-rindex/remove-obsoletes.c
-index f426fe7c..80cf2fff 100644
---- bin/xbps-rindex/remove-obsoletes.c
-+++ bin/xbps-rindex/remove-obsoletes.c
-@@ -65,7 +65,7 @@ remove_pkg(const char *repodir, const char *file)
- }
- 
- static int
--cleaner_cb(struct xbps_handle *xhp, xbps_object_t obj, const char *key _unused, void *arg, bool *done _unused)
-+cleaner_cb(struct xbps_handle *xhp, xbps_object_t obj, const char *key UNUSED, void *arg, bool *done UNUSED)
- {
- 	struct xbps_repo *repo = ((struct xbps_repo **)arg)[0], *stage = ((struct xbps_repo **)arg)[1];
- 	const char *binpkg;
-diff --git bin/xbps-uchroot/main.c bin/xbps-uchroot/main.c
-index 0ee13253..c232de8e 100644
---- bin/xbps-uchroot/main.c
-+++ bin/xbps-uchroot/main.c
-@@ -109,8 +109,8 @@ die(const char *fmt, ...)
- }
- 
- static int
--ftw_cb(const char *fpath, const struct stat *sb _unused, int type,
--		struct FTW *ftwbuf _unused)
-+ftw_cb(const char *fpath, const struct stat *sb UNUSED, int type,
-+		struct FTW *ftwbuf UNUSED)
- {
- 	int sverrno = 0;
- 
-diff --git configure configure
-index 32cc5569..ebef990a 100755
---- configure
-+++ configure
-@@ -192,7 +192,7 @@ echo "CPPFLAGS +=	-DXBPS_SYSCONF_PATH=\\\"${ETCDIR}\\\"" >>$CONFIG_MK
- echo "CPPFLAGS +=	-DXBPS_SYSDEFCONF_PATH=\\\"${SHAREDIR}/xbps.d\\\"" >>$CONFIG_MK
- echo "CPPFLAGS +=	-DXBPS_VERSION=\\\"${VERSION}\\\"" >>$CONFIG_MK
- echo "CPPFLAGS +=	-DXBPS_META_PATH=\\\"${DBDIR}\\\"" >>$CONFIG_MK
--echo "CPPFLAGS +=	-D_unused=\"__attribute__((__unused__))\"" >>$CONFIG_MK
-+echo "CPPFLAGS +=	-DUNUSED=\"__attribute__((__unused__))\"" >>$CONFIG_MK
- 
- if [ -d .git ]; then
- 	_gitrev=$(git rev-parse --short HEAD)
-diff --git lib/package_orphans.c lib/package_orphans.c
-index 4a31fe1d..b908c049 100644
---- lib/package_orphans.c
-+++ lib/package_orphans.c
-@@ -60,7 +60,7 @@
-  */
- 
- xbps_array_t
--xbps_find_pkg_orphans(struct xbps_handle *xhp, xbps_array_t orphans_user _unused)
-+xbps_find_pkg_orphans(struct xbps_handle *xhp, xbps_array_t orphans_user UNUSED)
- {
- 	xbps_array_t rdeps, reqby, array = NULL;
- 	xbps_dictionary_t pkgd, deppkgd;
-diff --git lib/plist_fetch.c lib/plist_fetch.c
-index a1535515..fedd8ce8 100644
---- lib/plist_fetch.c
-+++ lib/plist_fetch.c
-@@ -46,7 +46,7 @@ struct fetch_archive {
- };
- 
- static int
--fetch_archive_open(struct archive *a _unused, void *client_data)
-+fetch_archive_open(struct archive *a UNUSED, void *client_data)
- {
- 	struct fetch_archive *f = client_data;
- 
-@@ -59,7 +59,7 @@ fetch_archive_open(struct archive *a _unused, void *client_data)
- }
- 
- static ssize_t
--fetch_archive_read(struct archive *a _unused, void *client_data, const void **buf)
-+fetch_archive_read(struct archive *a UNUSED, void *client_data, const void **buf)
- {
- 	struct fetch_archive *f = client_data;
- 
-@@ -68,7 +68,7 @@ fetch_archive_read(struct archive *a _unused, void *client_data, const void **bu
- }
- 
- static int
--fetch_archive_close(struct archive *a _unused, void *client_data)
-+fetch_archive_close(struct archive *a UNUSED, void *client_data)
- {
- 	struct fetch_archive *f = client_data;
- 
-diff --git lib/rpool.c lib/rpool.c
-index 9acc1181..94af7298 100644
---- lib/rpool.c
-+++ lib/rpool.c
-@@ -120,7 +120,7 @@ xbps_rpool_get_repo(const char *url)
- }
- 
- void
--xbps_rpool_release(struct xbps_handle *xhp _unused)
-+xbps_rpool_release(struct xbps_handle *xhp UNUSED)
- {
- 	struct xbps_repo *repo;
- 
-@@ -195,7 +195,7 @@ find_pkg_cb(struct xbps_repo *repo, void *arg, bool *done)
- }
- 
- static int
--find_pkg_revdeps_cb(struct xbps_repo *repo, void *arg, bool *done _unused)
-+find_pkg_revdeps_cb(struct xbps_repo *repo, void *arg, bool *done UNUSED)
- {
- 	struct rpool_fpkg *rpf = arg;
- 	xbps_array_t revdeps = NULL;
-@@ -216,7 +216,7 @@ find_pkg_revdeps_cb(struct xbps_repo *repo, void *arg, bool *done _unused)
- }
- 
- static int
--find_best_pkg_cb(struct xbps_repo *repo, void *arg, bool *done _unused)
-+find_best_pkg_cb(struct xbps_repo *repo, void *arg, bool *done UNUSED)
- {
- 	struct rpool_fpkg *rpf = arg;
- 	xbps_dictionary_t pkgd;
-diff --git lib/transaction_conflicts.c lib/transaction_conflicts.c
-index 09975cee..387895a4 100644
---- lib/transaction_conflicts.c
-+++ lib/transaction_conflicts.c
-@@ -148,7 +148,7 @@ pkg_conflicts_trans(struct xbps_handle *xhp, xbps_array_t array,
- 
- static int
- pkgdb_conflicts_cb(struct xbps_handle *xhp, xbps_object_t obj,
--		const char *key _unused, void *arg, bool *done _unused)
-+		const char *key UNUSED, void *arg, bool *done UNUSED)
- {
- 	xbps_array_t pkg_cflicts, trans_cflicts, pkgs = arg;
- 	xbps_dictionary_t pkgd;
--- 
-2.19.1
-
diff --git a/srcpkgs/xbps/patches/fix-rootdir-size.patch b/srcpkgs/xbps/patches/fix-rootdir-size.patch
deleted file mode 100644
index d7ca7b26588..00000000000
--- a/srcpkgs/xbps/patches/fix-rootdir-size.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- lib/initend.c	2018-07-30 13:47:08.000000000 +0200
-+++ lib/initend.c	2018-08-07 08:28:24.261662391 +0200
-@@ -398,6 +398,7 @@
- {
- 	struct utsname un;
- 	char cwd[PATH_MAX-1], sysconfdir[XBPS_MAXPATH+sizeof(XBPS_SYSDEFCONF_PATH)], *buf;
-+	char relpath[PATH_MAX+1+XBPS_MAXPATH];
- 	const char *repodir, *native_arch;
- 	int rv;
- 
-@@ -412,9 +413,13 @@
- 		xhp->rootdir[0] = '/';
- 		xhp->rootdir[1] = '\0';
- 	} else if (xhp->rootdir[0] != '/') {
-+		size_t len;
- 		buf = strdup(xhp->rootdir);
--		snprintf(xhp->rootdir, sizeof(xhp->rootdir), "%s/%s", cwd, buf);
-+		len = snprintf(relpath, sizeof(relpath), "%s/%s", cwd, buf);
- 		free(buf);
-+		if (len >= XBPS_MAXPATH)
-+			return ENOTSUP;
-+		memcpy(xhp->rootdir, relpath, len + 1);
- 	}
- 	xbps_dbg_printf(xhp, "%s\n", XBPS_RELVER);
- 	/* set confdir */
diff --git a/srcpkgs/xbps/patches/fix-strncat-dash.patch b/srcpkgs/xbps/patches/fix-strncat-dash.patch
deleted file mode 100644
index acabf41865d..00000000000
--- a/srcpkgs/xbps/patches/fix-strncat-dash.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- bin/xbps-checkvers/main.c	2018-07-30 13:47:08.000000000 +0200
-+++ bin/xbps-checkvers/main.c	2018-08-07 08:47:03.070720109 +0200
-@@ -599,9 +599,9 @@
- 	else
- 		rcv->pkgd = xbps_rpool_get_pkg(&rcv->xhp, srcver);
- 
--	srcver = strncat(srcver, "-", 1);
-+	srcver = strncat(srcver, "-", 2);
- 	srcver = strncat(srcver, version.v.s, version.v.len);
--	srcver = strncat(srcver, "_", 1);
-+	srcver = strncat(srcver, "_", 2);
- 	srcver = strncat(srcver, revision.v.s, revision.v.len);
- 
- 	xbps_dictionary_get_cstring_nocopy(rcv->pkgd, "pkgver", &repover);
diff --git a/srcpkgs/xbps/template b/srcpkgs/xbps/template
index 23c8d900c4a..1aaee54df0f 100644
--- a/srcpkgs/xbps/template
+++ b/srcpkgs/xbps/template
@@ -1,15 +1,15 @@
 # Template file for 'xbps'
 pkgname=xbps
-version=0.53
-revision=10
+version=0.54
+revision=1
 bootstrap=yes
 build_style=configure
-short_desc="The XBPS package system utilities"
+short_desc="XBPS package system utilities"
 maintainer="Juan RP <xtraeme@voidlinux.org>"
-homepage="https://github.com/void-linux/xbps"
 license="BSD-2-Clause"
+homepage="https://github.com/void-linux/xbps"
 distfiles="https://github.com/void-linux/xbps/archive/${version}.tar.gz"
-checksum=360b3149141fec46dd6da9019605bcee48ee4d29bffe5aa47a9fd5fa68ccd5f4
+checksum=f7e97a342d9eb3f38274bef3136f91398692f50d84fd23bc7990da2000936a98
 
 hostmakedepends="pkg-config"
 checkdepends="kyua"
@@ -30,8 +30,7 @@ if [ "$CHROOT_READY" ]; then
 fi
 
 do_configure() {
-	HAVE_VASPRINTF=1 ./configure --prefix=/usr --sysconfdir=/etc --enable-debug \
-		--bindir=/usr/bin ${CHROOT_READY:+--enable-tests}
+	./configure --prefix=/usr --sysconfdir=/etc ${CHROOT_READY:+--enable-tests}
 }
 post_install() {
 	case "$XBPS_TARGET_MACHINE" in
@@ -48,8 +47,8 @@ post_install() {
 			${DESTDIR}/usr/share/xbps.d/00-repository-main.conf
 		;;
 	esac
-	vlicense COPYING
-	vlicense COPYING.3RDPARTY
+	vlicense LICENSE
+	vlicense LICENSE.3RDPARTY
 }
 
 libxbps_package() {
@@ -60,7 +59,7 @@ libxbps_package() {
 }
 libxbps-devel_package() {
 	short_desc+=" - runtime library (development files)"
-	depends="zlib-devel libarchive-devel libxbps>=${version}"
+	depends="zlib-devel libarchive-devel libxbps>=${version}_${revision}"
 	pkg_install() {
 		vmove usr/include
 		vmove "usr/lib/*.a"

From 0e1e9b80ce6f6cdb768c23d71602182767fd43b9 Mon Sep 17 00:00:00 2001
From: Juan RP <xtraeme@gmail.com>
Date: Thu, 20 Jun 2019 19:30:26 +0200
Subject: [PATCH 2/2] xbps-static: update to 0.54.

---
 srcpkgs/xbps-static/template | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/xbps-static/template b/srcpkgs/xbps-static/template
index e86010c6bb2..dcb007a57a4 100644
--- a/srcpkgs/xbps-static/template
+++ b/srcpkgs/xbps-static/template
@@ -1,27 +1,24 @@
 # Template file for 'xbps-static'
 # NOTE: keep this package synchronized with "srcpkgs/xbps".
 pkgname=xbps-static
-version=0.53
-revision=2
+version=0.54
+revision=1
+# only musl
+archs="*-musl"
 wrksrc="xbps-${version}"
 build_style=configure
 hostmakedepends="pkg-config"
 makedepends="libarchive-devel"
 depends="xbps-triggers"
-short_desc="The XBPS package system utilities - static binaries"
+short_desc="XBPS package system utilities - static binaries"
 maintainer="Juan RP <xtraeme@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://www.voidlinux.org/xbps"
 distfiles="https://github.com/void-linux/xbps/archive/${version}.tar.gz"
-checksum=360b3149141fec46dd6da9019605bcee48ee4d29bffe5aa47a9fd5fa68ccd5f4
-
-case "$XBPS_TARGET_MACHINE" in
-	*-musl) ;;
-	*) broken="only for musl arches" ;;
-esac
+checksum=f7e97a342d9eb3f38274bef3136f91398692f50d84fd23bc7990da2000936a98
 
 do_configure() {
-	HAVE_VASPRINTF=1 ./configure --prefix=/usr --sysconfdir=/etc --enable-static --enable-debug --verbose
+	./configure --prefix=/usr --sysconfdir=/etc --enable-static
 }
 
 do_install() {
@@ -31,6 +28,6 @@ do_install() {
 }
 
 post_install() {
-	vlicense COPYING
-	vlicense COPYING.3RDPARTY
+	vlicense LICENSE
+	vlicense LICENSE.3RDPARTY
 }
