commit: 1d33d072b95c44a1110419777d5a7b93bc29cccd Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Mon Mar 24 02:28:49 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Mon Mar 24 02:28:49 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d33d072
dev-util/pkgcruft: add 0.0.11 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-util/pkgcruft/Manifest | 1 + dev-util/pkgcruft/pkgcruft-0.0.11.ebuild | 122 +++++++++++++++++++++++++++++++ 2 files changed, 123 insertions(+) diff --git a/dev-util/pkgcruft/Manifest b/dev-util/pkgcruft/Manifest index 394e8212d17b..9defa4690c4a 100644 --- a/dev-util/pkgcruft/Manifest +++ b/dev-util/pkgcruft/Manifest @@ -1 +1,2 @@ DIST pkgcruft-0.0.10.tar.xz 32193612 BLAKE2B d0f28f63e0b4f1d1309156309331feb0daa0cd52c6f0491f918d49f76c425b36a47fd02060554cd4398ac3490d6e21009b7421cb0ca14a821093fca7f57087bc SHA512 14812be27345a737d91281c869bc8149581bf3802b3bddca19908bfb687013cd1ee751213e86c7c277850f07eff2b58358930c74cbe2e3f4b370929de518097e +DIST pkgcruft-0.0.11.tar.xz 40812256 BLAKE2B 6afbc3750d99d715a01d644413b4e5c407d902cbb1761b5017dae0cf5b868a48f6fe5a8ee845bb8e4484cc9ea154d954afc85cd81d53480eee1233598a07a044 SHA512 b4ba070b811e1a94795bd8e90452b4e2db6fba53a563b828c8f8c6b938727ed6aff35e969c88a22b961ded1bd51847f52f1d285863a27b76715fe1ec72979934 diff --git a/dev-util/pkgcruft/pkgcruft-0.0.11.ebuild b/dev-util/pkgcruft/pkgcruft-0.0.11.ebuild new file mode 100644 index 000000000000..911e226eef4d --- /dev/null +++ b/dev-util/pkgcruft/pkgcruft-0.0.11.ebuild @@ -0,0 +1,122 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " +LLVM_COMPAT=( {17..19} ) +RUST_MIN_VER="1.82.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 GPL-3+ ISC MIT MPL-2.0 Unicode-DFS-2016 +" +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 + # https://github.com/pkgcraft/pkgcraft/issues/258 + edo cargo run --features shell --bin pkgcruft-shell-comp -p pkgcruft + 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 ${PN} + dozshcomp shell/_pkgcruft + dofishcomp shell/pkgcruft.fish +}