diff --git a/.github/workflows/build-natives.yml b/.github/workflows/build-natives.yml
index f1fb9ac..9e05052 100644
--- a/.github/workflows/build-natives.yml
+++ b/.github/workflows/build-natives.yml
@@ -2,7 +2,7 @@ name: Build native dependencies (FreeType)
# Change target FreeType version based on https://github.com/freetype/freetype/tags.
env:
- FREETYPE_VERSION: VER-2-13-0 # Make sure this matches the version mentioned in the description in the .nuspec file.
+ FREETYPE_VERSION: VER-2-14-1 # Make sure this matches the version mentioned in the description in the .nuspec file.
on:
pull_request:
@@ -50,7 +50,7 @@ jobs:
macos:
name: macOS (x64 + arm64)
- runs-on: macos-12
+ runs-on: macos-13
steps:
- name: Setup Dependencies
run: |
@@ -73,18 +73,21 @@ jobs:
name: Natives-MacOS
path: ./artifacts
- # Note: Running inside a CentOS container because we want to compile using a version of glibc
+ # Note: Running inside a Rocky Linux container because we want to compile using a version of glibc
# that is as old as reasonably possible to ensure backwards compatibility of the compiled binaries.
linux-x64:
name: Linux (x64)
runs-on: ubuntu-22.04
- container: centos:centos7
+ container: rockylinux:8
steps:
- name: Setup Dependencies
run: |
mkdir -p artifacts/x64
- yum -y install https://repo.ius.io/ius-release-el7.rpm centos-release-scl
- yum -y install devtoolset-8 cmake3
+ dnf install -y "dnf-command(config-manager)"
+ dnf config-manager --set-enabled powertools
+ dnf install -y epel-release cmake
+ dnf groupinstall -y "Development Tools"
+ dnf -y update
- name: Compile natives
run: |
@@ -92,8 +95,8 @@ jobs:
unzip ${FREETYPE_VERSION}.zip
mkdir freetype-${FREETYPE_VERSION}/build
cd freetype-${FREETYPE_VERSION}/build
- cmake3 .. -DBUILD_SHARED_LIBS=true -DCMAKE_BUILD_TYPE=Release -DFT_DISABLE_ZLIB=TRUE -DFT_DISABLE_BZIP2=TRUE -DFT_DISABLE_PNG=TRUE -DFT_DISABLE_HARFBUZZ=TRUE -DFT_DISABLE_BROTLI=TRUE
- cmake3 --build .
+ cmake .. -DBUILD_SHARED_LIBS=true -DCMAKE_BUILD_TYPE=Release -DFT_DISABLE_ZLIB=TRUE -DFT_DISABLE_BZIP2=TRUE -DFT_DISABLE_PNG=TRUE -DFT_DISABLE_HARFBUZZ=TRUE -DFT_DISABLE_BROTLI=TRUE
+ cmake --build .
cp libfreetype.so ../../artifacts/x64/freetype6.so
- name: Upload Artifacts
@@ -102,35 +105,24 @@ jobs:
name: Natives-Linux(x64)
path: ./artifacts
- # Note: Using the run-on-arch action is *very* slow, but is the only way to simulate arm64 architecture.
linux-arm64:
name: Linux (arm64)
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-22.04-arm
steps:
- - name: Setup dependencies and compile natives
- uses: uraimo/run-on-arch-action@v3
- with:
- arch: aarch64
- distro: ubuntu22.04
- shell: /bin/sh
- githubToken: ${{ github.token }}
- setup: |
- mkdir -p "${PWD}/artifacts/arm64"
- dockerRunArgs: |
- --volume "${PWD}/artifacts:/artifacts"
- env: |
- FREETYPE_VERSION: ${{ env.FREETYPE_VERSION }}
- install: |
- apt-get update -q -y
- apt-get install -y build-essential curl cmake unzip
- run: |
- curl -s -L -O https://github.com/freetype/freetype/archive/refs/tags/${FREETYPE_VERSION}.zip
- unzip ${FREETYPE_VERSION}.zip
- mkdir freetype-${FREETYPE_VERSION}/build
- cd freetype-${FREETYPE_VERSION}/build
- cmake .. -DBUILD_SHARED_LIBS=true -DCMAKE_BUILD_TYPE=Release -DFT_DISABLE_ZLIB=TRUE -DFT_DISABLE_BZIP2=TRUE -DFT_DISABLE_PNG=TRUE -DFT_DISABLE_HARFBUZZ=TRUE -DFT_DISABLE_BROTLI=TRUE
- cmake --build .
- cp libfreetype.so /artifacts/arm64/freetype6.so
+ - name: Setup Dependencies
+ run: |
+ mkdir -p artifacts/arm64
+ sudo apt-get install -y build-essential curl cmake unzip
+
+ - name: Compile Natives
+ run: |
+ curl -s -L -O https://github.com/freetype/freetype/archive/refs/tags/${FREETYPE_VERSION}.zip
+ unzip ${FREETYPE_VERSION}.zip
+ mkdir freetype-${FREETYPE_VERSION}/build
+ cd freetype-${FREETYPE_VERSION}/build
+ cmake .. -DBUILD_SHARED_LIBS=true -DCMAKE_BUILD_TYPE=Release -DFT_DISABLE_ZLIB=TRUE -DFT_DISABLE_BZIP2=TRUE -DFT_DISABLE_PNG=TRUE -DFT_DISABLE_HARFBUZZ=TRUE -DFT_DISABLE_BROTLI=TRUE
+ cmake --build .
+ cp libfreetype.so ../../artifacts/arm64/freetype6.so
- name: Upload Artifacts
uses: actions/upload-artifact@v4
diff --git a/OpenRA-FreeType6.nuspec b/OpenRA-FreeType6.nuspec
index 534961b..f2ccb61 100644
--- a/OpenRA-FreeType6.nuspec
+++ b/OpenRA-FreeType6.nuspec
@@ -9,11 +9,11 @@
false
This is a version of FreeType patched and packaged for OpenRA.
- The package includes the native binaries for FreeType 2.13.0.
+ The package includes the native binaries for FreeType 2.14.1.
- Copyright (C) 2013-2023 by David Turner, Robert Wilhelm, and Werner Lemberg
+ Copyright (C) 2013-2025 by David Turner, Robert Wilhelm, and Werner Lemberg
FTL OR GPL-2.0-only
OpenRA natives FreeType