blob: 88cfcd76553cb842b2e582ebab52ba1e1e8833ac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
inherit autotools python-single-r1 toolchain-funcs xdg-utils
DESCRIPTION="A library for manipulating block devices"
HOMEPAGE="https://github.com/storaged-project/libblockdev"
if [[ "${PV}" == *9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/storaged-project/libblockdev.git"
BDEPEND="
dev-build/autoconf-archive
"
else
MY_PV="${PV}-1"
SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz"
KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv x86"
fi
LICENSE="LGPL-2+"
SLOT="0/3" # subslot is SOVERSION
IUSE="+cryptsetup device-mapper escrow gtk-doc introspection lvm +nvme test +tools"
# Tests require root. In a future release, we may be able to run a smaller
# subset with new run_tests.py arguments.
RESTRICT="!test? ( test ) test"
RDEPEND="
>=dev-libs/glib-2.42.2
dev-libs/libbytesize
sys-apps/gptfdisk
>=sys-apps/kmod-19
>=sys-apps/util-linux-2.27
>=sys-block/parted-3.1
cryptsetup? (
escrow? (
>=dev-libs/nss-3.18.0
dev-libs/volume_key
)
>=sys-apps/keyutils-1.5.0:=
>=sys-fs/cryptsetup-2.3.0:=
)
device-mapper? ( sys-fs/lvm2 )
lvm? (
sys-fs/lvm2
virtual/udev
)
nvme? ( sys-libs/libnvme )
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/pygobject:3[${PYTHON_USEDEP}]
')
"
DEPEND="${RDEPEND}"
BDEPEND+="
dev-build/gtk-doc-am
gtk-doc? ( dev-util/gtk-doc )
introspection? ( >=dev-libs/gobject-introspection-1.3.0 )
test? (
$(python_gen_cond_dep '
dev-libs/libbytesize[python,${PYTHON_USEDEP}]
')
sys-block/targetcli-fb
)
"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
escrow? ( cryptsetup )"
pkg_setup() {
python-single-r1_pkg_setup
}
src_prepare() {
xdg_environment_reset #623992
default
# https://bugs.gentoo.org/744289
find -type f \( -name "Makefile.am" -o -name "configure.ac" \) -print0 \
| xargs --null sed "s@ -Werror@@" -i || die
eautoreconf
}
src_configure() {
# Bug #910487
if tc-ld-is-lld; then
tc-ld-force-bfd
fi
local myeconfargs=(
--with-btrfs
--with-fs
--with-part
--with-python3
--without-mpath
--without-nvdimm
$(use_enable introspection)
$(use_enable test tests)
$(use_with cryptsetup crypto)
$(use_with device-mapper dm)
$(use_with escrow)
$(use_with gtk-doc)
$(use_with lvm lvm)
$(use_with lvm lvm-dbus)
$(use_with nvme)
$(use_with tools)
)
econf "${myeconfargs[@]}"
}
src_test() {
# See http://storaged.org/libblockdev/ch03.html
# The 'check' target just does Pylint.
# ... but it needs root.
emake test
}
src_install() {
default
find "${ED}" -type f -name "*.la" -delete || die
# This is installed even with USE=-lvm, but libbd_lvm are omitted so it
# doesn't work at all.
if ! use lvm ; then
rm -f "${ED}"/usr/bin/lvm-cache-stats || die
fi
python_optimize #718576
}
|