pkgconf 2.4.3.post3__tar.gz → 2.5.1.post1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/.github/workflows/build.yml +2 -2
  2. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/.github/workflows/test.yml +1 -1
  3. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/.pre-commit-config.yaml +5 -5
  4. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/PKG-INFO +4 -24
  5. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/docs/index.rst +2 -0
  6. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/meson.build +1 -1
  7. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/pyproject.toml +6 -8
  8. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/src/pkgconf/__init__.py +1 -1
  9. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/src/pkgconf/__main__.py +4 -1
  10. pkgconf-2.5.1.post1/subprojects/pkgconf/.github/workflows/release-tarballs.yml +51 -0
  11. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/.github/workflows/test.yml +31 -2
  12. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/Makefile.am +4 -1
  13. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/Makefile.lite +1 -1
  14. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/NEWS +40 -0
  15. pkgconf-2.5.1.post1/subprojects/pkgconf/README.md +130 -0
  16. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/cli/main.c +73 -3
  17. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/configure.ac +2 -1
  18. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/argvsplit.c +10 -3
  19. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/bsdstubs.c +37 -0
  20. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/bsdstubs.h +2 -0
  21. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/client.c +214 -12
  22. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/config.h.meson +6 -0
  23. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/dependency.c +24 -6
  24. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/fragment.c +22 -6
  25. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/libpkgconf.h +36 -12
  26. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/parser.c +0 -1
  27. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/path.c +94 -0
  28. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/personality.c +33 -18
  29. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/pkg.c +159 -108
  30. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/stdinc.h +6 -1
  31. pkgconf-2.5.1.post1/subprojects/pkgconf/man/bomtool.1 +100 -0
  32. pkgconf-2.5.1.post1/subprojects/pkgconf/man/pkgconf.1 +758 -0
  33. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/meson.build +55 -5
  34. pkgconf-2.5.1.post1/subprojects/pkgconf/pkgconf.wxs.in +64 -0
  35. pkgconf-2.5.1.post1/subprojects/pkgconf/txt2rtf.py +35 -0
  36. pkgconf-2.4.3.post3/subprojects/pkgconf/.woodpecker.yml +0 -75
  37. pkgconf-2.4.3.post3/subprojects/pkgconf/README.md +0 -149
  38. pkgconf-2.4.3.post3/subprojects/pkgconf/man/pkgconf.1 +0 -231
  39. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/.gitmodules +0 -0
  40. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/.readthedocs.yaml +0 -0
  41. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/LICENSE +0 -0
  42. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/README.md +0 -0
  43. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/codecov.yml +0 -0
  44. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/docs/conf.py +0 -0
  45. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/environment.yml +0 -0
  46. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/examples/header-only-library/example/include/example.h +0 -0
  47. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/examples/header-only-library/example/pkgconf/example.pc +0 -0
  48. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/examples/header-only-library/pyproject.toml +0 -0
  49. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/src/buildhack.py +0 -0
  50. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/src/pkgconf/_path_entrypoints.py +0 -0
  51. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/src/pkgconf/diagnose.py +0 -0
  52. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/src/pkgconf/py.typed +0 -0
  53. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/.gitattributes +0 -0
  54. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/.github/FUNDING.yml +0 -0
  55. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/.gitignore +0 -0
  56. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/.mailmap +0 -0
  57. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/AUTHORS +0 -0
  58. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/CODE_OF_CONDUCT.md +0 -0
  59. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/COPYING +0 -0
  60. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/Kyuafile.in +0 -0
  61. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/autogen.sh +0 -0
  62. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/cli/bomtool/main.c +0 -0
  63. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/cli/getopt_long.c +0 -0
  64. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/cli/getopt_long.h +0 -0
  65. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/cli/renderer-msvc.c +0 -0
  66. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/cli/renderer-msvc.h +0 -0
  67. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/doc/conf.py +0 -0
  68. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/doc/extract.py +0 -0
  69. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/doc/index.rst +0 -0
  70. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/doc/libpkgconf-argvsplit.rst +0 -0
  71. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/doc/libpkgconf-audit.rst +0 -0
  72. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/doc/libpkgconf-cache.rst +0 -0
  73. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/doc/libpkgconf-client.rst +0 -0
  74. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/doc/libpkgconf-dependency.rst +0 -0
  75. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/doc/libpkgconf-fragment.rst +0 -0
  76. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/doc/libpkgconf-path.rst +0 -0
  77. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/doc/libpkgconf-personality.rst +0 -0
  78. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/doc/libpkgconf-pkg.rst +0 -0
  79. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/doc/libpkgconf-queue.rst +0 -0
  80. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/doc/libpkgconf-tuple.rst +0 -0
  81. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/doc/libpkgconf.rst +0 -0
  82. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/audit.c +0 -0
  83. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/buffer.c +0 -0
  84. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/cache.c +0 -0
  85. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/fileio.c +0 -0
  86. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/iter.h +0 -0
  87. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/libpkgconf-api.h +0 -0
  88. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/meson.build +0 -0
  89. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/queue.c +0 -0
  90. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/tuple.c +0 -0
  91. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf/win-dirent.h +0 -0
  92. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/libpkgconf.pc.in +0 -0
  93. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/m4/ax_check_compile_flag.m4 +0 -0
  94. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/man/pc.5 +0 -0
  95. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/man/pkg.m4.7 +0 -0
  96. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/man/pkgconf-personality.5 +0 -0
  97. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/meson_options.txt +0 -0
  98. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/pkg.m4 +0 -0
  99. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/Kyuafile.in +0 -0
  100. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/basic.sh +0 -0
  101. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/builtins.sh +0 -0
  102. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/conflicts.sh +0 -0
  103. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/framework.sh +0 -0
  104. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib-relocatable/lib/pkgconfig/foo.pc +0 -0
  105. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/argv-parse-2.pc +0 -0
  106. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/argv-parse-3.pc +0 -0
  107. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/argv-parse.pc +0 -0
  108. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/bar.pc +0 -0
  109. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/baz.pc +0 -0
  110. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/billion-laughs.pc +0 -0
  111. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/c-comment.pc +0 -0
  112. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/case-sensitivity.pc +0 -0
  113. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/cflags-internal.pc +0 -0
  114. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/cflags-libs-only.pc +0 -0
  115. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/cflags-libs-private-a.pc +0 -0
  116. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/cflags-libs-private-b.pc +0 -0
  117. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/cflags-libs-private-c.pc +0 -0
  118. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/cflags-whitespace-trailing.pc +0 -0
  119. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/cflags-whitespace.pc +0 -0
  120. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/child-prefix/pkgconfig/child-prefix-1.pc +0 -0
  121. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/circular-1.pc +0 -0
  122. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/circular-2.pc +0 -0
  123. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/circular-3.pc +0 -0
  124. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/comments-in-fields.pc +0 -0
  125. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/comments.pc +0 -0
  126. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/conflicts.pc +0 -0
  127. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/depgraph-break.pc +0 -0
  128. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/dos-lineendings.pc +0 -0
  129. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/empty-tuple.pc +0 -0
  130. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/escaped-backslash.pc +0 -0
  131. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/explicit-sysroot.pc +0 -0
  132. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/flag-order-1.pc +0 -0
  133. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/flag-order-3.pc +0 -0
  134. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/foo.pc +0 -0
  135. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/foobar.pc +0 -0
  136. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-collision-1.pc +0 -0
  137. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-collision-2.pc +0 -0
  138. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-collision-intermediary.pc +0 -0
  139. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-collision.pc +0 -0
  140. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-comment.pc +0 -0
  141. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-escaping-1.pc +0 -0
  142. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-escaping-2.pc +0 -0
  143. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-escaping-3.pc +0 -0
  144. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-group-a.pc +0 -0
  145. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-group-b.pc +0 -0
  146. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-group-c.pc +0 -0
  147. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-groups-2.pc +0 -0
  148. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-groups.pc +0 -0
  149. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-quoting-2.pc +0 -0
  150. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-quoting-3.pc +0 -0
  151. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-quoting-5.pc +0 -0
  152. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-quoting-7.pc +0 -0
  153. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/fragment-quoting.pc +0 -0
  154. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/framework-1.pc +0 -0
  155. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/framework-2.pc +0 -0
  156. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/idirafter-ordering.pc +0 -0
  157. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/idirafter.pc +0 -0
  158. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/incomplete.pc +0 -0
  159. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/intermediary-1.pc +0 -0
  160. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/intermediary-2.pc +0 -0
  161. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/isystem.pc +0 -0
  162. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/malformed-1.pc +0 -0
  163. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/malformed-quoting.pc +0 -0
  164. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/malformed-version.pc +0 -0
  165. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/metapackage-1.pc +0 -0
  166. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/metapackage-2.pc +0 -0
  167. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/metapackage-3.pc +0 -0
  168. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/metapackage.pc +0 -0
  169. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/missing-require.pc +0 -0
  170. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/multiline-bogus.pc +0 -0
  171. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/multiline.pc +0 -0
  172. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/no-trailing-newline.pc +0 -0
  173. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/nocflag.pc +0 -0
  174. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/nolib.pc +0 -0
  175. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/omg-sysroot-uninstalled.pc +0 -0
  176. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/omg-uninstalled.pc +0 -0
  177. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/orphaned-requires-private.pc +0 -0
  178. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/paren-quoting.pc +0 -0
  179. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/pcfiledir.pc +0 -0
  180. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/prefix-foo1.pc +0 -0
  181. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/prefix-foo2.pc +0 -0
  182. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/private-libs-duplication.pc +0 -0
  183. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/provides-request-simple.pc +0 -0
  184. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/provides.pc +0 -0
  185. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/quotes.pc +0 -0
  186. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/requires-internal-2.pc +0 -0
  187. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/requires-internal-collision.pc +0 -0
  188. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/requires-internal-missing.pc +0 -0
  189. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/requires-internal.pc +0 -0
  190. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/spaces-in-paths.pc +0 -0
  191. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/static-archive-libs.pc +0 -0
  192. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/static-libs.pc +0 -0
  193. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/sysroot-dir-2.pc +0 -0
  194. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/sysroot-dir-3.pc +0 -0
  195. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/sysroot-dir-4.pc +0 -0
  196. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/sysroot-dir-5.pc +0 -0
  197. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/sysroot-dir.pc +0 -0
  198. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/tilde-quoting.pc +0 -0
  199. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/tilde.pc +0 -0
  200. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/truncated.pc +0 -0
  201. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/tuple-quoting.pc +0 -0
  202. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/typelibdir.pc +0 -0
  203. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/unavailable-provider.pc +0 -0
  204. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/utf8.pc +0 -0
  205. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib1/variable-whitespace.pc +0 -0
  206. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib2/foo.pc +0 -0
  207. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/lib3/bar.pc +0 -0
  208. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/meson.build +0 -0
  209. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/parser.sh +0 -0
  210. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/provides.sh +0 -0
  211. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/regress.sh +0 -0
  212. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/requires.sh +0 -0
  213. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/symlink.sh +0 -0
  214. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/sysroot.sh +0 -0
  215. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/test_env.sh.in +0 -0
  216. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/subprojects/pkgconf/tests/version.sh +0 -0
  217. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/conftest.py +0 -0
  218. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/data/needs-example-lib.c +0 -0
  219. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/error-on-import/foo/__init__.py +0 -0
  220. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/error-on-import/foo/bar/__init__.py +0 -0
  221. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/error-on-import/meson.build +0 -0
  222. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/error-on-import/pyproject.toml +0 -0
  223. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/inplace/example/__init__.py +0 -0
  224. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/inplace/example/include/example.h +0 -0
  225. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/inplace/example/pkgconf/example.pc +0 -0
  226. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/inplace/pyproject.toml +0 -0
  227. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/namespace/namespace/namespace.pc +0 -0
  228. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/namespace/pyproject.toml +0 -0
  229. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/register-pkg-config-path/lib.c +0 -0
  230. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/register-pkg-config-path/meson.build +0 -0
  231. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/register-pkg-config-path/pyproject.toml +0 -0
  232. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/register-pkg-config-path/register_pkg_config_path/__init__.py +0 -0
  233. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/register-pkg-config-path/register_pkg_config_path/include/__init__.py +0 -0
  234. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/register-pkg-config-path/register_pkg_config_path/include/lib.h +0 -0
  235. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/register-pkg-config-path/register_pkg_config_path/lib/__init__.py +0 -0
  236. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/register-pkg-config-path/register_pkg_config_path/pkgconf/__init__.py +0 -0
  237. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/register-pkg-config-path/register_pkg_config_path/pkgconf/register_pkg_config_path.pc +0 -0
  238. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/packages/use-pybind11/meson.build +0 -0
  239. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/test_diagnose.py +0 -0
  240. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/test_distribution.py +0 -0
  241. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/test_entrypoints.py +0 -0
  242. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/test_examples.py +0 -0
  243. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/tests/test_python_module.py +0 -0
  244. {pkgconf-2.4.3.post3 → pkgconf-2.5.1.post1}/update-upstream.py +0 -0
