Package Base Details: mingw-w64-harfbuzz

Git Clone URL: https://aur.archlinux.org/mingw-w64-harfbuzz.git (read-only, click to copy)
Keywords: harfbuzz harfbuzz-icu mingw mingw-w64
Submitter: Schala
Maintainer: pingplug
Last Packager: pingplug
Votes: 14
Popularity: 0.078640
First Submitted: 2013-12-02 10:12
Last Updated: 2021-09-09 01:34

Latest Comments

1 2 3 4 Next › Last »

Martchus commented on 2021-09-02 10:19

@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

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

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

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

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

hello, could you remove the exes ?

0e4ef622 commented on 2019-02-24 04:48

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

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

lantw44 commented on 2018-04-22 06:16

make[5]: Leaving directory '/build/mingw-w64-harfbuzz/src/harfbuzz/build-i686-w64-mingw32-static/src/hb-ucdn'
  GEN      harfbuzz.def
/usr/bin/env: ‘python’: No such file or directory
make[4]: *** [Makefile:3504: harfbuzz.def] Error 127

Do you think we should add python to makedepends?

MaartenBaert commented on 2017-10-08 21:52

PKGBUILD for version 1.5.1 (based on 1.5.0 PKGBUILD from calegria):
https://gist.github.com/MaartenBaert/0ee1667fd59de404a0cd8944235442c7