libpkgconf


Log

Author Commit Date CI Message
Ariadne Conill 204ad5e4 2025-06-18T21:56:01 pkgconf 2.5.0. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill a0fc46a8 2025-06-18T14:51:31 libpkgconf: clean up PRINTFLIKE and DEPRECATED macros On MingW, the wrong format string checker would be used. So prefer gnu_printf where it is known to be available. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Kai Pastor fea9592a 2025-06-12T08:34:29 personality.c: _WIN32 does not want_default_static
Ariadne Conill d6be0d38 2025-06-04T11:53:20 libpkgconf: client: unref the preloaded list on client deinit Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 1a28204a 2025-06-04T11:20:39 libpkgconf: client: avoid environ keyword which is macro on Win32 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill a3af684d 2025-06-04T11:18:41 libpkgconf: pkg: ensure pkgconf_pkg_new_from_path only loads .pc files Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 9665d214 2025-06-04T11:15:52 libpkgconf: client: add pkgconf_client_preload_from_environ() Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 0a932483 2025-06-04T10:58:27 libpkgconf: pkg: add functionality for searching and scanning the preloaded package list Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill d4770169 2025-06-04T10:42:11 libpkgconf: pkg: remove freed packages from the preload list Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 01eb0cf1 2025-06-04T10:39:09 libpkgconf: client: add pkgconf_client_preload_path() for preloading packages Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 3be7f2ce 2025-06-04T10:34:23 libpkgconf: pkg: add tracking infrastructure for preloaded packages Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill aa5813ac 2025-05-31T00:06:57 libpkgconf: path: refactor windows registry PKG_CONFIG_PATH support Now we add to the search list rather than falling back to the registry after the search list fails to find a package. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Marc-André Lureau e49cbdfc 2025-03-20T15:32:43 stdinc: fix -Wformat warning on win64 ../libpkgconf/client.c: In function 'pkgconf_trace': ../libpkgconf/client.c:381:47: warning: format '%u' expects argument of type 'unsigned int', but argument 5 has type 'size_t' {aka 'long long unsigned int'} [-Wformat=] 381 | len = snprintf(errbuf, sizeof errbuf, "%s:" SIZE_FMT_SPECIFIER " [%s]: ", filename, lineno, funcname); | ^~~~~ ~~~~~~ | | | size_t {aka long long unsigned int} Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Ariadne Conill 205bc7bf 2025-05-29T11:38:54 libpkgconf: client: remove PKGCONF_BUFSIZE from logging subsystem Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill fd7069a2 2025-05-29T11:13:39 libpkgconf: dependency: move static parsing buffer off the stack Also remove the 64KB limit for dependency list strings. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 61610c65 2025-05-29T10:08:00 libpkgconf: pkg: refactor pkgconf_pkg_new_from_file into pkgconf_pkg_new_from_path Previously, files would be closed by side effect, which is a somewhat bad API design that trips up various static analysis tools. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 2983d311 2025-05-28T23:21:24 libpkgconf: path: gracefully handle memory alloc failures Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 10d37b61 2025-05-28T23:18:42 libpkgconf: dependency: handle memory allocation failures Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 1fd56779 2025-05-28T23:15:52 libpkgconf: argvsplit: use calloc for all buffers, handle memory alloc failures Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 735fd054 2025-05-28T23:11:34 libpkgconf: fragment: robustly catch and handle memory allocation failures Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 7fbb8bf2 2025-05-28T22:59:43 libpkgconf: pkg: refactor pkgconf_pkg_free into micro-operations Then use pkg_free_lists and pkg_free_object to clean up package objects which have not been fully initialized. Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill e4e3b45b 2025-05-28T22:32:06 libpkgconf: pkg: gracefully handle NULL parameter to pkgconf_pkg_unref() This could happen when pkgconf_pkg_new_from_file() fails due to error. Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 859402ef 2025-05-28T22:30:34 libpkgconf: pkg: allow pkgconf_pkg_new_from_file to return NULL on malloc error Other errors can already cause pkgconf_pkg_new_from_file() to return NULL, so this doesn't break API. Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill e3f9e694 2025-05-28T22:18:39 libpkgconf: client: propagate malloc failures upwards Otherwise a NULL dereference can happen when malloc fails in pkgconf_client_new(). Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 5ecd34e4 2025-05-28T22:10:10 libpkgconf: personality: rework non-default personality loading If there is an error loading the personality file (for example, the personality file associated with the requested triplet does not exist), then resources would be leaked. Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 187f2604 2025-05-28T22:08:08 libpkgconf: personality: make cross-personality triplet identifier non-const Dynamically loaded personality files use a malloced string to store the triplet, and so we need to drop the const to allow for that string to be freed later. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 5a188784 2025-05-17T23:49:54 libpkgconf: add support for late-breaking unveil(2) notifications Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 7502a55d 2025-05-08T13:45:33 libpkgconf: bsdstubs: align pledge and unveil stubs with openbsd-portable Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 7b8865d1 2025-05-08T13:07:30 libpkgconf: path: add pkgconf_path_prepend_list Previously when processing --with-path entries we were adding to the tail of the search list. In reality, we expect --with-path entries to be treated in an equivalent way to PKG_CONFIG_PATH. Accordingly, add a variant of pkgconf_path_copy_list which prepends instead. Related: https://github.com/pkgconf/pkgconf/issues/400 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill d7efcda0 2025-05-05T11:17:21 bsdstubs: fix build with MSVC Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 230b45c0 2025-05-03T22:04:09 build: add stub functions for pledge and unveil Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 1d37e711 2025-03-07T16:37:15 pkgconf 2.4.3.
Ariadne Conill c440e2da 2025-03-07T12:39:52 libpkgconf: fragment: properly group fragments together Previously, fragment groupings could be overzealous. Related: https://github.com/pkgconf/pkgconf/issues/385 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 5c9ee7ee 2025-03-07T10:48:21 pkgconf 2.4.2.
Ariadne Conill 55558621 2025-03-07T10:05:41 libpkgconf: fragment: fix fragment length estimation The switch from flat fragment lists to fragment trees made the fragment length estimation more complicated. Originally, the code when migrated just probed the length of child fragments directly, but this only works for fragment trees where there is only one level of children. In some cases, there may be more children at a lower depth that were not properly accounted for in the length estimation, which led to truncated buffers being generated. Fixes: https://github.com/pkgconf/pkgconf/issues/383 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 4ed28a7a 2025-03-07T09:41:18 libpkgconf: parser: reset read buffer when bailing early to read a new line Otherwise the old line would not be removed from the buffer. Related: https://github.com/pkgconf/pkgconf/issues/384 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill bfc9ded5 2025-03-07T09:26:16 libpkgconf: fileio: stop considering an empty buffer as a read failure This is to be expected with truncated and empty lines in .pc files anyway. Related: https://github.com/pkgconf/pkgconf/issues/384 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill c0d188fb 2025-03-07T09:23:55 libpkgconf: parser: gracefully handle pkgconf_fgetline failures With the move to dynamic buffering of pkg-config files, it is possible for pkgconf_fgetline to leave the buffer in an unwritten state, where a buffer will not be allocated. We must gracefully handle this situation, so we bail early and re-enter the loop to try reading the buffer again. If it fails again, then we finish parsing the already read pkg-config data. Related: https://github.com/pkgconf/pkgconf/issues/384 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 7e59a32a 2025-03-06T14:29:11 pkgconf 2.4.1.
Ariadne Conill 8b3dd835 2025-03-06T14:25:23 libpkgconf: queue: always evaluate the entire dependency graph when solving Some types of pkgconf queries may look at subsets of the entire DAG, but we must consistently solve for the entire DAG so that each query has a consistent view of the DAG. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 38053395 2025-03-05T17:03:55 pkgconf 2.4.0. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 3611b056 2025-03-05T16:54:52 libpkgconf: pkg: consistently use pc_sysrootdir for path munging In some cases, client.sysroot_dir would be used instead of the package-specific override. Fixes: https://github.com/pkgconf/pkgconf/pull/280 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 680a7c53 2025-03-05T15:47:29 libpkgconf: add placeholder flags fields to all public objects that lacked them Since we are breaking ABI anyway, we may as well try to make the ABI break more futureproof. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 1dc078f0 2025-03-05T15:39:26 libpkgconf: fragment: add padding bytes to length estimation for child fragments Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 4f78e449 2025-03-05T15:36:56 libpkgconf: fragment: track terminating fragments like -Wl,--end-group Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 6ec7df4d 2025-03-05T15:03:52 libpkgconf: fragment: plug memory leak when child fragments are present Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 543ab926 2025-03-05T15:00:54 libpkgconf: fragment: track text fragments as a tree instead of a flat list This allows us to have more insight into the relationships between text fragments, for example linker groups. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 5fbabf14 2025-03-04T14:25:43 libpkgconf: fragment: add -nodefaultlibs to special flags list Related: https://github.com/pkgconf/pkgconf/issues/371 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 792e2c62 2025-02-04T17:00:30 libpkgconf: path: get rid of unused win32-specific variable Windows builder was warning about this. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill e8dc0e20 2025-02-04T16:57:14 libpkgconf: parser: finalize the parsing buffer when done with it Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 5fe482b2 2025-02-04T16:49:18 libpkgconf: buffer: pkgconf_buffer_lastc should always be 0 on an empty buffer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 88258bd9 2025-02-04T16:31:01 libpkgconf: buffer: round up buffer allocations to 4KB granules Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill a4de2930 2025-02-03T05:31:40 libpkgconf: fileio: use bool for fgetline return type instead of a pointer (we internally look at the raw buffer anyway) Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 6f1055d0 2025-02-02T03:06:12 libpkgconf: queue: stop considering the lack of a pre-loaded match in a dependency node as a fatal error This is a performance optimization, not an absolute source of truth. We will evaluate the dependency node lazily in these cases anyway... Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill a79952a0 2025-02-02T02:30:38 libpkgconf: queue: always walk requires.private lists internally This ensures the internal dependency graph solution is always consistent. We filter out the nodes we don't care about in cases where we need to filter as of commit 86602bc, so now we can just simplify the solving a little bit. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 86602bc1 2025-02-02T02:10:00 libpkgconf: pkg: skip over private dependency nodes when --static is not explicitly requested Fixes: 197fcad ("queue: add flattening code") Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill d0f8f3f2 2025-02-02T01:33:06 libpkgconf: fileio: rework to use pkgconf_buffer, allowing larger than 64KB lines Fixes: 130907d ("fileio: add routine for portably yanking lines out of a FILE stream") Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 83a2ae04 2025-02-02T01:30:54 libpkgconf: buffer: fix memory allocation logic, add push/trim byte functions Fixes: 1001750 ("libpkgconf: add buffer management functions") Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill bd043cae 2025-02-02T00:31:54 libpkgconf: buffer: add PKGCONF_BUFFER_INITIALIZER
Ariadne Conill 10017500 2024-12-09T19:49:50 libpkgconf: add buffer management functions Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
David Seifert e6c1d4b8 2024-10-09T19:06:05 ${pcfiledir} should point to parent dir of actual file, not symlink * In situations where we have a real <path1>/foo.pc that uses ${pcfiledir} and a symlink <path2>/foo.pc that points to <path1>/foo.pc, then ${pcfiledir} should resolve to <path1> and not <path2>.
Ariadne Conill 444846dd 2024-10-07T17:44:22 personality: drop want_default_pure on windows We still retain want_default_static to satisfy the requirements of the PE/COFF linking model. Fixes: 008d7069 ("libpkgconf: personality: default: set want_default_static and want_default_pure to true on windows") Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> Closes: #364
Ariadne Conill a88c0d96 2024-08-07T00:10:13 pkgconf 2.3.0.
Ariadne Conill 0dde98fa 2024-08-06T23:44:43 meson: define __EXTENSIONS__ for Solaris
Ariadne Conill 174db1a1 2024-08-05T14:27:13 fragment: add pkgconf_fragment_insert()
Ariadne Conill a6179c77 2024-08-05T13:42:49 queue: add PKGCONF_PKG_DEPF_QUERY to color solution nodes part of the original query
Kai Pastor 8b7e2c4e 2024-07-03T04:58:06 Process character after operator
Ariadne Conill 06120a87 2024-03-27T11:34:36 pkgconf 2.2.0
Ariadne Conill 7a8532f8 2024-03-27T18:39:00 queue: remove no longer used root package reference when walking dependency graphs
Kai Pastor 883b57df 2024-02-23T15:18:08 Cache packages from explicit file requests
Kai Pastor 78d53ea0 2024-02-23T15:18:08 Revise serials, traversal, flattening Remove the 'traverse_serial' fields which were added in 2.1.1. Use the 'serial' field to track the current traversal. Stop using 'identifier' to sort packages in the flattened solution. Directly construct the flattened solution by a specific walk which also preserves the relative order in Requires and Requires.private. The topological sort is a single list, so don't fill requires_private. Purely private dependencies are marked in dependency flags. The ancestor flag is a pkg property, not a client property.
Kai Pastor 4090ba3e 2024-02-23T15:18:08 Clarify tracing messages
Kai Pastor e7c9bdb3 2024-03-22T07:18:41 Don't print 'required by <VIRTUAL-PACKAGE>'
Kai Pastor 4e01010d 2024-03-16T15:19:57 Mark user input in error message
Kai Pastor b6e04e2d 2023-12-11T06:58:17 pkgconf 2.1.1
Ariadne Conill 80b5011e 2024-02-04T03:04:52 Use traverse_serial to short circuit graph evaluation for already visited nodes. In our previous attempt to optimize this problem, we did not track the type of the visit to the node, e.g. whether it came from evaluating Requires or Requires.private, which resulted in some solutions being correctly incalculated due to greedy optimization of the dependency graph. We reintroduce this optimization by adding a second traversal serial as well as re-introducing the PROPF_VISITED node property as well as a new PROPF_VISITED_PRIVATE node property flag. This allows a node to be revisted at maximum two times per traversal level. Co-authored-by: Yi Chou <yich@google.com>
Stefan Weil a4ecd42b 2023-11-24T19:44:04 Fix it's -> its Signed-off-by: Stefan Weil <sw@weilnetz.de>
Ariadne Conill 5fb09af8 2023-11-22T18:43:04 queue: ensure the initial solution is cleaned up when it is no longer needed
Ariadne Conill f3540de3 2023-10-09T07:27:00 queue: clarify the relationship between a flattened dep and its parent Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Kai Pastor be1ea788 2023-10-15T08:32:48 Separate input world from output world
Kai Pastor 45073b74 2023-10-15T12:40:41 Circular deps: track ancestors, not serial
Victor Westerhuis 948297b5 2023-10-31T14:09:55 Search XDG Base Directories for personality files Try $XDG_DATA_HOME/pkgconfig/personality.d and $XDG_DATA_DIRS/pkgconfig/personality.d.
Sam James d454f62c 2023-11-05T22:17:02 libpkgconf: fix -Walloc-size GCC 14 introduces a new -Walloc-size included in -Wextra which gives: ``` libpkgconf/personality.c:260:11: warning: allocation of insufficient size '1' for type 'pkgconf_cross_personality_t' {aka 'struct pkgconf_cross_personality_'} with size '48' [-Walloc-size] libpkgconf/queue.c:46:33: warning: allocation of insufficient size '1' for type 'pkgconf_queue_t' {aka'struct pkgconf_queue_'} with size '16' [-Walloc-size] libpkgconf/client.c:164:33: warning: allocation of insufficient size '1' for type 'pkgconf_client_t' {aka 'struct pkgconf_client_'} with size '120' [-Walloc-size] libpkgconf/path.c:105:14: warning: allocation of insufficient size '1' for type 'pkgconf_path_t' {aka 'struct pkgconf_path_'} with size '24' [-Walloc-size] libpkgconf/path.c:237:22: warning: allocation of insufficient size '1' for type 'pkgconf_path_t' {aka 'struct pkgconf_path_'} with size '24' [-Walloc-size] libpkgconf/tuple.c:239:34: warning: allocation of insufficient size '1' for type 'pkgconf_tuple_t' {aka 'struct pkgconf_tuple_'} with size '24' [-Walloc-size] libpkgconf/dependency.c:133:13: warning: allocation of insufficient size '1' for type 'pkgconf_dependency_t' {aka 'struct pkgconf_dependency_'} with size '44' [-Walloc-size] libpkgconf/dependency.c:472:17: warning: allocation of insufficient size '1' for type 'pkgconf_dependency_t' {aka 'struct pkgconf_dependency_'} with size '44' [-Walloc-size] libpkgconf/fragment.c:146:22: warning: allocation of insufficient size '1' for type 'pkgconf_fragment_t' {aka 'struct pkgconf_fragment_'} with size '24' [-Walloc-size] libpkgconf/fragment.c:195:22: warning: allocation of insufficient size '1' for type 'pkgconf_fragment_t' {aka 'struct pkgconf_fragment_'} with size '24' [-Walloc-size] libpkgconf/fragment.c:356:14: warning: allocation of insufficient size '1' for type 'pkgconf_fragment_t' {aka 'struct pkgconf_fragment_'} with size '24' [-Walloc-size] libpkgconf/pkg.c:422:13: warning: allocation of insufficient size '1' for type 'pkgconf_pkg_t' {aka 'struct pkgconf_pkg_'} with size '188' [-Walloc-size] libpkgconf/client.c:164:33: warning: allocation of insufficient size '1' for type 'pkgconf_client_t' {aka 'struct pkgconf_client_'} with size '224' [-Walloc-size] libpkgconf/personality.c:260:11: warning: allocation of insufficient size '1' for type 'pkgconf_cross_personality_t' {aka 'struct pkgconf_cross_personality_'} with size '96' [-Walloc-size] libpkgconf/dependency.c:133:13: warning: allocation of insufficient size '1' for type 'pkgconf_dependency_t' {aka 'struct pkgconf_dependency_'} with size '80' [-Walloc-size] libpkgconf/dependency.c:472:17: warning: allocation of insufficient size '1' for type 'pkgconf_dependency_t' {aka 'struct pkgconf_dependency_'} with size '80' [-Walloc-size] libpkgconf/path.c:105:14: warning: allocation of insufficient size '1' for type 'pkgconf_path_t' {aka 'struct pkgconf_path_'} with size '48' [-Walloc-size] libpkgconf/path.c:237:22: warning: allocation of insufficient size '1' for type 'pkgconf_path_t' {aka 'struct pkgconf_path_'} with size '48' [-Walloc-size] libpkgconf/queue.c:46:33: warning: allocation of insufficient size '1' for type 'pkgconf_queue_t' {aka 'struct pkgconf_queue_'} with size '32' [-Walloc-size] libpkgconf/tuple.c:239:34: warning: allocation of insufficient size '1' for type 'pkgconf_tuple_t' {aka 'struct pkgconf_tuple_'} with size '48' [-Walloc-size] libpkgconf/fragment.c:146:22: warning: allocation of insufficient size '1' for type 'pkgconf_fragment_t' {aka 'struct pkgconf_fragment_'} with size '48' [-Walloc-size] libpkgconf/fragment.c:195:22: warning: allocation of insufficient size '1' for type 'pkgconf_fragment_t' {aka 'struct pkgconf_fragment_'} with size '48' [-Walloc-size] libpkgconf/fragment.c:356:14: warning: allocation of insufficient size '1' for type 'pkgconf_fragment_t' {aka 'struct pkgconf_fragment_'} with size '48' [-Walloc-size] libpkgconf/pkg.c:422:13: warning: allocation of insufficient size '1' for type 'pkgconf_pkg_t' {aka 'struct pkgconf_pkg_'} with size '360' [-Walloc-size] ``` The calloc prototype is: ``` void *calloc(size_t nmemb, size_t size); ``` So, just swap the number of members and size arguments to match the prototype, as we're initialising 1 struct of size `sizeof(struct ...)`. GCC then sees we're not doing anything wrong. The only exception there is for argv which I fixed while at it. Signed-off-by: Sam James <sam@gentoo.org>
Ariadne Conill 752a9825 2023-10-09T07:22:59 queue: demote requires to requires.private when processing requires.private parents Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Colin Gillespie 5aeb469b 2023-09-03T16:19:14 libpkgconf: fix memory leak Signed-off-by: Colin Gillespie <colin@cgillespie.xyz>
Ariadne Conill 652aff97 2023-10-08T22:27:56 path: add pkgconf_path_prepend API for --with-path Otherwise, PKG_CONFIG_PATH and PKG_CONFIG_LIBDIR elements would be processed backwards. Fixes: 384ade5 (path: prepend paths rather than append paths when processing --with-path arguments) Closes: #250 Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Ariadne Conill a6fb59a0 2023-09-02T21:15:46 pkgconf 2.0.3. Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Ariadne Conill ee702658 2023-09-02T21:05:03 use PRIu64 format specifiers for some uint64 identifiers in trace logging Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Colin Gillespie 66994f15 2023-08-19T07:57:48 cli: fix --modversion not showing version in various cases There are numerous edge cases where version is wrong or missing when matching the dependency queue to resolved packages. This adds the dependency name as it appears in the dependency queue to each package as it is resolved, allowing for a simple and correct comparison when printing. Signed-off-by: Colin Gillespie <colin@cgillespie.xyz>
Ariadne Conill eaa4bb44 2023-08-17T11:56:08 pkgconf 2.0.2.
Ariadne Conill a265f8a4 2023-08-17T11:53:07 libpkgconf: pkg: fix long-standing bug where -uninstalled pkg-config files would have the wrong identifier
Ariadne Conill 6a84d704 2023-08-11T14:23:08 pkgconf 2.0.1. Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Ariadne Conill 4fb0988a 2023-08-11T14:16:41 libpkgconf: queue: make the pkgconf_queue_t type public Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Ariadne Conill de51b03c 2023-08-04T08:45:16 pkgconf 2.0.0.
Ariadne Conill 384ade5f 2023-08-04T08:24:32 path: prepend paths rather than append paths when processing --with-path arguments
Ariadne Conill a4eb097b 2023-08-04T08:23:00 queue: process packages in the resolution queue in the correct order
Ariadne Conill 5d0e2f50 2023-08-04T08:19:42 Track packages using a lifetime unique identifier Use that identifier to cancel graph edges rather than the number of hits, which biases the earliest edge rather than the latest.
Ariadne Conill 35b1a623 2023-05-02T12:09:55 update libpkgconf version to 10905 Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Harmen Stoppels f7bebba6 2023-04-24T15:50:00 fix meson.build Co-authored-by: Ariadne Conill <ariadne@dereferenced.org>
Harmen Stoppels 40638f24 2023-04-24T15:18:59 use AC_CHECK_DECLS to avoid implicit function definition AC_CHECK_FUNCS is not safe, since implicit function definitions is just a warning. On 64-bit glibc systems where reallocarray is not defined or hidden behind macros that are not set, it gets implicitly defined to return an integer, which is a big problem given that it should return a pointer, and leads to immediate segfaults.