From 808bd09ce252cd06a06a5054384557169c8ab838 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 29 Jan 2024 07:12:19 +0000 Subject: [PATCH] dev-util/pkgconf: Sync with Gentoo It's from Gentoo commit 5bc2303601b0dc6bc4113f75292371518f8f2453. --- .../portage-stable/dev-util/pkgconf/Manifest | 3 - .../files/pkgconf-2.1.0-digraph-test.patch | 41 ++++++++ .../files/pkgconf-2.1.0-fix-modversion.patch | 95 +++++++++++++++++++ .../pkgconf-2.1.0-traverse-only-once.patch | 71 ++++++++++++++ .../dev-util/pkgconf/pkgconf-2.0.1.ebuild | 69 -------------- .../dev-util/pkgconf/pkgconf-2.0.2.ebuild | 69 -------------- ...f-2.0.3.ebuild => pkgconf-2.1.0-r1.ebuild} | 8 +- 7 files changed, 214 insertions(+), 142 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.1.0-digraph-test.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.1.0-fix-modversion.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.1.0-traverse-only-once.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.0.1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.0.2.ebuild rename sdk_container/src/third_party/portage-stable/dev-util/pkgconf/{pkgconf-2.0.3.ebuild => pkgconf-2.1.0-r1.ebuild} (88%) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest index 17e85b200e..f9500e4543 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest @@ -1,5 +1,2 @@ DIST pkgconf-1.8.1.tar.xz 302372 BLAKE2B 591961f0b1fd185834fd8e2a672199cffc035139599817b1d56d571300d2aa800a719c9477aac4023dfade597ad3cc3b45360babe57498977568ee57077c7bbe SHA512 7a7d5204c1c9bfb6578bda56f299d1fa0300e69a133a65730b10ad77aefbf26fceb74ae77cecda326b3ed5db5736f27fcce94764b3a56d40f4bb99fecdc80bba -DIST pkgconf-2.0.1.tar.xz 310576 BLAKE2B 9cb4a1a2ba9a961f184e8d600e15866b6ca971c84b1f9ce83a9ce528b16ec1f6c425ca0deebe5aa11f54d4daf64afbd59e96289a2e17a4bf62f8a82d48d59248 SHA512 1f6e6e421e6e6228aad5cbd834016c8657a59e3bbb5929de4b62377a79cb4e4a52e339f305378b80e6309701bbc0490179e0ead7bdee9da6d7c78565d7b80bc8 -DIST pkgconf-2.0.2.tar.xz 310604 BLAKE2B bc13a987d2ed4076af126dfd81c77c10004d0436fcb94c9e7ba18d37a7209ac432f4eb6909e65b22bdff0a4392ef1e764840efa7605adab0db1efa687b131796 SHA512 ca0570cff61534508b091408edf0021773c5f7f4c57ec5427474242f5f84a37e8fdc220cc02b9b362e71b6f8735f0be2c2c246e2212c65a833e44182e2e12e32 -DIST pkgconf-2.0.3.tar.xz 310796 BLAKE2B a0a526d59dce4eaafb5a43784676d7717ea8718ea207b3c47e78ef5388804547633ca76cf5b0942d8409c51ff293b8760ee2f9ebfc3ee6c4e4d41861e93db25a SHA512 cdbacd2894f9e5767dd7407ac4d4301a769ee0c6122a1219ce2c89d1a2019056d150cc42b98fda7fb0bd3d167fda2b897a1a92619f64ec5bb02ac9dbc31e445e DIST pkgconf-2.1.0.tar.xz 311576 BLAKE2B 43ac91f15106764f0b03ac4e1c3ff59aaba0436a221a295be93dd1a78b74e0185e60be8d24d040cc4ce0b0fb4446a6a8f493e7cc69bafafe5cefa9beab9b2bd5 SHA512 239dd75814d23f98a64c7df7ab12bc87a0ba52227ef0102086876e39712a2a5d2fdd1e27314070f66f9b38ef5bc0a31f0b90522f34bf8351e7bfb12c75313641 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.1.0-digraph-test.patch b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.1.0-digraph-test.patch new file mode 100644 index 0000000000..90232ab4c1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.1.0-digraph-test.patch @@ -0,0 +1,41 @@ +https://github.com/pkgconf/pkgconf/pull/340 + +From db387172ac5fe2a3118945bf45bd90d8a2efeaf4 Mon Sep 17 00:00:00 2001 +From: Kai Pastor +Date: Wed, 17 Jan 2024 18:28:38 +0100 +Subject: [PATCH] Test digraph completeness for private-libs-duplication + +Complements 45073b7. +--- a/tests/requires.sh ++++ b/tests/requires.sh +@@ -10,6 +10,7 @@ tests_init \ + argv_parse2 \ + static_cflags \ + private_duplication \ ++ private_duplication_digraph \ + libs_static2 \ + missing \ + requires_internal \ +@@ -73,6 +74,21 @@ private_duplication_body() + pkgconf --static --libs-only-l private-libs-duplication + } + ++private_duplication_digraph_body() ++{ ++ export PKG_CONFIG_PATH="${selfdir}/lib1" ++ atf_check \ ++ -o 'match:"virtual:world" -> "private-libs-duplication"' \ ++ -o 'match:"virtual:world" -> "bar"' \ ++ -o 'match:"virtual:world" -> "baz"' \ ++ -o 'match:"virtual:world" -> "foo"' \ ++ -o 'match:"private-libs-duplication" -> "bar"' \ ++ -o 'match:"private-libs-duplication" -> "baz"' \ ++ -o 'match:"bar" -> "foo"' \ ++ -o 'match:"baz" -> "foo"' \ ++ pkgconf --static --libs-only-l private-libs-duplication --digraph ++} ++ + libs_static2_body() + { + export PKG_CONFIG_PATH="${selfdir}/lib1" + diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.1.0-fix-modversion.patch b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.1.0-fix-modversion.patch new file mode 100644 index 0000000000..3336a45579 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.1.0-fix-modversion.patch @@ -0,0 +1,95 @@ +https://github.com/pkgconf/pkgconf/issues/335 +https://github.com/pkgconf/pkgconf/issues/332 +https://github.com/pkgconf/pkgconf/issues/317 +https://github.com/pkgconf/pkgconf/pull/336 + +https://github.com/pkgconf/pkgconf/commit/125af82dbe93eddadb7ec10eebac5087e9fbc451 +https://github.com/pkgconf/pkgconf/commit/b2f8386c32d1cb4dfa8f51c619c0c2a56a3544d6 +https://github.com/pkgconf/pkgconf/commit/5825e2c6d608ef74a97349e81d750ab95c53cf50 + +From 9a5c9be4ccef66a80df7533e00e525f87ff2fb01 Mon Sep 17 00:00:00 2001 +From: Kai Pastor +Date: Fri, 1 Dec 2023 21:20:39 +0100 +Subject: [PATCH 1/3] Test --modversion with constraint + +--- a/tests/regress.sh ++++ b/tests/regress.sh +@@ -27,6 +27,9 @@ tests_init \ + modversion_fullpath \ + modversion_provides \ + modversion_uninstalled \ ++ modversion_one_word_expression \ ++ modversion_two_word_expression \ ++ modversion_three_word_expression \ + pcpath \ + virtual_variable \ + fragment_collision \ +@@ -301,3 +304,21 @@ modversion_uninstalled_body() + atf_check -o inline:"1.2.3\n" \ + pkgconf --with-path="${selfdir}/lib1" --modversion omg + } ++ ++modversion_one_word_expression_body() ++{ ++ atf_check -o inline:"1.2.3\n" \ ++ pkgconf --with-path="${selfdir}/lib1" --modversion "foo > 1.0" ++} ++ ++modversion_two_word_expression_body() ++{ ++ atf_check -o inline:"1.2.3\n" \ ++ pkgconf --with-path="${selfdir}/lib1" --modversion foo "> 1.0" ++} ++ ++modversion_three_word_expression_body() ++{ ++ atf_check -o inline:"1.2.3\n" \ ++ pkgconf --with-path="${selfdir}/lib1" --modversion foo ">" 1.0 ++} + +From 0d4e6fa01074f5e540a7d89731edf44751bd17fc Mon Sep 17 00:00:00 2001 +From: Kai Pastor +Date: Fri, 1 Dec 2023 21:50:46 +0100 +Subject: [PATCH 2/3] Fix --modversion output + +--- a/cli/main.c ++++ b/cli/main.c +@@ -333,7 +333,12 @@ apply_modversion(pkgconf_client_t *client, pkgconf_pkg_t *world, void *data, int + pkgconf_dependency_t *dep = world_iter->data; + pkgconf_pkg_t *pkg = dep->match; + +- if (strcmp(pkg->why, queue_node->package)) ++ const size_t name_len = strlen(pkg->why); ++ if (name_len > strlen(queue_node->package) || ++ strncmp(pkg->why, queue_node->package, name_len) || ++ (queue_node->package[name_len] != 0 && ++ !isspace(queue_node->package[name_len]) && ++ !PKGCONF_IS_OPERATOR_CHAR(queue_node->package[name_len]))) + continue; + + if (pkg->version != NULL) { + +From ace73a690437488baea28130c98f0b1eaab4689e Mon Sep 17 00:00:00 2001 +From: Kai Pastor +Date: Fri, 1 Dec 2023 22:12:20 +0100 +Subject: [PATCH 3/3] Fix crash on two-word expressions + +--- a/cli/main.c ++++ b/cli/main.c +@@ -1405,6 +1405,15 @@ main(int argc, char *argv[]) + pkgconf_queue_push(&pkgq, package); + pkg_optind++; + } ++ else if (argv[pkg_optind + 2] == NULL) ++ { ++ char packagebuf[PKGCONF_BUFSIZE]; ++ ++ snprintf(packagebuf, sizeof packagebuf, "%s %s", package, argv[pkg_optind + 1]); ++ pkg_optind += 2; ++ ++ pkgconf_queue_push(&pkgq, packagebuf); ++ } + else + { + char packagebuf[PKGCONF_BUFSIZE]; + diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.1.0-traverse-only-once.patch b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.1.0-traverse-only-once.patch new file mode 100644 index 0000000000..80eab2485e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/files/pkgconf-2.1.0-traverse-only-once.patch @@ -0,0 +1,71 @@ +https://issuetracker.google.com/issues/317357322 +https://bugs.gentoo.org/912843 +https://github.com/pkgconf/pkgconf/pull/339 + +From 478199b425b46e9dae36bb174f1bd08bf3ffb0f1 Mon Sep 17 00:00:00 2001 +From: Yi Chou +Date: Fri, 22 Dec 2023 00:13:31 +0800 +Subject: [PATCH] Use traverse_id to prevent traverse pkgdep twice + +--- a/libpkgconf/libpkgconf.h ++++ b/libpkgconf/libpkgconf.h +@@ -137,6 +137,8 @@ struct pkgconf_path_ { + #define PKGCONF_PKG_PROPF_CACHED 0x02 + #define PKGCONF_PKG_PROPF_UNINSTALLED 0x08 + #define PKGCONF_PKG_PROPF_VIRTUAL 0x10 ++#define PKGCONF_PKG_PROPF_VISITED 0x20 ++#define PKGCONF_PKG_PROPF_VISITED_PRIVATE 0x40 + + struct pkgconf_pkg_ { + int refcount; +@@ -176,6 +178,7 @@ struct pkgconf_pkg_ { + + uint64_t serial; + uint64_t identifier; ++ uint64_t traverse_id; + }; + + typedef bool (*pkgconf_pkg_iteration_func_t)(const pkgconf_pkg_t *pkg, void *data); +@@ -212,6 +215,7 @@ struct pkgconf_client_ { + + uint64_t serial; + uint64_t identifier; ++ uint64_t traverse_id; + + pkgconf_pkg_t **cache_table; + size_t cache_count; +--- a/libpkgconf/pkg.c ++++ b/libpkgconf/pkg.c +@@ -1628,6 +1628,21 @@ pkgconf_pkg_traverse_main(pkgconf_client_t *client, + if (maxdepth == 0) + return eflags; + ++ unsigned int visited_flag = (client->flags & PKGCONF_PKG_PKGF_ITER_PKG_IS_PRIVATE) ? PKGCONF_PKG_PROPF_VISITED_PRIVATE : PKGCONF_PKG_PROPF_VISITED; ++ ++ if (root->traverse_id == client->traverse_id) ++ { ++ if (root->flags & visited_flag) ++ return eflags; ++ } ++ else ++ { ++ root->traverse_id = client->traverse_id; ++ root->flags &= ~(PKGCONF_PKG_PROPF_VISITED | PKGCONF_PKG_PROPF_VISITED_PRIVATE); ++ } ++ ++ root->flags |= visited_flag; ++ + PKGCONF_TRACE(client, "%s: level %d, serial %"PRIu64, root->id, maxdepth, client->serial); + + if ((root->flags & PKGCONF_PKG_PROPF_VIRTUAL) != PKGCONF_PKG_PROPF_VIRTUAL || (client->flags & PKGCONF_PKG_PKGF_SKIP_ROOT_VIRTUAL) != PKGCONF_PKG_PKGF_SKIP_ROOT_VIRTUAL) +@@ -1672,6 +1687,9 @@ pkgconf_pkg_traverse(pkgconf_client_t *client, + int maxdepth, + unsigned int skip_flags) + { ++ static uint64_t traverse_id = 0; ++ client->traverse_id = ++traverse_id; ++ + if (root->flags & PKGCONF_PKG_PROPF_VIRTUAL) + client->serial++; + + diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.0.1.ebuild deleted file mode 100644 index 742423bfd5..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.0.1.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 2012-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit multilib multilib-minimal - -if [[ ${PV} == 9999 ]] ; then - inherit autotools git-r3 - EGIT_REPO_URI="https://gitea.treehouse.systems/ariadne/pkgconf.git" -else - SRC_URI="https://distfiles.ariadne.space/${PN}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99" -HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf" - -LICENSE="ISC" -SLOT="0/4" -IUSE="test" - -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( - dev-libs/atf - dev-util/kyua - ) -" -RDEPEND="!dev-util/pkgconfig" - -src_prepare() { - default - - [[ ${PV} == 9999 ]] && eautoreconf - - MULTILIB_CHOST_TOOLS=( - /usr/bin/pkgconf - /usr/bin/pkg-config$(get_exeext) - ) -} - -multilib_src_configure() { - local myeconfargs=( - --with-system-includedir="${EPREFIX}/usr/include" - --with-system-libdir="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)" - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_test() { - unset PKG_CONFIG_LIBDIR PKG_CONFIG_PATH - default -} - -multilib_src_install() { - default - - dosym pkgconf$(get_exeext) /usr/bin/pkg-config$(get_exeext) - dosym pkgconf.1 /usr/share/man/man1/pkg-config.1 -} - -multilib_src_install_all() { - einstalldocs - - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.0.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.0.2.ebuild deleted file mode 100644 index 742423bfd5..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.0.2.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 2012-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit multilib multilib-minimal - -if [[ ${PV} == 9999 ]] ; then - inherit autotools git-r3 - EGIT_REPO_URI="https://gitea.treehouse.systems/ariadne/pkgconf.git" -else - SRC_URI="https://distfiles.ariadne.space/${PN}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99" -HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf" - -LICENSE="ISC" -SLOT="0/4" -IUSE="test" - -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( - dev-libs/atf - dev-util/kyua - ) -" -RDEPEND="!dev-util/pkgconfig" - -src_prepare() { - default - - [[ ${PV} == 9999 ]] && eautoreconf - - MULTILIB_CHOST_TOOLS=( - /usr/bin/pkgconf - /usr/bin/pkg-config$(get_exeext) - ) -} - -multilib_src_configure() { - local myeconfargs=( - --with-system-includedir="${EPREFIX}/usr/include" - --with-system-libdir="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)" - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_test() { - unset PKG_CONFIG_LIBDIR PKG_CONFIG_PATH - default -} - -multilib_src_install() { - default - - dosym pkgconf$(get_exeext) /usr/bin/pkg-config$(get_exeext) - dosym pkgconf.1 /usr/share/man/man1/pkg-config.1 -} - -multilib_src_install_all() { - einstalldocs - - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.0.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.1.0-r1.ebuild similarity index 88% rename from sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.0.3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.1.0-r1.ebuild index 1a3b9b6870..7ad7f087b4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.0.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.1.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2012-2023 Gentoo Authors +# Copyright 2012-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -30,6 +30,12 @@ BDEPEND=" " RDEPEND="!dev-util/pkgconfig" +PATCHES=( + "${FILESDIR}"/${PN}-2.1.0-fix-modversion.patch + "${FILESDIR}"/${PN}-2.1.0-digraph-test.patch + "${FILESDIR}"/${PN}-2.1.0-traverse-only-once.patch +) + src_prepare() { default