post_install() {
    set -e
    VENV=/usr/lib/whispskrid/venv
    if [ ! -d "$VENV" ]; then
        python3 -m venv --system-site-packages "$VENV"
    fi
    # --no-deps : numpy/python-yaml/pyperclip/evdev/xlib sont satisfaits par les
    # paquets système (depends du PKGBUILD, venv --system-site-packages) ;
    # pynput n'est pas empaqueté sur Arch et rejoint faster-whisper dans le venv
    # — sans compilation, evdev et python-xlib étant déjà présents côté système.
    "$VENV"/bin/pip install --no-cache-dir --no-deps /usr/lib/whispskrid
    rm -rf /usr/lib/whispskrid/build /usr/lib/whispskrid/src/whispskrid.egg-info
    "$VENV"/bin/pip install --no-cache-dir pynput faster-whisper

    echo ""
    echo "whispskrid is installed. Run 'whispskrid --download-model base'"
    echo "(or tiny, small, medium, large-v3; ~75 MB to ~3 GB, from"
    echo "huggingface.co/Systran) to fetch a Whisper model now; if you skip"
    echo "it, the first persistent session downloads it automatically instead."
    echo ""
    echo "Only if you use the ydotool fallback for text injection, add your"
    echo "user to the 'input' group (access to /dev/uinput):"
    echo "  sudo usermod -aG input \$USER   (then log out and back in)"
    echo "xdotool (X11) does not need this."
}

post_upgrade() {
    post_install
}

post_remove() {
    # venv (pip) et __pycache__ (bytecode écrit à l'exécution) ne sont pas des
    # fichiers possédés par pacman, contrairement au reste de l'arborescence.
    rm -rf /usr/lib/whispskrid/venv
    find /usr/lib/whispskrid -depth -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
    rmdir /usr/lib/whispskrid/src/whispskrid /usr/lib/whispskrid/src /usr/lib/whispskrid 2>/dev/null || true
}
