commit:     6e7182c4a65ce36c7c12256a86721332134038f5
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 23 18:46:40 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec 23 18:46:40 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e7182c4

sys-apps/pkgcraft-tools:  unbundle sys-libs/scallop, sync with 
::pkgcraft-overlay

Imported from ::pkgcraft-overlay [0] at commit 
5ac6edab4885f6c5937db6f0a7183c341cc7501b.

I've again kept the color hack as well as --release for tests.

[0] https://github.com/pkgcraft/pkgcraft-overlay

Co-authored-by: Tim Harder <radhermit <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...9999.ebuild => pkgcraft-tools-0.0.31-r2.ebuild} | 55 ++++++++++++----------
 sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild | 55 ++++++++++++----------
 2 files changed, 58 insertions(+), 52 deletions(-)

diff --git a/sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild 
b/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.31-r2.ebuild
similarity index 50%
copy from sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild
copy to sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.31-r2.ebuild
index 1926e5a95d51..a281388f7e4d 100644
--- a/sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild
+++ b/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.31-r2.ebuild
@@ -3,54 +3,60 @@
 
 EAPI=8
 
-CRATES=" "
-LLVM_COMPAT=( {17..21} )
+LLVM_COMPAT=( {19..21} )
 RUST_MIN_VER="1.90.0"
 
-inherit cargo edo multiprocessing llvm-r1 shell-completion
+inherit cargo edo multiprocessing llvm-r2 shell-completion
 
 DESCRIPTION="pkgcraft-based tools for Gentoo"
 HOMEPAGE="https://pkgcraft.github.io/";
 
 if [[ ${PV} == 9999 ]] ; then
+       SCALLOP_VERSION="9999"
        EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft";
        inherit git-r3
-
-       S="${WORKDIR}"/${P}/crates/pkgcraft-tools
+       S="${WORKDIR}"/${P}/crates/${PN}
 else
+       # For releases, SCALLOP_VERSION must match the value of PACKAGE_VERSION 
in
+       # the vendored library's configure script.
+       #
+       # To get the value from the repo use the following command:
+       # sed -rn "/^PACKAGE_VERSION=/ s/^.*='(.*)'/\1/p" 
**/scallop/bash/configure
+       SCALLOP_VERSION="5.3.9.20251212"
        
SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${P}/${P}.tar.xz";
-
-       KEYWORDS="~amd64 ~arm64"
+       KEYWORDS="~amd64"
 fi
 
 LICENSE="MIT"
-# Dependent crate licenses
+# dependent crate licenses
 LICENSE+="
        Apache-2.0 BSD-2 BSD CC0-1.0 CDLA-Permissive-2.0 ISC MIT MPL-2.0
        Unicode-3.0
 "
 SLOT="0"
 IUSE="test"
-RESTRICT="!test? ( test ) "
+RESTRICT="!test? ( test )"
 
-QA_FLAGS_IGNORED="usr/bin/pk"
-
-RDEPEND="
-       dev-libs/openssl:=
-       net-libs/libssh2:=
-"
+# Strict dependency versioning is required since the system library must match
+# the vendored copy as scallop exports many parts of bash that aren't meant to
+# be a public interface and compatibility is not guaranteed between releases.
+RDEPEND="~sys-libs/scallop-${SCALLOP_VERSION}"
 DEPEND="${RDEPEND}"
-# Clang needed for bindgen
+# clang needed by bindgen to generate bash bindings
 BDEPEND="
-       $(llvm_gen_dep '
-               llvm-core/clang:${LLVM_SLOT}
-       ')
+       virtual/pkgconfig
+       $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}')
        test? ( dev-util/cargo-nextest )
 "
 
