Skip to content

Commit a8372fc

Browse files
committed
Bump freetype+harfbuzz and portmidi
1 parent ee9c8a9 commit a8372fc

File tree

7 files changed

+14
-44
lines changed

7 files changed

+14
-44
lines changed

buildconfig/manylinux-build/docker_base/Dockerfile-aarch64

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# pin version on image for CI stability
2-
FROM quay.io/pypa/manylinux2014_aarch64:2025.07.25-1
2+
FROM quay.io/pypa/manylinux2014_aarch64:2025.09.08-1
33
ENV MAKEFLAGS="-j 4"
44
ENV PG_DEP_PREFIX="/usr/local"
55

buildconfig/manylinux-build/docker_base/Dockerfile-i686

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# pin version on image for CI stability
2-
FROM quay.io/pypa/manylinux2014_i686:2025.07.25-1
2+
FROM quay.io/pypa/manylinux2014_i686:2025.09.08-1
33
ENV MAKEFLAGS="-j 4"
44
ENV PG_DEP_PREFIX="/usr/local"
55

buildconfig/manylinux-build/docker_base/Dockerfile-x86_64

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# pin version on image for CI stability
2-
FROM quay.io/pypa/manylinux2014_x86_64:2025.07.25-1
2+
FROM quay.io/pypa/manylinux2014_x86_64:2025.09.08-1
33
ENV MAKEFLAGS="-j 4"
44
ENV PG_DEP_PREFIX="/usr/local"
55

buildconfig/manylinux-build/docker_base/freetype/build-freetype.sh

Lines changed: 7 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,8 @@ set -e -x
33

44
cd $(dirname `readlink -f "$0"`)
55

6-
# TODO: when freetype is updated, we can look into resolving the circular
7-
# dependency between freetype and harfbuzz by using the upcoming freetype
8-
# dynamic harfbuzz loading feature.
9-
FREETYPE="freetype-2.13.3"
10-
HARFBUZZ_VER=11.3.3
6+
FREETYPE="freetype-2.14.0"
7+
HARFBUZZ_VER=11.4.5
118
HARFBUZZ_NAME="harfbuzz-$HARFBUZZ_VER"
129

1310
curl -sL --retry 10 https://savannah.nongnu.org/download/freetype/${FREETYPE}.tar.gz > ${FREETYPE}.tar.gz
@@ -19,19 +16,16 @@ tar xzf ${FREETYPE}.tar.gz
1916
unxz ${HARFBUZZ_NAME}.tar.xz
2017
tar xf ${HARFBUZZ_NAME}.tar
2118

22-
# freetype and harfbuzz have an infamous circular dependency, which is why
23-
# this file is not like the rest of docker_base files
24-
25-
# 1. First compile freetype without harfbuzz support
2619
cd $FREETYPE
2720

28-
./configure $PG_BASE_CONFIGURE_FLAGS --with-harfbuzz=no
29-
make
30-
make install # this freetype is not installed to mac cache dir
21+
meson setup _build $PG_BASE_MESON_FLAGS -Dbrotli=enabled -Dharfbuzz=dynamic \
22+
-Dpng=enabled -Dzlib=system
23+
24+
meson compile -C _build
25+
meson install -C _build
3126

3227
cd ..
3328

34-
# 2. Compile harfbuzz with freetype support
3529
cd ${HARFBUZZ_NAME}
3630

3731
# harfbuzz has a load of optional dependencies but only freetype is important
@@ -46,28 +40,4 @@ meson setup _build $PG_BASE_MESON_FLAGS -Dfreetype=enabled \
4640
meson compile -C _build
4741
meson install -C _build
4842

49-
if [[ "$OSTYPE" == "darwin"* ]]; then
50-
# We do a little hack...
51-
# When freetype finds harfbuzz with pkg-config, we tell freetype a little
52-
# lie that harfbuzz doesn't depend on freetype (even though it does).
53-
# This ensures no direct circular dylib link happen.
54-
# This is a bit of a brittle hack: This command removes the entire line that
55-
# contains "freetype". This is fine for now when the harfbuzz we are
56-
# building has no other dependencies
57-
sed -i '' '/freetype/d' $PG_DEP_PREFIX/lib/pkgconfig/harfbuzz.pc
58-
fi
59-
6043
cd ..
61-
62-
# 3. Recompile freetype, and this time with harfbuzz support
63-
cd $FREETYPE
64-
65-
# fully clean previous install
66-
make clean
67-
if [[ "$OSTYPE" == "darwin"* ]]; then
68-
make uninstall
69-
fi
70-
71-
./configure $PG_BASE_CONFIGURE_FLAGS --with-harfbuzz=yes
72-
make
73-
make install
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
b7e7e67baed421dbe08c48dcde5d5891c0f7e3c1253be8dc27826c60eaa17ca89f888c3d5a6faf5141b02c154e1cf42d4ed6133b9959ddc359fe6bd41615ae89 freetype-2.13.3.tar.gz
2-
56a971c939522bc5edad5f8a578444844b9101321c6bacfb3d96eadf3b13238144d465dd22171b61ef7b3873af88e43297989c289a5fc37e4d390b64c435cff6 harfbuzz-11.3.3.tar.xz
1+
012e42d8d7f207b4ae4890cfe0507f952e98b2f0d41fa273760a421cfced46d428925545c01b28c2ce1541b002a4b64c26d96ffdb94895f9f81861ceb7e1697b freetype-2.14.0.tar.gz
2+
c0c55a2201538a9e9365b175ccc7d4df2b0e321f9a723c7c83879bdc8b40cb9fac3ed257cecf9960cc3a17ceac0dc0220a6b9dfa976ce3dd7cb03154a55ad868 harfbuzz-11.4.5.tar.xz

buildconfig/manylinux-build/docker_base/portmidi/build-portmidi.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ set -e -x
33

44
cd $(dirname `readlink -f "$0"`)
55

6-
PORTMIDI_VER="2.0.4"
6+
PORTMIDI_VER="2.0.6"
77
PORTMIDI="portmidi-${PORTMIDI_VER}"
88

99
curl -sL --retry 10 https://github.com/PortMidi/portmidi/archive/refs/tags/v${PORTMIDI_VER}.tar.gz> ${PORTMIDI}.tar.gz
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
d9f22d161e1dd9a4bde1971bb2b6e5352da51545f4fe5ecad11c55e7a535f0d88efce18d1c8fd91e93b70a7926150f86a0f53972ad92370e86556a8dd72dc194 portmidi-2.0.4.tar.gz
1+
00d7cec97b58c074d484793b6097f4e60d061a9d680940bbcdb6670b287b78dbc099af378fb2e066c61f1c26e5060ded9c8f78c80fc03518b33e43f830e34a27 portmidi-2.0.6.tar.gz

0 commit comments

Comments
 (0)