From 45919362ee62ffd48baee1975c08ad3e77e47e4f Mon Sep 17 00:00:00 2001 From: VideoTools CI Date: Thu, 22 Jan 2026 09:37:12 -0500 Subject: [PATCH] chore(install): ensure pip installed --- scripts/install-deps-linux.sh | 21 ++++++++--- scripts/install-deps-windows.ps1 | 60 ++++++++++++++++++++++++++++++++ scripts/install.sh | 13 ++++--- 3 files changed, 85 insertions(+), 9 deletions(-) diff --git a/scripts/install-deps-linux.sh b/scripts/install-deps-linux.sh index 0053d4e..27a6d1c 100755 --- a/scripts/install-deps-linux.sh +++ b/scripts/install-deps-linux.sh @@ -44,7 +44,8 @@ install_fedora() { gstreamer1-devel \ gstreamer1-plugins-base-devel \ ffmpeg-free \ - golang + golang \ + python3-pip echo "✓ Fedora dependencies installed" } @@ -72,7 +73,8 @@ install_ubuntu() { libgstreamer1.0-dev \ libgstreamer-plugins-base1.0-dev \ ffmpeg \ - golang-go + golang-go \ + python3-pip echo "✓ Ubuntu/Debian dependencies installed" } @@ -97,7 +99,8 @@ install_arch() { gst-plugins-ugly \ gst-libav \ ffmpeg \ - go + go \ + python-pip echo "✓ Arch Linux dependencies installed" } @@ -123,7 +126,8 @@ install_opensuse() { gstreamer-plugins-libav \ gstreamer-devel \ ffmpeg \ - go + go \ + python3-pip echo "✓ openSUSE dependencies installed" } @@ -202,6 +206,15 @@ else echo "⚠️ pkg-config not found" fi +# Check pip +if command -v pip3 &> /dev/null; then + echo "✓ pip: $(pip3 --version)" +elif command -v pip &> /dev/null; then + echo "✓ pip: $(pip --version)" +else + echo "⚠️ pip not found in PATH" +fi + echo "" echo "Dependencies ready! You can now run:" echo " ./scripts/build.sh" diff --git a/scripts/install-deps-windows.ps1 b/scripts/install-deps-windows.ps1 index 1583f6c..1d69fc8 100644 --- a/scripts/install-deps-windows.ps1 +++ b/scripts/install-deps-windows.ps1 @@ -40,6 +40,24 @@ function Test-Command { return $? } +function Test-Pip { + if (Test-Command pip) { + return $true + } + if (Test-Command pip3) { + return $true + } + if (Test-Command python) { + try { + & python -m pip --version | Out-Null + return $true + } catch { + return $false + } + } + return $false +} + # Enhanced Windows 11 detection and configuration function Get-Windows11Info { $os = Get-WmiObject -Class Win32_OperatingSystem @@ -368,6 +386,14 @@ function Install-Windows11Native { Write-Host " ✅ GStreamer already installed" -ForegroundColor Green } + # Install Python (includes pip) + if (-not (Test-Pip)) { + Write-Host " Installing Python (for pip)..." -ForegroundColor Yellow + choco install -y python --accept-license + } else { + Write-Host " ✅ pip already available" -ForegroundColor Green + } + # Windows 11 specific optimizations if ($win11Info.IsWindows11) { Write-Host "" @@ -464,6 +490,14 @@ function Install-ViaChocolatey { } } + # Install Python (includes pip) + if (-not (Test-Pip)) { + Write-Host "Installing Python (for pip)..." -ForegroundColor Yellow + choco install -y python + } else { + Write-Host "[OK] pip already available" -ForegroundColor Green + } + Write-Host "[OK] Chocolatey installation complete" -ForegroundColor Green } @@ -535,6 +569,14 @@ function Install-ViaScoop { } } + # Install Python (includes pip) + if (-not (Test-Pip)) { + Write-Host "Installing Python (for pip)..." -ForegroundColor Yellow + scoop install python + } else { + Write-Host "[OK] pip already available" -ForegroundColor Green + } + Write-Host "[OK] Scoop installation complete" -ForegroundColor Green } @@ -642,6 +684,24 @@ if (Test-Command gst-launch-1.0) { } } +if (Test-Pip) { + $pipVersion = "" + if (Test-Command pip) { + $pipVersion = pip --version + } elseif (Test-Command pip3) { + $pipVersion = pip3 --version + } elseif (Test-Command python) { + $pipVersion = python -m pip --version + } + if ($pipVersion) { + Write-Host "[OK] pip: $pipVersion" -ForegroundColor Green + } else { + Write-Host "[OK] pip: available" -ForegroundColor Green + } +} else { + Write-Host "[WARN] pip not found in PATH (restart terminal)" -ForegroundColor Yellow +} + if (Test-Command dvdauthor) { Write-Host "[OK] dvdauthor: found" -ForegroundColor Green diff --git a/scripts/install.sh b/scripts/install.sh index 097fce5..7aff0d0 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -234,6 +234,9 @@ else if ! pkg-config --exists gstreamer-1.0 2>/dev/null; then missing_deps+=("gstreamer-devel") fi + if ! command -v pip3 &> /dev/null && ! command -v pip &> /dev/null; then + missing_deps+=("pip") + fi if [ -z "$SKIP_DVD_TOOLS" ]; then # Check if DVD tools are already installed if command -v dvdauthor &> /dev/null && command -v xorriso &> /dev/null; then @@ -302,7 +305,7 @@ else echo "Installing core dependencies (FFmpeg + GStreamer)..." sudo apt-get update # Core packages (always installed) - GStreamer is mandatory for player - CORE_PKGS="ffmpeg gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev" + CORE_PKGS="ffmpeg gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev python3-pip" if [ "$SKIP_DVD_TOOLS" = true ]; then sudo apt-get install -y $CORE_PKGS else @@ -311,7 +314,7 @@ else elif command -v dnf &> /dev/null; then echo "Installing core dependencies (FFmpeg + GStreamer)..." # Core packages (always installed) - GStreamer is mandatory for player - CORE_PKGS="ffmpeg gstreamer1 gstreamer1-plugins-base gstreamer1-plugins-good gstreamer1-plugins-bad-free gstreamer1-plugins-ugly-free gstreamer1-libav gstreamer1-devel gstreamer1-plugins-base-devel" + CORE_PKGS="ffmpeg gstreamer1 gstreamer1-plugins-base gstreamer1-plugins-good gstreamer1-plugins-bad-free gstreamer1-plugins-ugly-free gstreamer1-libav gstreamer1-devel gstreamer1-plugins-base-devel python3-pip" if [ "$SKIP_DVD_TOOLS" = true ]; then sudo dnf install -y $CORE_PKGS else @@ -322,7 +325,7 @@ else # Enhanced Arch Linux installation with GUI environment detection install_arch() { # Core packages (always installed) - includes pkgconf for pkg-config and base-devel for CGO compilation - CORE_PKGS="base-devel pkgconf ffmpeg gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav" + CORE_PKGS="base-devel pkgconf ffmpeg gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav python-pip" echo "🔧 Detecting Arch Linux configuration..." @@ -415,7 +418,7 @@ else elif command -v zypper &> /dev/null; then echo "Installing core dependencies (FFmpeg + GStreamer)..." # Core packages (always installed) - CORE_PKGS="ffmpeg gstreamer gstreamer-plugins-base gstreamer-plugins-good gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer-plugins-libav gstreamer-devel" + CORE_PKGS="ffmpeg gstreamer gstreamer-plugins-base gstreamer-plugins-good gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer-plugins-libav gstreamer-devel python3-pip" if [ "$SKIP_DVD_TOOLS" = true ]; then sudo zypper install -y $CORE_PKGS else @@ -424,7 +427,7 @@ else elif command -v brew &> /dev/null; then echo "Installing core dependencies (FFmpeg + GStreamer)..." # Core packages (always installed) - CORE_PKGS="ffmpeg gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav" + CORE_PKGS="ffmpeg gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav python" if [ "$SKIP_DVD_TOOLS" = true ]; then brew install $CORE_PKGS else