#1035669 gir1.2-harfbuzz-0.0: Can not recreate GIR information from gir1.2-harfbuzz-0.0.typelib

Package:
gir1.2-harfbuzz-0.0
Source:
gir1.2-harfbuzz-0.0
Description:
OpenType text shaping engine (GObject introspection data)
Submitter:
Abou Al Montacir
Date:
2023-07-21 13:33:04 UTC
Severity:
normal
Tags:
#1035669#5
Date:
2023-05-07 15:08:00 UTC
From:
To:
Dear Maintainer,

   * What led up to the situation?
I was trying to produce Gtk3 interface units for Free Pascal Compiler (FPC)
which depend indirectly from gir1.2-harfbuzz-0.0.

   * What exactly did you do (or not do) that was effective (or ineffective)?
Executing the following command:
g-ir-generate /usr/lib/x86_64-linux-gnu/girepository-1.0/HarfBuzz-0.0.typelib

   * What was the outcome of this action?
<?xml version="1.0"?>
<repository version="1.0"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="freetype2" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <namespace name="HarfBuzz" version="0.0" shared-library="libharfbuzz-
gobject.so.0" c:prefix="hb_">
    <constant name="AAT_LAYOUT_NO_SELECTOR_INDEX" value="65535">
      <type name="gint32"/>
    </constant>
    <constant name="BUFFER_REPLACEMENT_CODEPOINT_DEFAULT" value="65533">
      <type name="gint32"/>
    </constant>
    <constant name="FEATURE_GLOBAL_START" value="0">
      <type name="gint32"/>
    </constant>
**
ERROR:../girepository/girwriter.c:784:write_constant_value: code should not be
reached
    <constant name="LANGUAGE_INVALID" value="Bail out!
ERROR:../girepository/girwriter.c:784:write_constant_value: code should not be
reached
Aborted

   * What outcome did you expect instead?
Get the correct GIR file content.

It is true that this error is thrown by g-ir-generate, which may also mean that
it is possible that the error is in the generator program not in the typelib
file. However, this program works well with other typelib files, so I reported
this issue against gir1.2-harfbuzz-0.0, but maintainer can feel free to
reassign it to gobject-introspection.

#1035669#10
Date:
2023-06-04 13:18:20 UTC
From:
To:
Hi Abou,

Please find some slightly re-ordered responses below, and with the
gtk-gnome list and bug on cc because others are likely to know more
than me about this.

On Sat, 3 Jun 2023 at 22:40, Abou Al Montacir <abou.almontacir@sfr.fr> wrote:
...

I'd begun looking into the problem - it seems that the g-ir-generate
tool determines that the HB_LANGUAGE_INVALID constant (zero) is a GTK
'interface'[1] type instead of a basic type (such as int, utf8, ...).
That causes the XML gir serialization failure here[2], because the
interface type isn't supported.

While developing a patch I'd found it difficult to figure out what the
effect of my changes were on the output .typelib binary file.  In
fact, I filed https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/341
as a feature request for diffoscope.  Would any of the code from
gir2pas be helpful to mention there?

What's the impact of the inability to generate the XML gir files for
gir1.2-harfbuzz on other packages?

Thanks,
James

[1] - https://gitlab.gnome.org/GNOME/gobject-introspection/-/blob/37bde613a7cb77e7399dafb25731e13208f0ae0b/girepository/gitypes.h#L410

[2] - https://gitlab.gnome.org/GNOME/gobject-introspection/-/blob/37bde613a7cb77e7399dafb25731e13208f0ae0b/girepository/girwriter.c#L784

#1035669#15
Date:
2023-06-04 13:36:09 UTC
From:
To:
Dear Maintainer and Abou,

The attached patch allows me to serialize GIR XML from the HarfBuzz-0.0.typelib
file contained in the resulting gir1.2-harfbuzz-0.0 package.

For more extensive details, please read the patch description; in short, it
removes a C typecast that appears to mislead the gobject build process into
treating the 'HB_LANGUAGE_INVALID' constant (value: zero) as an interface,
instead of a basic (and serializable) integer type.

Please be somewhat skeptical of the patch; I don't know whether it is the
best place for a fix, and it would benefit from awareness and discussion
upstream.  I think it helps identify the approximate area in which the problem
occurs, and my hope is that that is helpful at least.

