From 47ab79041b5302dc5605a43bcca9b2c9a627a8e6 Mon Sep 17 00:00:00 2001 From: panther757 Date: Tue, 3 Mar 2026 23:51:16 -0800 Subject: [PATCH] Linux: add Gentoo dependency installation script (#12558) Co-authored-by: Alan Vogt --- scripts/linux.d/gentoo | 75 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 scripts/linux.d/gentoo diff --git a/scripts/linux.d/gentoo b/scripts/linux.d/gentoo new file mode 100644 index 0000000000..017c9c6254 --- /dev/null +++ b/scripts/linux.d/gentoo @@ -0,0 +1,75 @@ +#!/bin/bash + +if ! command -v qlist > /dev/null 2>&1; then + echo "app-portage/portage-utils is required but not installed. Installing..." + sudo emerge --ask --verbose app-portage/portage-utils +fi + +REQUIRED_DEV_PACKAGES=( + app-crypt/libsecret + dev-build/autoconf + dev-build/cmake + dev-build/libtool + dev-build/ninja + dev-cpp/gstreamermm + dev-libs/libmspack + dev-libs/libspnav + dev-libs/openssl + dev-vcs/git + gui-libs/eglexternalplatform + kde-frameworks/extra-cmake-modules + media-libs/glew + media-libs/gst-plugins-base:1.0 + media-libs/gstreamer:1.0 + net-misc/curl + net-misc/wget + sys-apps/dbus + sys-apps/file + sys-apps/texinfo + sys-devel/gcc + sys-devel/gettext + sys-devel/m4 + virtual/libudev + x11-libs/gtk+:3 +) + +if [[ -n "$UPDATE_LIB" ]] +then + echo -e "Updating Gentoo ...\n" + + # Check which version of webkit-gtk is available/preferred + if qlist -I net-libs/webkit-gtk:4 > /dev/null 2>&1; then + REQUIRED_DEV_PACKAGES+=(net-libs/webkit-gtk:4) + elif qlist -I net-libs/webkit-gtk:4.1 > /dev/null 2>&1; then + REQUIRED_DEV_PACKAGES+=(net-libs/webkit-gtk:4.1) + else + # Default to 4.1 if neither is installed + REQUIRED_DEV_PACKAGES+=(net-libs/webkit-gtk:4.1) + fi + + if [[ -n "$BUILD_DEBUG" ]] + then + REQUIRED_DEV_PACKAGES+=(dev-libs/openssl net-misc/curl) + fi + + # Filter out packages that are already installed + packages_to_install=() + for pkg in "${REQUIRED_DEV_PACKAGES[@]}"; do + if ! qlist -I "$pkg" > /dev/null 2>&1; then + packages_to_install+=("$pkg") + fi + done + + # Install them if there are any to install + if [ ${#packages_to_install[@]} -gt 0 ]; then + sudo emerge --ask --verbose --noreplace "${packages_to_install[@]}" + else + echo "All required packages are already installed." + fi + + echo -e "done\n" + exit 0 +fi + +export FOUND_GTK3_DEV +FOUND_GTK3_DEV=$(qlist -I x11-libs/gtk+:3 2>/dev/null || find /usr/lib64/libgtk-3.so 2>/dev/null || true)