@@ -36,8 +36,8 @@ jobs:
36
36
  - ubuntu-24.04-arm
37
37
  - windows-latest
38
38
  - windows-11-arm
39
- - macos-13 # x86-64
40
- - macos-latest # arm64
39
+ - macos-15-intel # x86-64
40
+ - macos-latest # arm64
41
41
  fail-fast: false
42
42
  steps:
43
43
  - uses: actions/checkout@v4
@@ -28,7 +28,7 @@ jobs:
28
28
  - '3.11'
29
29
  - '3.12'
30
30
  - '3.13'
31
- - '3.14-dev'
31
+ - '3.14'
32
32
  exclude:
33
33
  - os: windows-11-arm
34
34
  python: '3.10'
@@ -4,7 +4,7 @@ ci:
4
4
 
5
5
  repos:
6
6
  - repo: https://github.com/pre-commit/pre-commit-hooks
7
- rev: v5.0.0
7
+ rev: v6.0.0
8
8
  hooks:
9
9
  - id: check-added-large-files
10
10
  - id: check-ast
@@ -34,9 +34,9 @@ repos:
34
34
  hooks:
35
35
  - id: validate-pyproject
36
36
  - repo: https://github.com/astral-sh/ruff-pre-commit
37
- rev: v0.11.2
37
+ rev: v0.14.8
38
38
  hooks:
