From 426e1aa44b02509bb24f31baaaca624d335f4af2 Mon Sep 17 00:00:00 2001 From: Alsey Coleman Miller Date: Mon, 13 Jul 2026 13:36:08 -0400 Subject: [PATCH 1/2] Fix FreeType pkg-config module and brew formula names CFreeType declared pkgConfig: "freetype", but the pkg-config module FreeType ships is "freetype2" -- SwiftPM's probe fails, no library search path is emitted, and consumers fail to link FT_* symbols unless another dependency happens to add the same -L path. The brew provider hint had the names reversed: the formula is "freetype". --- Package.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Package.swift b/Package.swift index 4c78632..70b00ef 100644 --- a/Package.swift +++ b/Package.swift @@ -39,9 +39,9 @@ let package = Package( ]), .systemLibrary( name: "CFreeType", - pkgConfig: "freetype", + pkgConfig: "freetype2", providers: [ - .brew(["freetype2"]), + .brew(["freetype"]), .apt(["libfreetype6-dev"]) ]) ] From 1346411f4ad85e6d2efb5cdf226e51ea4c95a6d4 Mon Sep 17 00:00:00 2001 From: Alsey Coleman Miller Date: Mon, 13 Jul 2026 14:06:39 -0400 Subject: [PATCH 2/2] Modernize CI workflow - actions/checkout v2 -> v4 and drop slashmo/install-swift (its internal actions/cache@v2 is hard-failed by GitHub now); use the runner's Xcode toolchain on macOS and the swift container on Linux. - ubuntu-20.04 runners were retired (jobs queue forever); move to ubuntu-latest with the swift:latest container. --- .github/workflows/swift.yml | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index db0e9e2..1629892 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -6,12 +6,8 @@ jobs: name: macOS runs-on: macos-latest steps: - - name: Install Swift - uses: slashmo/install-swift@v0.3.0 - with: - version: 6.0.3 - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Swift Version run: swift --version - name: Install dependencies @@ -22,24 +18,26 @@ jobs: run: swift build -c release - name: Test (Debug) run: swift test -c debug - + linux: - name: Linux + name: Linux (${{ matrix.container }}) + runs-on: ubuntu-latest strategy: + fail-fast: false matrix: - swift: [6.0.3] - runs-on: ubuntu-20.04 + container: ["swift:latest"] + container: ${{ matrix.container }} steps: - - name: Install Swift - uses: slashmo/install-swift@v0.3.0 - with: - version: ${{ matrix.swift }} - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Swift Version run: swift --version - name: Install dependencies - run: sudo apt-get install -y libcairo2-dev libfreetype6-dev libfontconfig-dev + run: | + apt-get update + apt-get install -y --no-install-recommends \ + libcairo2-dev libfreetype-dev libfontconfig-dev \ + fontconfig fonts-dejavu-core pkg-config - name: Build (Debug) run: swift build -c debug - name: Build (Release)