From 01ba4dc61965ef7658a24728841c04c9a1ce4871 Mon Sep 17 00:00:00 2001
From: Matt Jolly <kangie@gentoo.org>
Date: Mon, 4 Nov 2024 17:24:14 +1000
Subject: */*: update for slotted Rust

Tidyups:

- $(cargo_crate_uris)
- Rust BDEPENDS come from the eclass except in very rare
  circumstances (RUST_OPTIONAL=1)
- RUST_M{AX,IN}_VER where required.
- Suboptimal crate separator (`-` -> `@`)

Signed-off-by: Matt Jolly <kangie@gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/39218
Signed-off-by: Matt Jolly <kangie@gentoo.org>
---
 sys-block/dust/dust-1.1.1-r1.ebuild                | 170 +++++++++++++++
 sys-block/dust/dust-1.1.1.ebuild                   | 170 ---------------
 .../thin-provisioning-tools-1.0.10-r1.ebuild       | 182 ++++++++++++++++
 .../thin-provisioning-tools-1.0.10.ebuild          | 182 ----------------
 .../thin-provisioning-tools-1.0.13-r1.ebuild       | 177 ++++++++++++++++
 .../thin-provisioning-tools-1.0.13.ebuild          | 177 ----------------
 .../thin-provisioning-tools-1.0.14-r1.ebuild       | 219 +++++++++++++++++++
 .../thin-provisioning-tools-1.0.14.ebuild          | 219 -------------------
 .../thin-provisioning-tools-1.1.0-r1.ebuild        | 233 ---------------------
 .../thin-provisioning-tools-1.1.0-r2.ebuild        | 233 +++++++++++++++++++++
 10 files changed, 981 insertions(+), 981 deletions(-)
 create mode 100644 sys-block/dust/dust-1.1.1-r1.ebuild
 delete mode 100644 sys-block/dust/dust-1.1.1.ebuild
 create mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild
 delete mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10.ebuild
 create mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild
 delete mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13.ebuild
 create mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild
 delete mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14.ebuild
 delete mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r1.ebuild
 create mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild

(limited to 'sys-block')

diff --git a/sys-block/dust/dust-1.1.1-r1.ebuild b/sys-block/dust/dust-1.1.1-r1.ebuild
new file mode 100644
index 000000000000..4fea455abe5e
--- /dev/null
+++ b/sys-block/dust/dust-1.1.1-r1.ebuild
@@ -0,0 +1,170 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.13.3
+
+EAPI=8
+
+CRATES="
+	aho-corasick@1.1.3
+	android-tzdata@0.1.1
+	android_system_properties@0.1.5
+	ansi_term@0.12.1
+	anstream@0.6.13
+	anstyle-parse@0.2.3
+	anstyle-query@1.0.2
+	anstyle-wincon@3.0.2
+	anstyle@1.0.6
+	assert_cmd@2.0.14
+	autocfg@1.3.0
+	bitflags@1.3.2
+	bitflags@2.5.0
+	bstr@1.9.1
+	bumpalo@3.16.0
+	cc@1.0.97
+	cfg-if@1.0.0
+	cfg_aliases@0.1.1
+	chrono@0.4.38
+	clap@4.5.4
+	clap_builder@4.5.2
+	clap_complete@4.5.1
+	clap_lex@0.7.0
+	clap_mangen@0.2.20
+	colorchoice@1.0.0
+	config-file@0.2.3
+	core-foundation-sys@0.8.6
+	crossbeam-deque@0.8.5
+	crossbeam-epoch@0.9.18
+	crossbeam-utils@0.8.19
+	ctrlc@3.4.4
+	difflib@0.4.0
+	directories@4.0.1
+	dirs-sys@0.3.7
+	doc-comment@0.3.3
+	either@1.10.0
+	errno@0.3.8
+	fastrand@2.0.2
+	filesize@0.2.0
+	getrandom@0.2.12
+	hermit-abi@0.3.9
+	iana-time-zone-haiku@0.1.2
+	iana-time-zone@0.1.60
+	io-lifetimes@1.0.11
+	itoa@1.0.11
+	js-sys@0.3.69
+	libc@0.2.155
+	libredox@0.0.1
+	linux-raw-sys@0.3.8
+	linux-raw-sys@0.4.13
+	log@0.4.21
+	lscolors@0.13.0
+	memchr@2.7.1
+	nix@0.28.0
+	ntapi@0.4.1
+	nu-ansi-term@0.46.0
+	num-traits@0.2.19
+	once_cell@1.19.0
+	overload@0.1.1
+	predicates-core@1.0.6
+	predicates-tree@1.0.9
+	predicates@3.1.0
+	proc-macro2@1.0.79
+	quote@1.0.35
+	rayon-core@1.12.1
+	rayon@1.10.0
+	redox_syscall@0.4.1
+	redox_users@0.4.4
+	regex-automata@0.4.6
+	regex-syntax@0.8.2
+	regex@1.10.4
+	roff@0.2.1
+	rustix@0.37.27
+	rustix@0.38.32
+	ryu@1.0.17
+	serde@1.0.197
+	serde_derive@1.0.197
+	serde_json@1.0.116
+	stfu8@0.2.7
+	strsim@0.11.0
+	syn@2.0.55
+	sysinfo@0.27.8
+	tempfile@3.10.1
+	terminal_size@0.2.6
+	termtree@0.4.1
+	thiserror-impl@1.0.58
+	thiserror@1.0.58
+	thousands@0.2.0
+	toml@0.5.11
+	unicode-ident@1.0.12
+	unicode-width@0.1.11
+	utf8parse@0.2.1
+	wait-timeout@0.2.0
+	wasi@0.11.0+wasi-snapshot-preview1
+	wasm-bindgen-backend@0.2.92
+	wasm-bindgen-macro-support@0.2.92
+	wasm-bindgen-macro@0.2.92
+	wasm-bindgen-shared@0.2.92
+	wasm-bindgen@0.2.92
+	winapi-i686-pc-windows-gnu@0.4.0
+	winapi-util@0.1.8
+	winapi-x86_64-pc-windows-gnu@0.4.0
+	winapi@0.3.9
+	windows-core@0.52.0
+	windows-sys@0.48.0
+	windows-sys@0.52.0
+	windows-targets@0.48.5
+	windows-targets@0.52.4
+	windows_aarch64_gnullvm@0.48.5
+	windows_aarch64_gnullvm@0.52.4
+	windows_aarch64_msvc@0.48.5
+	windows_aarch64_msvc@0.52.4
+	windows_i686_gnu@0.48.5
+	windows_i686_gnu@0.52.4
+	windows_i686_msvc@0.48.5
+	windows_i686_msvc@0.52.4
+	windows_x86_64_gnu@0.48.5
+	windows_x86_64_gnu@0.52.4
+	windows_x86_64_gnullvm@0.48.5
+	windows_x86_64_gnullvm@0.52.4
+	windows_x86_64_msvc@0.48.5
+	windows_x86_64_msvc@0.52.4
+"
+
+inherit bash-completion-r1 cargo
+
+DESCRIPTION="A more intuitive version of du"
+# Double check the homepage as the cargo_metadata crate
+# does not provide this value so instead repository is used
+HOMEPAGE="https://github.com/bootandy/dust"
+SRC_URI="
+	https://github.com/bootandy/dust/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz
+	${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+	BSD-2 MIT Unicode-DFS-2016
+	|| ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+
+QA_FLAGS_IGNORED="usr/bin/dust"
+
+DOCS=(
+	README.md
+)
+
+src_install() {
+	cargo_src_install
+	doman man-page/dust.1
+
+	newbashcomp completions/dust.bash dust
+
+	insinto /usr/share/fish/completions
+	doins completions/dust.fish
+
+	insinto /usr/share/zsh/site-functions
+	doins completions/_dust
+}
diff --git a/sys-block/dust/dust-1.1.1.ebuild b/sys-block/dust/dust-1.1.1.ebuild
deleted file mode 100644
index 4fea455abe5e..000000000000
--- a/sys-block/dust/dust-1.1.1.ebuild
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Autogenerated by pycargoebuild 0.13.3
-
-EAPI=8
-
-CRATES="
-	aho-corasick@1.1.3
-	android-tzdata@0.1.1
-	android_system_properties@0.1.5
-	ansi_term@0.12.1
-	anstream@0.6.13
-	anstyle-parse@0.2.3
-	anstyle-query@1.0.2
-	anstyle-wincon@3.0.2
-	anstyle@1.0.6
-	assert_cmd@2.0.14
-	autocfg@1.3.0
-	bitflags@1.3.2
-	bitflags@2.5.0
-	bstr@1.9.1
-	bumpalo@3.16.0
-	cc@1.0.97
-	cfg-if@1.0.0
-	cfg_aliases@0.1.1
-	chrono@0.4.38
-	clap@4.5.4
-	clap_builder@4.5.2
-	clap_complete@4.5.1
-	clap_lex@0.7.0
-	clap_mangen@0.2.20
-	colorchoice@1.0.0
-	config-file@0.2.3
-	core-foundation-sys@0.8.6
-	crossbeam-deque@0.8.5
-	crossbeam-epoch@0.9.18
-	crossbeam-utils@0.8.19
-	ctrlc@3.4.4
-	difflib@0.4.0
-	directories@4.0.1
-	dirs-sys@0.3.7
-	doc-comment@0.3.3
-	either@1.10.0
-	errno@0.3.8
-	fastrand@2.0.2
-	filesize@0.2.0
-	getrandom@0.2.12
-	hermit-abi@0.3.9
-	iana-time-zone-haiku@0.1.2
-	iana-time-zone@0.1.60
-	io-lifetimes@1.0.11
-	itoa@1.0.11
-	js-sys@0.3.69
-	libc@0.2.155
-	libredox@0.0.1
-	linux-raw-sys@0.3.8
-	linux-raw-sys@0.4.13
-	log@0.4.21
-	lscolors@0.13.0
-	memchr@2.7.1
-	nix@0.28.0
-	ntapi@0.4.1
-	nu-ansi-term@0.46.0
-	num-traits@0.2.19
-	once_cell@1.19.0
-	overload@0.1.1
-	predicates-core@1.0.6
-	predicates-tree@1.0.9
-	predicates@3.1.0
-	proc-macro2@1.0.79
-	quote@1.0.35
-	rayon-core@1.12.1
-	rayon@1.10.0
-	redox_syscall@0.4.1
-	redox_users@0.4.4
-	regex-automata@0.4.6
-	regex-syntax@0.8.2
-	regex@1.10.4
-	roff@0.2.1
-	rustix@0.37.27
-	rustix@0.38.32
-	ryu@1.0.17
-	serde@1.0.197
-	serde_derive@1.0.197
-	serde_json@1.0.116
-	stfu8@0.2.7
-	strsim@0.11.0
-	syn@2.0.55
-	sysinfo@0.27.8
-	tempfile@3.10.1
-	terminal_size@0.2.6
-	termtree@0.4.1
-	thiserror-impl@1.0.58
-	thiserror@1.0.58
-	thousands@0.2.0
-	toml@0.5.11
-	unicode-ident@1.0.12
-	unicode-width@0.1.11
-	utf8parse@0.2.1
-	wait-timeout@0.2.0
-	wasi@0.11.0+wasi-snapshot-preview1
-	wasm-bindgen-backend@0.2.92
-	wasm-bindgen-macro-support@0.2.92
-	wasm-bindgen-macro@0.2.92
-	wasm-bindgen-shared@0.2.92
-	wasm-bindgen@0.2.92
-	winapi-i686-pc-windows-gnu@0.4.0
-	winapi-util@0.1.8
-	winapi-x86_64-pc-windows-gnu@0.4.0
-	winapi@0.3.9
-	windows-core@0.52.0
-	windows-sys@0.48.0
-	windows-sys@0.52.0
-	windows-targets@0.48.5
-	windows-targets@0.52.4
-	windows_aarch64_gnullvm@0.48.5
-	windows_aarch64_gnullvm@0.52.4
-	windows_aarch64_msvc@0.48.5
-	windows_aarch64_msvc@0.52.4
-	windows_i686_gnu@0.48.5
-	windows_i686_gnu@0.52.4
-	windows_i686_msvc@0.48.5
-	windows_i686_msvc@0.52.4
-	windows_x86_64_gnu@0.48.5
-	windows_x86_64_gnu@0.52.4
-	windows_x86_64_gnullvm@0.48.5
-	windows_x86_64_gnullvm@0.52.4
-	windows_x86_64_msvc@0.48.5
-	windows_x86_64_msvc@0.52.4
-"
-
-inherit bash-completion-r1 cargo
-
-DESCRIPTION="A more intuitive version of du"
-# Double check the homepage as the cargo_metadata crate
-# does not provide this value so instead repository is used
-HOMEPAGE="https://github.com/bootandy/dust"
-SRC_URI="
-	https://github.com/bootandy/dust/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz
-	${CARGO_CRATE_URIS}
-"
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+="
-	BSD-2 MIT Unicode-DFS-2016
-	|| ( Apache-2.0 Boost-1.0 )
-"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64"
-
-QA_FLAGS_IGNORED="usr/bin/dust"
-
-DOCS=(
-	README.md
-)
-
-src_install() {
-	cargo_src_install
-	doman man-page/dust.1
-
-	newbashcomp completions/dust.bash dust
-
-	insinto /usr/share/fish/completions
-	doins completions/dust.fish
-
-	insinto /usr/share/zsh/site-functions
-	doins completions/_dust
-}
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild
new file mode 100644
index 000000000000..6907ab3f3bb5
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} != *9999 ]]; then
+CRATES="
+	adler@1.0.2
+	aho-corasick@1.1.2
+	anstyle@1.0.4
+	anyhow@1.0.79
+	atty@0.2.14
+	autocfg@1.1.0
+	base64@0.21.7
+	bitflags@1.3.2
+	bitflags@2.4.1
+	bytemuck@1.14.0
+	byteorder@1.5.0
+	cassowary@0.3.0
+	cfg-if@1.0.0
+	clap@4.4.16
+	clap_builder@4.4.16
+	clap_lex@0.6.0
+	console@0.15.8
+	crc32c@0.6.4
+	crc32fast@1.3.2
+	data-encoding@2.5.0
+	downcast@0.11.0
+	duct@0.13.7
+	either@1.9.0
+	encode_unicode@0.3.6
+	env_logger@0.8.4
+	errno@0.3.8
+	exitcode@1.1.2
+	fastrand@2.0.1
+	fixedbitset@0.4.2
+	flate2@1.0.28
+	fragile@2.0.0
+	getrandom@0.2.12
+	hermit-abi@0.1.19
+	hermit-abi@0.3.3
+	indicatif@0.17.7
+	instant@0.1.12
+	iovec@0.1.4
+	itertools@0.11.0
+	lazy_static@1.4.0
+	libc@0.2.152
+	linux-raw-sys@0.4.12
+	log@0.4.20
+	memchr@2.7.1
+	minimal-lexical@0.2.1
+	miniz_oxide@0.7.1
+	mockall@0.12.1
+	mockall_derive@0.12.1
+	nom@7.1.3
+	num-derive@0.4.1
+	num-traits@0.2.17
+	num_cpus@1.16.0
+	number_prefix@0.4.0
+	numtoa@0.1.0
+	once_cell@1.19.0
+	os_pipe@1.1.5
+	portable-atomic@1.6.0
+	ppv-lite86@0.2.17
+	predicates-core@1.0.6
+	predicates-tree@1.0.9
+	predicates@3.0.4
+	proc-macro2@1.0.76
+	quick-xml@0.31.0
+	quickcheck@1.0.3
+	quickcheck_macros@1.0.0
+	quote@1.0.35
+	rand@0.8.5
+	rand_chacha@0.3.1
+	rand_core@0.6.4
+	rangemap@1.4.0
+	redox_syscall@0.2.16
+	redox_syscall@0.4.1
+	redox_termios@0.1.3
+	regex-automata@0.4.3
+	regex-syntax@0.8.2
+	regex@1.10.2
+	retain_mut@0.1.7
+	roaring@0.10.2
+	rustc_version@0.4.0
+	rustix@0.38.30
+	safemem@0.3.3
+	semver@1.0.21
+	shared_child@1.0.0
+	strsim@0.10.0
+	syn@1.0.109
+	syn@2.0.48
+	tempfile@3.9.0
+	termion@1.5.6
+	termtree@0.4.1
+	thiserror-impl@1.0.56
+	thiserror@1.0.56
+	threadpool@1.8.1
+	tui@0.19.0
+	unicode-ident@1.0.12
+	unicode-segmentation@1.10.1
+	unicode-width@0.1.11
+	wasi@0.11.0+wasi-snapshot-preview1
+	winapi-i686-pc-windows-gnu@0.4.0
+	winapi-x86_64-pc-windows-gnu@0.4.0
+	winapi@0.3.9
+	windows-sys@0.52.0
+	windows-targets@0.52.0
+	windows_aarch64_gnullvm@0.52.0
+	windows_aarch64_msvc@0.52.0
+	windows_i686_gnu@0.52.0
+	windows_i686_msvc@0.52.0
+	windows_x86_64_gnu@0.52.0
+	windows_x86_64_gnullvm@0.52.0
+	windows_x86_64_msvc@0.52.0
+"
+
+declare -A GIT_CRATES=(
+	[rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%'
+)
+	declare -A GIT_CRATES=(
+		[rio]="https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8"
+	)
+fi
+
+inherit cargo
+
+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 ~mips ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-3"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016"
+SLOT="0"
+IUSE="io-uring"
+
+PATCHES=( "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" )
+DOCS=(
+	CHANGES
+	COPYING
+	README.md
+	doc/TODO.md
+	doc/thinp-version-2/notes.md
+)
+
+# Rust
+QA_FLAGS_IGNORED="usr/sbin/pdata_tools"
+
+src_unpack() {
+	if [[ ${PV} == 9999 ]] ; then
+		git-r3_src_unpack
+		cargo_live_src_unpack
+	else
+		cargo_src_unpack
+	fi
+}
+
+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
+}
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10.ebuild
deleted file mode 100644
index 6907ab3f3bb5..000000000000
--- a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10.ebuild
+++ /dev/null
@@ -1,182 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-if [[ ${PV} != *9999 ]]; then
-CRATES="
-	adler@1.0.2
-	aho-corasick@1.1.2
-	anstyle@1.0.4
-	anyhow@1.0.79
-	atty@0.2.14
-	autocfg@1.1.0
-	base64@0.21.7
-	bitflags@1.3.2
-	bitflags@2.4.1
-	bytemuck@1.14.0
-	byteorder@1.5.0
-	cassowary@0.3.0
-	cfg-if@1.0.0
-	clap@4.4.16
-	clap_builder@4.4.16
-	clap_lex@0.6.0
-	console@0.15.8
-	crc32c@0.6.4
-	crc32fast@1.3.2
-	data-encoding@2.5.0
-	downcast@0.11.0
-	duct@0.13.7
-	either@1.9.0
-	encode_unicode@0.3.6
-	env_logger@0.8.4
-	errno@0.3.8
-	exitcode@1.1.2
-	fastrand@2.0.1
-	fixedbitset@0.4.2
-	flate2@1.0.28
-	fragile@2.0.0
-	getrandom@0.2.12
-	hermit-abi@0.1.19
-	hermit-abi@0.3.3
-	indicatif@0.17.7
-	instant@0.1.12
-	iovec@0.1.4
-	itertools@0.11.0
-	lazy_static@1.4.0
-	libc@0.2.152
-	linux-raw-sys@0.4.12
-	log@0.4.20
-	memchr@2.7.1
-	minimal-lexical@0.2.1
-	miniz_oxide@0.7.1
-	mockall@0.12.1
-	mockall_derive@0.12.1
-	nom@7.1.3
-	num-derive@0.4.1
-	num-traits@0.2.17
-	num_cpus@1.16.0
-	number_prefix@0.4.0
-	numtoa@0.1.0
-	once_cell@1.19.0
-	os_pipe@1.1.5
-	portable-atomic@1.6.0
-	ppv-lite86@0.2.17
-	predicates-core@1.0.6
-	predicates-tree@1.0.9
-	predicates@3.0.4
-	proc-macro2@1.0.76
-	quick-xml@0.31.0
-	quickcheck@1.0.3
-	quickcheck_macros@1.0.0
-	quote@1.0.35
-	rand@0.8.5
-	rand_chacha@0.3.1
-	rand_core@0.6.4
-	rangemap@1.4.0
-	redox_syscall@0.2.16
-	redox_syscall@0.4.1
-	redox_termios@0.1.3
-	regex-automata@0.4.3
-	regex-syntax@0.8.2
-	regex@1.10.2
-	retain_mut@0.1.7
-	roaring@0.10.2
-	rustc_version@0.4.0
-	rustix@0.38.30
-	safemem@0.3.3
-	semver@1.0.21
-	shared_child@1.0.0
-	strsim@0.10.0
-	syn@1.0.109
-	syn@2.0.48
-	tempfile@3.9.0
-	termion@1.5.6
-	termtree@0.4.1
-	thiserror-impl@1.0.56
-	thiserror@1.0.56
-	threadpool@1.8.1
-	tui@0.19.0
-	unicode-ident@1.0.12
-	unicode-segmentation@1.10.1
-	unicode-width@0.1.11
-	wasi@0.11.0+wasi-snapshot-preview1
-	winapi-i686-pc-windows-gnu@0.4.0
-	winapi-x86_64-pc-windows-gnu@0.4.0
-	winapi@0.3.9
-	windows-sys@0.52.0
-	windows-targets@0.52.0
-	windows_aarch64_gnullvm@0.52.0
-	windows_aarch64_msvc@0.52.0
-	windows_i686_gnu@0.52.0
-	windows_i686_msvc@0.52.0
-	windows_x86_64_gnu@0.52.0
-	windows_x86_64_gnullvm@0.52.0
-	windows_x86_64_msvc@0.52.0
-"
-
-declare -A GIT_CRATES=(
-	[rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%'
-)
-	declare -A GIT_CRATES=(
-		[rio]="https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8"
-	)
-fi
-
-inherit cargo
-
-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 ~mips ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="GPL-3"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016"
-SLOT="0"
-IUSE="io-uring"
-
-PATCHES=( "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" )
-DOCS=(
-	CHANGES
-	COPYING
-	README.md
-	doc/TODO.md
-	doc/thinp-version-2/notes.md
-)
-
-# Rust
-QA_FLAGS_IGNORED="usr/sbin/pdata_tools"
-
-src_unpack() {
-	if [[ ${PV} == 9999 ]] ; then
-		git-r3_src_unpack
-		cargo_live_src_unpack
-	else
-		cargo_src_unpack
-	fi
-}
-
-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
-}
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild
new file mode 100644
index 000000000000..a8c7690f5066
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+	adler@1.0.2
+	aho-corasick@1.1.3
+	anstyle@1.0.7
+	anyhow@1.0.86
+	atty@0.2.14
+	autocfg@1.3.0
+	base64@0.22.1
+	bitflags@1.3.2
+	bitflags@2.6.0
+	bytemuck@1.16.1
+	byteorder@1.5.0
+	cassowary@0.3.0
+	cfg-if@1.0.0
+	clap@4.5.9
+	clap_builder@4.5.9
+	clap_lex@0.7.1
+	console@0.15.8
+	crc32c@0.6.8
+	crc32fast@1.4.2
+	data-encoding@2.6.0
+	downcast@0.11.0
+	duct@0.13.7
+	encode_unicode@0.3.6
+	env_logger@0.8.4
+	errno@0.3.9
+	exitcode@1.1.2
+	fastrand@2.1.0
+	fixedbitset@0.4.2
+	flate2@1.0.30
+	fragile@2.0.0
+	getrandom@0.2.15
+	hermit-abi@0.1.19
+	hermit-abi@0.3.9
+	indicatif@0.17.8
+	instant@0.1.13
+	iovec@0.1.4
+	lazy_static@1.5.0
+	libc@0.2.155
+	linux-raw-sys@0.4.14
+	log@0.4.22
+	memchr@2.7.4
+	minimal-lexical@0.2.1
+	miniz_oxide@0.7.4
+	mockall@0.12.1
+	mockall_derive@0.12.1
+	nom@7.1.3
+	num-derive@0.4.2
+	num-traits@0.2.19
+	num_cpus@1.16.0
+	number_prefix@0.4.0
+	numtoa@0.1.0
+	once_cell@1.19.0
+	os_pipe@1.2.0
+	portable-atomic@1.6.0
+	ppv-lite86@0.2.17
+	predicates-core@1.0.6
+	predicates-tree@1.0.9
+	predicates@3.1.0
+	proc-macro2@1.0.86
+	quick-xml@0.36.0
+	quickcheck@1.0.3
+	quickcheck_macros@1.0.0
+	quote@1.0.36
+	rand@0.8.5
+	rand_chacha@0.3.1
+	rand_core@0.6.4
+	rangemap@1.5.1
+	redox_syscall@0.2.16
+	redox_termios@0.1.3
+	regex-automata@0.4.7
+	regex-syntax@0.8.4
+	regex@1.10.5
+	roaring@0.10.6
+	rustc_version@0.4.0
+	rustix@0.38.34
+	safemem@0.3.3
+	semver@1.0.23
+	shared_child@1.0.0
+	strsim@0.11.1
+	syn@1.0.109
+	syn@2.0.70
+	tempfile@3.10.1
+	termion@1.5.6
+	termtree@0.4.1
+	thiserror-impl@1.0.61
+	thiserror@1.0.61
+	threadpool@1.8.1
+	tui@0.19.0
+	unicode-ident@1.0.12
+	unicode-segmentation@1.11.0
+	unicode-width@0.1.13
+	wasi@0.11.0+wasi-snapshot-preview1
+	winapi-i686-pc-windows-gnu@0.4.0
+	winapi-x86_64-pc-windows-gnu@0.4.0
+	winapi@0.3.9
+	windows-sys@0.52.0
+	windows-targets@0.52.6
+	windows_aarch64_gnullvm@0.52.6
+	windows_aarch64_msvc@0.52.6
+	windows_i686_gnu@0.52.6
+	windows_i686_gnullvm@0.52.6
+	windows_i686_msvc@0.52.6
+	windows_x86_64_gnu@0.52.6
+	windows_x86_64_gnullvm@0.52.6
+	windows_x86_64_msvc@0.52.6
+"
+
+declare -A GIT_CRATES=(
+	[rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%'
+)
+
+inherit cargo
+
+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 ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-3"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016"
+SLOT="0"
+IUSE="io-uring"
+
+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"
+)
+
+src_unpack() {
+	if [[ ${PV} == 9999 ]] ; then
+		git-r3_src_unpack
+		cargo_live_src_unpack
+	else
+		cargo_src_unpack
+	fi
+}
+
+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
+}
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13.ebuild
deleted file mode 100644
index a8c7690f5066..000000000000
--- a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13.ebuild
+++ /dev/null
@@ -1,177 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
-	adler@1.0.2
-	aho-corasick@1.1.3
-	anstyle@1.0.7
-	anyhow@1.0.86
-	atty@0.2.14
-	autocfg@1.3.0
-	base64@0.22.1
-	bitflags@1.3.2
-	bitflags@2.6.0
-	bytemuck@1.16.1
-	byteorder@1.5.0
-	cassowary@0.3.0
-	cfg-if@1.0.0
-	clap@4.5.9
-	clap_builder@4.5.9
-	clap_lex@0.7.1
-	console@0.15.8
-	crc32c@0.6.8
-	crc32fast@1.4.2
-	data-encoding@2.6.0
-	downcast@0.11.0
-	duct@0.13.7
-	encode_unicode@0.3.6
-	env_logger@0.8.4
-	errno@0.3.9
-	exitcode@1.1.2
-	fastrand@2.1.0
-	fixedbitset@0.4.2
-	flate2@1.0.30
-	fragile@2.0.0
-	getrandom@0.2.15
-	hermit-abi@0.1.19
-	hermit-abi@0.3.9
-	indicatif@0.17.8
-	instant@0.1.13
-	iovec@0.1.4
-	lazy_static@1.5.0
-	libc@0.2.155
-	linux-raw-sys@0.4.14
-	log@0.4.22
-	memchr@2.7.4
-	minimal-lexical@0.2.1
-	miniz_oxide@0.7.4
-	mockall@0.12.1
-	mockall_derive@0.12.1
-	nom@7.1.3
-	num-derive@0.4.2
-	num-traits@0.2.19
-	num_cpus@1.16.0
-	number_prefix@0.4.0
-	numtoa@0.1.0
-	once_cell@1.19.0
-	os_pipe@1.2.0
-	portable-atomic@1.6.0
-	ppv-lite86@0.2.17
-	predicates-core@1.0.6
-	predicates-tree@1.0.9
-	predicates@3.1.0
-	proc-macro2@1.0.86
-	quick-xml@0.36.0
-	quickcheck@1.0.3
-	quickcheck_macros@1.0.0
-	quote@1.0.36
-	rand@0.8.5
-	rand_chacha@0.3.1
-	rand_core@0.6.4
-	rangemap@1.5.1
-	redox_syscall@0.2.16
-	redox_termios@0.1.3
-	regex-automata@0.4.7
-	regex-syntax@0.8.4
-	regex@1.10.5
-	roaring@0.10.6
-	rustc_version@0.4.0
-	rustix@0.38.34
-	safemem@0.3.3
-	semver@1.0.23
-	shared_child@1.0.0
-	strsim@0.11.1
-	syn@1.0.109
-	syn@2.0.70
-	tempfile@3.10.1
-	termion@1.5.6
-	termtree@0.4.1
-	thiserror-impl@1.0.61
-	thiserror@1.0.61
-	threadpool@1.8.1
-	tui@0.19.0
-	unicode-ident@1.0.12
-	unicode-segmentation@1.11.0
-	unicode-width@0.1.13
-	wasi@0.11.0+wasi-snapshot-preview1
-	winapi-i686-pc-windows-gnu@0.4.0
-	winapi-x86_64-pc-windows-gnu@0.4.0
-	winapi@0.3.9
-	windows-sys@0.52.0
-	windows-targets@0.52.6
-	windows_aarch64_gnullvm@0.52.6
-	windows_aarch64_msvc@0.52.6
-	windows_i686_gnu@0.52.6
-	windows_i686_gnullvm@0.52.6
-	windows_i686_msvc@0.52.6
-	windows_x86_64_gnu@0.52.6
-	windows_x86_64_gnullvm@0.52.6
-	windows_x86_64_msvc@0.52.6
-"
-
-declare -A GIT_CRATES=(
-	[rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%'
-)
-
-inherit cargo
-
-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 ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="GPL-3"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016"
-SLOT="0"
-IUSE="io-uring"
-
-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"
-)
-
-src_unpack() {
-	if [[ ${PV} == 9999 ]] ; then
-		git-r3_src_unpack
-		cargo_live_src_unpack
-	else
-		cargo_src_unpack
-	fi
-}
-
-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
-}
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild
new file mode 100644
index 000000000000..b7d67783148e
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild
@@ -0,0 +1,219 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+	adler@1.0.2
+	aho-corasick@1.1.3
+	anstream@0.6.15
+	anstyle-parse@0.2.5
+	anstyle-query@1.1.1
+	anstyle-wincon@3.0.4
+	anstyle@1.0.8
+	anyhow@1.0.86
+	atty@0.2.14
+	autocfg@1.3.0
+	base64@0.22.1
+	bindgen@0.69.4
+	bitflags@1.3.2
+	bitflags@2.6.0
+	bytemuck@1.16.1
+	byteorder@1.5.0
+	cassowary@0.3.0
+	cexpr@0.6.0
+	cfg-if@1.0.0
+	cfg_aliases@0.2.1
+	clang-sys@1.8.1
+	clap@4.5.11
+	clap_builder@4.5.11
+	clap_lex@0.7.2
+	colorchoice@1.0.2
+	console@0.15.8
+	crc32c@0.6.8
+	crc32fast@1.4.2
+	data-encoding@2.6.0
+	devicemapper-sys@0.3.0
+	devicemapper@0.34.3
+	downcast@0.11.0
+	duct@0.13.7
+	either@1.13.0
+	encode_unicode@0.3.6
+	env_filter@0.1.2
+	env_logger@0.11.5
+	env_logger@0.8.4
+	errno@0.3.9
+	exitcode@1.1.2
+	fastrand@2.1.0
+	fixedbitset@0.4.2
+	flate2@1.0.30
+	fragile@2.0.0
+	getrandom@0.2.15
+	glob@0.3.1
+	hermit-abi@0.1.19
+	hermit-abi@0.3.9
+	humantime@2.1.0
+	indicatif@0.17.8
+	instant@0.1.13
+	iovec@0.1.4
+	is_terminal_polyfill@1.70.1
+	itertools@0.12.1
+	lazy_static@1.5.0
+	lazycell@1.3.0
+	libc@0.2.155
+	libloading@0.8.5
+	libudev-sys@0.1.4
+	linux-raw-sys@0.4.14
+	log@0.4.22
+	memchr@2.7.4
+	minimal-lexical@0.2.1
+	miniz_oxide@0.7.4
+	mockall@0.13.0
+	mockall_derive@0.13.0
+	nix@0.29.0
+	nom@7.1.3
+	num-derive@0.4.2
+	num-traits@0.2.19
+	num_cpus@1.16.0
+	number_prefix@0.4.0
+	numtoa@0.1.0
+	once_cell@1.19.0
+	os_pipe@1.2.0
+	pkg-config@0.3.30
+	portable-atomic@1.7.0
+	ppv-lite86@0.2.19
+	predicates-core@1.0.8
+	predicates-tree@1.0.11
+	predicates@3.1.2
+	proc-macro2@1.0.86
+	quick-xml@0.36.1
+	quickcheck@1.0.3
+	quickcheck_macros@1.0.0
+	quote@1.0.36
+	rand@0.8.5
+	rand_chacha@0.3.1
+	rand_core@0.6.4
+	rangemap@1.5.1
+	redox_syscall@0.2.16
+	redox_termios@0.1.3
+	regex-automata@0.4.7
+	regex-syntax@0.8.4
+	regex@1.10.5
+	retry@2.0.0
+	roaring@0.10.6
+	rustc-hash@1.1.0
+	rustc_version@0.4.0
+	rustix@0.38.34
+	safemem@0.3.3
+	semver@1.0.23
+	serde@1.0.204
+	serde_derive@1.0.204
+	shared_child@1.0.0
+	shlex@1.3.0
+	strsim@0.11.1
+	syn@1.0.109
+	syn@2.0.72
+	tempfile@3.10.1
+	termion@1.5.6
+	termtree@0.4.1
+	thiserror-impl@1.0.63
+	thiserror@1.0.63
+	threadpool@1.8.1
+	tui@0.19.0
+	udev@0.7.0
+	unicode-ident@1.0.12
+	unicode-segmentation@1.11.0
+	unicode-width@0.1.13
+	utf8parse@0.2.2
+	wasi@0.11.0+wasi-snapshot-preview1
+	winapi-i686-pc-windows-gnu@0.4.0
+	winapi-x86_64-pc-windows-gnu@0.4.0
+	winapi@0.3.9
+	windows-sys@0.52.0
+	windows-targets@0.52.6
+	windows_aarch64_gnullvm@0.52.6
+	windows_aarch64_msvc@0.52.6
+	windows_i686_gnu@0.52.6
+	windows_i686_gnullvm@0.52.6
+	windows_i686_msvc@0.52.6
+	windows_x86_64_gnu@0.52.6
+	windows_x86_64_gnullvm@0.52.6
+	windows_x86_64_msvc@0.52.6
+	zerocopy-derive@0.7.35
+	zerocopy@0.7.35
+"
+
+declare -A GIT_CRATES=(
+	[rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%'
+)
+
+LLVM_COMPAT=( {17..18} )
+
+inherit llvm-r1 cargo
+
+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"
+
+# Needed for bindgen
+BDEPEND="
+	$(llvm_gen_dep '
+		sys-devel/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"
+)
+
+src_unpack() {
+	if [[ ${PV} == 9999 ]] ; then
+		git-r3_src_unpack
+		cargo_live_src_unpack
+	else
+		cargo_src_unpack
+	fi
+}
+
+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
+}
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14.ebuild
deleted file mode 100644
index c3920bb0d0ec..000000000000
--- a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14.ebuild
+++ /dev/null
@@ -1,219 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
-	adler@1.0.2
-	aho-corasick@1.1.3
-	anstream@0.6.15
-	anstyle-parse@0.2.5
-	anstyle-query@1.1.1
-	anstyle-wincon@3.0.4
-	anstyle@1.0.8
-	anyhow@1.0.86
-	atty@0.2.14
-	autocfg@1.3.0
-	base64@0.22.1
-	bindgen@0.69.4
-	bitflags@1.3.2
-	bitflags@2.6.0
-	bytemuck@1.16.1
-	byteorder@1.5.0
-	cassowary@0.3.0
-	cexpr@0.6.0
-	cfg-if@1.0.0
-	cfg_aliases@0.2.1
-	clang-sys@1.8.1
-	clap@4.5.11
-	clap_builder@4.5.11
-	clap_lex@0.7.2
-	colorchoice@1.0.2
-	console@0.15.8
-	crc32c@0.6.8
-	crc32fast@1.4.2
-	data-encoding@2.6.0
-	devicemapper-sys@0.3.0
-	devicemapper@0.34.3
-	downcast@0.11.0
-	duct@0.13.7
-	either@1.13.0
-	encode_unicode@0.3.6
-	env_filter@0.1.2
-	env_logger@0.11.5
-	env_logger@0.8.4
-	errno@0.3.9
-	exitcode@1.1.2
-	fastrand@2.1.0
-	fixedbitset@0.4.2
-	flate2@1.0.30
-	fragile@2.0.0
-	getrandom@0.2.15
-	glob@0.3.1
-	hermit-abi@0.1.19
-	hermit-abi@0.3.9
-	humantime@2.1.0
-	indicatif@0.17.8
-	instant@0.1.13
-	iovec@0.1.4
-	is_terminal_polyfill@1.70.1
-	itertools@0.12.1
-	lazy_static@1.5.0
-	lazycell@1.3.0
-	libc@0.2.155
-	libloading@0.8.5
-	libudev-sys@0.1.4
-	linux-raw-sys@0.4.14
-	log@0.4.22
-	memchr@2.7.4
-	minimal-lexical@0.2.1
-	miniz_oxide@0.7.4
-	mockall@0.13.0
-	mockall_derive@0.13.0
-	nix@0.29.0
-	nom@7.1.3
-	num-derive@0.4.2
-	num-traits@0.2.19
-	num_cpus@1.16.0
-	number_prefix@0.4.0
-	numtoa@0.1.0
-	once_cell@1.19.0
-	os_pipe@1.2.0
-	pkg-config@0.3.30
-	portable-atomic@1.7.0
-	ppv-lite86@0.2.19
-	predicates-core@1.0.8
-	predicates-tree@1.0.11
-	predicates@3.1.2
-	proc-macro2@1.0.86
-	quick-xml@0.36.1
-	quickcheck@1.0.3
-	quickcheck_macros@1.0.0
-	quote@1.0.36
-	rand@0.8.5
-	rand_chacha@0.3.1
-	rand_core@0.6.4
-	rangemap@1.5.1
-	redox_syscall@0.2.16
-	redox_termios@0.1.3
-	regex-automata@0.4.7
-	regex-syntax@0.8.4
-	regex@1.10.5
-	retry@2.0.0
-	roaring@0.10.6
-	rustc-hash@1.1.0
-	rustc_version@0.4.0
-	rustix@0.38.34
-	safemem@0.3.3
-	semver@1.0.23
-	serde@1.0.204
-	serde_derive@1.0.204
-	shared_child@1.0.0
-	shlex@1.3.0
-	strsim@0.11.1
-	syn@1.0.109
-	syn@2.0.72
-	tempfile@3.10.1
-	termion@1.5.6
-	termtree@0.4.1
-	thiserror-impl@1.0.63
-	thiserror@1.0.63
-	threadpool@1.8.1
-	tui@0.19.0
-	udev@0.7.0
-	unicode-ident@1.0.12
-	unicode-segmentation@1.11.0
-	unicode-width@0.1.13
-	utf8parse@0.2.2
-	wasi@0.11.0+wasi-snapshot-preview1
-	winapi-i686-pc-windows-gnu@0.4.0
-	winapi-x86_64-pc-windows-gnu@0.4.0
-	winapi@0.3.9
-	windows-sys@0.52.0
-	windows-targets@0.52.6
-	windows_aarch64_gnullvm@0.52.6
-	windows_aarch64_msvc@0.52.6
-	windows_i686_gnu@0.52.6
-	windows_i686_gnullvm@0.52.6
-	windows_i686_msvc@0.52.6
-	windows_x86_64_gnu@0.52.6
-	windows_x86_64_gnullvm@0.52.6
-	windows_x86_64_msvc@0.52.6
-	zerocopy-derive@0.7.35
-	zerocopy@0.7.35
-"
-
-declare -A GIT_CRATES=(
-	[rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%'
-)
-
-LLVM_COMPAT=( {17..18} )
-
-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"
-
-# Needed for bindgen
-BDEPEND="
-	$(llvm_gen_dep '
-		sys-devel/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"
-)
-
-src_unpack() {
-	if [[ ${PV} == 9999 ]] ; then
-		git-r3_src_unpack
-		cargo_live_src_unpack
-	else
-		cargo_src_unpack
-	fi
-}
-
-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
-}
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r1.ebuild
deleted file mode 100644
index 198b0bb7c620..000000000000
--- a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,233 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
-	adler@1.0.2
-	aho-corasick@1.1.3
-	anstream@0.6.15
-	anstyle-parse@0.2.5
-	anstyle-query@1.1.1
-	anstyle-wincon@3.0.4
-	anstyle@1.0.8
-	anyhow@1.0.86
-	atty@0.2.14
-	autocfg@1.3.0
-	base64@0.22.1
-	bindgen@0.69.4
-	bitflags@1.3.2
-	bitflags@2.6.0
-	bytemuck@1.16.3
-	byteorder@1.5.0
-	cassowary@0.3.0
-	cexpr@0.6.0
-	cfg-if@1.0.0
-	cfg_aliases@0.2.1
-	clang-sys@1.8.1
-	clap@4.5.13
-	clap_builder@4.5.13
-	clap_lex@0.7.2
-	colorchoice@1.0.2
-	console@0.15.8
-	crc32c@0.6.8
-	crc32fast@1.4.2
-	data-encoding@2.6.0
-	devicemapper-sys@0.3.0
-	devicemapper@0.34.3
-	downcast@0.11.0
-	duct@0.13.7
-	either@1.13.0
-	encode_unicode@0.3.6
-	env_filter@0.1.2
-	env_logger@0.11.5
-	env_logger@0.8.4
-	errno@0.3.9
-	exitcode@1.1.2
-	fastrand@2.1.0
-	fixedbitset@0.4.2
-	flate2@1.0.31
-	fragile@2.0.0
-	getrandom@0.2.15
-	glob@0.3.1
-	hermit-abi@0.1.19
-	hermit-abi@0.3.9
-	humantime@2.1.0
-	indicatif@0.17.8
-	instant@0.1.13
-	iovec@0.1.4
-	is_terminal_polyfill@1.70.1
-	itertools@0.12.1
-	lazy_static@1.5.0
-	lazycell@1.3.0
-	libc@0.2.155
-	libloading@0.8.5
-	libudev-sys@0.1.4
-	linux-raw-sys@0.4.14
-	log@0.4.22
-	memchr@2.7.4
-	minimal-lexical@0.2.1
-	miniz_oxide@0.7.4
-	mockall@0.13.0
-	mockall_derive@0.13.0
-	nix@0.29.0
-	nom@7.1.3
-	num-derive@0.4.2
-	num-traits@0.2.19
-	num_cpus@1.16.0
-	number_prefix@0.4.0
-	numtoa@0.1.0
-	once_cell@1.19.0
-	os_pipe@1.2.1
-	pkg-config@0.3.30
-	portable-atomic@1.7.0
-	ppv-lite86@0.2.20
-	predicates-core@1.0.8
-	predicates-tree@1.0.11
-	predicates@3.1.2
-	proc-macro2@1.0.86
-	quick-xml@0.36.1
-	quickcheck@1.0.3
-	quickcheck_macros@1.0.0
-	quote@1.0.36
-	rand@0.8.5
-	rand_chacha@0.3.1
-	rand_core@0.6.4
-	rangemap@1.5.1
-	redox_syscall@0.2.16
-	redox_termios@0.1.3
-	regex-automata@0.4.7
-	regex-syntax@0.8.4
-	regex@1.10.6
-	retry@2.0.0
-	roaring@0.10.6
-	rustc-hash@1.1.0
-	rustc_version@0.4.0
-	rustix@0.38.34
-	safemem@0.3.3
-	semver@1.0.23
-	serde@1.0.204
-	serde_derive@1.0.204
-	shared_child@1.0.1
-	shlex@1.3.0
-	strsim@0.11.1
-	syn@1.0.109
-	syn@2.0.72
-	tempfile@3.11.0
-	termion@1.5.6
-	termtree@0.4.1
-	thiserror-impl@1.0.63
-	thiserror@1.0.63
-	threadpool@1.8.1
-	tui@0.19.0
-	udev@0.7.0
-	unicode-ident@1.0.12
-	unicode-segmentation@1.11.0
-	unicode-width@0.1.13
-	utf8parse@0.2.2
-	wasi@0.11.0+wasi-snapshot-preview1
-	winapi-i686-pc-windows-gnu@0.4.0
-	winapi-x86_64-pc-windows-gnu@0.4.0
-	winapi@0.3.9
-	windows-sys@0.52.0
-	windows-sys@0.59.0
-	windows-targets@0.52.6
-	windows_aarch64_gnullvm@0.52.6
-	windows_aarch64_msvc@0.52.6
-	windows_i686_gnu@0.52.6
-	windows_i686_gnullvm@0.52.6
-	windows_i686_msvc@0.52.6
-	windows_x86_64_gnu@0.52.6
-	windows_x86_64_gnullvm@0.52.6
-	windows_x86_64_msvc@0.52.6
-	zerocopy-derive@0.7.35
-	zerocopy@0.7.35
-"
-
-declare -A GIT_CRATES=(
-	[rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%'
-)
-
-LLVM_COMPAT=( {17..18} )
-
-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 '
-		sys-devel/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"
-)
-
-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
-}
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild
new file mode 100644
index 000000000000..226c8272ce46
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+	adler@1.0.2
+	aho-corasick@1.1.3
+	anstream@0.6.15
+	anstyle-parse@0.2.5
+	anstyle-query@1.1.1
+	anstyle-wincon@3.0.4
+	anstyle@1.0.8
+	anyhow@1.0.86
+	atty@0.2.14
+	autocfg@1.3.0
+	base64@0.22.1
+	bindgen@0.69.4
+	bitflags@1.3.2
+	bitflags@2.6.0
+	bytemuck@1.16.3
+	byteorder@1.5.0
+	cassowary@0.3.0
+	cexpr@0.6.0
+	cfg-if@1.0.0
+	cfg_aliases@0.2.1
+	clang-sys@1.8.1
+	clap@4.5.13
+	clap_builder@4.5.13
+	clap_lex@0.7.2
+	colorchoice@1.0.2
+	console@0.15.8
+	crc32c@0.6.8
+	crc32fast@1.4.2
+	data-encoding@2.6.0
+	devicemapper-sys@0.3.0
+	devicemapper@0.34.3
+	downcast@0.11.0
+	duct@0.13.7
+	either@1.13.0
+	encode_unicode@0.3.6
+	env_filter@0.1.2
+	env_logger@0.11.5
+	env_logger@0.8.4
+	errno@0.3.9
+	exitcode@1.1.2
+	fastrand@2.1.0
+	fixedbitset@0.4.2
+	flate2@1.0.31
+	fragile@2.0.0
+	getrandom@0.2.15
+	glob@0.3.1
+	hermit-abi@0.1.19
+	hermit-abi@0.3.9
+	humantime@2.1.0
+	indicatif@0.17.8
+	instant@0.1.13
+	iovec@0.1.4
+	is_terminal_polyfill@1.70.1
+	itertools@0.12.1
+	lazy_static@1.5.0
+	lazycell@1.3.0
+	libc@0.2.155
+	libloading@0.8.5
+	libudev-sys@0.1.4
+	linux-raw-sys@0.4.14
+	log@0.4.22
+	memchr@2.7.4
+	minimal-lexical@0.2.1
+	miniz_oxide@0.7.4
+	mockall@0.13.0
+	mockall_derive@0.13.0
+	nix@0.29.0
+	nom@7.1.3
+	num-derive@0.4.2
+	num-traits@0.2.19
+	num_cpus@1.16.0
+	number_prefix@0.4.0
+	numtoa@0.1.0
+	once_cell@1.19.0
+	os_pipe@1.2.1
+	pkg-config@0.3.30
+	portable-atomic@1.7.0
+	ppv-lite86@0.2.20
+	predicates-core@1.0.8
+	predicates-tree@1.0.11
+	predicates@3.1.2
+	proc-macro2@1.0.86
+	quick-xml@0.36.1
+	quickcheck@1.0.3
+	quickcheck_macros@1.0.0
+	quote@1.0.36
+	rand@0.8.5
+	rand_chacha@0.3.1
+	rand_core@0.6.4
+	rangemap@1.5.1
+	redox_syscall@0.2.16
+	redox_termios@0.1.3
+	regex-automata@0.4.7
+	regex-syntax@0.8.4
+	regex@1.10.6
+	retry@2.0.0
+	roaring@0.10.6
+	rustc-hash@1.1.0
+	rustc_version@0.4.0
+	rustix@0.38.34
+	safemem@0.3.3
+	semver@1.0.23
+	serde@1.0.204
+	serde_derive@1.0.204
+	shared_child@1.0.1
+	shlex@1.3.0
+	strsim@0.11.1
+	syn@1.0.109
+	syn@2.0.72
+	tempfile@3.11.0
+	termion@1.5.6
+	termtree@0.4.1
+	thiserror-impl@1.0.63
+	thiserror@1.0.63
+	threadpool@1.8.1
+	tui@0.19.0
+	udev@0.7.0
+	unicode-ident@1.0.12
+	unicode-segmentation@1.11.0
+	unicode-width@0.1.13
+	utf8parse@0.2.2
+	wasi@0.11.0+wasi-snapshot-preview1
+	winapi-i686-pc-windows-gnu@0.4.0
+	winapi-x86_64-pc-windows-gnu@0.4.0
+	winapi@0.3.9
+	windows-sys@0.52.0
+	windows-sys@0.59.0
+	windows-targets@0.52.6
+	windows_aarch64_gnullvm@0.52.6
+	windows_aarch64_msvc@0.52.6
+	windows_i686_gnu@0.52.6
+	windows_i686_gnullvm@0.52.6
+	windows_i686_msvc@0.52.6
+	windows_x86_64_gnu@0.52.6
+	windows_x86_64_gnullvm@0.52.6
+	windows_x86_64_msvc@0.52.6
+	zerocopy-derive@0.7.35
+	zerocopy@0.7.35
+"
+
+declare -A GIT_CRATES=(
+	[rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%'
+)
+
+LLVM_COMPAT=( {17..18} )
+
+inherit llvm-r1 cargo
+
+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 '
+		sys-devel/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"
+)
+
+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
+}
-- 
cgit v1.2.3-65-gdbad