commit:     d770aeaa8c94daec63449e13d66746f46f5acdb0
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 14 19:20:30 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug 14 20:07:25 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d770aeaa

sys-libs/pkgcraft: add 0.0.16

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

 sys-libs/pkgcraft/Manifest               |  1 +
 sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild | 92 ++++++++++++++++++++++++++++++++
 2 files changed, 93 insertions(+)

diff --git a/sys-libs/pkgcraft/Manifest b/sys-libs/pkgcraft/Manifest
index edd951996ff2..cb8755e4d11a 100644
--- a/sys-libs/pkgcraft/Manifest
+++ b/sys-libs/pkgcraft/Manifest
@@ -1,2 +1,3 @@
 DIST pkgcraft-c-0.0.14.tar.xz 29920400 BLAKE2B 
dc163e0fb9bcdfb283346cc2bc2dfec9111d4d70c0bbd7b37b9306cd1bcf1d262e99b8126db71608f16807224ca6a357a7449d7076ab57b225745c7bb69c6080
 SHA512 
9d47788b60a00f5d006787fa38606f12a738a86e587cff0df5671a959d1e970860f31546117f44187f17c0fa8b52e6ac8ad6ec2a767abcc985e470d5a5f9f4a5
 DIST pkgcraft-c-0.0.15.tar.xz 22494284 BLAKE2B 
a1cccec51f0684282e5e962fc2c50a7a1ddb459dac0fb6c8d611aa4d51abc5a2394a5f3a43ad9599ae841b00678713559f1aeb7bc282309aa222d1024a50d67d
 SHA512 
5e2c79c43f9e9113fc46b1c5cb9a78a70718eb9fd2ac9ba03d1586d6273649429b5f36ee5e832b58889914491ff9369803e509d5ba7c820a7e006df70cacf8e9
+DIST pkgcraft-c-0.0.16.tar.xz 20787816 BLAKE2B 
085ee23fce8e03fa82fcec210e31f032cbe51354a14de2f2261329f432c0f6460363898d735dc7ed1c4115a184d6b7a3ff9a7c4d1697b12e34729cda54f6c234
 SHA512 
a805919375c8791b73a803a61c10df9ba0db87381f7fdec976428cf07b287bd10f02a6c97d1b7bb4d483b37a4ec6e027ae397067b658e4a4b422102e42d814e3

diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild 
b/sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild
new file mode 100644
index 000000000000..a964805ae71c
--- /dev/null
+++ b/sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild
@@ -0,0 +1,92 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES=" "
+inherit edo cargo toolchain-funcs
+
+DESCRIPTION="C library for 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/pkgcraft-c
+
+       BDEPEND="test? ( dev-util/cargo-nextest )"
+else
+       MY_P=${PN}-c-${PV}
+       
SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${MY_P}/${MY_P}.tar.xz";
+       S="${WORKDIR}"/${MY_P}
+
+       KEYWORDS="~amd64 ~arm64"
+fi
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016"
+SLOT="0/${PV}"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# clang needed for bindgen
+BDEPEND+="
+       dev-util/cargo-c
+       sys-devel/clang
+       >=virtual/rust-1.76
+"
+
+QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*"
+
+src_unpack() {
+       if [[ ${PV} == 9999 ]] ; then
+               git-r3_src_unpack
+               cargo_live_src_unpack
+       else
+               cargo_src_unpack
+       fi
+}
+
+src_compile() {
+       local cargoargs=(
+               --library-type=cdylib
+               --prefix=/usr
+               --libdir="/usr/$(get_libdir)"
+               $(usev !debug '--release')
+       )
+
+       # For scallop building bash
+       tc-export AR CC
+
+       # Can pass -vv if need more output from e.g. scallop configure
+       edo cargo cbuild "${cargoargs[@]}"
+}
+
+src_test() {
+       if [[ ${PV} == 9999 ]] ; then
+               # It's interesting to test the whole thing rather than just
+               # pkgcraft-c.
+               cd "${WORKDIR}"/${P} || die
+
+               # Need nextest per README (separate processes required)
+               # Invocation from 
https://github.com/pkgcraft/pkgcraft/blob/main/.github/workflows/ci.yml#L56
+               edo cargo nextest run $(usev !debug '--release') --color always 
--all-features --tests
+       else
+               # There are no tests for pkgcraft-c. Test via e.g. 
dev-python/pkgcraft.
+               :;
+       fi
+}
+
+src_install() {
+       local cargoargs=(
+               --library-type=cdylib
+               --prefix=/usr
+               --libdir="/usr/$(get_libdir)"
+               --destdir="${ED}"
+               $(usev !debug '--release')
+       )
+
+       edo cargo cinstall "${cargoargs[@]}"
+}

Reply via email to