Diff thin-provisioning-tools-0.9.0-r4 with a thin-provisioning-tools-1.0.6

/usr/portage/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.6.ebuild 2023-10-09 14:52:35.444368500 +0300
1 1
# Copyright 1999-2023 Gentoo Authors
2 2
# Distributed under the terms of the GNU General Public License v2
3 3

  
4
EAPI=7
4
EAPI=8
5 5

  
6
inherit autotools flag-o-matic
6
if [[ ${PV} != *9999 ]]; then
7
	CRATES="
8
		adler@1.0.2
9
		aho-corasick@1.0.2
10
		anstyle@1.0.1
11
		anyhow@1.0.72
12
		atty@0.2.14
13
		autocfg@1.1.0
14
		base64@0.21.2
15
		bitflags@1.3.2
16
		bitflags@2.3.3
17
		bytemuck@1.13.1
18
		byteorder@1.4.3
19
		cassowary@0.3.0
20
		cc@1.0.81
21
		cfg-if@1.0.0
22
		clap@4.3.19
23
		clap_builder@4.3.19
24
		clap_lex@0.5.0
25
		console@0.15.7
26
		crc32c@0.6.4
27
		crc32fast@1.3.2
28
		data-encoding@2.4.0
29
		difflib@0.4.0
30
		downcast@0.11.0
31
		duct@0.13.6
32
		either@1.9.0
33
		encode_unicode@0.3.6
34
		env_logger@0.8.4
35
		errno@0.3.2
36
		errno-dragonfly@0.1.2
37
		exitcode@1.1.2
38
		fastrand@2.0.0
39
		fixedbitset@0.4.2
40
		flate2@1.0.26
41
		float-cmp@0.9.0
42
		fragile@2.0.0
43
		getrandom@0.2.10
44
		hermit-abi@0.1.19
45
		hermit-abi@0.3.2
46
		indicatif@0.17.6
47
		instant@0.1.12
48
		iovec@0.1.4
49
		itertools@0.10.5
50
		lazy_static@1.4.0
51
		libc@0.2.147
52
		linux-raw-sys@0.4.5
53
		log@0.4.19
54
		memchr@2.5.0
55
		minimal-lexical@0.2.1
56
		miniz_oxide@0.7.1
57
		mockall@0.11.4
58
		mockall_derive@0.11.4
59
		nom@7.1.3
60
		normalize-line-endings@0.3.0
61
		num-derive@0.4.0
62
		num-traits@0.2.16
63
		num_cpus@1.16.0
64
		number_prefix@0.4.0
65
		numtoa@0.1.0
66
		once_cell@1.18.0
67
		os_pipe@1.1.4
68
		portable-atomic@1.4.2
69
		ppv-lite86@0.2.17
70
		predicates@2.1.5
71
		predicates-core@1.0.6
72
		predicates-tree@1.0.9
73
		proc-macro2@1.0.66
74
		quick-xml@0.29.0
75
		quickcheck@1.0.3
76
		quickcheck_macros@1.0.0
77
		quote@1.0.32
78
		rand@0.8.5
79
		rand_chacha@0.3.1
80
		rand_core@0.6.4
81
		rangemap@1.3.0
82
		redox_syscall@0.2.16
83
		redox_syscall@0.3.5
84
		redox_termios@0.1.2
85
		regex@1.9.1
86
		regex-automata@0.3.4
87
		regex-syntax@0.7.4
88
		retain_mut@0.1.7
89
		roaring@0.10.2
90
		rustc_version@0.4.0
91
		rustix@0.38.6
92
		safemem@0.3.3
93
		semver@1.0.18
94
		shared_child@1.0.0
95
		strsim@0.10.0
96
		syn@1.0.109
97
		syn@2.0.28
98
		tempfile@3.7.0
99
		termion@1.5.6
100
		termtree@0.4.1
101
		thiserror@1.0.44
102
		thiserror-impl@1.0.44
103
		threadpool@1.8.1
104
		tui@0.19.0
105
		unicode-ident@1.0.11
106
		unicode-segmentation@1.10.1
107
		unicode-width@0.1.10
108
		wasi@0.11.0+wasi-snapshot-preview1
109
		winapi@0.3.9
110
		winapi-i686-pc-windows-gnu@0.4.0
111
		winapi-x86_64-pc-windows-gnu@0.4.0
112
		windows-sys@0.45.0
113
		windows-sys@0.48.0
114
		windows-targets@0.42.2
