4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
6 |
PYTHON_COMPAT=( python3_{9..11} )
|
7 |
|
|
8 |
|
inherit toolchain-funcs linux-info python-r1
|
|
7 |
DISTUTILS_USE_PEP517=setuptools
|
|
8 |
inherit toolchain-funcs linux-info distutils-r1
|
9 |
9 |
|
10 |
10 |
DESCRIPTION="utility to checkpoint/restore a process tree"
|
11 |
11 |
HOMEPAGE="
|
... | ... | |
34 |
34 |
setproctitle? ( dev-libs/libbsd:= )
|
35 |
35 |
video_cards_amdgpu? ( x11-libs/libdrm[video_cards_amdgpu] )
|
36 |
36 |
"
|
37 |
|
DEPEND="${COMMON_DEPEND}"
|
|
37 |
DEPEND="
|
|
38 |
${COMMON_DEPEND}
|
|
39 |
"
|
38 |
40 |
BDEPEND="
|
39 |
|
dev-python/setuptools[${PYTHON_USEDEP}]
|
40 |
41 |
doc? (
|
41 |
42 |
app-text/asciidoc
|
42 |
43 |
app-text/xmlto
|
... | ... | |
57 |
58 |
"${FILESDIR}/2.2/criu-2.2-flags.patch"
|
58 |
59 |
"${FILESDIR}/2.3/criu-2.3-no-git.patch"
|
59 |
60 |
"${FILESDIR}/criu-3.12-automagic-libbsd.patch"
|
60 |
|
"${FILESDIR}/criu-3.16.1-buildsystem.patch"
|
61 |
|
|
62 |
|
"${FILESDIR}/${P}-amdgpu-build-fixes.patch"
|
63 |
|
"${FILESDIR}/${PN}-3.17-glibc-2.36.patch"
|
64 |
|
"${FILESDIR}/${PN}-3.17-glibc-2.36-deux.patch"
|
|
61 |
"${FILESDIR}/criu-3.18-buildsystem.patch"
|
65 |
62 |
)
|
66 |
63 |
|
67 |
64 |
criu_arch() {
|
... | ... | |
80 |
77 |
}
|
81 |
78 |
|
82 |
79 |
src_prepare() {
|
83 |
|
default
|
84 |
|
|
|
80 |
distutils-r1_src_prepare
|
85 |
81 |
use doc || sed -i 's_\(install: \)install-man _\1_g' Makefile.install
|
86 |
82 |
}
|
87 |
83 |
|
... | ... | |
93 |
89 |
fi
|
94 |
90 |
}
|
95 |
91 |
|
|
92 |
criu_python() {
|
|
93 |
local -x \
|
|
94 |
CRIU_VERSION_MAJOR="$(ver_cut 1)" \
|
|
95 |
CRIU_VERSION_MINOR=$(ver_cut 2) \
|
|
96 |
CRIU_VERSION_SUBLEVEL=$(ver_cut 3)
|
|
97 |
|
|
98 |
"${@}"
|
|
99 |
}
|
|
100 |
|
96 |
101 |
src_configure() {
|
97 |
102 |
# Gold linker generates invalid object file when used with criu's custom
|
98 |
103 |
# linker script. Use the bfd linker instead. See https://crbug.com/839665#c3
|
... | ... | |
114 |
119 |
)
|
115 |
120 |
|
116 |
121 |
python_setup
|
|
122 |
pushd crit >/dev/null || die
|
|
123 |
criu_python distutils-r1_src_configure
|
|
124 |
popd >/dev/null || die
|
117 |
125 |
}
|
118 |
126 |
|
119 |
127 |
criu_emake() {
|
... | ... | |
135 |
143 |
"${@}"
|
136 |
144 |
}
|
137 |
145 |
|
138 |
|
build_crit() {
|
139 |
|
"${EPYTHON}" scripts/crit-setup.py build || die
|
140 |
|
}
|
141 |
|
|
142 |
146 |
src_compile() {
|
143 |
147 |
local -a targets=(
|
144 |
148 |
all
|
145 |
149 |
$(usex doc 'docs' '')
|
146 |
150 |
)
|
147 |
151 |
criu_emake ${targets}
|
|
152 |
|
|
153 |
pushd crit >/dev/null || die
|
|
154 |
criu_python distutils-r1_src_compile
|
|
155 |
popd >/dev/null || die
|
148 |
156 |
}
|
149 |
157 |
|
150 |
158 |
src_test() {
|
151 |
159 |
criu_emake unittest
|
152 |
160 |
}
|
153 |
161 |
|
154 |
|
install_crit() {
|
155 |
|
"${EPYTHON}" scripts/crit-setup.py install --root="${D}" --prefix="${EPREFIX}/usr/" || die
|
156 |
|
python_optimize
|
|
162 |
python_install() {
|
|
163 |
local -x \
|
|
164 |
CRIU_VERSION_MAJOR="$(ver_cut 1)" \
|
|
165 |
CRIU_VERSION_MINOR=$(ver_cut 2) \
|
|
166 |
CRIU_VERSION_SUBLEVEL=$(ver_cut 3)
|
|
167 |
|
|
168 |
distutils-r1_python_install
|
157 |
169 |
}
|
158 |
170 |
|
159 |
171 |
src_install() {
|
160 |
172 |
criu_emake DESTDIR="${D}" install
|
161 |
|
python_foreach_impl install_crit
|
|
173 |
|
|
174 |
pushd crit >/dev/null || die
|
|
175 |
criu_python distutils-r1_src_install
|
|
176 |
popd >/dev/null || die
|
162 |
177 |
|
163 |
178 |
dodoc CREDITS README.md
|
164 |
179 |
|