Skip to content

Updated harfbuzz to 11.0.1 #8870

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 12, 2025
Merged

Conversation

radarhere
Copy link
Member

harfbuzz 11.0.1 has been released - https://github.com/harfbuzz/harfbuzz/releases/tag/11.0.1

@fdintino
Copy link
Contributor

fdintino commented Apr 6, 2025

This is not related to the upgrade, but I wanted to make this note before I forgot: I noticed that harfbuzz was building a bunch of files unrelated to the library file, including tests. You may want to add the flags -Dtests=disabled -Ddocs=disabled -Dutilities=disabled to the meson setup command.

@radarhere
Copy link
Member Author

I noticed that harfbuzz was building a bunch of files unrelated to the library file, including tests.

Could you point to where in the logs you noticed this?

@fdintino
Copy link
Contributor

fdintino commented Apr 7, 2025

Sure. Looking again over the following logs, I think the flag that actually matters is -Dtests=disabled, since it seems like docs, benchmarks, and utilities are not being built. But there are a lot of tests, which is how I noticed this.

In the compilation logs, before compilation begins, the following prolog is output:

harfbuzz 11.0.0

  Directories
    prefix                    : /usr/local
    bindir                    : bin
    libdir                    : lib
    includedir                : include
    datadir                   : share
    cmakepackagedir           : lib/cmake

  Unicode callbacks (you want at least one)
    Builtin                   : YES
    Glib                      : NO
    ICU                       : NO

  Font callbacks (the more the merrier)
    Builtin                   : YES
    FreeType                  : YES

  Dependencies used for command-line utilities
    Cairo                     : NO
    Chafa                     : NO

  ...

  Other features
    Documentation             : NO
    GObject bindings          : YES
    Cairo integration         : NO
    Introspection             : NO
    Experimental APIs         : NO

  Testing
    Tests                     : YES
    Benchmark                 : NO

and every source file after "Linking target src/libharfbuzz.so.0.61100.0" is unused by pillow, since libharfbuzz.so.0.61100.0 is the only library pillow links against.

