blob: 6e07802ddcba0bdecf356b9b00b77e54a5e91810 (
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
|
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
MY_PN="PRoot"
inherit eutils toolchain-funcs
DESCRIPTION="User-space implementation of chroot, mount --bind, and binfmt_misc"
HOMEPAGE="https://proot-me.github.io/"
SRC_URI="https://github.com/proot-me/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="care test"
RDEPEND="care? ( app-arch/libarchive:0= )
sys-libs/talloc"
DEPEND="${RDEPEND}
care? ( dev-libs/uthash )
test? ( dev-util/valgrind )"
# Breaks sandbox
RESTRICT="test"
S="${WORKDIR}/${MY_PN}-${PV}"
src_prepare() {
epatch "${FILESDIR}/${PN}-3.2.1-makefile.patch" \
"${FILESDIR}/${PN}-2.3.1-lib-paths-fix.patch"
epatch_user
}
src_compile() {
# build the proot and care targets
emake -C src V=1 \
CC="$(tc-getCC)" \
CHECK_VERSION="true" \
CAREBUILDENV="ok" \
proot $(use care && echo "care")
}
src_install() {
if use care; then
dobin src/care
dodoc doc/care/*.txt
fi
dobin src/proot
newman doc/proot/man.1 proot.1
dodoc doc/proot/*.txt
dodoc -r doc/articles
}
src_test() {
emake -C tests -j1 CC="$(tc-getCC)"
}
pkg_postinst() {
if use care; then
elog "You have enabled 'care' USE flag, that builds and installs"
elog "dynamically linked care binary."
elog "Upstream does NOT support such way of building CARE,"
elog "it provides only prebuilt binaries."
elog "CARE also has known problems on hardened systems"
elog "Please do NOT file bugs about them to https://bugs.gentoo.org"
fi
}
|