commit:     83e07a9231481b67557a863a0fc1d665b408010a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  3 03:38:53 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jun  3 03:38:53 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83e07a92

dev-vcs/pkgcruft-git: new package, add 9999

See https://public-inbox.gentoo.org/gentoo-dev/aDwOptEdJ5ideshS@fir/

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-vcs/pkgcruft-git/metadata.xml             | 11 ++++
 dev-vcs/pkgcruft-git/pkgcruft-git-9999.ebuild | 86 +++++++++++++++++++++++++++
 2 files changed, 97 insertions(+)

diff --git a/dev-vcs/pkgcruft-git/metadata.xml 
b/dev-vcs/pkgcruft-git/metadata.xml
new file mode 100644
index 000000000000..33c1ad3bdca7
--- /dev/null
+++ b/dev-vcs/pkgcruft-git/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Sam James</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="github">pkgcraft/pkgcraft</remote-id>
+       </upstream>
+</pkgmetadata>

diff --git a/dev-vcs/pkgcruft-git/pkgcruft-git-9999.ebuild 
b/dev-vcs/pkgcruft-git/pkgcruft-git-9999.ebuild
new file mode 100644
index 000000000000..1ecb0e5db4f7
--- /dev/null
+++ b/dev-vcs/pkgcruft-git/pkgcruft-git-9999.ebuild
@@ -0,0 +1,86 @@
+# 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.85.0"
+
+inherit cargo edo llvm-r2 multiprocessing toolchain-funcs
+
+DESCRIPTION="QA support for verifying git commits via pkgcruft"
+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
+       Unicode-3.0
+"
+SLOT="0"
+IUSE="test"
+# Fails to link w/ missing libssh2
+RESTRICT="!test? ( test ) test"
+
+DEPEND="
+       dev-libs/libgit2:=
+       dev-libs/openssl:=
+"
+RDEPEND="${DEPEND}"
+# clang needed for bindgen
+BDEPEND+="
+       $(llvm_gen_dep '
+               llvm-core/clang:${LLVM_SLOT}
+       ')
+       test? ( dev-util/cargo-nextest )
+"
+
+QA_FLAGS_IGNORED="usr/bin/pkgcruft-git"
+
+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
+}
+
+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
+}

Reply via email to