View Raw Ebuild
# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
RESTRICT="test" # fails with sandbox
RUST_MIN_VER="1.88.0"
CRATES=""
inherit cargo
DESCRIPTION="seccomp and landlock based application sandbox with support for namespaces"
HOMEPAGE="https://sydbox.exherbolinux.org"
SRC_URI="https://git.sr.ht/~alip/syd/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://dev.gentoo.org/~patrick/syd-${PV}-crates.tar.xz
"
IUSE="static"
LICENSE="GPL-3"
# Dependent crate licenses
LICENSE+="
0BSD Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT MPL-2.0 Unicode-3.0
WTFPL-2 ZLIB
"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="static? ( sys-libs/libseccomp[static-libs] )
sys-libs/libseccomp
app-text/scdoc"
RDEPEND="sys-apps/pandora_box
${DEPEND}"
S="${WORKDIR}/syd-v${PV}"
src_configure() {
if use static; then
export LIBSECCOMP_LINK_TYPE="static"
export LIBSECCOMP_LIB_PATH=$(pkgconf --variable=libdir libseccomp)
export RUSTFLAGS+="-Ctarget-feature=+crt-static"
cargo_src_configure
else
local myfeatures=( "oci" )
cargo_src_configure
fi
}
src_compile() {
cargo_src_compile
emake man
}
src_install () {
cargo_src_install
mkdir -p "${D}"/usr/share/man/man{1,2,5,7}
emake install-man DESTDIR="${D}" PREFIX="/usr"
dodoc README.md
insinto /usr/libexec
doins src/esyd.sh
insinto /etc
newins data/user.syd-3 user.syd-3.sample
insinto /usr/share/vim/vimfiles/ftdetect
doins vim/ftdetect/syd.vim
insinto /usr/share/vim/vimfiles/syntax
doins vim/syntax/syd-3.vim
}
src_test() {
RUSTFLAGS="" cargo_src_test
}