115
		windows-targets@0.48.1
116
		windows_aarch64_gnullvm@0.42.2
117
		windows_aarch64_gnullvm@0.48.0
118
		windows_aarch64_msvc@0.42.2
119
		windows_aarch64_msvc@0.48.0
120
		windows_i686_gnu@0.42.2
121
		windows_i686_gnu@0.48.0
122
		windows_i686_msvc@0.42.2
123
		windows_i686_msvc@0.48.0
124
		windows_x86_64_gnu@0.42.2
125
		windows_x86_64_gnu@0.48.0
126
		windows_x86_64_gnullvm@0.42.2
127
		windows_x86_64_gnullvm@0.48.0
128
		windows_x86_64_msvc@0.42.2
129
		windows_x86_64_msvc@0.48.0
130
	"
131
	declare -A GIT_CRATES=(
132
		[rio]="https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8"
133
	)
134
fi
135

  
136
inherit cargo
7 137

  
8 138
DESCRIPTION="A suite of tools for thin provisioning on Linux"
9 139
HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools"
10 140

  
11
if [[ ${PV} != *9999 ]]; then
12
	SRC_URI="https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
13
	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
14
else
141
if [[ ${PV} == *9999 ]]; then
142
	EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git"
15 143
	inherit git-r3
16
	EGIT_REPO_URI='https://github.com/jthornber/thin-provisioning-tools.git'
144
else
145
	SRC_URI="
146
		https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
147
		${CARGO_CRATE_URIS}
148
	"
149
	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
17 150
fi
18 151

  
19
LICENSE="GPL-3"
152
LICENSE="Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016"
20 153
SLOT="0"
21
IUSE="static test"
22
RESTRICT="!test? ( test )"
23

  
24
LIB_DEPEND="dev-libs/expat[static-libs(+)]
25
	dev-libs/libaio[static-libs(+)]"
26
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
27
DEPEND="${RDEPEND}
28
	static? ( ${LIB_DEPEND} )
29
	test? (
30
		>=dev-cpp/gtest-1.8.0
31
	)
32
	dev-libs/boost"
154
IUSE="io-uring"
33 155

  
34
PATCHES=(
35
	"${FILESDIR}"/${PN}-0.7.0-build-fixes.patch
36
	"${FILESDIR}"/${PN}-0.9.0-build-fixes.patch
37
	"${FILESDIR}"/0.9.0-remove-boost_iostreams.patch
38
	"${FILESDIR}"/${PN}-0.9.0-metadata_checker-Rename-function-to-reflect-command-.patch
39
	"${FILESDIR}"/${PN}-0.9.0-thin_check-Allow-using-clear-needs-check-and-skip-ma.patch
40
	"${FILESDIR}"/${PN}-0.9.0-boost-gtest.patch
156
PATCHES=( "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" )
157
DOCS=(
158
	CHANGES
159
	COPYING
160
	README.md
161
	doc/TODO.md
162
	doc/thinp-version-2/notes.md
41 163
)
42 164

  
43
src_prepare() {
44
	default
45
	eautoreconf
46
}
47

  
48
src_configure() {
49
	use static && append-ldflags -static
50
	local myeconfargs=(
51
		--prefix="${EPREFIX}"/
52
		--bindir="${EPREFIX}"/sbin
53
		--with-optimisation=''
54
		$(use_enable test testing)
55
	)
56
	STRIP=true econf "${myeconfargs[@]}"
57
}
165
# Rust
166
QA_FLAGS_IGNORED="usr/sbin/pdata_tools"
58 167

  
59
src_compile() {
60
	emake V=
168
src_unpack() {
169
	if [[ ${PV} == 9999 ]] ; then
170
		git-r3_src_unpack
171
		cargo_live_src_unpack
172
	else
173
		cargo_src_unpack
174
	fi
61 175
}
62 176

  
63
src_test() {
64
	emake V= unit-test
177
src_configure() {
178
	local myfeatures=( $(usev io-uring io_uring) )
179
	cargo_src_configure
65 180
}
66 181

  
67 182
src_install() {
68
	emake V= DESTDIR="${D}" DATADIR="${ED}/usr/share" install
69
	dodoc README.md TODO.org
183
	emake \
184
		DESTDIR="${D}" \
185
		DATADIR="${ED}/usr/share" \
186
		PDATA_TOOLS="target/$(usex debug debug release)/pdata_tools" \
187
		install
188

  
189
	einstalldocs
70 190
}
Thank you!