commit: 196afd0df60e275f17f0f6c511d54d80dfc8070d Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Sat Sep 30 00:22:49 2023 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Sep 30 00:22:49 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=196afd0d
sys-libs/pkgcraft: add 0.0.12 Signed-off-by: Sam James <sam <AT> gentoo.org> sys-libs/pkgcraft/Manifest | 1 + sys-libs/pkgcraft/pkgcraft-0.0.12.ebuild | 92 ++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) diff --git a/sys-libs/pkgcraft/Manifest b/sys-libs/pkgcraft/Manifest index 429c1b33665f..27871881592b 100644 --- a/sys-libs/pkgcraft/Manifest +++ b/sys-libs/pkgcraft/Manifest @@ -1 +1,2 @@ DIST pkgcraft-c-0.0.11.tar.xz 31609776 BLAKE2B 9e341ddedebbfab61543e86eafa074700c9b1e9b415704eb1286419f88257d8c56a40f725855d4c92d7e0223dfe0fb645d4aa4a3849e9684b96943d65d174061 SHA512 75cd8d07c550fb6c60b7743918ff0b462ce3c39adedb537a9b12325ba6e1aab5fe7b138ffecd37bdcc2d94a810f6c9651311d5810f4fe0014410622c36233442 +DIST pkgcraft-c-0.0.12.tar.xz 30086644 BLAKE2B 29f80a345e31c222feb8489635f060d5097f32b010401e71d00603d30532bf90dde8eb79f243c634b3efba2a85c3c284507eda30d69e2e6444cfbd9ddcff503b SHA512 879793b1dfc5a67e7bc24477d9fe74e2c5e81c5c199ba9cf130b395b61cf41f53228269d85a06163ec7f1cc8dcb07f5c7ae51abc964083fbdd46b928b6dc9888 diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.12.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.12.ebuild new file mode 100644 index 000000000000..544df0ae2420 --- /dev/null +++ b/sys-libs/pkgcraft/pkgcraft-0.0.12.ebuild @@ -0,0 +1,92 @@ +# Copyright 2023 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.70 +" + +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[@]}" +}