|
1 | 1 | #!/bin/sh |
2 | 2 | set -e |
3 | | -# install required fonts |
4 | | -sudo apt-get install fonts-liberation2 fonts-open-sans fonts-noto-cjk fonts-noto-color-emoji |
5 | 3 |
|
6 | | -# install additional fonts (committed in .github/fonts/) |
| 4 | +APT_PACKAGES="fonts-liberation2 fonts-open-sans fonts-noto-cjk fonts-noto-color-emoji fontconfig" |
| 5 | +APT_CACHE_DIR="${HOME}/.cache/apt-fonts" |
| 6 | + |
| 7 | +if [ "$APT_CACHE_HIT" = "true" ] && [ -d "$APT_CACHE_DIR" ]; then |
| 8 | + echo "Installing font packages from cache..." |
| 9 | + sudo dpkg -i "$APT_CACHE_DIR"/*.deb 2>/dev/null || sudo apt-get install -yf |
| 10 | +else |
| 11 | + echo "Downloading and installing font packages..." |
| 12 | + sudo apt-get update -q |
| 13 | + sudo apt-get install -y --no-install-recommends $APT_PACKAGES |
| 14 | + # Save debs for future cache |
| 15 | + mkdir -p "$APT_CACHE_DIR" |
| 16 | + for pkg in $APT_PACKAGES; do |
| 17 | + cp /var/cache/apt/archives/${pkg}_*.deb "$APT_CACHE_DIR/" 2>/dev/null || true |
| 18 | + done |
| 19 | +fi |
| 20 | + |
| 21 | +# Rebuild font cache |
| 22 | +sudo fc-cache -f |
| 23 | + |
| 24 | +# Install additional fonts (committed in .github/fonts/) |
7 | 25 | sudo cp -r .github/fonts/ /usr/share/ |
8 | | -sudo apt install fontconfig |
9 | 26 | sudo fc-cache -f |
10 | 27 |
|
11 | | -# install Kaleido & Plotly |
| 28 | +# Install Kaleido & Plotly |
12 | 29 | uv pip install --system kaleido==1.2 plotly==6.6.0 --no-progress |
13 | 30 |
|
14 | | -# install numpy i.e. to convert arrays to typed arrays |
| 31 | +# Install numpy i.e. to convert arrays to typed arrays |
15 | 32 | uv pip install --system numpy==2.4.3 |
16 | 33 |
|
17 | | -# verify version of python and versions of installed python packages |
| 34 | +# Verify version of python and versions of installed python packages |
18 | 35 | python --version |
19 | 36 | uv pip freeze --system |
0 commit comments