+QA_FLAGS_IGNORED="usr/bin/pk"
+
 pkg_setup() {
-       llvm-r1_pkg_setup
+       llvm-r2_pkg_setup
        rust_pkg_setup
+
+       # use system scallop library
+       export SCALLOP_NO_VENDOR=1
 }
 
 src_unpack() {
@@ -63,8 +69,6 @@ src_unpack() {
 }
 
 src_compile() {
-       # TODO: Package scallop
-       export LIBSSH2_SYS_USE_PKG_CONFIG=1
        cargo_src_compile
 
        if [[ ${PV} == 9999 ]] ; then
@@ -75,13 +79,12 @@ src_compile() {
 }
 
 src_test() {
+       # pkgcraft-tools::pk pkg::showkw::output
+       # pkgcraft-tools::pk repo::leaf::multiple_repos_not_supported
        unset CLICOLOR CLICOLOR_FORCE
 
        local -x NEXTEST_TEST_THREADS="$(makeopts_jobs)"
-
-       edo ${CARGO} nextest run $(usev !debug '--release') \
-               --color always \
-               --tests
+       edo cargo nextest run $(usev !debug '--release') --color always --tests 
--no-fail-fast
 }
 
 src_install() {

diff --git a/sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild 
b/sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild
index 1926e5a95d51..a281388f7e4d 100644
--- a/sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild
+++ b/sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild
@@ -3,54 +3,60 @@
 
 EAPI=8
 
-CRATES=" "
-LLVM_COMPAT=( {17..21} )
+LLVM_COMPAT=( {19..21} )
 RUST_MIN_VER="1.90.0"
 
-inherit cargo edo multiprocessing llvm-r1 shell-completion
+inherit cargo edo multiprocessing llvm-r2 shell-completion
 
 DESCRIPTION="pkgcraft-based tools for Gentoo"
 HOMEPAGE="https://pkgcraft.github.io/";
 
 if [[ ${PV} == 9999 ]] ; then
+       SCALLOP_VERSION="9999"
        EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft";
        inherit git-r3
-
-       S="${WORKDIR}"/${P}/crates/pkgcraft-tools
+       S="${WORKDIR}"/${P}/crates/${PN}
 else
+       # For releases, SCALLOP_VERSION must match the value of PACKAGE_VERSION 
in
+       # the vendored library's configure script.
+       #
+       # To get the value from the repo use the following command:
+       # sed -rn "/^PACKAGE_VERSION=/ s/^.*='(.*)'/\1/p" 
**/scallop/bash/configure
+       SCALLOP_VERSION="5.3.9.20251212"
        
SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${P}/${P}.tar.xz";
-
-       KEYWORDS="~amd64 ~arm64"
+       KEYWORDS="~amd64"
 fi
 
 LICENSE="MIT"
-# Dependent crate licenses
+# dependent crate licenses
 LICENSE+="
        Apache-2.0 BSD-2 BSD CC0-1.0 CDLA-Permissive-2.0 ISC MIT MPL-2.0
        Unicode-3.0
 "
 SLOT="0"
 IUSE="test"
-RESTRICT="!test? ( test ) "
+RESTRICT="!test? ( test )"
 
-QA_FLAGS_IGNORED="usr/bin/pk"
-
-RDEPEND="
-       dev-libs/openssl:=
-       net-libs/libssh2:=
-"
+# Strict dependency versioning is required since the system library must match
+# the vendored copy as scallop exports many parts of bash that aren't meant to
+# be a public interface and compatibility is not guaranteed between releases.
+RDEPEND="~sys-libs/scallop-${SCALLOP_VERSION}"
 DEPEND="${RDEPEND}"
-# Clang needed for bindgen
+# clang needed by bindgen to generate bash bindings
 BDEPEND="
-       $(llvm_gen_dep '
-               llvm-core/clang:${LLVM_SLOT}
-       ')
+       virtual/pkgconfig
+       $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}')
        test? ( dev-util/cargo-nextest )
 "
 
+QA_FLAGS_IGNORED="usr/bin/pk"
+
 pkg_setup() {
-       llvm-r1_pkg_setup
+       llvm-r2_pkg_setup
        rust_pkg_setup
+
+       # use system scallop library
+       export SCALLOP_NO_VENDOR=1
 }
 
 src_unpack() {
@@ -63,8 +69,6 @@ src_unpack() {
 }
 
 src_compile() {
-       # TODO: Package scallop
-       export LIBSSH2_SYS_USE_PKG_CONFIG=1
        cargo_src_compile
 
        if [[ ${PV} == 9999 ]] ; then
@@ -75,13 +79,12 @@ src_compile() {
 }
 
 src_test() {
+       # pkgcraft-tools::pk pkg::showkw::output
+       # pkgcraft-tools::pk repo::leaf::multiple_repos_not_supported
        unset CLICOLOR CLICOLOR_FORCE
 
        local -x NEXTEST_TEST_THREADS="$(makeopts_jobs)"
-
-       edo ${CARGO} nextest run $(usev !debug '--release') \
-               --color always \
-               --tests
+       edo cargo nextest run $(usev !debug '--release') --color always --tests 
--no-fail-fast
 }
 
 src_install() {

Reply via email to