[62/188] Linking target src/libharfbuzz.so.0.61100.0
[63/188] Generating symbol file src/libharfbuzz.so.0.61100.0.p/libharfbuzz.so.0.61100.0.symbols
[64/188] Compiling C++ object src/libharfbuzz-subset.so.0.61100.0.p/hb-subset-instancer-solver.cc.o
[65/188] Compiling C++ object src/libharfbuzz-subset.so.0.61100.0.p/hb-subset-input.cc.o
[66/188] Compiling C++ object src/libharfbuzz-subset.so.0.61100.0.p/hb-subset-instancer-iup.cc.o
[67/188] Compiling C++ object src/libharfbuzz-subset.so.0.61100.0.p/hb-subset-cff1.cc.o
[68/188] Generating src/harfbuzz-subset.cc with a custom command
[69/188] Compiling C++ object src/libharfbuzz-subset.so.0.61100.0.p/graph_gsubgpos-context.cc.o
[70/188] Compiling C++ object src/libharfbuzz-subset.so.0.61100.0.p/hb-subset-cff2.cc.o
[71/188] Compiling C++ object src/test-basics.p/test.cc.o
[72/188] Linking target src/test-basics
[73/188] Compiling C++ object src/test-buffer-serialize.p/test-buffer-serialize.cc.o
[74/188] Linking target src/test-buffer-serialize
[75/188] Compiling C++ object src/test-ot-meta.p/test-ot-meta.cc.o
[76/188] Linking target src/test-ot-meta
[77/188] Compiling C++ object src/test-ot-name.p/test-ot-name.cc.o
[78/188] Linking target src/test-ot-name
[79/188] Compiling C++ object src/test-ot-glyphname.p/test-ot-glyphname.cc.o
[80/188] Linking target src/test-ot-glyphname
[81/188] Compiling C++ object src/test-ot-gsub-get-alternates.p/test-gsub-get-alternates.cc.o
[82/188] Linking target src/test-ot-gsub-get-alternates
[83/188] Compiling C++ object src/test-ot-gpos-size-params.p/test-gpos-size-params.cc.o
[84/188] Linking target src/test-ot-gpos-size-params
[85/188] Compiling C++ object src/test-ot-gsub-would-substitute.p/test-gsub-would-substitute.cc.o
[86/188] Linking target src/test-ot-gsub-would-substitute
[87/188] Compiling C++ object src/test-use-table.p/test-use-table.cc.o
[88/188] Linking target src/test-use-table
[89/188] Compiling C++ object src/test-algs.p/test-algs.cc.o
[90/188] Compiling C++ object src/test-array.p/test-array.cc.o
[91/188] Linking target src/test-array
[92/188] Compiling C++ object src/test-bimap.p/test-bimap.cc.o
[93/188] Compiling C++ object src/main.p/main.cc.o
[94/188] Linking target src/main
[95/188] Compiling C++ object src/test-cff.p/test-cff.cc.o
[96/188] Compiling C++ object src/test-algs.p/hb-static.cc.o
[97/188] Linking target src/test-algs
[98/188] Compiling C++ object src/libharfbuzz-subset.so.0.61100.0.p/hb-subset-serialize.cc.o
[99/188] Compiling C++ object src/test-bimap.p/hb-static.cc.o
[100/188] Linking target src/test-bimap
[101/188] Compiling C++ object src/test-cff.p/hb-static.cc.o
[102/188] Linking target src/test-cff
[103/188] Compiling C++ object src/test-decycler.p/test-decycler.cc.o
[104/188] Compiling C++ object src/test-classdef-graph.p/graph_gsubgpos-context.cc.o
[105/188] Compiling C++ object src/test-classdef-graph.p/hb-static.cc.o
[106/188] Compiling C++ object src/test-classdef-graph.p/graph_test-classdef-graph.cc.o
[107/188] Linking target src/test-classdef-graph
[108/188] Compiling C++ object src/test-machinery.p/test-machinery.cc.o
[109/188] Compiling C++ object src/test-decycler.p/hb-static.cc.o
[110/188] Linking target src/test-decycler
[111/188] Compiling C++ object src/test-iter.p/hb-static.cc.o
[112/188] Compiling C++ object src/test-iter.p/test-iter.cc.o
[113/188] Linking target src/test-iter
[114/188] Compiling C++ object src/libharfbuzz-subset.so.0.61100.0.p/hb-subset-plan.cc.o
[115/188] Compiling C++ object src/test-machinery.p/hb-static.cc.o
[116/188] Linking target src/test-machinery
[117/188] Compiling C++ object src/test-multimap.p/test-multimap.cc.o
[118/188] Compiling C++ object src/test-number.p/test-number.cc.o
[119/188] Compiling C++ object src/test-number.p/hb-number.cc.o
[120/188] Linking target src/test-number
[121/188] Compiling C++ object src/test-ot-tag.p/hb-ot-tag.cc.o
[122/188] Linking target src/test-ot-tag
[123/188] Compiling C++ object src/test-map.p/test-map.cc.o
[124/188] Compiling C++ object src/test-set.p/test-set.cc.o
[125/188] Compiling C++ object src/test-map.p/hb-static.cc.o
[126/188] Linking target src/test-map
[127/188] Compiling C++ object src/test-serialize.p/test-serialize.cc.o
[128/188] Compiling C++ object src/test-multimap.p/hb-static.cc.o
[129/188] Linking target src/test-multimap
[130/188] Compiling C++ object src/test-vector.p/test-vector.cc.o
[131/188] Compiling C++ object src/test-set.p/hb-static.cc.o
[132/188] Linking target src/test-set
[133/188] Compiling C++ object src/test-serialize.p/hb-static.cc.o
[134/188] Linking target src/test-serialize
[135/188] Compiling C++ object src/test-instancer-solver.p/test-subset-instancer-solver.cc.o
[136/188] Compiling C++ object src/test-vector.p/hb-static.cc.o
[137/188] Linking target src/test-vector
[138/188] Compiling C++ object src/test-repacker.p/graph_gsubgpos-context.cc.o
[139/188] Compiling C++ object src/test-instancer-solver.p/hb-subset-instancer-solver.cc.o
[140/188] Compiling C++ object src/test-priority-queue.p/test-priority-queue.cc.o
[141/188] Compiling C++ object src/test-repacker.p/hb-static.cc.o
[142/188] Compiling C++ object src/test-tuple-varstore.p/hb-subset-instancer-solver.cc.o
[143/188] Compiling C++ object src/test-tuple-varstore.p/hb-subset-instancer-iup.cc.o
[144/188] Compiling C++ object src/test-instancer-solver.p/hb-static.cc.o
[145/188] Linking target src/test-instancer-solver
[146/188] Compiling C++ object src/test-tuple-varstore.p/test-tuple-varstore.cc.o
[147/188] Compiling C++ object src/test-priority-queue.p/hb-static.cc.o
[148/188] Linking target src/test-priority-queue
[149/188] Compiling C++ object src/test-item-varstore.p/hb-subset-instancer-solver.cc.o
[150/188] Compiling C++ object src/test-item-varstore.p/hb-subset-instancer-iup.cc.o
[151/188] Compiling C++ object src/test-repacker.p/test-repacker.cc.o
[152/188] Linking target src/test-repacker
[153/188] Compiling C++ object src/test-unicode-ranges.p/test-unicode-ranges.cc.o
[154/188] Linking target src/test-unicode-ranges
[155/188] Compiling C++ object test/fuzzing/hb-shape-fuzzer.p/hb-shape-fuzzer.cc.o
[156/188] Compiling C++ object test/fuzzing/hb-shape-fuzzer.p/main.cc.o
[157/188] Compiling C++ object test/fuzzing/hb-subset-fuzzer.p/hb-subset-fuzzer.cc.o
[158/188] Compiling C++ object test/fuzzing/hb-subset-fuzzer.p/main.cc.o
[159/188] Compiling C++ object src/test-tuple-varstore.p/hb-static.cc.o
[160/188] Generating GObject enum file src/hb-gobject-enums-tmp.h (wrapped by meson to capture output)
[161/188] Linking target src/test-tuple-varstore
[162/188] Compiling C++ object test/fuzzing/hb-set-fuzzer.p/hb-set-fuzzer.cc.o
[163/188] Generating src/hb-gobject-enums.h with a custom command
[164/188] Compiling C++ object test/fuzzing/hb-set-fuzzer.p/main.cc.o
[165/188] Compiling C++ object test/fuzzing/hb-draw-fuzzer.p/hb-draw-fuzzer.cc.o
[166/188] Compiling C++ object test/fuzzing/hb-draw-fuzzer.p/main.cc.o
[167/188] Compiling C++ object test/fuzzing/hb-repacker-fuzzer.p/hb-repacker-fuzzer.cc.o
[168/188] Generating GObject enum file src/hb-gobject-enums-tmp.cc (wrapped by meson to capture output)
[169/188] Generating src/hb-gobject-enums.cc with a custom command
[170/188] Compiling C++ object test/fuzzing/hb-repacker-fuzzer.p/main.cc.o
[171/188] Compiling C++ object src/libharfbuzz-gobject.so.0.61100.0.p/hb-gobject-structs.cc.o
[172/188] Compiling C++ object src/test-item-varstore.p/test-item-varstore.cc.o
[173/188] Compiling C++ object src/libharfbuzz-gobject.so.0.61100.0.p/meson-generated_.._hb-gobject-enums.cc.o
[174/188] Linking target src/libharfbuzz-gobject.so.0.61100.0
[175/188] Compiling C++ object test/threads/hb-shape-threads.p/hb-shape-threads.cc.o
[176/188] Compiling C++ object test/threads/hb-subset-threads.p/hb-subset-threads.cc.o
[177/188] Linking target test/threads/hb-shape-threads
[178/188] Compiling C++ object src/test-item-varstore.p/hb-static.cc.o
[179/188] Linking target src/test-item-varstore
[180/188] Compiling C++ object src/libharfbuzz-subset.so.0.61100.0.p/hb-subset.cc.o
[181/188] Linking target src/libharfbuzz-subset.so.0.61100.0
[182/188] Generating symbol file src/libharfbuzz-subset.so.0.61100.0.p/libharfbuzz-subset.so.0.61100.0.symbols
[183/188] Linking target test/fuzzing/hb-set-fuzzer
[184/188] Linking target test/fuzzing/hb-draw-fuzzer
[185/188] Linking target test/fuzzing/hb-shape-fuzzer
[186/188] Linking target test/fuzzing/hb-repacker-fuzzer
[187/188] Linking target test/fuzzing/hb-subset-fuzzer
[188/188] Linking target test/threads/hb-subset-threads

@radarhere
Copy link
Member Author

Ok, I've pushed a commit to disable building the tests.

@hugovk hugovk merged commit d1e27fc into python-pillow:main Apr 12, 2025
114 of 128 checks passed
@radarhere radarhere deleted the harfbuzz_upgrade branch April 12, 2025 07:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants