summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Popov <pinkbyte@gentoo.org>2023-11-08 12:45:08 +0300
committerSergey Popov <pinkbyte@gentoo.org>2023-11-08 12:48:02 +0300
commit5a096c6391299df27dbdb913f8d221d33169fa97 (patch)
tree989f53258a179f63dcaf7fafbbac24773291c2f2 /sys-apps/proot
parentdev-python/nodeenv: Enable py3.12 (diff)
downloadgentoo-5a096c6391299df27dbdb913f8d221d33169fa97.tar.gz
gentoo-5a096c6391299df27dbdb913f8d221d33169fa97.tar.bz2
gentoo-5a096c6391299df27dbdb913f8d221d33169fa97.zip
sys-apps/proot-5.4.0: new version
Signed-off-by: Sergey Popov <pinkbyte@gentoo.org>
Diffstat (limited to 'sys-apps/proot')
-rw-r--r--sys-apps/proot/Manifest1
-rw-r--r--sys-apps/proot/files/proot-5.4.0-makefile.patch11
-rw-r--r--sys-apps/proot/proot-5.4.0.ebuild73
3 files changed, 85 insertions, 0 deletions
diff --git a/sys-apps/proot/Manifest b/sys-apps/proot/Manifest
index c2ba3bb5e4d5..3938788fc537 100644
--- a/sys-apps/proot/Manifest
+++ b/sys-apps/proot/Manifest
@@ -1,2 +1,3 @@
DIST proot-5.1.0.tar.gz 253251 BLAKE2B 8dc147d6c6ee303baf0c86f2fa4a8c17a58e76d9da9432635fc70ee06a65aa748ad617735012a1a18a520775fbe38c2264dcccefb681e8e829a5e7e1ddb05cca SHA512 26be26d405a8bcbe94377c3e9c18a571e4b61e3074f0716b0db3517d147d9d4a07c80f7312171cf9580ac7748e72e688efaf1b8e4a0ca3bfc31c802aa351346f
DIST proot-5.3.0.tar.gz 224436 BLAKE2B 431ea8e1d1de5b9babe377b6f8bc04313f968dd5967f8ee4e2c8ab6be860f85cf201a6e7ca3c7299da7d142d6a034903724440ad94bd234a23df66ebc0e175ad SHA512 371767a0f759440bd9da86567c3eb81bcaea57ba93f954e858c69ae88b130d8c28fbac9d9748721f6b23e216527290d9f5cd5a9ca2809303d0aeaf53c325c161
+DIST proot-5.4.0.tar.gz 225529 BLAKE2B 8e29224cf93d7fbf888134ebe8a9acbcb9d0d00cba3169dee609e57e5374743a62157b71cbd0e95f5e9e06659a914a3d488a8f6fb4c0b469ce945b5baa43b842 SHA512 c4d7b7428758c0d8f6a89ecaa01d1d7d5d9663a84b7e730e8160bc2a2385a7e278589f5dd86f5cd4f8e0736f09b3097b9efea7814096fd2d28e6032435b9ee63
diff --git a/sys-apps/proot/files/proot-5.4.0-makefile.patch b/sys-apps/proot/files/proot-5.4.0-makefile.patch
new file mode 100644
index 000000000000..55b0dc0dcb0f
--- /dev/null
+++ b/sys-apps/proot/files/proot-5.4.0-makefile.patch
@@ -0,0 +1,11 @@
+--- a/src/GNUmakefile 2023-11-08 12:39:54.090525399 +0300
++++ b/src/GNUmakefile 2023-11-08 12:40:02.514645883 +0300
+@@ -21,7 +21,7 @@
+ HAS_PYTHON_CONFIG := $(shell ${PYTHON}-config --ldflags ${PYTHON_EMBED} 2>/dev/null)
+
+ CPPFLAGS += -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -I. -I$(VPATH) -I$(VPATH)/../lib/uthash/include
+-CFLAGS += -g -Wall -Wextra -O2
++CFLAGS += -Wall -Wextra -O2
+ CFLAGS += $(shell pkg-config --cflags talloc)
+ LDFLAGS += -Wl,-z,noexecstack
+ LDFLAGS += $(shell pkg-config --libs talloc)
diff --git a/sys-apps/proot/proot-5.4.0.ebuild b/sys-apps/proot/proot-5.4.0.ebuild
new file mode 100644
index 000000000000..95545db5b595
--- /dev/null
+++ b/sys-apps/proot/proot-5.4.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+MY_PN="PRoot"
+
+inherit toolchain-funcs
+
+SRC_URI="https://github.com/proot-me/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+DESCRIPTION="User-space implementation of chroot, mount --bind, and binfmt_misc"
+HOMEPAGE="https://proot-me.github.io"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="care doc test"
+
+RDEPEND="care? ( app-arch/libarchive:0= )
+ sys-libs/talloc"
+BDEPEND="dev-python/docutils"
+DEPEND="${RDEPEND}
+ care? ( dev-libs/uthash )
+ elibc_musl? ( sys-libs/queue-standalone )
+ test? ( dev-util/valgrind )"
+
+# Breaks sandbox
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.4.0-makefile.patch"
+ "${FILESDIR}/${PN}-5.3.0-lib-paths-fix.patch"
+)
+
+src_compile() {
+ # build the proot and care targets
+ emake -C src V=1 \
+ CC="$(tc-getCC)" \
+ OBJCOPY="$(tc-getOBJCOPY)" \
+ OBJDUMP="$(tc-getOBJDUMP)" \
+ STRIP="$(tc-getSTRIP)" \
+ CHECK_VERSION="true" \
+ CAREBUILDENV="ok" \
+ proot $(use care && echo "care")
+ emake -C doc SUFFIX=".py" proot/man.1
+}
+
+src_install() {
+ use care && dobin src/care
+ dobin src/proot
+ dodoc doc/proot/*.rst
+ newman doc/proot/man.1 proot.1
+}
+
+src_test() {
+ emake -C tests -j1 CC="$(tc-getCC)"
+}
+
+pkg_postinst() {
+ elog "If you have segfaults on recent (>4.8) kernels"
+ elog "try to disable seccomp support like so:"
+ elog "'export PROOT_NO_SECCOMP=1'"
+ elog "prior to running proot"
+
+ 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
+}