git: 43b1ade21e22 - main - pkgconf: match the update to version 2.9.93

From: Pierre Pronchery <khorben_at_FreeBSD.org>
Date: Wed, 01 Jul 2026 00:26:49 UTC
The branch main has been updated by khorben:

URL: https://cgit.FreeBSD.org/src/commit/?id=43b1ade21e22c0b758f8d83e4707df3024413833

commit 43b1ade21e22c0b758f8d83e4707df3024413833
Author:     Pierre Pronchery <khorben@FreeBSD.org>
AuthorDate: 2026-06-24 20:01:00 +0000
Commit:     Pierre Pronchery <khorben@FreeBSD.org>
CommitDate: 2026-07-01 00:25:46 +0000

    pkgconf: match the update to version 2.9.93
    
    This update brings spdxtool(1), with the ability to generate software
    bill of material files (SBOM) in the SPDX 3.0.1 format (JSON-LD).
    
    Reviewed by:    markj
    Approved by:    markj
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D57953
---
 lib/libpkgconf/Makefile            | 33 ++++++++++++--
 lib/libpkgconf/libpkgconf/config.h | 91 ++++++++++++++++++++++++--------------
 packages/pkgconf/pkgconf.ucl       |  8 ++--
 usr.bin/Makefile                   |  1 +
 usr.bin/bomtool/Makefile           |  1 +
 usr.bin/pkgconf/Makefile           |  2 +
 usr.bin/spdxtool/Makefile          | 30 +++++++++++++
 7 files changed, 124 insertions(+), 42 deletions(-)

diff --git a/lib/libpkgconf/Makefile b/lib/libpkgconf/Makefile
index 3cfb2172a00e..7f742dcc4858 100644
--- a/lib/libpkgconf/Makefile
+++ b/lib/libpkgconf/Makefile
@@ -7,10 +7,35 @@ MAN=		pkg.m4.7
 MANNODEV=	pc.5
 MANNODEV+=	pkgconf-personality.5
 
-SRCS=		audit.c buffer.c cache.c client.c pkg.c bsdstubs.c fragment.c
-SRCS+=		argvsplit.c fileio.c tuple.c dependency.c queue.c
-SRCS+=		path.c personality.c parser.c
-INCS=		bsdstubs.h iter.h libpkgconf-api.h libpkgconf.h stdinc.h
+# from contrib/pkgconf/meson.build:171
+SRCS=		argvsplit.c
+SRCS+=		audit.c
+SRCS+=		buffer.c
+SRCS+=		bufferset.c
+SRCS+=		bytecode.c
+SRCS+=		bsdstubs.c
+SRCS+=		cache.c
+SRCS+=		client.c
+SRCS+=		dependency.c
+SRCS+=		fileio.c
+SRCS+=		fragment.c
+SRCS+=		license.c
+SRCS+=		output.c
+SRCS+=		parser.c
+SRCS+=		path.c
+SRCS+=		personality.c
+SRCS+=		pkg.c
+SRCS+=		queue.c
+SRCS+=		tuple.c
+SRCS+=		variable.c
+SRCS+=		version.c
+
+# from contrib/pkgconf/libpkgconf/meson.build:6
+INCS=		libpkgconf.h
+INCS+=		stdinc.h
+INCS+=		iter.h
+INCS+=		bsdstubs.h
+INCS+=		libpkgconf-api.h
 
 WARNS?=		3
 
diff --git a/lib/libpkgconf/libpkgconf/config.h b/lib/libpkgconf/libpkgconf/config.h
index 49ae4a195137..2da1b4796e9d 100644
--- a/lib/libpkgconf/libpkgconf/config.h
+++ b/lib/libpkgconf/libpkgconf/config.h
@@ -1,34 +1,62 @@
+/* libpkgconf/config.h.  Generated from config.h.in by configure.  */
 /* libpkgconf/config.h.in.  Generated from configure.ac by autoheader.  */
 
