summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-util/pkgcruft/Manifest1
-rw-r--r--dev-util/pkgcruft/pkgcruft-0.0.14.ebuild126
-rw-r--r--dev-util/pkgcruft/pkgcruft-9999.ebuild32
3 files changed, 158 insertions, 1 deletions
diff --git a/dev-util/pkgcruft/Manifest b/dev-util/pkgcruft/Manifest
index 78ce70e5f119..ef5c0f1b61c2 100644
--- a/dev-util/pkgcruft/Manifest
+++ b/dev-util/pkgcruft/Manifest
@@ -1 +1,2 @@
DIST pkgcruft-0.0.13.tar.xz 30200436 BLAKE2B 85ed531a79d4261c65dcda41d6a238398fb36b8e93c1698444b866f6c930544bf19c85046ad9ab651bd0f5460ad174b47d468274de169a458083198b084205e2 SHA512 d53713d0f14d965e3b069fe2902af9aac1fac56b565e93b502c081adf0ada99336a43f5af697ec522ce4e6d49eff5b1fb20c375ffa90dcf417ae396c2dc81c2b
+DIST pkgcruft-0.0.14.tar.xz 31996380 BLAKE2B af72caec78d1879c7087108c360c4260fb25c1411e4bea54f4e7d5e23f4c6bca894b63559546dfa154105bbe40021004d3cc0eeeaa06834fb8c8573bd2e581d0 SHA512 b6da9e128f58f44c79fe1774ed70637ec1bc90a3ded3c79570f1977a2165ee5680a526d659b742001e80a18f5fd1b5d4a5460dcbf36e44aa233bf2aa6d2ca111
diff --git a/dev-util/pkgcruft/pkgcruft-0.0.14.ebuild b/dev-util/pkgcruft/pkgcruft-0.0.14.ebuild
new file mode 100644
index 000000000000..7cb2168b8ed8
--- /dev/null
+++ b/dev-util/pkgcruft/pkgcruft-0.0.14.ebuild
@@ -0,0 +1,126 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES=" "
+LLVM_COMPAT=( {17..20} )
+RUST_MIN_VER="1.85.0"
+
+inherit cargo edo llvm-r2 multiprocessing shell-completion toolchain-funcs
+
+DESCRIPTION="QA library and tools based on pkgcraft"
+HOMEPAGE="https://pkgcraft.github.io/"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft"
+ inherit git-r3
+
+ S="${WORKDIR}"/${P}/crates/${PN}
+else
+ SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${P}/${P}.tar.xz"
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 BSD-2 BSD CC0-1.0 CDLA-Permissive-2.0 ISC MIT MPL-2.0
+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# clang needed for bindgen
+BDEPEND+="
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ ')
+ test? ( dev-util/cargo-nextest )
+"
+
+QA_FLAGS_IGNORED="usr/bin/pkgcruft"
+
+pkg_setup() {
+ llvm-r2_pkg_setup
+ rust_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ cargo_live_src_unpack
+ else
+ cargo_src_unpack
+ fi
+}
+
+src_compile() {
+ # For scallop building bash
+ tc-export AR CC
+
+ cargo_src_compile
+
+ if [[ ${PV} == 9999 ]] ; then
+ einfo "Generating shell completions"
+ mkdir shell || die
+ local BIN="${WORKDIR}/${P}/$(cargo_target_dir)/pkgcruft"
+ "${BIN}" completion bash > shell/pkgcruft.bash || die
+ "${BIN}" completion zsh > shell/_pkgcruft || die
+ "${BIN}" completion fish > shell/pkgcruft.fish || die
+ fi
+}
+
+src_test() {
+ unset CLICOLOR CLICOLOR_FORCE
+
+ # TODO: Maybe move into eclass (and maybe have a cargo_enable_tests
+ # helper)
+ local -x NEXTEST_TEST_THREADS="$(makeopts_jobs)"
+
+ # The test failures appear ebuild-related
+ edo cargo nextest run $(usev !debug '--release') \
+ --color always \
+ --all-features \
+ --tests \
+ --no-fail-fast \
+ -- \
+ --skip 'commands::tests::check' \
+ --skip 'dependency::tests::check' \
+ --skip 'dependency_slot_missing::tests::check' \
+ --skip 'eapi_stale::tests::check' \
+ --skip 'eapi_status::tests::check' \
+ --skip 'ebuild_name::tests::check' \
+ --skip 'eclass::tests::check' \
+ --skip 'filesdir::tests::check' \
+ --skip 'header::tests::check' \
+ --skip 'homepage::tests::check' \
+ --skip 'ignore::tests::check' \
+ --skip 'iuse::tests::check' \
+ --skip 'keywords::tests::check' \
+ --skip 'keywords_dropped::tests::check' \
+ --skip 'license::tests::check' \
+ --skip 'live::tests::check' \
+ --skip 'manifest::tests::check' \
+ --skip 'metadata::tests::check' \
+ --skip 'properties::tests::check' \
+ --skip 'python_update::tests::check' \
+ --skip 'repo_layout::tests::check' \
+ --skip 'restrict::tests::check' \
+ --skip 'restrict_test_missing::tests::check' \
+ --skip 'ruby_update::tests::check' \
+ --skip 'src_uri::tests::check' \
+ --skip 'unstable_only::tests::check' \
+ --skip 'use_local::tests::check' \
+ --skip 'variable_order::tests::check' \
+ --skip 'whitespace::tests::check'
+}
+
+src_install() {
+ cargo_src_install
+
+ newbashcomp shell/pkgcruft.bash pkgcruft
+ dozshcomp shell/_pkgcruft
+ dofishcomp shell/pkgcruft.fish
+}
diff --git a/dev-util/pkgcruft/pkgcruft-9999.ebuild b/dev-util/pkgcruft/pkgcruft-9999.ebuild
index abed32cae805..7cb2168b8ed8 100644
--- a/dev-util/pkgcruft/pkgcruft-9999.ebuild
+++ b/dev-util/pkgcruft/pkgcruft-9999.ebuild
@@ -84,7 +84,37 @@ src_test() {
--color always \
--all-features \
--tests \
- --no-fail-fast
+ --no-fail-fast \
+ -- \
+ --skip 'commands::tests::check' \
+ --skip 'dependency::tests::check' \
+ --skip 'dependency_slot_missing::tests::check' \
+ --skip 'eapi_stale::tests::check' \
+ --skip 'eapi_status::tests::check' \
+ --skip 'ebuild_name::tests::check' \
+ --skip 'eclass::tests::check' \
+ --skip 'filesdir::tests::check' \
+ --skip 'header::tests::check' \
+ --skip 'homepage::tests::check' \
+ --skip 'ignore::tests::check' \
+ --skip 'iuse::tests::check' \
+ --skip 'keywords::tests::check' \
+ --skip 'keywords_dropped::tests::check' \
+ --skip 'license::tests::check' \
+ --skip 'live::tests::check' \
+ --skip 'manifest::tests::check' \
+ --skip 'metadata::tests::check' \
+ --skip 'properties::tests::check' \
+ --skip 'python_update::tests::check' \
+ --skip 'repo_layout::tests::check' \
+ --skip 'restrict::tests::check' \
+ --skip 'restrict_test_missing::tests::check' \
+ --skip 'ruby_update::tests::check' \
+ --skip 'src_uri::tests::check' \
+ --skip 'unstable_only::tests::check' \
+ --skip 'use_local::tests::check' \
+ --skip 'variable_order::tests::check' \
+ --skip 'whitespace::tests::check'
}
src_install() {