* refactor(installer): generate distro package map * fix(installer): handle Debian derivative package maps * docs(installer): document generated package map * fix(installer): validate package map and refresh derivative probes * fix(installer): name openSUSE package roles
130 lines
6.5 KiB
Bash
130 lines
6.5 KiB
Bash
#!/bin/bash
|
|
# Generated by scripts/generate_distro_package_map.py -- do not edit.
|
|
# Regenerate with `just distro-packages` after editing
|
|
# scripts/distro-package-map.yaml.
|
|
|
|
DEBIAN_13_PLUS_PROBE_PACKAGE=libgirepository-2.0-dev
|
|
|
|
load_distro_package_map() {
|
|
local package_map_key="$1"
|
|
|
|
SYSTEM_PACKAGES=()
|
|
APPINDICATOR_PACKAGES=()
|
|
GI_DEVELOPMENT_PACKAGES=()
|
|
OPTIONAL_SYSTEM_PACKAGES=()
|
|
PYTHON_PIP_SUFFIX=""
|
|
PYTHON_GOBJECT_SUFFIX=""
|
|
PYTHON_GOBJECT_CAIRO_SUFFIX=""
|
|
PYTHON_DEVEL_SUFFIX=""
|
|
PYTHON_VIRTUALENV_SUFFIX=""
|
|
PYTHON_VENV_SUFFIX=""
|
|
SHADER_COMPILER_PACKAGES=()
|
|
VULKAN_PACKAGES=()
|
|
XDOTOOL_PACKAGES=()
|
|
WTYPE_PACKAGES=()
|
|
YDOTOOL_PACKAGES=()
|
|
|
|
case "$package_map_key" in
|
|
ubuntu)
|
|
SYSTEM_PACKAGES=(python3-pip python3-gi python3-gi-cairo gir1.2-gtk-3.0 gir1.2-ibus-1.0 libcairo2-dev cmake python3-dev build-essential portaudio19-dev python3-venv pkg-config wget curl unzip vulkan-tools libvulkan-dev xclip xsel wl-clipboard libssl-dev autoconf automake libtool patchelf)
|
|
APPINDICATOR_PACKAGES=(gir1.2-appindicator3-0.1 gir1.2-ayatanaappindicator3-0.1)
|
|
GI_DEVELOPMENT_PACKAGES=(libgirepository-2.0-dev libgirepository1.0-dev)
|
|
OPTIONAL_SYSTEM_PACKAGES=(util-linux-extra)
|
|
SHADER_COMPILER_PACKAGES=(glslc glslang-tools)
|
|
XDOTOOL_PACKAGES=(xdotool)
|
|
WTYPE_PACKAGES=(wtype)
|
|
YDOTOOL_PACKAGES=(ydotool)
|
|
;;
|
|
|
|
debian_12)
|
|
SYSTEM_PACKAGES=(python3-pip python3-gi python3-gi-cairo gir1.2-gtk-3.0 gir1.2-ibus-1.0 libcairo2-dev cmake python3-dev build-essential portaudio19-dev python3-venv pkg-config wget curl unzip vulkan-tools libvulkan-dev xclip xsel wl-clipboard libssl-dev autoconf automake libtool patchelf libgirepository1.0-dev gir1.2-ayatanaappindicator3-0.1)
|
|
OPTIONAL_SYSTEM_PACKAGES=(util-linux-extra)
|
|
SHADER_COMPILER_PACKAGES=(glslc glslang-tools)
|
|
XDOTOOL_PACKAGES=(xdotool)
|
|
WTYPE_PACKAGES=(wtype)
|
|
YDOTOOL_PACKAGES=(ydotool)
|
|
;;
|
|
|
|
debian_13_plus)
|
|
SYSTEM_PACKAGES=(python3-pip python3-gi python3-gi-cairo gir1.2-gtk-3.0 gir1.2-ibus-1.0 libcairo2-dev cmake python3-dev build-essential portaudio19-dev python3-venv pkg-config wget curl unzip vulkan-tools libvulkan-dev xclip xsel wl-clipboard libssl-dev autoconf automake libtool patchelf libgirepository-2.0-dev gir1.2-ayatanaappindicator3-0.1)
|
|
OPTIONAL_SYSTEM_PACKAGES=(util-linux-extra)
|
|
SHADER_COMPILER_PACKAGES=(glslc glslang-tools)
|
|
XDOTOOL_PACKAGES=(xdotool)
|
|
WTYPE_PACKAGES=(wtype)
|
|
YDOTOOL_PACKAGES=(ydotool)
|
|
;;
|
|
|
|
fedora)
|
|
SYSTEM_PACKAGES=(python3-pip python3-gobject gtk3 ibus-devel gobject-introspection-devel python3-devel portaudio-devel cairo-devel python3-virtualenv pkg-config cmake wget curl unzip vulkan-tools vulkan-loader-devel glslc patchelf xclip xsel wl-clipboard)
|
|
APPINDICATOR_PACKAGES=(libayatana-appindicator-gtk3 libappindicator-gtk3)
|
|
XDOTOOL_PACKAGES=(xdotool)
|
|
WTYPE_PACKAGES=(wtype)
|
|
YDOTOOL_PACKAGES=(ydotool)
|
|
;;
|
|
|
|
arch)
|
|
SYSTEM_PACKAGES=(python-pip python-gobject gtk3 ibus gobject-introspection python-cairo portaudio python-virtualenv pkg-config cmake wget curl unzip base-devel vulkan-tools vulkan-headers shaderc patchelf xclip xsel wl-clipboard)
|
|
APPINDICATOR_PACKAGES=(libayatana-appindicator libappindicator-gtk3)
|
|
XDOTOOL_PACKAGES=(xdotool)
|
|
WTYPE_PACKAGES=(wtype)
|
|
YDOTOOL_PACKAGES=(ydotool)
|
|
;;
|
|
|
|
suse)
|
|
SYSTEM_PACKAGES=(gtk3 ibus typelib-1_0-IBus-1_0 gobject-introspection-devel portaudio-devel pkg-config cmake gcc gcc-c++ make wget curl unzip xclip xsel wl-clipboard typelib-1_0-Notify-0_7 libnotify4 patchelf)
|
|
APPINDICATOR_PACKAGES=(typelib-1_0-AyatanaAppIndicator3-0_1 typelib-1_0-AppIndicator3-0_1 typelib-1_0-AyatanaAppIndicator-0_1 libayatana-appindicator3-1 libappindicator3-1 libappindicator-gtk3)
|
|
SHADER_COMPILER_PACKAGES=(shaderc glslang-devel glslang)
|
|
VULKAN_PACKAGES=(vulkan-tools vulkan-devel)
|
|
PYTHON_DEVEL_SUFFIX=devel
|
|
PYTHON_GOBJECT_SUFFIX=gobject
|
|
PYTHON_GOBJECT_CAIRO_SUFFIX=gobject-cairo
|
|
PYTHON_PIP_SUFFIX=pip
|
|
PYTHON_VENV_SUFFIX=venv
|
|
PYTHON_VIRTUALENV_SUFFIX=virtualenv
|
|
XDOTOOL_PACKAGES=(xdotool)
|
|
WTYPE_PACKAGES=(wtype)
|
|
YDOTOOL_PACKAGES=(ydotool)
|
|
;;
|
|
|
|
gentoo)
|
|
SYSTEM_PACKAGES=(dev-python/pygobject:3 x11-libs/gtk+:3 dev-libs/libayatana-appindicator media-libs/portaudio dev-lang/python:3.11 pkgconf cmake media-libs/shaderc dev-util/patchelf x11-misc/xclip x11-misc/xsel gui-apps/wl-clipboard)
|
|
XDOTOOL_PACKAGES=(x11-misc/xdotool)
|
|
WTYPE_PACKAGES=(x11-misc/wtype)
|
|
YDOTOOL_PACKAGES=(app-misc/ydotool)
|
|
;;
|
|
|
|
alpine)
|
|
SYSTEM_PACKAGES=(py3-gobject3 py3-pip gtk+3.0 py3-cairo portaudio-dev py3-virtualenv pkgconf cmake wget curl unzip shaderc patchelf vulkan-tools xclip xsel wl-clipboard)
|
|
XDOTOOL_PACKAGES=(xdotool)
|
|
WTYPE_PACKAGES=(wtype)
|
|
YDOTOOL_PACKAGES=(ydotool)
|
|
;;
|
|
|
|
void)
|
|
SYSTEM_PACKAGES=(python3-pip python3-gobject gtk+3 libappindicator-gtk3 gobject-introspection portaudio-devel python3-devel pkg-config cmake wget curl unzip shaderc patchelf Vulkan-Tools xclip xsel wl-clipboard)
|
|
XDOTOOL_PACKAGES=(xdotool)
|
|
WTYPE_PACKAGES=(wtype)
|
|
YDOTOOL_PACKAGES=(ydotool)
|
|
;;
|
|
|
|
solus)
|
|
SYSTEM_PACKAGES=(python3-pip python3-gobject gtk3 libappindicator gobject-introspection-devel portaudio-devel python3-virtualenv pkg-config cmake wget curl unzip shaderc patchelf vulkan-tools xclip xsel wl-clipboard)
|
|
XDOTOOL_PACKAGES=(xdotool)
|
|
WTYPE_PACKAGES=(wtype)
|
|
YDOTOOL_PACKAGES=(ydotool)
|
|
;;
|
|
|
|
mageia)
|
|
SYSTEM_PACKAGES=(python3-pip python3-gobject gtk3 ibus-devel gobject-introspection-devel python3-devel portaudio-devel cairo-devel python3-virtualenv pkg-config cmake wget curl unzip vulkan-tools vulkan-loader-devel glslc patchelf xclip xsel wl-clipboard)
|
|
XDOTOOL_PACKAGES=(xdotool)
|
|
WTYPE_PACKAGES=(wtype)
|
|
YDOTOOL_PACKAGES=(ydotool)
|
|
;;
|
|
|
|
*)
|
|
echo "Unknown distro package map key: $package_map_key" >&2
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|