blob: 5e96581d8cfa0f8416a91a03dc0b7f725d3af7ae (
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
|
# Copyright 2026 Gurov <thuggerthugger1@duck.com>
# Distributed under the terms of the GNU General Public License v2
require python [ blacklist="2 3.9 3.10" multibuild=false ] meson [ meson_minimum_version=1.3.0 ] gtk-icon-cache
SUMMARY="Bubblewrap-based sandboxing utility"
HOMEPAGE="https://github.com/igo95862/bubblejail"
DOWNLOADS="${HOMEPAGE}/releases/download/${PV}/${PNV}.tar.xz"
LICENCES="GPL-3+ MIT MPL-2.0"
SLOT="0"
PLATFORMS="~amd64"
MYOPTIONS="doc gui bash-completion fish-completion"
DEPENDENCIES="
build:
dev-python/Jinja2[python_abis:*(-)?]
doc? ( app-doc/scdoc )
run:
dev-python/cattrs[python_abis:*(-)?]
dev-python/pyxdg[python_abis:*(-)?]
dev-python/tomli-w[python_abis:*(-)?]
sys-apps/bubblewrap[>=0.5.0]
sys-apps/xdg-dbus-proxy
sys-libs/libseccomp
gui? (
dev-python/PyQt6[python_abis:*(-)?]
x11-themes/hicolor-icon-theme
)
"
MESON_SRC_CONFIGURE_PARAMS=( -Duse-vendored-python-lxns=enabled )
MESON_SRC_CONFIGURE_OPTION_SWITCHES=( 'doc man' )
src_prepare() {
meson_src_prepare
edo sed -i "1s@/usr/bin/python3@/usr/$(exhost --target)/bin/python$(python_get_abi)@" \
templates/bubblejail_launch_base.py.jinja
}
src_install() {
meson_src_install
if ! option gui; then
edo rm -f "${IMAGE}/usr/$(exhost --target)/bin/bubblejail-config" \
"${IMAGE}/usr/share/applications/bubblejail-config.desktop" \
"${IMAGE}/usr/share/icons/hicolor/128x128/apps/bubblejail-config.png" \
"${IMAGE}/usr/share/icons/hicolor/scalable/apps/bubblejail-config.svg"
fi
if ! option bash-completion; then
edo rm -f "${IMAGE}/usr/share/bash-completion/completions/bubblejail"
fi
if ! option fish-completion; then
edo rm -f "${IMAGE}/usr/share/fish/vendor_completions.d/bubblejail.fish"
fi
edo find "${IMAGE}/usr/share" -depth -type d -empty -delete
keepdir /etc/bubblejail/profiles
python_bytecompile
}
pkg_postinst() {
if option gui; then
gtk-icon-cache_pkg_postinst
fi
}
pkg_postrm() {
if option gui; then
gtk-icon-cache_pkg_postrm
fi
}
|