CVS commit: pkgsrc/devel/pkgconf

"Thomas Klausner" <[email protected]> Mon, 3 Aug 2026 20:09:59 +0000
Newsgroups gmane.os.netbsd.devel.pkgsrc.cvs
Message-ID <[email protected]>
This is a multi-part message in MIME format.

--_----------=_1785787799245330
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="US-ASCII"

Module Name:	pkgsrc
Committed By:	wiz
Date:		Mon Aug  3 20:09:59 UTC 2026

Modified Files:
	pkgsrc/devel/pkgconf: Makefile distinfo

Log Message:
pkgconf: update to 3.0.5.

Changes from 3.0.4 to 3.0.5:
----------------------------

* Correctness fixes:
  - Shell quoting and backslash escapes in pc(5) properties are now consumed
    once, after variable substitution, instead of while splitting the property
    beforehand.  Quoting arriving from a variable is therefore treated like
    quoting written inline, --variable reports a value as the .pc file spells
    it, and fragments are escaped exactly once when rendered.  This supersedes
    the 3.0.4 fix, which unescaped whitespace at parse time and so hid the
    escaping from consumers such as cmake's FindPkgConfig.
    See https://github.com/pkgconf/pkgconf/issues/575 and
    https://github.com/pkgconf/pkgconf/issues/579.
  - Metadata queries no longer consult Conflicts rules between the modules named
    on the command line, as reporting metadata does not combine them into a
    build.  This covers --license, --license-file, --modversion, --path,
    --print-provides, --print-requires, --print-requires-private,
    --print-variables, --source and --variable.  --cflags, --libs and --exists
    are unaffected.
    See https://github.com/pkgconf/pkgconf/issues/580.
  - ${pc_sysrootdir} is now injected into the path taken by every -isystem and
    -idirafter flag in a fragment list, rather than only the first.
  - -isystem and -idirafter written joined to their path, as in `-isystem/opt`,
    are split into the flag and the path it takes, so that the path is subject
    to the same sysroot injection and deduplication as the separated spelling.
  - Sysroot injection is decided by reading the fragment's path instead of
    remembering whether ${pc_sysrootdir} was expanded, so a path which already
    lies under the sysroot never acquires a doubled prefix.

* Performance:
  - The package cache and the fragment deduplication index are kept sorted and
    searched with bsearch() rather than re-sorted or scanned linearly.
  - Variable keys and fragment text are stored with the structures they belong
    to, and buffers are rewound and reused rather than reallocated.
  - Escaping, fragment rendering and path relocation write into their
    destination buffer directly.
  Resolving a graph of roughly forty modules is about six times faster than
  3.0.4, and a small graph such as gio-2.0 about twice as fast.

* Build and portability fixes:
  - Fix the pkgconf-lite build, which failed to link because the dependency list
    renderer had come to depend on tracing machinery that pkgconf-lite omits.
  - Fix the test runner failing to build on MinGW, where the mkdtemp(3) fallback
    was compiled only for MSVC builds.
    See https://github.com/pkgconf/pkgconf/issues/582.
  - The meson build now defines HAVE_DECL_READLINKAT, so readlinkat(2) is used
    where it is available instead of always falling back to readlink(2).
  The MinGW and readlinkat fixes are by moi15moi.

* New libpkgconf API additions:
  - pkgconf_argv_split_raw: splits a string into an argument vector like
    pkgconf_argv_split, but leaves the quoting it reads in place.
  - pkgconf_fragment_filter_splice: like pkgconf_fragment_filter, but moves the
    matching fragments to the destination list instead of copying them.
  - pkgconf_charset_from_spans: compiles a span list into a byte set.
  - pkgconf_buffer_escape_charset: escapes a buffer against such a byte set.
  - pkgconf_buffer_rewind: empties a buffer while keeping its allocation.
  - pkgconf_list_splice: moves the contents of one list onto the end of another.


To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 pkgsrc/devel/pkgconf/Makefile
cvs rdiff -u -r1.35 -r1.36 pkgsrc/devel/pkgconf/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.


--_----------=_1785787799245330
Content-Disposition: inline
Content-Length: 1501
Content-Transfer-Encoding: binary
Content-Type: text/x-diff; charset=us-ascii

Modified files:

Index: pkgsrc/devel/pkgconf/Makefile
diff -u pkgsrc/devel/pkgconf/Makefile:1.40 pkgsrc/devel/pkgconf/Makefile:1.41
--- pkgsrc/devel/pkgconf/Makefile:1.40	Wed Jul 22 07:00:46 2026
+++ pkgsrc/devel/pkgconf/Makefile	Mon Aug  3 20:09:59 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.40 2026/07/22 07:00:46 adam Exp $
+# $NetBSD: Makefile,v 1.41 2026/08/03 20:09:59 wiz Exp $
 
-DISTNAME=	pkgconf-3.0.4
+DISTNAME=	pkgconf-3.0.5
 CATEGORIES=	devel
 MASTER_SITES=	https://distfiles.dereferenced.org/pkgconf/
 

Index: pkgsrc/devel/pkgconf/distinfo
diff -u pkgsrc/devel/pkgconf/distinfo:1.35 pkgsrc/devel/pkgconf/distinfo:1.36
--- pkgsrc/devel/pkgconf/distinfo:1.35	Wed Jul 22 07:00:46 2026
+++ pkgsrc/devel/pkgconf/distinfo	Mon Aug  3 20:09:59 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.35 2026/07/22 07:00:46 adam Exp $
+$NetBSD: distinfo,v 1.36 2026/08/03 20:09:59 wiz Exp $
 
-BLAKE2s (pkgconf-3.0.4.tar.gz) = 8dcad54311b79856c111572a7783ae26f4b0a48093f2aa27bd4b979a2f100770
-SHA512 (pkgconf-3.0.4.tar.gz) = 5b40ff019f379d039e5250ad04c908b48708e063a190bd4063c1a77a7c299c6d1155428c0f1559dc1476d4f07c07c62210b90fd465cdb7c690b52af353943a89
-Size (pkgconf-3.0.4.tar.gz) = 611767 bytes
+BLAKE2s (pkgconf-3.0.5.tar.gz) = 406cf60feb29d5ce5c105bb2590bb2e6f7d39b43a101c401dd263cff311b7020
+SHA512 (pkgconf-3.0.5.tar.gz) = 1fdd988bd3991c932e7376909880e700dd02eb7a4cc212795462debdb83c32dcaad71f0a3a6d378ee99fd6f0e92711ed549bd25ff772a15ba02d2e01781acbe0
+Size (pkgconf-3.0.5.tar.gz) = 624066 bytes


--_----------=_1785787799245330--