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
+}

Reply via email to