39
- - id: ruff
39
+ - id: ruff-check
40
40
  args: [--fix, --show-fixes]
41
41
  - id: ruff-format
42
42
  - repo: https://github.com/codespell-project/codespell
@@ -56,7 +56,7 @@ repos:
56
56
  - id: rst-inline-touching-normal
57
57
  - id: text-unicode-replacement-char
58
58
  - repo: https://github.com/asottile/pyupgrade
59
- rev: v3.19.1
59
+ rev: v3.21.2
60
60
  hooks:
61
61
  - id: pyupgrade
62
- args: [--py38-plus]
62
+ args: [--py310-plus]
@@ -1,32 +1,12 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: pkgconf
3
- Version: 2.4.3.post3
3
+ Version: 2.5.1.post1
4
4
  Summary: `pkgconf` is a program which helps with discovering library dependencies and configuring compiler and linker flags.
5
5
  Author-Email: Ralf Gommers <ralf.gommers@gmail.com>, =?utf-8?q?Filipe_La=C3=ADns?= <lains@riseup.net>
6
- License: Copyright (c) 2024 pypackaging-native contributors
7
-
8
- Permission is hereby granted, free of charge, to any person obtaining a copy of
9
- this software and associated documentation files (the “Software”), to deal in
10
- the Software without restriction, including without limitation the rights to
11
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
12
- of the Software, and to permit persons to whom the Software is furnished to do
13
- so, subject to the following conditions:
14
-
15
- The above copyright notice and this permission notice shall be included in all
16
- copies or substantial portions of the Software.
17
-
18
- THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
- SOFTWARE.
25
-
6
+ License-Expression: MIT
7
+ License-File: LICENSE
26
8
  Classifier: Development Status :: 4 - Beta
27
9
  Classifier: Intended Audience :: Developers
