From e9dec62559e5d8fb171acb104a35d4a45fefb839 Mon Sep 17 00:00:00 2001 From: "Daniel K. O. (dkosmari)" Date: Sat, 7 Feb 2026 04:45:37 -0300 Subject: [PATCH 1/5] PPC: update ppc-freetype to freetype 2.14.1 --- ppc/freetype/PKGBUILD | 74 ++++++++++++++++++++++++++----------------- 1 file changed, 45 insertions(+), 29 deletions(-) diff --git a/ppc/freetype/PKGBUILD b/ppc/freetype/PKGBUILD index ad812a05..3160cf5a 100644 --- a/ppc/freetype/PKGBUILD +++ b/ppc/freetype/PKGBUILD @@ -1,51 +1,67 @@ # Maintainer: Dave Murphy -pkgname=ppc-freetype -pkgver=2.13.3 -pkgrel=2 +_pkgname=freetype +pkgname=ppc-${_pkgname} +pkgver=2.14.1 +pkgrel=1 pkgdesc='FreeType is a freely available software library to render fonts.' arch=('any') url='https://www.freetype.org/' -license=(GPL2+ custom:FreeType) +license=(GPL-2.0-only FTL) options=(!strip libtool staticlibs) groups=('ppc-portlibs') -depends=("ppc-bzip2" - "ppc-libpng" - "ppc-zlib" +depends=( + 'ppc-bzip2' + 'ppc-libpng' + 'ppc-zlib' ) -makedepends=('ppc-pkg-config' 'dkp-toolchain-vars') -source=("http://download.savannah.gnu.org/releases/freetype/freetype-$pkgver.tar.xz") - -prepare() { - cd freetype-$pkgver +makedepends=( + 'dkp-toolchain-vars' + 'ppc-pkg-config' +) +source=("http://download.savannah.gnu.org/releases/freetype/${_pkgname}-${pkgver}.tar.xz") - source /opt/devkitpro/ppcvars.sh +build() { + cd "${_pkgname}-${pkgver}" - powerpc-eabi-cmake -S . -B _build \ - -D FT_DISABLE_HARFBUZZ=TRUE \ - -DCMAKE_INSTALL_PREFIX=/opt/devkitpro/portlibs/ppc \ - -GNinja -} + source "${DEVKITPRO}/ppcvars.sh" -build() { - cd freetype-$pkgver + # Note: freetype and harfbuzz have circular dependencies. + # Build order: + # 1. freetype with no harfbuzz + # 2. harfbuzz + # 3. freetype with harfbuzz + USE_HARFBUZZ=yes - source /opt/devkitpro/ppcvars.sh + ./configure \ + --host=powerpc-eabi \ + --prefix="$PORTLIBS_PREFIX" \ + --disable-shared \ + --enable-static \ + --disable-pic \ + --disable-mmap \ + --enable-year2038 \ + --with-zlib=yes \ + --with-bzip2=yes \ + --with-png=yes \ + --with-harfbuzz=$USE_HARFBUZZ \ + --with-brotli=yes - powerpc-eabi-cmake --build _build + make } package() { - cd freetype-$pkgver + cd "${_pkgname}-${pkgver}" + + source "${DEVKITPRO}/ppcvars.sh" - source /opt/devkitpro/ppcvars.sh + make install DESTDIR="$pkgdir" - DESTDIR="$pkgdir" powerpc-eabi-cmake --install _build # Licenses - install -Dm644 "LICENSE.TXT" "${pkgdir}/${PORTLIBS_PREFIX}/licenses/${pkgname}/LICENSE.TXT" - install -Dm644 "docs/GPLv2.TXT" "${pkgdir}/${PORTLIBS_PREFIX}/licenses/${pkgname}/GPLv2.TXT" - install -Dm644 "docs/FTL.TXT" "${pkgdir}/${PORTLIBS_PREFIX}/licenses/${pkgname}/FTL.TXT" + install -Dm 644 -t "${pkgdir}${PORTLIBS_PREFIX}/licenses/${pkgname}" LICENSE.TXT docs/GPLv2.TXT docs/FTL.TXT + # Remove extra files + rm -rfv "${pkgdir}${PORTLIBS_PREFIX}/share" } -sha256sums=('0550350666d427c74daeb85d5ac7bb353acba5f76956395995311a9c6f063289') +sha256sums=('SKIP') From 0711bf0d40f974acb40d8fb65026a2f41054985b Mon Sep 17 00:00:00 2001 From: "Daniel K. O. (dkosmari)" Date: Thu, 12 Feb 2026 01:58:09 -0300 Subject: [PATCH 2/5] Reordered some options. --- ppc/freetype/PKGBUILD | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/ppc/freetype/PKGBUILD b/ppc/freetype/PKGBUILD index 3160cf5a..25e2c28e 100644 --- a/ppc/freetype/PKGBUILD +++ b/ppc/freetype/PKGBUILD @@ -37,15 +37,15 @@ build() { --host=powerpc-eabi \ --prefix="$PORTLIBS_PREFIX" \ --disable-shared \ - --enable-static \ - --disable-pic \ - --disable-mmap \ - --enable-year2038 \ - --with-zlib=yes \ - --with-bzip2=yes \ - --with-png=yes \ - --with-harfbuzz=$USE_HARFBUZZ \ - --with-brotli=yes + --enable-static \ + --disable-pic \ + --disable-mmap \ + --enable-year2038 \ + --with-brotli=yes \ + --with-bzip2=yes \ + --with-harfbuzz=$USE_HARFBUZZ \ + --with-png=yes \ + --with-zlib=yes make } From 2f4d6df06ae7849578ea604d02491666f0bd7179 Mon Sep 17 00:00:00 2001 From: "Daniel K. O. (dkosmari)" Date: Thu, 12 Feb 2026 03:01:53 -0300 Subject: [PATCH 3/5] Added bootstrap PKGBUILD. --- ppc/freetype/PKGBUILD | 1 + ppc/freetype/PKGBUILD.bootstrap | 67 +++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 ppc/freetype/PKGBUILD.bootstrap diff --git a/ppc/freetype/PKGBUILD b/ppc/freetype/PKGBUILD index 25e2c28e..7794613a 100644 --- a/ppc/freetype/PKGBUILD +++ b/ppc/freetype/PKGBUILD @@ -12,6 +12,7 @@ options=(!strip libtool staticlibs) groups=('ppc-portlibs') depends=( 'ppc-bzip2' + 'ppc-harfbuzz' 'ppc-libpng' 'ppc-zlib' ) diff --git a/ppc/freetype/PKGBUILD.bootstrap b/ppc/freetype/PKGBUILD.bootstrap new file mode 100644 index 00000000..783792a5 --- /dev/null +++ b/ppc/freetype/PKGBUILD.bootstrap @@ -0,0 +1,67 @@ +# Maintainer: Dave Murphy + +_pkgname=freetype +pkgname=ppc-${_pkgname} +pkgver=2.14.1 +pkgrel=1 +pkgdesc='FreeType is a freely available software library to render fonts.' +arch=('any') +url='https://www.freetype.org/' +license=(GPL-2.0-only FTL) +options=(!strip libtool staticlibs) +groups=('ppc-portlibs') +depends=( + 'ppc-bzip2' + 'ppc-libpng' + 'ppc-zlib' +) +makedepends=( + 'dkp-toolchain-vars' + 'ppc-pkg-config' +) +source=("http://download.savannah.gnu.org/releases/freetype/${_pkgname}-${pkgver}.tar.xz") + +build() { + cd "${_pkgname}-${pkgver}" + + source "${DEVKITPRO}/ppcvars.sh" + + # Note: freetype and harfbuzz have circular dependencies. + # Build order: + # 1. freetype with no harfbuzz + # 2. harfbuzz + # 3. freetype with harfbuzz + USE_HARFBUZZ=no + + ./configure \ + --host=powerpc-eabi \ + --prefix="$PORTLIBS_PREFIX" \ + --disable-shared \ + --enable-static \ + --disable-pic \ + --disable-mmap \ + --enable-year2038 \ + --with-brotli=yes \ + --with-bzip2=yes \ + --with-harfbuzz=$USE_HARFBUZZ \ + --with-png=yes \ + --with-zlib=yes + + make +} + +package() { + cd "${_pkgname}-${pkgver}" + + source "${DEVKITPRO}/ppcvars.sh" + + make install DESTDIR="$pkgdir" + + # Licenses + install -Dm 644 -t "${pkgdir}${PORTLIBS_PREFIX}/licenses/${pkgname}" LICENSE.TXT docs/GPLv2.TXT docs/FTL.TXT + + # Remove extra files + rm -rfv "${pkgdir}${PORTLIBS_PREFIX}/share" +} + +sha256sums=('SKIP') From 69248b059e3a55a1ff09ca9ecf45f839c04b1344 Mon Sep 17 00:00:00 2001 From: "Daniel K. O. (dkosmari)" Date: Thu, 12 Feb 2026 04:07:38 -0300 Subject: [PATCH 4/5] Cleanup, add hashes. --- ppc/freetype/PKGBUILD | 12 +++--------- ppc/freetype/PKGBUILD.bootstrap | 16 ++++++---------- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/ppc/freetype/PKGBUILD b/ppc/freetype/PKGBUILD index 7794613a..1da1cf38 100644 --- a/ppc/freetype/PKGBUILD +++ b/ppc/freetype/PKGBUILD @@ -15,6 +15,7 @@ depends=( 'ppc-harfbuzz' 'ppc-libpng' 'ppc-zlib' + 'ppc-brotli' ) makedepends=( 'dkp-toolchain-vars' @@ -27,13 +28,6 @@ build() { source "${DEVKITPRO}/ppcvars.sh" - # Note: freetype and harfbuzz have circular dependencies. - # Build order: - # 1. freetype with no harfbuzz - # 2. harfbuzz - # 3. freetype with harfbuzz - USE_HARFBUZZ=yes - ./configure \ --host=powerpc-eabi \ --prefix="$PORTLIBS_PREFIX" \ @@ -44,7 +38,7 @@ build() { --enable-year2038 \ --with-brotli=yes \ --with-bzip2=yes \ - --with-harfbuzz=$USE_HARFBUZZ \ + --with-harfbuzz=yes \ --with-png=yes \ --with-zlib=yes @@ -65,4 +59,4 @@ package() { rm -rfv "${pkgdir}${PORTLIBS_PREFIX}/share" } -sha256sums=('SKIP') +sha256sums=('32427e8c471ac095853212a37aef816c60b42052d4d9e48230bab3bdf2936ccc') diff --git a/ppc/freetype/PKGBUILD.bootstrap b/ppc/freetype/PKGBUILD.bootstrap index 783792a5..3e88e93f 100644 --- a/ppc/freetype/PKGBUILD.bootstrap +++ b/ppc/freetype/PKGBUILD.bootstrap @@ -1,7 +1,9 @@ # Maintainer: Dave Murphy _pkgname=freetype -pkgname=ppc-${_pkgname} +pkgname=ppc-${_pkgname}-bootstrap +provides=(ppc-${_pkgname}) +conflicts=(ppc-${_pkgname}) pkgver=2.14.1 pkgrel=1 pkgdesc='FreeType is a freely available software library to render fonts.' @@ -14,6 +16,7 @@ depends=( 'ppc-bzip2' 'ppc-libpng' 'ppc-zlib' + 'ppc-brotli' ) makedepends=( 'dkp-toolchain-vars' @@ -26,13 +29,6 @@ build() { source "${DEVKITPRO}/ppcvars.sh" - # Note: freetype and harfbuzz have circular dependencies. - # Build order: - # 1. freetype with no harfbuzz - # 2. harfbuzz - # 3. freetype with harfbuzz - USE_HARFBUZZ=no - ./configure \ --host=powerpc-eabi \ --prefix="$PORTLIBS_PREFIX" \ @@ -43,7 +39,7 @@ build() { --enable-year2038 \ --with-brotli=yes \ --with-bzip2=yes \ - --with-harfbuzz=$USE_HARFBUZZ \ + --without-harfbuzz \ --with-png=yes \ --with-zlib=yes @@ -64,4 +60,4 @@ package() { rm -rfv "${pkgdir}${PORTLIBS_PREFIX}/share" } -sha256sums=('SKIP') +sha256sums=('32427e8c471ac095853212a37aef816c60b42052d4d9e48230bab3bdf2936ccc') From 08ec35510db897912c1a6c4fab9880a267401c9a Mon Sep 17 00:00:00 2001 From: "Daniel K. O. (dkosmari)" Date: Thu, 12 Feb 2026 04:31:03 -0300 Subject: [PATCH 5/5] Added pkg-config patch to solve circular dependency. --- ppc/freetype/PKGBUILD | 17 ++++++++++++++--- ppc/freetype/PKGBUILD.bootstrap | 2 +- ppc/freetype/freetype-2.14.1.patch | 9 +++++++++ 3 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 ppc/freetype/freetype-2.14.1.patch diff --git a/ppc/freetype/PKGBUILD b/ppc/freetype/PKGBUILD index 1da1cf38..dcebcae5 100644 --- a/ppc/freetype/PKGBUILD +++ b/ppc/freetype/PKGBUILD @@ -2,6 +2,7 @@ _pkgname=freetype pkgname=ppc-${_pkgname} +replaces=(ppc-${_pkgname}-bootstrap) pkgver=2.14.1 pkgrel=1 pkgdesc='FreeType is a freely available software library to render fonts.' @@ -11,17 +12,26 @@ license=(GPL-2.0-only FTL) options=(!strip libtool staticlibs) groups=('ppc-portlibs') depends=( + 'ppc-brotli' 'ppc-bzip2' 'ppc-harfbuzz' 'ppc-libpng' 'ppc-zlib' - 'ppc-brotli' ) makedepends=( 'dkp-toolchain-vars' 'ppc-pkg-config' ) -source=("http://download.savannah.gnu.org/releases/freetype/${_pkgname}-${pkgver}.tar.xz") +source=( + "http://download.savannah.gnu.org/releases/freetype/${_pkgname}-${pkgver}.tar.xz" + "${_pkgname}-${pkgver}.patch" +) + +prepare() { + cd "${_pkgname}-${pkgver}" + + patch -Nu -p 0 -i "${srcdir}/${_pkgname}-${pkgver}.patch" +} build() { cd "${_pkgname}-${pkgver}" @@ -59,4 +69,5 @@ package() { rm -rfv "${pkgdir}${PORTLIBS_PREFIX}/share" } -sha256sums=('32427e8c471ac095853212a37aef816c60b42052d4d9e48230bab3bdf2936ccc') +sha256sums=('32427e8c471ac095853212a37aef816c60b42052d4d9e48230bab3bdf2936ccc' + '9bdff57896773e9d1207f73725fe252ec1676555c81f55b910659a7513ff1f4b') diff --git a/ppc/freetype/PKGBUILD.bootstrap b/ppc/freetype/PKGBUILD.bootstrap index 3e88e93f..85aab719 100644 --- a/ppc/freetype/PKGBUILD.bootstrap +++ b/ppc/freetype/PKGBUILD.bootstrap @@ -13,10 +13,10 @@ license=(GPL-2.0-only FTL) options=(!strip libtool staticlibs) groups=('ppc-portlibs') depends=( + 'ppc-brotli' 'ppc-bzip2' 'ppc-libpng' 'ppc-zlib' - 'ppc-brotli' ) makedepends=( 'dkp-toolchain-vars' diff --git a/ppc/freetype/freetype-2.14.1.patch b/ppc/freetype/freetype-2.14.1.patch new file mode 100644 index 00000000..653466db --- /dev/null +++ b/ppc/freetype/freetype-2.14.1.patch @@ -0,0 +1,9 @@ +--- builds/unix/freetype2.in.ori 2026-02-12 04:21:02.411103782 -0300 ++++ builds/unix/freetype2.in 2026-02-12 04:25:48.369287035 -0300 +@@ -10,5 +10,5 @@ + Requires: %PKGCONFIG_REQUIRES% + Requires.private: %PKGCONFIG_REQUIRES_PRIVATE% + Libs: %PKGCONFIG_LIBS% +-Libs.private: %PKGCONFIG_LIBS_PRIVATE% ++Libs.private: %PKGCONFIG_LIBS_PRIVATE% -Wl,--start-group,-lfreetype,-lharfbuzz,--end-group + Cflags: -I${includedir}/freetype2