Skip to content

Commit bafefe4

Browse files
committed
Bump freetype+harfbuzz and portmidi
1 parent 3fc1dbe commit bafefe4

File tree

7 files changed

+22
-44
lines changed

7 files changed

+22
-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.10.10-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.10.10-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.10.10-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: 15 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.1"
7+
HARFBUZZ_VER=12.1.0
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,24 @@ 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+
# For now bzip2 is only used on macOS, on other platforms there are issues with
22+
# it.
23+
if [[ "$OSTYPE" == "darwin"* ]]; then
24+
export PG_FT_BZ2="-Dbzip2=enabled"
25+
else
26+
export PG_FT_BZ2="-Dbzip2=disabled"
27+
fi
28+
29+
meson setup _build $PG_BASE_MESON_FLAGS -Dbrotli=enabled -Dharfbuzz=dynamic \
30+
-Dpng=enabled -Dzlib=system $PG_FT_BZ2
31+
32+
meson compile -C _build
33+
meson install -C _build
3134

3235
cd ..
3336

34-
# 2. Compile harfbuzz with freetype support
3537
cd ${HARFBUZZ_NAME}
3638

3739
# harfbuzz has a load of optional dependencies but only freetype is important
@@ -46,28 +48,4 @@ meson setup _build $PG_BASE_MESON_FLAGS -Dfreetype=enabled \
4648
meson compile -C _build
4749
meson install -C _build
4850

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-
6051
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+
1a1db7baa9979b55e663e210433ea53818d39ca25793242a6b3a7edbdd68ea1c386a72aeaa30cea9a9bee5dd0ffd42e8f2785e58bcc543c3452ac5c5c0dc7e2d freetype-2.14.1.tar.gz
2+
94cbc3fe8fad30f4f7871bdddc8b129c486ab55329f9b48c6336fdf15d05f09c3c96cac51f68a0218db113b4783c07ce5d6bb455ccc875b31fd2261e3e8dc559 harfbuzz-12.1.0.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)