-/* Define to 1 if you have the `strlcat' function. */
-#define HAVE_STRLCAT 1
+/* Define to 1 if you have the declaration of 'nl_langinfo_l', and to 0 if you
+   don't. */
+#define HAVE_DECL_NL_LANGINFO_L 1
 
-/* Define to 1 if you have the `strlcpy' function. */
-#define HAVE_STRLCPY 1
+/* Define to 1 if you have the declaration of 'pledge', and to 0 if you don't.
+   */
+#define HAVE_DECL_PLEDGE 0
 
-/* Define to 1 if you have the `strndup' function. */
-#define HAVE_STRNDUP 1
+/* Define to 1 if you have the declaration of 'readlinkat', and to 0 if you
+   don't. */
+#define HAVE_DECL_READLINKAT 1
 
-/* Define to 1 if you have the `reallocarray' function. */
-#define HAVE_REALLOCARRAY 1
+/* Define to 1 if you have the declaration of 'reallocarray', and to 0 if you
+   don't. */
+#define HAVE_DECL_REALLOCARRAY 0
 
-/* Define to 1 if you have the `strlcat' function. */
-#define HAVE_DECL_STRLCAT 1
+/* Define to 1 if you have the declaration of 'strndup', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRNDUP 1
 
-/* Define to 1 if you have the `strlcpy' function. */
-#define HAVE_DECL_STRLCPY 1
+/* Define to 1 if you have the declaration of 'unveil', and to 0 if you don't.
+   */
+#define HAVE_DECL_UNVEIL 0
 
-/* Define to 1 if you have the `strndup' function. */
-#define HAVE_DECL_STRNDUP 1
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdio.h> header file. */
+#define HAVE_STDIO_H 1
 
-/* Define to 1 if you have the `reallocarray' function. */
-#define HAVE_DECL_REALLOCARRAY 1
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
 
-/* Define to 1 if you have the `pledge' function. */
-/* #undef HAVE_DECL_PLEDGE */
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
 
-/* Define to 1 if you have the `unveil' function. */
-/* #undef HAVE_DECL_UNVEIL */
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
+#define LT_OBJDIR ".libs/"
 
 /* Name of package */
 #define PACKAGE "pkgconf"
@@ -40,7 +68,7 @@
 #define PACKAGE_NAME "pkgconf"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "pkgconf 2.5.1"
+#define PACKAGE_STRING "pkgconf 2.9.93"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "pkgconf"
@@ -49,29 +77,24 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.5.1"
+#define PACKAGE_VERSION "2.9.93"
 
-/* Define to 1 if you have the ANSI C header files. */
+/* Define to 1 if all of the C89 standard headers exist (not just the ones
+   required in a freestanding environment). This macro is provided for
+   backward compatibility; new code need not use it. */
 #define STDC_HEADERS 1
 
 /* Version number of package */
-#define VERSION "2.5.1"
-
-/* Enable large inode numbers on Mac OS X 10.5.  */
-#ifndef _DARWIN_USE_64_BIT_INODE
-# define _DARWIN_USE_64_BIT_INODE 1
-#endif
+#define VERSION "2.9.93"
 
 /* Number of bits in a file offset, on hosts where this is settable. */
 /* #undef _FILE_OFFSET_BITS */
 
-/* Define for large files, on AIX-style hosts. */
+/* Define to 1 on platforms where this makes off_t a 64-bit type. */
 /* #undef _LARGE_FILES */
 
 /* Number of bits in time_t, on hosts where this is settable. */
 /* #undef _TIME_BITS */
 
-/* Enable Solaris extensions. */
-#ifndef __EXTENSIONS__
-# define __EXTENSIONS__ 1
-#endif
+/* Define to 1 on platforms where this makes time_t a 64-bit type. */
+/* #undef __MINGW_USE_VC2005_COMPAT */
diff --git a/packages/pkgconf/pkgconf.ucl b/packages/pkgconf/pkgconf.ucl
index 9ac124001350..027db32cb1a4 100644
--- a/packages/pkgconf/pkgconf.ucl
+++ b/packages/pkgconf/pkgconf.ucl
@@ -25,8 +25,8 @@ development libraries.  It is a superset of the functionality provided by
 pkg-config from freedesktop.org, but does not provide bug-compatibility with
 the original pkg-config.
 
