fix(install): correct openSUSE Tumbleweed dependencies (#420)

* fix(install): correct openSUSE Tumbleweed dependencies

* style: format openSUSE installer changes

---------

Co-authored-by: Jatin K Malik <jatinkrmalik@gmail.com>
This commit is contained in:
Pep Locanto
2026-05-30 14:48:36 -07:00
committed by GitHub
co-authored by Jatin K Malik
parent c39f9ce431
commit a47747d6a4
7 changed files with 333 additions and 58 deletions
+25 -1
View File
@@ -59,6 +59,28 @@ check_deps() {
MISSING=1
fi
# Check for AppIndicator/Ayatana AppIndicator GI runtime
if python3 - <<'PY' >/dev/null 2>&1
import importlib
import gi
for namespace in ("AppIndicator3", "AyatanaAppIndicator3", "AyatanaAppindicator3"):
try:
gi.require_version(namespace, "0.1")
importlib.import_module(f"gi.repository.{namespace}")
raise SystemExit(0)
except (ImportError, ValueError):
pass
raise SystemExit(1)
PY
then
echo "✓ AppIndicator/Ayatana GI runtime"
else
echo "✗ AppIndicator/Ayatana GI runtime not found"
MISSING=1
fi
# Check for PortAudio
if command -v pkg-config >/dev/null 2>&1 && pkg-config --exists portaudio-2.0 2>/dev/null; then
PA_VERSION=$(pkg-config --modversion portaudio-2.0 2>/dev/null)
@@ -124,7 +146,9 @@ check_deps() {
echo " sudo pacman -S --needed python-gobject gtk3 gobject-introspection portaudio python pkg-config xdotool wtype"
elif [[ "$DETECTED_DISTRO" == "opensuse" || "$DETECTED_DISTRO_LIKE" == *"suse"* ]]; then
echo "openSUSE:"
echo " sudo zypper install -y python3-gobject python3-gobject-cairo gtk3 gobject-introspection-devel portaudio-devel python3-devel python3-virtualenv pkg-config xdotool wtype"
echo " PYVER=\$(python3 -c 'import sys; print(f\"python{sys.version_info.major}{sys.version_info.minor}\")')"
echo " sudo zypper install -y \"\${PYVER}-gobject\" \"\${PYVER}-gobject-cairo\" gtk3 typelib-1_0-AyatanaAppIndicator3-0_1 libayatana-appindicator3-1 typelib-1_0-Notify-0_7 libnotify4 gobject-introspection-devel portaudio-devel \"\${PYVER}-devel\" \"\${PYVER}-virtualenv\" pkg-config xdotool wtype"
echo " If \"\${PYVER}-virtualenv\" is unavailable, try \"\${PYVER}-venv\"."
elif [[ "$DETECTED_DISTRO" == "gentoo" ]]; then
echo "Gentoo:"
echo " sudo emerge dev-python/pygobject:3 x11-libs/gtk+:3 dev-libs/libappindicator:3 media-libs/portaudio dev-lang/python:3.9 xdotool wtype"
+5 -3
View File
@@ -10,7 +10,8 @@ system_packages:
debian: ["python3-gi", "python3-gi-cairo", "gir1.2-gtk-3.0", "gir1.2-gdkpixbuf-2.0", "libcairo2-dev"]
fedora: ["python3-gobject", "gtk3", "gobject-introspection-devel"]
arch: ["python-gobject", "gtk3", "gobject-introspection", "python-cairo"]
opensuse: ["python3-gobject", "python3-gobject-cairo", "gtk3", "gobject-introspection-devel"]
# Tumbleweed often uses versioned Python package names such as python313-gobject.
opensuse: ["python3XY-gobject", "python3XY-gobject-cairo", "gtk3", "gobject-introspection-devel"]
gentoo: ["dev-python/pygobject:3", "x11-libs/gtk+:3"]
alpine: ["py3-gobject3", "py3-cairo", "gtk+3.0"]
void: ["python3-gobject", "gtk+3"]
@@ -23,7 +24,7 @@ system_packages:
debian_12_plus: ["gir1.2-ayatanaappindicator3-0.1"]
fedora: ["libappindicator-gtk3"]
arch: ["libappindicator-gtk3"]
opensuse: ["libappindicator-gtk3"]
opensuse: ["typelib-1_0-AyatanaAppIndicator3-0_1", "libayatana-appindicator3-1", "typelib-1_0-AppIndicator3-0_1"]
gentoo: ["dev-libs/libappindicator:3"]
alpine: ["libayatana-appindicator"]
void: ["libappindicator"]
@@ -47,7 +48,8 @@ system_packages:
debian: ["python3-dev", "python3-venv"]
fedora: ["python3-devel", "python3-virtualenv"]
arch: ["python"] # Arch includes venv by default
opensuse: ["python3-devel", "python3-virtualenv"]
# Tumbleweed package names follow the active Python minor version, e.g. python313-devel.
opensuse: ["python3XY-devel", "python3XY-virtualenv", "python3XY-venv", "python3XY-pip"]
gentoo: ["dev-lang/python:3.9"]
alpine: ["py3-virtualenv"]
void: ["python3-devel"]