commit: 910b33c8f17fa6add5601d02fb4ad98f303376b8 Author: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org> AuthorDate: Sun Feb 23 19:09:44 2025 +0000 Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org> CommitDate: Sun Feb 23 19:09:57 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=910b33c8
sys-block/thin-provisioning-tools: support LLVM 19 Closes: https://bugs.gentoo.org/948405 Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org> .../thin-provisioning-tools-1.1.0-r3.ebuild | 238 +++++++++++++++++++++ 1 file changed, 238 insertions(+) diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r3.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r3.ebuild new file mode 100644 index 000000000000..2b3147f389f1 --- /dev/null +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r3.ebuild @@ -0,0 +1,238 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected]+wasi-snapshot-preview1 + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] +" + +declare -A GIT_CRATES=( + [rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%' +) + +LLVM_COMPAT=( {17..19} ) + +inherit cargo llvm-r1 + +DESCRIPTION="A suite of tools for thin provisioning on Linux" +HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git" + inherit git-r3 +else + SRC_URI=" + https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD GPL-3 ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" +IUSE="io-uring" + +RDEPEND="virtual/libudev:=" +# libdevmapper.h needed for devicemapper-sys crate +DEPEND=" + ${RDEPEND} + sys-fs/lvm2 +" +# Needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + virtual/pkgconfig +" + +DOCS=( + CHANGES + COPYING + README.md + doc/TODO.md + doc/thinp-version-2/notes.md +) + +# Rust +QA_FLAGS_IGNORED="usr/sbin/pdata_tools" + +PATCHES=( + "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" +) + +pkg_setup() { + llvm-r1_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_prepare() { + default + + cd "${WORKDIR}"/rio* || die + eapply "${FILESDIR}/${PN}-1.1.0-rio-nightly.patch" +} + +src_configure() { + local myfeatures=( $(usev io-uring io_uring) ) + cargo_src_configure +} + +src_install() { + emake \ + DESTDIR="${D}" \ + DATADIR="${ED}/usr/share" \ + PDATA_TOOLS="$(cargo_target_dir)/pdata_tools" \ + install + + einstalldocs +}