-Also provided is bomtool(1), a program which generates a textual SPDX 2.0
-software bill of materials (SBOM) for a given set of pkg-config modules.  The
-output of this tool can then be translated into other SBOM formats as
-necessary.
+Also provided are bomtool(1) and spdxtool(1), programs which generate a software
+bill of materials (SBOM) for a given set of pkg-config modules, in the SPDX
+version 2.2 and 3.0.1 file formats, respectively.  The output of these tools can
+then be translated into other SBOM formats as necessary.
 EOD
diff --git a/usr.bin/Makefile b/usr.bin/Makefile
index 6718286e7ddb..0b3558924382 100644
--- a/usr.bin/Makefile
+++ b/usr.bin/Makefile
@@ -236,6 +236,7 @@ SUBDIR.${MK_NIS}+=	ypwhich
 SUBDIR.${MK_OPENSSH}+=	ssh-copy-id
 SUBDIR.${MK_PKGCONF}+=	bomtool
 SUBDIR.${MK_PKGCONF}+=	pkgconf
+SUBDIR.${MK_PKGCONF}+=	spdxtool
 SUBDIR.${MK_QUOTAS}+=	quota
 SUBDIR.${MK_SENDMAIL}+=	vacation
 SUBDIR.${MK_SOUND}+=	beep
diff --git a/usr.bin/bomtool/Makefile b/usr.bin/bomtool/Makefile
index 6074c0817756..540a163f5c97 100644
--- a/usr.bin/bomtool/Makefile
+++ b/usr.bin/bomtool/Makefile
@@ -1,5 +1,6 @@
 PACKAGE=	pkgconf
 
+# from contrib/pkgconf/meson.build:257
 PROG=		bomtool
 SRCS=		main.c
 SRCS+=		getopt_long.c
diff --git a/usr.bin/pkgconf/Makefile b/usr.bin/pkgconf/Makefile
index 448e7047e116..bbe61cf09fb5 100644
--- a/usr.bin/pkgconf/Makefile
+++ b/usr.bin/pkgconf/Makefile
@@ -1,7 +1,9 @@
 PACKAGE=	pkgconf
 
+# from contrib/pkgconf/meson.build:246
 PROG=		pkgconf
 SRCS=		main.c
+SRCS+=		core.c
 SRCS+=		getopt_long.c
 SRCS+=		renderer-msvc.c
 
diff --git a/usr.bin/spdxtool/Makefile b/usr.bin/spdxtool/Makefile
new file mode 100644
index 000000000000..aaa19c128a44
--- /dev/null
+++ b/usr.bin/spdxtool/Makefile
@@ -0,0 +1,30 @@
+PACKAGE=	pkgconf
+
+# from contrib/pkgconf/meson.build:266
+PROG=		spdxtool
+SRCS=		main.c
+SRCS+=		core.c
+SRCS+=		software.c
+SRCS+=		serialize.c
+SRCS+=		simplelicensing.c
+SRCS+=		util.c
+SRCS+=		generate.c
+SRCS+=		getopt_long.c
+
+LIBADD=		pkgconf
+
+.if defined(TOOLS_PREFIX)
+NO_SHARED=	yes
+.endif
+
+PKGCONFDIR=	${SRCTOP}/contrib/pkgconf
+
+WARNS?=		3
+
+CFLAGS+=	-I${SRCTOP}/lib/libpkgconf -I${PKGCONFDIR} -I${PKGCONFDIR}/cli
+
+.PATH:		${PKGCONFDIR}/cli/spdxtool
+.PATH:		${PKGCONFDIR}/cli
+.PATH:		${PKGCONFDIR}/man
+
+.include <bsd.prog.mk>