Regards,
James

#1035669#22
Date:
2023-06-04 14:36:06 UTC
From:
To:

#1035669#29
Date:
2023-07-11 17:00:16 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
harfbuzz, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1035669@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmoudy@users.sourceforge.net> (supplier of updated harfbuzz package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Mon, 10 Jul 2023 04:00:02 +0200
Source: harfbuzz
Binary: gir1.2-harfbuzz-0.0 libharfbuzz-bin libharfbuzz-bin-dbgsym libharfbuzz-cairo0 libharfbuzz-cairo0-dbgsym libharfbuzz-dev libharfbuzz-doc libharfbuzz-gobject0 libharfbuzz-gobject0-dbgsym libharfbuzz-icu0 libharfbuzz-icu0-dbgsym libharfbuzz-subset0 libharfbuzz-subset0-dbgsym libharfbuzz0-udeb libharfbuzz0b libharfbuzz0b-dbgsym
Architecture: source amd64 all
Version: 8.0.0-1
Distribution: unstable
Urgency: medium
Maintainer: أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmoudy@users.sourceforge.net>
Changed-By: أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmoudy@users.sourceforge.net>
Description:
 gir1.2-harfbuzz-0.0 - OpenType text shaping engine (GObject introspection data)
 libharfbuzz-bin - OpenType text shaping engine (utility)
 libharfbuzz-cairo0 - OpenType text shaping engine Cairo backend
 libharfbuzz-dev - Development files for OpenType text shaping engine
 libharfbuzz-doc - Documentation files for the HarfBuzz library
 libharfbuzz-gobject0 - OpenType text shaping engine ICU backend (GObject library)
 libharfbuzz-icu0 - OpenType text shaping engine ICU backend
 libharfbuzz-subset0 - OpenType text shaping engine (subset library)
 libharfbuzz0-udeb - OpenType text shaping engine (udeb)
 libharfbuzz0b - OpenType text shaping engine (shared library)
Closes: 1030612 1035669 1037687 1039498
Changes:
 harfbuzz (8.0.0-1) unstable; urgency=medium
 .
   * New upstream version 8.0.0
     - Fixes FTBFS with GCC-13 (Closes: #1037687)
     - Includes fix for CVE-2023-25193 (Closes: #1030612)
     - Pass libharfbuzz as positional parameter for GIR generation
       (Closes: #1039498)
   * Update copyright years
   * Drop fix-tests.patch, applied upstream
   * Add libharfbuzz-cairo0 package
   * Update symbols' files
   * Add invalid-language-zero.patch to remove typecast from
     HB_LANGUAGE_INVALID definition.
     Thanks to James Addison <jay@jp-hosting.net> (Closes: #1035669)
   * d/libharfbuzz0b.symbols: update symbols
Checksums-Sha1:
 1b5323cc16a5ffd8cad1d3e9053c78d8a16cebe5 2842 harfbuzz_8.0.0-1.dsc
 dce6bbe83958158b6d562e2f0540692385d32e67 18793316 harfbuzz_8.0.0.orig.tar.xz
 d89c7ba2b0c5bcb8aecf2ce744699d4f73603c5a 20176 harfbuzz_8.0.0-1.debian.tar.xz
 1c62b9f95c5d190203ec8dc799d25635fae68e2b 1746520 gir1.2-harfbuzz-0.0_8.0.0-1_amd64.deb
 1ef80d6e93c8f8dda24b2ca09485a07fb28e458f 13902 harfbuzz_8.0.0-1_amd64.buildinfo
 4ece17649d401624b9c6a41ab416a0b4983aca40 243328 libharfbuzz-bin-dbgsym_8.0.0-1_amd64.deb
 6bf483243cc017958d0129c750f4e13c324bf7c5 1771584 libharfbuzz-bin_8.0.0-1_amd64.deb
 0ddac1bf2d9be4dc923c7743315dac55e577cae3 691712 libharfbuzz-cairo0-dbgsym_8.0.0-1_amd64.deb
 62309c6ff900b17ae52a4596d116e52f69cfa924 1744996 libharfbuzz-cairo0_8.0.0-1_amd64.deb
 96c8947710b81feed2d54c6e61037f22e58c9713 1848336 libharfbuzz-dev_8.0.0-1_amd64.deb
 5379180673c27c3726f55bad0b9384cbc4e37ba3 1923904 libharfbuzz-doc_8.0.0-1_all.deb
 874bdaa192622fb4da9cb3c553f2bf5c15ec7675 34164 libharfbuzz-gobject0-dbgsym_8.0.0-1_amd64.deb
 0c9beabad96480be742eac1e5e137afbae2224af 1737392 libharfbuzz-gobject0_8.0.0-1_amd64.deb
 d08acc3a96c7eba7c868eaf7d0b6da8224e75bb5 31656 libharfbuzz-icu0-dbgsym_8.0.0-1_amd64.deb
 eace8617fc01543a8c05e1e05a8bb9d2da83bd5c 1720012 libharfbuzz-icu0_8.0.0-1_amd64.deb
 37abceb9f833045686466a3363aaf4ea40f93505 8672372 libharfbuzz-subset0-dbgsym_8.0.0-1_amd64.deb
 aa4268dc5d7806611c8e21d237ee26ab31561948 2150696 libharfbuzz-subset0_8.0.0-1_amd64.deb
 07bafcb44c8abfda388c332109af77df72bb6560 432004 libharfbuzz0-udeb_8.0.0-1_amd64.udeb
 9d510f6b6d74a641572aa79ae37b670f687a5c40 9621464 libharfbuzz0b-dbgsym_8.0.0-1_amd64.deb
 f2f083763e1f944423aa7e80998da0b1d28180e1 2154192 libharfbuzz0b_8.0.0-1_amd64.deb
Checksums-Sha256:
 6ab6dd8f759bde25970f26b3e83d324bd4a33953c8dfffaaa4f52eddadc106c3 2842 harfbuzz_8.0.0-1.dsc
 1f98b5e3d06a344fe667d7e8210094ced458791499839bddde98c167ce6a7c79 18793316 harfbuzz_8.0.0.orig.tar.xz
 a20cb8ba47c8769c8bec0241207200311ed39bb1720967894cd269e5456a2460 20176 harfbuzz_8.0.0-1.debian.tar.xz
 3e94b7edbbbd56d416a54a421bac764eb2493cccb5643a079152d49fac80d569 1746520 gir1.2-harfbuzz-0.0_8.0.0-1_amd64.deb
 41b5172449caaf1b849b0f90bc491a2c76209d55994407db74862f872eb52f2f 13902 harfbuzz_8.0.0-1_amd64.buildinfo
 a475947252d30e361ef021f1354957477de90b9a6b0974114b0f7650e7c03a11 243328 libharfbuzz-bin-dbgsym_8.0.0-1_amd64.deb
 6fd371a6043c57e77a016f68887e7963a8cc7a540c812a17e0e0b1d2574c345c 1771584 libharfbuzz-bin_8.0.0-1_amd64.deb
 23c186a162df99e8c3219bfc63e075f50e8eaa22d775f85e0c5545e89cfbd582 691712 libharfbuzz-cairo0-dbgsym_8.0.0-1_amd64.deb
 fcec7d80228ea466b0180abf45f19b644aa1a3b63151fa9d0af285e34a94f909 1744996 libharfbuzz-cairo0_8.0.0-1_amd64.deb
 d74bfc97aa25240ff7013ae69103687a0409bf29dce0978981cb37ec3adeba3a 1848336 libharfbuzz-dev_8.0.0-1_amd64.deb
 919b480662c8259eb0f9e1a6d59061a71c4ef5e27dfbf6a8c06e01a2a8cb3412 1923904 libharfbuzz-doc_8.0.0-1_all.deb
 c24240e1bbaa865052488b4b42025d74f1a2a6591d31559103bb8533c0786036 34164 libharfbuzz-gobject0-dbgsym_8.0.0-1_amd64.deb
 ba031cfcc7a7c46e116a6ba417688843e865618c0a4e0c9f4bd4f1c55c16959e 1737392 libharfbuzz-gobject0_8.0.0-1_amd64.deb
 bb1f8e6cd704871659a7dce5294d036680d4066ba9d9a0ab0a45f8ed357528c8 31656 libharfbuzz-icu0-dbgsym_8.0.0-1_amd64.deb
 f4696b7eb2a71513d8ab9da3286d570791166506937a805f7c100c1f4009df4f 1720012 libharfbuzz-icu0_8.0.0-1_amd64.deb
 f61d5a56ea39698fd0c1c7f1cd74f277b3ecf8671672e5263b4c0a2373783dee 8672372 libharfbuzz-subset0-dbgsym_8.0.0-1_amd64.deb
 3e01788487130bb0a0059e9a7ea14bc766ef0bf1ffafe6adefd489061920b865 2150696 libharfbuzz-subset0_8.0.0-1_amd64.deb
 3a89c15ba72e943c9458d1fcfc36dd044ca66bad12b34023504839a26632ffeb 432004 libharfbuzz0-udeb_8.0.0-1_amd64.udeb
 3caa04c64243c0da4ec1d083e2000e83f8bf5a6d992c2db99ecfad0b0a753d9c 9621464 libharfbuzz0b-dbgsym_8.0.0-1_amd64.deb
 4c2767951aa343a0e30b1b7a6f322f788e43073b648242283fbd8b79cfcdeda4 2154192 libharfbuzz0b_8.0.0-1_amd64.deb
Files:
 33b026faae215cbc5fcc85ff0fa76bef 2842 libs optional harfbuzz_8.0.0-1.dsc
 d5dac0c8e7b26415c43ca4281f33eb00 18793316 libs optional harfbuzz_8.0.0.orig.tar.xz
 2b3d386313328deb6a65c13eee203a1e 20176 libs optional harfbuzz_8.0.0-1.debian.tar.xz
 8efc564cf4c306dde9628c94e8212cad 1746520 introspection optional gir1.2-harfbuzz-0.0_8.0.0-1_amd64.deb
 5d6bb1819e0275b45e44af49f68452a7 13902 libs optional harfbuzz_8.0.0-1_amd64.buildinfo
 98ed5042ff80d98f6467eb335adc23e7 243328 debug optional libharfbuzz-bin-dbgsym_8.0.0-1_amd64.deb
 feab10f5f3aebe8e900697afe5fdcecb 1771584 utils optional libharfbuzz-bin_8.0.0-1_amd64.deb
 3b5637ed2bdc1b2385e6f6eba5d5419a 691712 debug optional libharfbuzz-cairo0-dbgsym_8.0.0-1_amd64.deb
 aea943da0b2f257b6aea33a5c5e26ecf 1744996 libs optional libharfbuzz-cairo0_8.0.0-1_amd64.deb
 64041e210dd39c6c47a0221ba6e27eb8 1848336 libdevel optional libharfbuzz-dev_8.0.0-1_amd64.deb
 fee704d6a10fd73dd6a07179274bb418 1923904 doc optional libharfbuzz-doc_8.0.0-1_all.deb
 ee1fba7151407ff05a71e0e850f46c8f 34164 debug optional libharfbuzz-gobject0-dbgsym_8.0.0-1_amd64.deb
 1f51761ce0eac2914d7359bbaf4f4d49 1737392 libs optional libharfbuzz-gobject0_8.0.0-1_amd64.deb
 8a5c4ad0a3827af2a39de50101d0cb0d 31656 debug optional libharfbuzz-icu0-dbgsym_8.0.0-1_amd64.deb
 30fbd2ce9f19c3b3c2c37fbf2e9d1359 1720012 libs optional libharfbuzz-icu0_8.0.0-1_amd64.deb
 b48ba1b08ba0e6f6fa0f3693d99df675 8672372 debug optional libharfbuzz-subset0-dbgsym_8.0.0-1_amd64.deb
 55959ffe310236df2e79c00fcfb2fd0d 2150696 libs optional libharfbuzz-subset0_8.0.0-1_amd64.deb
 262d87b167b3c79a2d3d8c23f458371f 432004 debian-installer optional libharfbuzz0-udeb_8.0.0-1_amd64.udeb
 8a25aea4bc2470140fab7c4d781116e6 9621464 debug optional libharfbuzz0b-dbgsym_8.0.0-1_amd64.deb
 778ffadb45ff21d720f82cafc9b20772 2154192 libs optional libharfbuzz0b_8.0.0-1_amd64.deb
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEETQvhLw5HdtiqzpaW5mx3Wuv+bH0FAmSseOkACgkQ5mx3Wuv+
bH0MrxAA4cgdVIib+AfQgSHHppr+eCOxyc9XAMJ0OTh9hAhgAZVXKsntwcT7qINu
ISgjbfTCzgdr1ASuXJ0MHzm7nq6pCDmJL+8NHimV32lfXf3FCwSgQT83LMHOvupg
gI/BuU5la7j6gW+s/r1S86rMxy/QVMR/3y4Q19nbDbXXfbh2whSxNiry1Fovy/fc
YeCEg53DuIlBJpYeSdkKl2Gnmo1yQqXfjkhgeA1GGtKI3feOds2Ul2NSYyouxqGd
4akDvsnB9Dh7/GTleh9XEQAwT+ljIoyOoLqVYG80bH9OgUef7gWdKmwFkrjkgPUP
U9M3iOHK5/daDlivvOMW+b2yFkUnnzRVQ0Y79u7Fp49BRoRtFYOqUojaYrh6lOsB
aJ8TY1UTd1iDrHkSBxJhpeIAcvy030ubIQqAX2R0miNIk/q33p+aM2p+z6dXpvLY
AVN9FwSjyldADgC3qCHTUYd1bmfgotrYOPGjlQo9ChXn8JMIIC1BtOL/Dxa01dSh
iV36Gaof3C4yNJK/z+tKFLL/vu0dBKdc1x+yLA3LJhCW58wT4h6UWuBvJpzSBQhG
eiMylQJTLEr/Qhp+AvNYjFbnDCxLOBlYbobkhsq3ry4semai/JNlooN8OW2nFjH5
Rywgomfr+SziPwKf9lDxkx8OBWu1tFXHXil6wDd3nFiagYCj4wg=
=RBeO
-----END PGP SIGNATURE-----

#1035669#34
Date:
2023-07-11 19:38:55 UTC
From:
To:
Version: 8.0.0-1

Severity: serious


Hi,


Am 11.07.23 um 19:00 schrieb Debian FTP Masters:
done upstream.

I see it's at https://github.com/harfbuzz/harfbuzz/issues/4263 and this
should be done there. Because with that change you cause FTBFS in packages:

https://codesearch.debian.net/search?q=HB_LANGUAGE_INVALID&perpkg=1

While some of it are internal copies I see pango, freetype, libreoffice etc.


libreoffice fails as of now with:

/home/rene/LibreOffice/git/libreoffice-7-6/vcl/source/font/PhysicalFontFace.cxx:
In member function 'rtl::OUString
vcl::font::PhysicalFontFace::GetName(vcl::font::NameID, const
LanguageTag&) const':
/home/rene/LibreOffice/git/libreoffice-7-6/vcl/source/font/PhysicalFontFace.cxx:477:42:
error: invalid conversion from 'hb_language_t' {aka 'const
hb_language_impl_t*'} to 'int' [-fpermissive]
   477 |         aHbLang = hb_language_from_string(aLanguage.getStr(),
aLanguage.getLength());
       | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |                                          |
       |                                          hb_language_t {aka
const hb_language_impl_t*}
/home/rene/LibreOffice/git/libreoffice-7-6/vcl/source/font/PhysicalFontFace.cxx:480:57:
error: invalid conversion from 'int' to 'hb_language_t' {aka 'const
hb_language_impl_t*'} [-fpermissive]
   480 |     auto nName = hb_ot_name_get_utf16(pHbFace, aNameID,
aHbLang, nullptr, nullptr);
       | ^~~~~~~
       |                                                         |
       | int
In file included from /usr/include/harfbuzz/hb-ot-color.h:37,
                  from /usr/include/harfbuzz/hb-ot.h:33,
                  from
/home/rene/LibreOffice/git/libreoffice-7-6/vcl/inc/font/PhysicalFontFace.hxx:37,
                  from
/home/rene/LibreOffice/git/libreoffice-7-6/vcl/inc/sft.hxx:53,
                  from
/home/rene/LibreOffice/git/libreoffice-7-6/vcl/source/font/PhysicalFontFace.cxx:30:
/usr/include/harfbuzz/hb-ot-name.h:150:40: note:   initializing argument
3 of 'unsigned int hb_ot_name_get_utf16(hb_face_t*, hb_ot_name_id_t,
hb_language_t, unsigned int*, uint16_t*)'
   150 |                       hb_language_t    language,
       |                       ~~~~~~~~~~~~~~~~~^~~~~~~~
/home/rene/LibreOffice/git/libreoffice-7-6/vcl/source/font/PhysicalFontFace.cxx:484:42:
error: invalid conversion from 'hb_language_t' {aka 'const
hb_language_impl_t*'} to 'int' [-fpermissive]
   484 |         aHbLang = hb_language_from_string("en", 2);
       |                   ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
       |                                          |
       |                                          hb_language_t {aka
const hb_language_impl_t*}
/home/rene/LibreOffice/git/libreoffice-7-6/vcl/source/font/PhysicalFontFace.cxx:485:56:
error: invalid conversion from 'int' to 'hb_language_t' {aka 'const
hb_language_impl_t*'} [-fpermissive]
   485 |         nName = hb_ot_name_get_utf16(pHbFace, aNameID, aHbLang,
nullptr, nullptr);
       | ^~~~~~~
       |                                                        |
       |                                                        int
/usr/include/harfbuzz/hb-ot-name.h:150:40: note:   initializing argument
3 of 'unsigned int hb_ot_name_get_utf16(hb_face_t*, hb_ot_name_id_t,
hb_language_t, unsigned int*, uint16_t*)'
   150 |                       hb_language_t    language,
       |                       ~~~~~~~~~~~~~~~~~^~~~~~~~
/home/rene/LibreOffice/git/libreoffice-7-6/vcl/source/font/PhysicalFontFace.cxx:492:48:
error: invalid conversion from 'int' to 'hb_language_t' {aka 'const
hb_language_impl_t*'} [-fpermissive]
   492 |         hb_ot_name_get_utf16(pHbFace, aNameID, aHbLang, &nName,
aBuf.data());
       |                                                ^~~~~~~
       |                                                |
       |                                                int
/usr/include/harfbuzz/hb-ot-name.h:150:40: note:   initializing argument
3 of 'unsigned int hb_ot_name_get_utf16(hb_face_t*, hb_ot_name_id_t,
hb_language_t, unsigned int*, uint16_t*)'
   150 |                       hb_language_t    language,
       |                       ~~~~~~~~~~~~~~~~~^~~~~~~~
make[2]: ***
[/home/rene/LibreOffice/git/libreoffice-7-6/solenv/gbuild/LinkTarget.mk:334:
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/CxxObject/vcl/source/font/PhysicalFontFace.o]
Error 1


Please revert.


Regards,


Rene

#1035669#39
Date:
2023-07-11 20:07:11 UTC
From:
To:
Hi,

Am 11.07.23 um 21:38 schrieb Rene Engelhard:
[...] Because with that change you cause FTBFS in packages:
[...]

So a discussion on IRC turned out that this probably "only" is a problem
for C++, not C. Still it is a problem.

I'll do

diff --git a/vcl/source/font/PhysicalFontFace.cxx
b/vcl/source/font/PhysicalFontFace.cxx
index aa9a9327f708..a19b393be098 100644
--- a/vcl/source/font/PhysicalFontFace.cxx
+++ b/vcl/source/font/PhysicalFontFace.cxx
@@ -38,6 +38,13 @@

  #include <hb-ot.h>

+#if HB_VERSION_ATLEAST(8, 0, 0) // Debian-only, see
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1035669
+#if HB_LANGUAGE_INVALID == 0
+#undef HB_LANGUAGE_INVALID
+#define HB_LANGUAGE_INVALID ((hb_language_t) 0)
+#endif
+#endif
+
  namespace vcl::font
  {
  PhysicalFontFace::PhysicalFontFace(const FontAttributes& rDFA)

in libreoffice for now (which should work in old and new harfbuzz), but...

... I still think that should be done.

Regards,


Rene

#1035669#52
Date:
2023-07-19 02:41:36 UTC
From:
To:
reassign 1035669 gobject-introspection
forwarded 1035669 https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/469
done

According to the discussion on
https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/469 , the
issue is actually in g-ir-generate (or compiler), hence reassigning the
issue