summaryrefslogtreecommitdiffstats
path: root/packages/app-virtualization/bubblejail/bubblejail-0.10.4.exheres-0
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
}