Package Details: mingw-w64-harfbuzz 10.1.0-1

Git Clone URL: https://aur.archlinux.org/mingw-w64-harfbuzz.git (read-only, click to copy)
Package Base: mingw-w64-harfbuzz
Description: OpenType text shaping engine (mingw-w64)
Upstream URL: https://harfbuzz.github.io/
Keywords: harfbuzz harfbuzz-icu mingw mingw-w64
Licenses: MIT
Submitter: Schala
Maintainer: pingplug
Last Packager: pingplug
Votes: 14
Popularity: 0.000000
First Submitted: 2013-12-02 10:12 (UTC)
Last Updated: 2024-11-15 12:51 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 5 Next › Last »

Martchus commented on 2022-04-08 15:41 (UTC)

@Denzy7 Wanted by upstream. Use mingw-w64-freetype2-bootstrap to break the circle; build mingw-w64-freetype2-bootstrap, mingw-w64-harfbuzz and mingw-w64-freetype2 in that order. You can get rid of the bootstrapping package afterwards. On the next update you can of course simply use the existing packages to satisfy the dependency.

Or you just use my binary repo: https://wiki.archlinux.org/title/Unofficial_user_repositories#ownstuff

Denzy7 commented on 2022-04-08 15:02 (UTC)

Circular dependency with mingw-w64-freetype

Martchus commented on 2021-09-02 10:19 (UTC)

@pingplug Thanks for committing a fix for meson. I'll try it after Qt 6 is rebuilt.

Vaporeon commented on 2021-09-01 16:33 (UTC) (edited on 2021-09-01 16:34 (UTC) by Vaporeon)

I set the same way as the old package did in an environment variable. Meson documentation states that it should work but it doesn't.

Martchus commented on 2021-09-01 09:41 (UTC) (edited on 2021-09-01 09:42 (UTC) by Martchus)

Yes, it looks like it doesn't define GRAPHITE2_STATIC correctly for the compilation of the static harfbuzz library itself because the errors are the following:

/usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x14f): undefined reference to `_imp__gr_make_face_with_ops'                                                                                                                  /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x1db): undefined reference to `_imp__gr_face_destroy'                                                                                                                        /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x30b): undefined reference to `_imp__gr_face_featureval_for_lang'                                                                                                            /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x318): undefined reference to `_imp__gr_face_find_fref'                                                                                                                      /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x364): undefined reference to `_imp__gr_fref_set_feature_value'                                                                                                              /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x458): undefined reference to `_imp__gr_make_seg'                                                                                                                            /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x471): undefined reference to `_imp__gr_seg_n_slots'                                                                                                                         /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x5af): undefined reference to `_imp__gr_seg_first_slot'                                                                                                                      /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x5df): undefined reference to `_imp__gr_slot_next_in_segment'                                                                                                                
/usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x605): undefined reference to `_imp__gr_slot_before'                                                                                                                         /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x610): undefined reference to `_imp__gr_slot_after'                                                                                                                          
/usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x61d): undefined reference to `_imp__gr_slot_gid'                                                                                                                            /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x678): undefined reference to `_imp__gr_slot_can_insert_before'                                                                      
/usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x705): undefined reference to `_imp__gr_slot_origin_X'                                                                                                                       
/usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x87b): undefined reference to `_imp__gr_slot_origin_X'                                                                                                                       /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x897): undefined reference to `_imp__gr_slot_next_in_segment'                                                                                                                /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x8a8): undefined reference to `_imp__gr_slot_origin_Y'                                                                                                                       /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x8b1): undefined reference to `_imp__gr_slot_advance_Y'                                                                                                                      /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0x9cb): undefined reference to `_imp__gr_seg_advance_X'                                                                                                                       /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xa2f): undefined reference to `_imp__gr_slot_origin_X'                                                                                                                       /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xaec): undefined reference to `_imp__gr_featureval_destroy'                                                                                                                  /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xaf9): undefined reference to `_imp__gr_seg_destroy'                                                                                                                         /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xb2e): undefined reference to `_imp__gr_seg_advance_X'                                                                                                                       /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xb6f): undefined reference to `_imp__gr_slot_origin_X'                                                                                                                       /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xb8d): undefined reference to `_imp__gr_slot_next_in_segment'                                                                                                                /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xb96): undefined reference to `_imp__gr_slot_origin_Y'                                                                                                                       /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xb9f): undefined reference to `_imp__gr_slot_advance_Y'                                                                                                                      /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xd1d): undefined reference to `_imp__gr_featureval_destroy'                                                                                                                  /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xd37): undefined reference to `_imp__gr_featureval_destroy'                                                                                                                  /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xd44): undefined reference to `_imp__gr_seg_destroy'                                                                                                                         /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xd5e): undefined reference to `_imp__gr_seg_first_slot'                                                                                                                      /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xd70): undefined reference to `_imp__gr_slot_origin_X'                                                                                                                       /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xda2): undefined reference to `_imp__gr_seg_advance_X'                                                                                                                       /usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xe08): undefined reference to `_imp__gr_featureval_destroy'                                                                                                                  
/usr/lib/gcc/i686-w64-mingw32/11.2.0/../../../../i686-w64-mingw32/bin/ld: /usr/i686-w64-mingw32/lib/libharfbuzz.a(hb-graphite2.cc.obj):(.text+0xe15): undefined reference to `_imp__gr_seg_destroy'

These are exclusively symbols from graphite. It should just be e.g. _gr_slot_origin_X (without _imp_) for the static version.

The old build system didn't take that into account either but defining the macro via *_FLAGS helped at least.

nor defining GRAPHITE2_STATIC for static builds would fix it

How did you try to set it? Maybe that just didn't work. Note that it needs to be set during the build of the static harfbuzz library itself; not only when consuming the static library.

Vaporeon commented on 2021-08-31 20:02 (UTC) (edited on 2021-08-31 20:13 (UTC) by Vaporeon)

Static linking is broken with the current package using the meson build system. Neither the ${_arch}-ranlib trick, disabling LTO nor defining GRAPHITE2_STATIC for static builds would fix it.

I ended up reverting to the configure/make based PKGBUILD and bumping that, and now static linking harfbuzz works again.

https://gist.github.com/Vaporeon/767efab3b2598f8b2dfc56cadbfbd229

Martchus commented on 2021-08-26 14:46 (UTC)

You might also want to switch to meson like the native package: https://github.com/archlinux/svntogit-packages/blob/packages/harfbuzz/trunk/PKGBUILD

I'm currently updating/testing mingw-w64-freetype2 and also switched to meson and I had to add ${_arch}-ranlib "${pkgdir}/usr/${_arch}/lib/"*.a in the packaging step. Otherwise there were linker errors when using the static library. This might be required here as well.

xantares commented on 2020-05-19 17:44 (UTC)

hello, could you remove the exes ?

0e4ef622 commented on 2019-02-24 04:48 (UTC)

This package doesn't appear to compile with mingw-w64-gcc 8.2 nor 8.3, but it does compile with 7.3. Can anyone else confirm this?

adsun commented on 2018-09-11 13:56 (UTC)

the pkgver was not updated and now does not match the commit.