Commit Graph

1540 Commits (68e8f7208b6ab1fb2190c3aa2b6f0598d516c129)

Author SHA1 Message Date
Ariadne Conill 68e8f7208b tests: add test for issue #370
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-02-02 03:11:37 -08:00
Ariadne Conill f982cbdab9 tests: add fixtures for issue #370
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-02-02 03:08:49 -08:00
Ariadne Conill 6f1055d00d 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>
2025-02-02 03:06:12 -08:00
Ariadne Conill b861bcad49 cli: solution: denote private dependency nodes in the solution
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-02-02 02:58:58 -08:00
Ariadne Conill a79952a084 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>
2025-02-02 02:30:38 -08:00
Ariadne Conill 86602bc17e 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>
2025-02-02 02:10:00 -08:00
Ariadne Conill d0f8f3f228 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>
2025-02-02 01:33:06 -08:00
Ariadne Conill 83a2ae0434 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>
2025-02-02 01:30:54 -08:00
Ariadne Conill bd043cae9f libpkgconf: buffer: add PKGCONF_BUFFER_INITIALIZER 2025-02-02 00:31:54 -08:00
Ariadne Conill 10017500ff libpkgconf: add buffer management functions
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2024-12-09 19:49:50 -08:00
Ariadne Conill 5c535171a5
Merge pull request #363 from SoapGentoo/pcfiledir_symlink
`${pcfiledir}` symlink resolving
2024-12-09 19:26:05 -08:00
Ariadne Conill 3cd6b8c523
Merge pull request #369 from jas4711/pkgm4-fix-fsf-license-and-serial
pkg.m4: Bump serial.  Use URL instead of obsolete FSF postal address.
2024-12-09 19:25:47 -08:00
Simon Josefsson 11236d44fd
pkg.m4: Bump serial. Use URL instead of obsolete FSF postal address.
Signed-off-by: Simon Josefsson <simon@josefsson.org>
2024-11-19 10:33:19 +01:00
David Seifert ff51052e1c
add test for symlinked ${pcfiledir} 2024-10-09 19:06:06 +02:00
David Seifert e6c1d4b8bd
${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>.
2024-10-09 19:06:05 +02:00
Ariadne Conill 444846dd2d 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
2024-10-07 17:44:22 -07:00
rentianyue-jk 8c479a8355 meson: add support for _DEFAULT_SOURCE 2024-10-07 17:09:45 -07:00
Ariadne Conill 4697d636cc cli: main: allow use of multiple package names in solution-based queries
Query types like --print-requires, --print-requires-private and --print-provides
can be used in practice to query information about a calculated solution rather
than a single package.

Allow this to be done where it makes sense to allow it, while continuing to restrict
package-specific queries (like --variable= and --variables) to single packages.

Fixes: 541de8bd ("main: handle query selectors that are only usable for single packages correctly")
Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Closes: #366
2024-10-07 17:06:52 -07:00
Ariadne Conill a88c0d962a pkgconf 2.3.0.
ci/woodpecker/push/woodpecker Pipeline was successful Details
ci/woodpecker/tag/woodpecker Pipeline was successful Details
2024-08-07 00:10:13 -07:00
Ariadne Conill 0dde98fa8b meson: define __EXTENSIONS__ for Solaris
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-08-06 23:44:43 -07:00
Ariadne Conill ba3c2bd47c tests: add regression test for PKG_CONFIG_RELOCATE_PATHS=1
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-08-06 23:41:48 -07:00
Ariadne Conill 72082a4d17 cli: add PKG_CONFIG_RELOCATE_PATHS environmental variable
This is the inverse of PKG_CONFIG_DONT_RELOCATE_PATHS=1.

Closes github issue #253.
2024-08-06 23:39:46 -07:00
Ariadne Conill 874d559e42 tests: add regression test for github issue #286
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-08-06 23:34:41 -07:00
Ariadne Conill d2d01a10c5 tests: add regression test fixture for github issue #286
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-08-06 23:31:30 -07:00
Ariadne Conill 9aaff5148c bomtool: only use query dependencies for deriving the SBOM document name
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-08-06 15:12:27 -07:00
Ariadne Conill eb7c2385d0 tests: add test for --variable with --env
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-08-06 10:43:52 -07:00
Ariadne Conill 0ca4e5d00c cli: allow --env to work with --variable 2024-08-06 10:42:18 -07:00
Ariadne Conill 2070c00d63 cli: stop processing requests after the --env handler runs
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-08-06 10:41:23 -07:00
Ariadne Conill ef99b6c626 tests: add test for --print-variables with --env
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-08-06 10:10:02 -07:00
Ariadne Conill ca2a06898f cli: add integration for --print-variables with --env
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-08-06 09:23:10 -07:00
Ariadne Conill c84223616a tests: add test for --libs with --env
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-08-05 16:45:56 -07:00
Ariadne Conill d8cd27e2d2 tests: add test for --exists-cflags with --env 2024-08-05 16:43:54 -07:00
Ariadne Conill 22866eca45 cli: document --env in usage text 2024-08-05 16:42:05 -07:00
Ariadne Conill b24f3dfd8f cli: implement --exists-cflags support for --env
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-08-05 16:39:51 -07:00
Ariadne Conill d5cd2a4f28 tests: add basic --exists-cflags test
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-08-05 16:31:37 -07:00
Ariadne Conill f635f63220 cli: add module definitions before filter check 2024-08-05 16:29:52 -07:00
Ariadne Conill d76aa357e4 cli: implement --exists-cflags feature
ci/woodpecker/push/woodpecker Pipeline was successful Details
This feature adds autoconf-style -DHAVE_FOO definitions to the
--cflags output when it is requested.  This has been requested
a few times over the years as it allows for simplifying build
system logic in scenarios where a standalone Makefile or similar
build process is used without a configuration step.
2024-08-05 14:29:53 -07:00
Ariadne Conill 174db1a17a fragment: add pkgconf_fragment_insert() 2024-08-05 14:27:13 -07:00
Ariadne Conill a6179c7779 queue: add PKGCONF_PKG_DEPF_QUERY to color solution nodes part of the original query 2024-08-05 13:42:49 -07:00
Ariadne Conill a276c0b4a8 main: add --exists-cflags command-line option 2024-08-05 13:22:05 -07:00
Ariadne Conill 93ae120daf build (automake): add -I m4 to ACLOCAL_AMFLAGS
ci/woodpecker/push/woodpecker Pipeline was successful Details
libtoolize was warning about this flag being missing.
2024-08-05 13:08:36 -07:00
Kai Pastor 8b7e2c4eee Process character after operator
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-08-05 12:58:58 -07:00
Kai Pastor 64ff8b031f Test version expressions 'mod >=n' 2024-08-05 12:58:58 -07:00
Taylor R Campbell 633433b29b Fix uncasted use of isspace()
ci/woodpecker/push/woodpecker Pipeline was successful Details
isspace() is intended to be used with an unsigned 8-bit input.
Using isspace() with any other type of input is technically
undefined behavior.
2024-08-05 12:53:11 -07:00
Petr Písař 2d26db3a98 doc: Requires.private is used for header inclusion
ci/woodpecker/push/woodpecker Pipeline failed Details
Document that "pkgconf --cflags" inherits paths for including headers
from dependencies listed in Requires.private.

https://github.com/pkgconf/pkgconf/issues/300
https://github.com/pkgconf/pkgconf/issues/352
2024-04-25 23:50:21 -07:00
Pierce a8a492e2e4 Fix typo in README.md
ci/woodpecker/push/woodpecker Pipeline failed Details
2024-04-25 23:49:39 -07:00
Ismael Luceno c583d49a37 pkg.m4: Abort by default if no pkgconf
ci/woodpecker/push/woodpecker Pipeline failed Details
Provide a second optional argument to PKG_PROG_PKG_CONFIG with an action to
take if no pkgconf is found, and default to aborting.

Too many configure scripts in the wild don't handle an empty PKG_CONFIG,
resulting in weird error messages through the run, which often confuse
users.

Authors wishing to fallback to other methods can either return to the old
behavior by specifying [:] as an action, or use [PKG_CONFIG=false] and call
pkg-config macros normally, handling the fallback as any other failure.

Users can override PKG_CONFIG in the command line so this should imply no
regression.

Closes: https://github.com/pkgconf/pkgconf/issues/350
Ref: https://gitlab.freedesktop.org/pkg-config/pkg-config/-/issues/69
Signed-off-by: Ismael Luceno <ismael@iodev.co.uk>
2024-04-25 23:48:18 -07:00
Ariadne Conill 06120a8769 pkgconf 2.2.0 2024-03-27 18:39:44 +00:00
Ariadne Conill 7a8532f849 queue: remove no longer used root package reference when walking dependency graphs 2024-03-27 18:39:43 +00:00
Ariadne Conill a3d7ecb31b Use libpkgconf.so.5 due to ABI changes 2024-03-27 11:31:48 -07:00