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