diff --git a/docker/windows/dockerfile b/docker/windows/dockerfile index 55f680d66..7e6f86c09 100644 --- a/docker/windows/dockerfile +++ b/docker/windows/dockerfile @@ -199,7 +199,29 @@ RUN Write-Host '=== STARTING QUARTO INSTALLATION ===' ; ` Write-Host '✅ Quarto installation completed!' # ------------------------------------------------------------ -# PHASE 7: Install Python (Medium complexity) +# PHASE 7: Install Ghostscript (required for PDF generation) +# ------------------------------------------------------------ +RUN Write-Host '=== STARTING GHOSTSCRIPT INSTALLATION ===' ; ` + Write-Host 'Installing Ghostscript via Scoop...' ; ` + scoop install main/ghostscript ; ` + Write-Host '📦 Ghostscript installed' ; ` + Write-Host 'Verifying Ghostscript installation...' ; ` + gs --version ; ` + Write-Host '✅ Ghostscript installation complete' + +# ------------------------------------------------------------ +# PHASE 8: Install Inkscape (required for SVG processing) +# ------------------------------------------------------------ +RUN Write-Host '=== STARTING INKSCAPE INSTALLATION ===' ; ` + Write-Host 'Installing Inkscape via Scoop...' ; ` + scoop install inkscape ; ` + Write-Host '📦 Inkscape installed' ; ` + Write-Host 'Verifying Inkscape installation...' ; ` + inkscape --version ; ` + Write-Host '✅ Inkscape installation complete' + +# ------------------------------------------------------------ +# PHASE 9: Install Python (Medium complexity) # ------------------------------------------------------------ RUN Write-Host '=== STARTING PYTHON INSTALLATION ===' ; ` Write-Host 'Installing Python via Scoop (same as quarto-build workflow)...' ; ` @@ -211,7 +233,7 @@ RUN Write-Host '=== STARTING PYTHON INSTALLATION ===' ; ` Write-Host '✅ Python installation complete' # ------------------------------------------------------------ -# PHASE 8: Install Python packages (Medium complexity) +# PHASE 10: Install Python packages (Medium complexity) # ------------------------------------------------------------ RUN Write-Host '=== STARTING PYTHON PACKAGE INSTALLATION ===' ; ` Write-Host 'Installing Python packages from requirements.txt (same as quarto-build workflow)...' ; ` @@ -225,7 +247,7 @@ RUN Write-Host '=== STARTING PYTHON PACKAGE INSTALLATION ===' ; ` Write-Host '✅ Python package installation complete' # ------------------------------------------------------------ -# PHASE 9: Install Visual C++ Redistributable (Required for Quarto DLLs) +# PHASE 11: Install Visual C++ Redistributable (Required for Quarto DLLs) # ------------------------------------------------------------ RUN Write-Host '=== STARTING VISUAL C++ REDISTRIBUTABLE INSTALLATION ===' ; ` Write-Host 'Installing Microsoft Visual C++ Redistributable...' ; ` @@ -234,28 +256,6 @@ RUN Write-Host '=== STARTING VISUAL C++ REDISTRIBUTABLE INSTALLATION ===' ; ` Write-Host '📦 Visual C++ Redistributable installed' ; ` Write-Host '✅ Visual C++ Redistributable installation complete' -# ------------------------------------------------------------ -# PHASE 10: Install Ghostscript (required for PDF generation) -# ------------------------------------------------------------ -RUN Write-Host '=== STARTING GHOSTSCRIPT INSTALLATION ===' ; ` - Write-Host 'Installing Ghostscript via Scoop...' ; ` - scoop install main/ghostscript ; ` - Write-Host '📦 Ghostscript installed' ; ` - Write-Host 'Verifying Ghostscript installation...' ; ` - gs --version ; ` - Write-Host '✅ Ghostscript installation complete' - -# ------------------------------------------------------------ -# PHASE 11: Install Inkscape (required for SVG processing) -# ------------------------------------------------------------ -RUN Write-Host '=== STARTING INKSCAPE INSTALLATION ===' ; ` - Write-Host 'Installing Inkscape via Scoop...' ; ` - scoop install inkscape ; ` - Write-Host '📦 Inkscape installed' ; ` - Write-Host 'Verifying Inkscape installation...' ; ` - inkscape --version ; ` - Write-Host '✅ Inkscape installation complete' - # ------------------------------------------------------------ # PHASE 12: Install R (Medium complexity) # ------------------------------------------------------------