28
- Classifier: License :: OSI Approved :: MIT License
29
- Classifier: License :: OSI Approved :: ISC License (ISCL)
30
10
  Classifier: Programming Language :: C
31
11
  Classifier: Topic :: Software Development
32
12
  Classifier: Operating System :: Microsoft :: Windows
@@ -63,6 +63,8 @@ If the embedded pkgconf cannot find a package, by default it will fallback to th
63
63
  ``pkgconf``/``pkg-config``, which may find packages present on the system. To disable
64
64
  this behavior, set the ``PKGCONF_PYPI_EMBEDDED_ONLY=1`` environment variable.
65
65
 
66
+ To enable debug output to ``syserr``, set ``PYPI_PKGCONF_DEBUG=1``.
67
+
66
68
  API
67
69
  ===
68
70
 
@@ -3,7 +3,7 @@
3
3
  # SPDX-License-Identifier: MIT
4
4
 
5
5
  project('pkgconf-pypi',
6
- version : '2.4.3-3',
6
+ version : '2.5.1-1',
7
7
  license : 'MIT AND ISC',
8
8
  license_files : ['LICENSE'],
9
9
  meson_version : '>=1.3.2',
@@ -5,16 +5,17 @@
5
5
  [build-system]
6
6
  backend-path = ['src']
7
7
  # build-backend = 'mesonpy'
8
- # requires = ['meson-python']
8
+ # requires = ['meson-python>=0.18.0']
9
9
  build-backend = 'buildhack'
10
- requires = ['meson-python', 'wheel']
10
+ requires = ['meson-python>=0.18.0', 'wheel']
11
11
 
12
12
  [project]
13
13
  name = 'pkgconf'
14
- version = '2.4.3-3'
14
+ version = '2.5.1-1'
15
15
  description = '`pkgconf` is a program which helps with discovering library dependencies and configuring compiler and linker flags.'
16
16
  readme = 'README.md'
17
- license = {file = 'LICENSE'}
17
+ license = 'MIT'
18
+ license-files = ['LICENSE']
18
19
  authors = [
19
20
  {name = 'Ralf Gommers', email = 'ralf.gommers@gmail.com'},
20
21
  {name = 'Filipe Laíns', email = 'lains@riseup.net'}
@@ -22,8 +23,6 @@ authors = [
22
23
  classifiers = [
23
24
  'Development Status :: 4 - Beta',
24
25
  'Intended Audience :: Developers',
25
- 'License :: OSI Approved :: MIT License',
26
- 'License :: OSI Approved :: ISC License (ISCL)',
27
26
  'Programming Language :: C',
28
27
  'Topic :: Software Development',
29
28
  'Operating System :: Microsoft :: Windows',
@@ -78,13 +77,12 @@ config-settings = 'setup-args=--vsenv build-dir=build'
78
77
 
79
78
  [tool.mypy]
80
79
  files = 'src'
81
- python_version = '3.9'
80
+ python_version = '3.10'
82
81
  show_error_codes = true
83
82
  strict = true
84
83
 
85
84
  [tool.ruff]
86
85
  line-length = 127
87
- src = ['src']
88
86
 
89
87
  [tool.ruff.format]
90
88
  quote-style = 'single'
@@ -14,7 +14,7 @@ import pkgconf._path_entrypoints
14
14
  from pkgconf._path_entrypoints import PathWarning
15
15
 
16
16
 
17
- __version__ = '2.4.3-3'
17
+ __version__ = '2.5.1-1'
18
18
 
19
19
 
20
20
  _LOGGER = logging.getLogger(__name__)
@@ -101,7 +101,10 @@ def _setup_cli():
101
101
  stream=sys.stderr,
102
102
  format=f'{dim}> %(message)s{reset} [%(levelname)s:%(name)s]',
103
103
  )
104
- pkgconf._CLI_LOGGER.setLevel(logging.INFO)
104
+ if os.environ.get('PYPI_PKGCONF_DEBUG'):
105
+ pkgconf._CLI_LOGGER.setLevel(logging.INFO)
106
+ else:
107
+ pkgconf._CLI_LOGGER.setLevel(logging.WARNING)
105
108
 
106
109
  def _showwarning(
107
110
  message: Warning | str,
@@ -0,0 +1,51 @@
1
+ name: Generate and upload release tarballs
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'pkgconf-*'
7
+
8
+ jobs:
9
+ publish:
10
+ runs-on: ubuntu-latest
11
+ container:
12
+ image: alpine:latest
13
+ steps:
14
+ - name: Checkout
15
+ uses: actions/checkout@v2
16
+ with:
17
+ repository: pkgconf/pkgconf
18
+
19
+ - name: Update system and add dependencies
20
+ run: |
21
+ apk update
22
+ apk add kyua atf build-base autoconf automake libtool xz gzip openssh-client
23
+
24
+ - name: Bootstrap autotools
25
+ run: |
26
+ sh autogen.sh
27
+ ./configure
28
+
29
+ - name: Run tests and generate dist tarballs
30
+ run: |
31
+ make distcheck -j$(nproc)
32
+
33
+ - name: Upload dist tarballs to distfiles.ariadne.space
34
+ env:
35
+ DISTFILES_PRIVATE_KEY: ${{ secrets.DISTFILES_PRIVATE_KEY }}
36
+ DISTFILES_HOST_KEYS: ${{ secrets.DISTFILES_HOST_KEYS }}
37
+ run: |
38
+ mkdir -p $HOME/.ssh
39
+
40
+ # Ensure the private key is read-only so SSH doesn't reject it.
41
+ umask 277
42
+ (echo "$DISTFILES_PRIVATE_KEY" | base64 -d) > $HOME/.ssh/id_ed25519
43
+
44
+ umask 077
45
+ (echo "$DISTFILES_HOST_KEYS" | base64 -d) > $HOME/.ssh/known_hosts
46
+
47
+ # Upload the tarballs.
48
+ scp -i "$HOME/.ssh/id_ed25519" -o "UserKnownHostsFile=$HOME/.ssh/known_hosts" *.tar* kaniini@distfiles.ariadne.space:distfiles/pkgconf/
49
+
50
+ # Delete the key material.
51
+ rm -rf $HOME/.ssh
@@ -13,7 +13,6 @@ jobs:
13
13
  matrix:
14
14
  include: [
15
15
  { msystem: MINGW64, arch: x86_64},
16
- { msystem: MINGW32, arch: i686}
17
16
  ]
18
17
  steps:
19
18
  - name: Checkout code
@@ -28,6 +27,7 @@ jobs:
28
27
  mingw-w64-${{ matrix.arch }}-meson
29
28
  mingw-w64-${{ matrix.arch }}-ninja
30
29
  mingw-w64-${{ matrix.arch }}-gcc
30
+ mingw-w64-${{ matrix.arch }}-msitools
31
31
 
32
32
  - name: Build
33
33
  shell: msys2 {0}
@@ -36,7 +36,16 @@ jobs:
36
36
  export CFLAGS=-D__USE_MINGW_ANSI_STDIO=0
37
37
 
38
38
  meson -Dtests=disabled _build
39
- meson compile -C _build
39
+ meson compile -C _build msi
40
+
41
+ - name: Upload Artifact
42
+ uses: actions/upload-artifact@v4
43
+ with:
44
+ name: build-output
45
+ path: |
46
+ _build/*.exe
47
+ _build/*.dll
48
+ _build/*.msi
40
49
 
41
50
  debian-meson:
42
51
  runs-on: ubuntu-latest
@@ -151,3 +160,23 @@ jobs:
151
160
  - name: Run tests
152
161
  run: |
153
162
  make distcheck
163
+
164
+ analysis:
165
+ runs-on: ubuntu-latest
166
+ container:
167
+ image: alpine
168
+ steps:
169
+ - name: Checkout
170
+ uses: actions/checkout@v2
171
+
172
+ - name: Update system and add dependencies
173
+ run: |
174
+ apk update
175
+ apk add kyua atf build-base autoconf automake libtool xz gzip
176
+
177
+ - name: Build
178
+ run: |
179
+ export CFLAGS="-Wall -Werror -O2 -ggdb3 -fanalyzer"
180
+ ./autogen.sh
181
+ ./configure
182
+ make -j9 CFLAGS="$CFLAGS"
@@ -18,6 +18,8 @@ lib_LTLIBRARIES = libpkgconf.la
18
18
  EXTRA_DIST = pkg.m4 \
19
19
  meson.build \
20
20
  meson_options.txt \
21
+ pkgconf.wxs.in \
22
+ txt2rtf.py \
21
23
  libpkgconf/meson.build \
22
24
  libpkgconf/config.h.meson \
23
25
  libpkgconf/win-dirent.h \
@@ -174,9 +176,10 @@ libpkgconf_la_SOURCES = \
174
176
  libpkgconf/path.c \
175
177
  libpkgconf/personality.c \
176
178
  libpkgconf/parser.c
177
- libpkgconf_la_LDFLAGS = -no-undefined -version-info 6:0:0 -export-symbols-regex '^pkgconf_'
179
+ libpkgconf_la_LDFLAGS = -no-undefined -version-info 7:0:0 -export-symbols-regex '^pkgconf_'
178
180
 
179
181
  dist_man_MANS = \
182
+ man/bomtool.1 \
180
183
  man/pkgconf.1 \
181
184
  man/pkg.m4.7 \
182
185
  man/pc.5 \
@@ -39,7 +39,7 @@ all: pkgconf-lite
39
39
  libpkgconf/config.h:
40
40
  @echo '#define PACKAGE_NAME "pkgconf-lite"' >> $@
41
41
  @echo '#define PACKAGE_BUGREPORT "https://git.dereferenced.org/pkgconf/pkgconf/issues"' >> $@
42
- @echo '#define PACKAGE_VERSION "2.4.3"' >> $@
42
+ @echo '#define PACKAGE_VERSION "2.5.1"' >> $@
43
43
  @echo '#define PACKAGE PACKAGE_NAME " " PACKAGE_VERSION' >> $@
44
44
  @echo '#define HAVE_STRLCPY' >> $@
45
45
  @echo '#define HAVE_STRLCAT' >> $@
@@ -1,6 +1,46 @@
1
1
  Changes from previous version of pkgconf
2
2
  ========================================
3
3
 
4
+ Changes from 2.5.0 to 2.5.1:
5
+ ----------------------------
6
+
7
+ * Fix processing of empty dependency lists.
8
+
9
+ Changes from 2.4.3 to 2.5.0:
10
+ ----------------------------
11
+
12
+ * Added a manual page for bomtool.
13
+
14
+ * Add support for preloaded packages.
15
+ These are modules which are preloaded into the package database
16
+ and preferred over searching the module search path when present.
17
+
18
+ * Refactor Windows registry PKG_CONFIG_PATH support so that it
19
+ augments the main directory search list instead of being treated
20
+ as a special case.
21
+
22
+ * Processing of `--with-path` arguments by the pkgconf CLI is
23
+ now deferred until libpkgconf is fully initialized, effectively
24
+ aligning behavior with PKG_CONFIG_PATH processing.
25
+
26
+ * Fix several minor memory safety bugs which were identified by
27
+ the GCC 15 static analyzer.
28
+
29
+ * Added support for pledge(2) and unveil(2) on systems where
30
+ this functionality is available.
31
+
32
+ * Significant improvements to pkgconf's manual pages.
33
+ Patches by Ingo Schwarze and Jonathan Gray (OpenBSD).
34
+
35
+ * Remove questionable default-static assumption on Windows that
36
+ was inherited from the original pkg-config. Most distributions
37
+ of pkgconf on Windows were already patching this out.
38
+ Patch by Kai Pastor.
39
+
40
+ * Add -D_POSIX_C_SOURCE=200809L to the build definitions, which
41
+ is needed for readlinkat on glibc.
42
+ Patch by Filipe Laíns.
43
+
4
44
  Changes from 2.4.2 to 2.4.3:
5
45
  ----------------------------
6
46
 
@@ -0,0 +1,130 @@
1
+ # pkgconf [![test](https://github.com/pkgconf/pkgconf/actions/workflows/test.yml/badge.svg)](https://github.com/pkgconf/pkgconf/actions/workflows/test.yml)
2
+
3
+ `pkgconf` is a program which helps to configure compiler and linker flags for
4
+ development libraries. It is a superset of the functionality provided by
5
+ pkg-config from freedesktop.org, but does not provide bug-compatibility with
6
+ the original pkg-config.
7
+
8
+ `libpkgconf` is a library which provides access to most of `pkgconf`'s functionality,
9
+ to allow other tooling such as compilers and IDEs to discover and use libraries
10
+ configured by pkgconf.
11
+
12
+ ## release tarballs
13
+
14
+ Release tarballs are available on [distfiles.ariadne.space][distfiles].
15
+
16
+ [distfiles]: https://distfiles.ariadne.space/pkgconf/
17
+
18
+ ## build system setup
19
+
20
+ If you would like to use the git sources directly, or a snapshot of the
21
+ sources from GitHub, you will need to regenerate the autotools build
22
+ system artifacts yourself, or use Meson instead. For example, on Alpine:
23
+
24
+ $ apk add autoconf automake libtool build-base
25
+ $ sh ./autogen.sh
26
+
27
+ ## pkgconf-lite
28
+
29
+ If you only need the original pkg-config functionality, there is also pkgconf-lite,
30
+ which builds the `pkgconf` frontend and relevant portions of `libpkgconf` functionality
31
+ into a single binary:
32
+
33
+ $ make -f Makefile.lite
34
+
35
+ ## why `pkgconf` over original `pkg-config`?
36
+
37
+ pkgconf builds a flattened directed dependency graph, which allows for more insight
38
+ into relationships between dependencies, allowing for some link-time dependency
39
+ optimization, which allows for the user to more conservatively link their binaries,
40
+ which may be helpful in some environments, such as when prelink(1) is being used.
41
+
42
+ The solver is also optimized to handle large dependency graphs with hundreds of
43
+ thousands of edges, which can be seen in any project using the Abseil frameworks
44
+ for example.
45
+
46
+ In addition, pkgconf has full support for virtual packages, while the original
47
+ pkg-config does not, as well as fully supporting `Conflicts` at dependency
48
+ resolution time, which is more efficient than checking for `Conflicts` while
49
+ walking the dependency graph.
50
+
51
+ ## linker flags optimization
52
+
53
+ pkgconf, when used effectively, can make optimizations to avoid overlinking binaries.
54
+
55
+ This functionality depends on the pkg-config module properly declaring its dependency
56
+ tree instead of using `Libs` and `Cflags` fields to directly link against other modules
57
+ which have pkg-config metadata files installed.
58
+
59
+ The practice of using `Libs` and `Cflags` to describe unrelated dependencies is
60
+ not recommended in [Dan Nicholson's pkg-config tutorial][fd-tut] for this reason.
61
+
62
+ [fd-tut]: http://people.freedesktop.org/~dbn/pkg-config-guide.html
63
+
64
+ ## bug compatibility with original pkg-config
65
+
66
+ In general, we do not provide bug-level compatibility with pkg-config.
67
+
68
+ What that means is, if you feel that there is a legitimate regression versus pkg-config,
69
+ do let us know, but also make sure that the .pc files are valid and follow the rules of
70
+ the [pkg-config tutorial][fd-tut], as most likely fixing them to follow the specified
71
+ rules will solve the problem.
72
+
73
+ ## debug output
74
+
75
+ Please use only the stable interfaces to query pkg-config. Do not screen-scrape the
76
+ output from `--debug`: this is sent to `stderr` for a reason, it is not intended to be
77
+ scraped. The `--debug` output is **not** a stable interface, and should **never** be
78
+ depended on as a source of information. If you need a stable interface to query pkg-config
79
+ which is not covered, please get in touch.
80
+
81
+ ## compiling `pkgconf` and `libpkgconf` on UNIX
82
+
83
+ pkgconf is basically compiled the same way any other autotools-based project is
84
+ compiled:
85
+
86
+ $ ./configure
87
+ $ make
88
+ $ sudo make install
89
+
90
+ If you are installing pkgconf into a custom prefix, such as `/opt/pkgconf`, you will
91
+ likely want to define the default system includedir and libdir for your toolchain.
92
+ To do this, use the `--with-system-includedir` and `--with-system-libdir` configure
93
+ flags like so:
94
+
95
+ $ ./configure \
96
+ --prefix=/opt/pkgconf \
97
+ --with-system-libdir=/lib:/usr/lib \
98
+ --with-system-includedir=/usr/include
99
+ $ make
100
+ $ sudo make install
101
+
102
+ ## compiling `pkgconf` and `libpkgconf` with Meson (usually for Windows)
103
+
104
+ pkgconf is compiled using [Meson](https://mesonbuild.com) on Windows. In theory, you could also use
105
+ Meson to build on UNIX, but this is not recommended at this time as pkgconf is typically built
106
+ much earlier than Meson.
107
+
108
+ $ meson setup build -Dtests=disabled
109
+ $ meson compile -C build
110
+ $ meson install -C build
111
+
112
+ There are a few defines such as `SYSTEM_LIBDIR`, `PKGCONFIGDIR` and `SYSTEM_INCLUDEDIR`.
113
+ However, on Windows, the default `PKGCONFIGDIR` value is usually overridden at runtime based
114
+ on path relocation.
115
+
116
+ ## pkg-config symlink
117
+
118
+ If you want pkgconf to be used when you invoke `pkg-config`, you should install a
119
+ symlink for this. We do not do this for you, as we believe it is better for vendors
120
+ to make this determination themselves.
121
+
122
+ $ ln -sf pkgconf /usr/bin/pkg-config
123
+
124
+ ## contacts
125
+
126
+ You can report bugs at <https://github.com/pkgconf/pkgconf/issues>.
127
+
128
+ There is a mailing list at <https://lists.sr.ht/~kaniini/pkgconf>.
129
+
130
+ You can contact us via IRC at `#pkgconf` at `irc.oftc.net`.
@@ -1031,6 +1031,47 @@ deduce_personality(char *argv[])
1031
1031
  }
1032
1032
  #endif
1033
1033
 
1034
+ static void
1035
+ unveil_handler(const pkgconf_client_t *client, const char *path, const char *permissions)
1036
+ {
1037
+ (void) client;
1038
+
1039
+ if (pkgconf_unveil(path, permissions) == -1)
1040
+ {
1041
+ fprintf(stderr, "pkgconf: unveil failed: %s\n", strerror(errno));
1042
+ exit(EXIT_FAILURE);
1043
+ }
1044
+ }
1045
+
1046
+ static bool
1047
+ unveil_search_paths(const pkgconf_client_t *client, const pkgconf_cross_personality_t *personality)
1048
+ {
1049
+ pkgconf_node_t *n;
1050
+
1051
+ if (pkgconf_unveil("/dev/null", "rwc") == -1)
1052
+ return false;
1053
+
1054
+ PKGCONF_FOREACH_LIST_ENTRY(client->dir_list.head, n)
1055
+ {
1056
+ pkgconf_path_t *pn = n->data;
1057
+
1058
+ if (pkgconf_unveil(pn->path, "r") == -1)
1059
+ return false;
1060
+ }
1061
+
1062
+ PKGCONF_FOREACH_LIST_ENTRY(personality->dir_list.head, n)
1063
+ {
1064
+ pkgconf_path_t *pn = n->data;
1065
+
1066
+ if (pkgconf_unveil(pn->path, "r") == -1)
1067
+ return false;
1068
+ }
1069
+
1070
+ pkgconf_client_set_unveil_handler(&pkg_client, unveil_handler);
1071
+
1072
+ return true;
1073
+ }
1074
+
1034
1075
  int
1035
1076
  main(int argc, char *argv[])
1036
1077
  {
@@ -1055,6 +1096,12 @@ main(int argc, char *argv[])
1055
1096
  .flags = PKGCONF_PKG_PROPF_STATIC | PKGCONF_PKG_PROPF_VIRTUAL,
1056
1097
  };
1057
1098
 
1099
+ if (pkgconf_pledge("stdio rpath wpath cpath unveil", NULL) == -1)
1100
+ {
1101
+ fprintf(stderr, "pkgconf: pledge failed: %s\n", strerror(errno));
1102
+ return EXIT_FAILURE;
1103
+ }
1104
+
1058
1105
  want_flags = 0;
1059
1106
 
1060
1107
  #ifdef _WIN32
@@ -1218,9 +1265,6 @@ main(int argc, char *argv[])
1218
1265
  #endif
1219
1266
  }
1220
1267
 
1221
- pkgconf_path_copy_list(&personality->dir_list, &dir_list);
1222
- pkgconf_path_free(&dir_list);
1223
-
1224
1268
  #ifndef PKGCONF_LITE
1225
1269
  if ((want_flags & PKG_DUMP_PERSONALITY) == PKG_DUMP_PERSONALITY)
1226
1270
  {
@@ -1232,6 +1276,13 @@ main(int argc, char *argv[])
1232
1276
  /* now, bring up the client. settings are preserved since the client is prealloced */
1233
1277
  pkgconf_client_init(&pkg_client, error_handler, NULL, personality);
1234
1278
 
1279
+ /* unveil the entire search path now that we have loaded the personality data. */
1280
+ if (!unveil_search_paths(&pkg_client, personality))
1281
+ {
1282
+ fprintf(stderr, "pkgconf: unveil failed: %s\n", strerror(errno));
1283
+ return EXIT_FAILURE;
1284
+ }
1285
+
1235
1286
  #ifndef PKGCONF_LITE
1236
1287
  if ((want_flags & PKG_MSVC_SYNTAX) == PKG_MSVC_SYNTAX || getenv("PKG_CONFIG_MSVC_SYNTAX") != NULL)
1237
1288
  want_render_ops = msvc_renderer_get();
@@ -1259,6 +1310,9 @@ main(int argc, char *argv[])
1259
1310
  pkgconf_client_set_trace_handler(&pkg_client, error_handler, NULL);
1260
1311
  #endif
1261
1312
 
1313
+ pkgconf_path_prepend_list(&pkg_client.dir_list, &dir_list);
1314
+ pkgconf_path_free(&dir_list);
1315
+
1262
1316
  if ((want_flags & PKG_ABOUT) == PKG_ABOUT)
1263
1317
  {
1264
1318
  about();
@@ -1398,6 +1452,9 @@ main(int argc, char *argv[])
1398
1452
  /* at this point, want_client_flags should be set, so build the dir list */
1399
1453
  pkgconf_client_dir_list_build(&pkg_client, personality);
1400
1454
 
1455
+ /* preload any files in PKG_CONFIG_PRELOADED_FILES */
1456
+ pkgconf_client_preload_from_environ(&pkg_client, "PKG_CONFIG_PRELOADED_FILES");
1457
+
1401
1458
  if (required_pkgconfig_version != NULL)
1402
1459
  {
1403
1460
  if (pkgconf_compare_version(PACKAGE_VERSION, required_pkgconfig_version) >= 0)
@@ -1427,6 +1484,12 @@ main(int argc, char *argv[])
1427
1484
 
1428
1485
  if (logfile_arg != NULL)
1429
1486
  {
1487
+ if (pkgconf_unveil(logfile_arg, "rwc") == -1)
1488
+ {
1489
+ fprintf(stderr, "pkgconf: unveil failed: %s\n", strerror(errno));
1490
+ return EXIT_FAILURE;
1491
+ }
1492
+
1430
1493
  logfile_out = fopen(logfile_arg, "w");
1431
1494
  pkgconf_audit_set_log(&pkg_client, logfile_out);
1432
1495
  }
@@ -1619,6 +1682,13 @@ cleanup3:
1619
1682
  goto out;
1620
1683
  }
1621
1684
 
1685
+ /* we shouldn't need to unveil any more filesystem accesses from this point, so lock it down */
1686
+ if (pkgconf_unveil(NULL, NULL) == -1)
1687
+ {
1688
+ fprintf(stderr, "pkgconf: unveil lockdown failed: %s\n", strerror(errno));
1689
+ return EXIT_FAILURE;
1690
+ }
1691
+
1622
1692
  #ifndef PKGCONF_LITE
1623
1693
  if ((want_flags & PKG_SIMULATE) == PKG_SIMULATE)
1624
1694
  {
@@ -12,7 +12,7 @@ dnl implied. In no event shall the authors be liable for any damages arising
12
12
  dnl from the use of this software.
13
13
 
14
14
  AC_PREREQ([2.71])
15
- AC_INIT([pkgconf],[2.4.3],[https://github.com/pkgconf/pkgconf/issues/new])
15
+ AC_INIT([pkgconf],[2.5.1],[https://github.com/pkgconf/pkgconf/issues/new])
16
16
  AC_CONFIG_SRCDIR([cli/main.c])
17
17
  AC_CONFIG_MACRO_DIR([m4])
18
18
  AX_CHECK_COMPILE_FLAG([-Wall], [CFLAGS="$CFLAGS -Wall"])
@@ -23,6 +23,7 @@ AX_CHECK_COMPILE_FLAG([-std=gnu99], [CFLAGS="$CFLAGS -std=gnu99"], [
23
23
  ])
24
24
  AC_CONFIG_HEADERS([libpkgconf/config.h])
25
25
  AC_CHECK_DECLS([strlcpy, strlcat, strndup], [], [], [[#include <string.h>]])
26
+ AC_CHECK_DECLS([pledge, unveil], [], [], [[#include <unistd.h>]])
26
27
  AC_CHECK_DECLS([reallocarray])
27
28
  AC_CHECK_HEADERS([sys/stat.h])
28
29
  AM_INIT_AUTOMAKE([foreign dist-xz subdir-objects])
@@ -59,7 +59,10 @@ pkgconf_argv_free(char **argv)
59
59
  int
60
60
  pkgconf_argv_split(const char *src, int *argc, char ***argv)
61
61
  {
62
- char *buf = malloc(strlen(src) + 1);
62
+ char *buf = calloc(1, strlen(src) + 1);
63
+ if (buf == NULL)
64
+ return -1;
65
+
63
66
  const char *src_iter;
64
67
  char *dst_iter;
65
68
  int argc_count = 0;
@@ -70,9 +73,13 @@ pkgconf_argv_split(const char *src, int *argc, char ***argv)
70
73
  src_iter = src;
71
74
  dst_iter = buf;
72
75
 
73
- memset(buf, 0, strlen(src) + 1);
74
-
75
76
  *argv = calloc(argv_size, sizeof (void *));
77
+ if (*argv == NULL)
78
+ {
79
+ free(buf);
80
+ return -1;
81
+ }
82
+
76
83
  (*argv)[argc_count] = dst_iter;
77
84
 
78
85
  while (*src_iter)