Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 813705 - media-libs/harfbuzz-3.0.0 breaks www-client/chromium (won't start, browser: symbol lookup error: chromium-browser: undefined symbol: hb_subset_input_set_drop_hints)
Summary: media-libs/harfbuzz-3.0.0 breaks www-client/chromium (won't start, browser: s...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: Lars Wendler (Polynomial-C) (RETIRED)
URL: https://bugs.scribus.net/view.php?id=...
Whiteboard:
Keywords:
Depends on:
Blocks: 817284
  Show dependency tree
 
Reported: 2021-09-18 20:02 UTC by Stefan de Konink
Modified: 2021-10-12 18:26 UTC (History)
8 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
www-client:chromium-95.0.4638.40:20211010-063430.log.xz (www-client:chromium-95.0.4638.40:20211010-063430.log.xz,343.52 KB, application/x-xz)
2021-10-10 07:35 UTC, Michał Górny
Details
Fix chromium build with harfbuzz 3 (harfbuzz3.patch,9.49 KB, patch)
2021-10-10 09:22 UTC, Mike Lothian
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan de Konink 2021-09-18 20:02:50 UTC
After installing media-libs/harfbuzz chromium won't start anymore due to chromium-browser: symbol lookup error: chromium-browser: undefined symbol: hb_subset_input_set_drop_hints

Scribus fails compilation;
iles/scribus.dir/fonts/sfnt.cpp.o -c /var/tmp/portage/app-office/scribus-1.5.7/work/scribus-1.5.7/scribus/fonts/sfnt.cpp
/var/tmp/portage/app-office/scribus-1.5.7/work/scribus-1.5.7/scribus/fonts/sfnt.cpp: In function 'QByteArray sfnt::subsetFaceWithHB(const QByteArray&, QList<unsigned int>, int, QMap<unsigned int, unsigned int>&)':
/var/tmp/portage/app-office/scribus-1.5.7/work/scribus-1.5.7/scribus/fonts/sfnt.cpp:1260:17: error: 'hb_subset_input_set_retain_gids' was not declared in this scope; did you mean 'hb_subset_input_set_flags'?
 1260 |                 hb_subset_input_set_retain_gids(hbSubsetInput.get(), true);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                 hb_subset_input_set_flags
/var/tmp/portage/app-office/scribus-1.5.7/work/scribus-1.5.7/scribus/fonts/sfnt.cpp:1261:17: error: 'hb_subset_input_set_drop_hints' was not declared in this scope; did you mean 'hb_subset_input_set_user_data'?
 1261 |                 hb_subset_input_set_drop_hints(hbSubsetInput.get(), false);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                 hb_subset_input_set_user_data
/var/tmp/portage/app-office/scribus-1.5.7/work/scribus-1.5.7/scribus/fonts/sfnt.cpp:1263:17: error: 'hb_subset_input_set_name_legacy' was not declared in this scope; did you mean 'hb_subset_input_set_user_data'?
 1263 |                 hb_subset_input_set_name_legacy(hbSubsetInput.get(), true);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                 hb_subset_input_set_user_data
/var/tmp/portage/app-office/scribus-1.5.7/work/scribus-1.5.7/scribus/fonts/sfnt.cpp:1266:71: error: 'hb_subset' was not declared in this scope; did you mean 'hb_set_set'?
 1266 |                 QScopedPointer<hb_face_t, HbFaceDeleter> hbSubsetFace(hb_subset(hbFullFace.get(), hbSubsetInput.get()));
      |                                                                       ^~~~~~~~~
      |                                                                       hb_set_set

I would suggest masking this upgrade.

Reproducible: Always




Portage 3.0.23 (python 3.9.7-final-0, default/linux/amd64/17.1/no-multilib, gcc-11.2.0, glibc-2.33-r7, 5.14.5-gentoo x86_64)
=================================================================
System uname: Linux-5.14.5-gentoo-x86_64-AMD_Ryzen_5_2500U_with_Radeon_Vega_Mobile_Gfx-with-glibc2.33
KiB Mem:    16091096 total,   3016844 free
KiB Swap:   33554428 total,  33554428 free
Timestamp of repository gentoo: Sat, 18 Sep 2021 14:30:01 +0000
Head commit of repository gentoo: 730b112dadb73345f7adcca96b93c469c04d28b7
sh bash 5.1_p8
ld GNU ld (Gentoo 2.34 p6) 2.34.0
ccache version 4.4.1 [disabled]
app-shells/bash:          5.1_p8::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.34.0-r2::gentoo
dev-lang/python:          2.7.18_p13::gentoo, 3.7.12::gentoo, 3.8.11::gentoo, 3.9.7::gentoo, 3.10.0_rc2::gentoo
dev-lang/rust:            1.52.1::gentoo
dev-util/ccache:          4.4.1::gentoo
dev-util/cmake:           3.21.2::gentoo
sys-apps/baselayout:      2.7-r3::gentoo
sys-apps/openrc:          0.41.2::gentoo
sys-apps/sandbox:         2.25::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo, 2.71::gentoo
sys-devel/automake:       1.16.4::gentoo
sys-devel/binutils:       2.32-r1::gentoo, 2.33.1-r1::gentoo, 2.34-r2::gentoo, 2.35.2::gentoo, 2.36.1-r2::gentoo, 2.37_p1::gentoo
sys-devel/gcc:            10.3.0::gentoo, 11.2.0::gentoo
sys-devel/gcc-config:     2.4::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.14::gentoo (virtual/os-headers)
sys-libs/glibc:           2.33-r7::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-metamanifest: yes
    sync-rsync-extra-opts: 

2xsaiko
    location: /var/lib/layman/2xsaiko
    masters: gentoo
    priority: 50

4nykey
    location: /var/lib/layman/4nykey
    masters: gentoo
    priority: 50

Drauthius
    location: /var/lib/layman/Drauthius
    masters: gentoo
    priority: 50

booboo
    location: /var/lib/layman/booboo
    masters: gentoo
    priority: 50

d3-gentoo
    location: /var/lib/layman/d3-gentoo
    masters: gentoo
    priority: 50

dotnet
    location: /var/lib/layman/dotnet
    masters: gentoo
    priority: 50

flammie
    location: /var/lib/layman/flammie
    masters: gentoo
    priority: 50

flavour
    location: /var/lib/layman/flavour
    masters: gentoo
    priority: 50

fordfrog
    location: /var/lib/layman/fordfrog
    masters: gentoo
    priority: 50

gentoo-zh
    location: /var/lib/layman/gentoo-zh
    masters: gentoo
    priority: 50

imaging
    location: /var/lib/layman/imaging
    masters: gentoo
    priority: 50

lto-overlay
    location: /var/lib/layman/lto-overlay
    masters: gentoo mv
    priority: 50

mv
    location: /var/lib/layman/mv
    masters: gentoo
    priority: 50

raiagent
    location: /var/lib/layman/raiagent
    masters: gentoo
    priority: 50

salfter
    location: /var/lib/layman/salfter
    masters: gentoo
    priority: 50

FireBurn
    location: /var/lib/layman/FireBurn
    masters: gentoo
    priority: 60

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=znver1 -O3 -fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition -flto=7 -fuse-linker-plugin -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.6/conf /usr/share/maven-bin-3.8/conf"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=znver1 -O3 -fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition -flto=7 -fuse-linker-plugin -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -march=znver1 -O3 -fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition -flto=7 -fuse-linker-plugin -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=znver1 -O3 -fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition -flto=7 -fuse-linker-plugin -pipe"
GENTOO_MIRRORS="http://mirror.leaseweb.com/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j7"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X aac acl adwaita-icon-theme alsa amd64 apng aptx autohint bluetooth bluray brotli bzip2 cairo caps clang cli codec2 color-management corefonts cpudetection crypt curl dav1d dbus designer dri dri3 egl exif exiv2 ffmpeg fftw fontconfig fortran gdal gdbm geos gimp gles2 glslang gold graphite gtk gtk3 hackrf harfbuzz heif http2 hunspell iconv icu infinality ipv6 jpeg jpeg2k jumbo-build ladspa lapack lcms libglvnd libnotify libsamplerate libtirpc lm-sensors lto lv2 lz4 lzma minizip ncurses nptl ntfs ogg opencv openexr opengl openmp optimization opus orc pam pcre pdf pgo pipewire png policykit postgres qml qt5 readline rtlsdr rubberband screencast seccomp sftp sndfile speex split-usr sqlite srt ssl startup-notification strong-optimization svg synaptics system-bootstrap system-jsoncpp system-libvpx system-llvm systemd sysv-utils tcpd theora tiff tracepath truetype udev unicode upower user-session v4l vaapi vdpau vim-syntax vorbis vpx vulkan wayland webp webstart woff2 x264 x265 xattr xinerama xrandr zeromq zlib zstd" ABI_X86="64" ADA_TARGET="gnat_2018" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" L10N="en nl" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="AMDGPU BPF" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres13" PYTHON_SINGLE_TARGET="python3_8" PYTHON_TARGETS="python2_7 python3_7 python3_8 python3_9 python3_10" RUBY_TARGETS="ruby27 ruby30" USERLAND="GNU" UWSGI_PLUGINS="cache carbon cheaper_busyness corerouter fastrouter http logfile logsocket mongodblog nagios ping rawrouter redislog router_basicauth router_cache router_expires router_hash router_http router_memcached router_metrics router_redirect router_redis router_rewrite router_static router_uwsgi rpc signal spooler symcall syslog transformation_chunked transformation_gzip transformation_offload transformation_tofile ugreen zergpool" VIDEO_CARDS="amdgpu radeonsi radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-09-18 20:05:28 UTC
Please file a separate bug for scribus. Thanks!

harfbuzz broke ABI?
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-09-18 20:09:34 UTC
(In reply to Sam James from comment #1)
> Please file a separate bug for scribus. Thanks!
> 
> harfbuzz broke ABI?

Could you include the full build.log please?

.... or I guess do a new bug for Chromium instead please.
Comment 3 Stefan de Konink 2021-09-18 20:11:08 UTC
scribus bug reported as: https://bugs.gentoo.org/813711
Comment 4 Stefan de Konink 2021-09-18 20:15:17 UTC
(In reply to Sam James from comment #2)
> (In reply to Sam James from comment #1)
> > Please file a separate bug for scribus. Thanks!
> > 
> > harfbuzz broke ABI?
> 
> Could you include the full build.log please?

It is attached in the scribus bug.
 
> .... or I guess do a new bug for Chromium instead please.

Chromium breaks after upgrade, not at compile time. So I do not feel very comfortable wasting 8 hours of compile time. To show it will also fail when compiling.
Comment 5 Mike Gilbert gentoo-dev 2021-09-18 20:48:04 UTC
Perhaps we should mask harfbuzz-3 for the time being.
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-09-18 20:48:38 UTC
(In reply to Stefan de Konink from comment #4)
> 
> Chromium breaks after upgrade, not at compile time. So I do not feel very
> comfortable wasting 8 hours of compile time. To show it will also fail when
> compiling.

I was referring to scribus before you changed bugs.
Comment 7 Larry the Git Cow gentoo-dev 2021-09-18 20:51:03 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=81ea5356a3bdaf857b270e9b61bfe6672f6a6a7f

commit 81ea5356a3bdaf857b270e9b61bfe6672f6a6a7f
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2021-09-18 20:49:51 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-09-18 20:50:44 +0000

    profiles: [QA] mask harfbuzz-3.0.0
    
    Runtime breakage of Chromium and possibly
    other reverse dependencies.
    
    Bug: https://bugs.gentoo.org/813705
    Bug: https://bugs.gentoo.org/813711
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/package.mask | 6 ++++++
 1 file changed, 6 insertions(+)
Comment 8 Jason A. Donenfeld gentoo-dev 2021-09-19 03:18:36 UTC
They removed those methods:

https://github.com/harfbuzz/harfbuzz/commit/d700646c33af53afcabe564e9943565d58e1192a
Comment 9 tonich 2021-09-28 07:13:25 UTC
qtwebengine-5.15.2_p20210824-r1 also does not compile:

../../../../qtwebengine-5.15.2_p20210824/src/3rdparty/chromium/components/paint_preview/common/subset_font.cc: In function ‘sk_sp<SkData> paint_preview::SubsetFont(Sk
Typeface*, const paint_preview::GlyphUsage&)’:
../../../../qtwebengine-5.15.2_p20210824/src/3rdparty/chromium/components/paint_preview/common/subset_font.cc:74:3: error: ‘hb_subset_input_set_retain_gids’ was not declared in this scope; did you mean ‘hb_subset_input_set_flags’?
   74 |   hb_subset_input_set_retain_gids(input.get(), true);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |   hb_subset_input_set_flags
../../../../qtwebengine-5.15.2_p20210824/src/3rdparty/chromium/components/paint_preview/common/subset_font.cc:76:35: error: ‘hb_subset’ was not declared in this scope; did you mean ‘hb_set_set’?
   76 |   HbScoped<hb_face_t> subset_face(hb_subset(face.get(), input.get()));
      |                                   ^~~~~~~~~
      |                                   hb_set_set
Comment 10 Stephan Hartmann (RETIRED) gentoo-dev 2021-09-28 10:23:43 UTC
(In reply to tonich from comment #9)
> qtwebengine-5.15.2_p20210824-r1 also does not compile:
> 
> ../../../../qtwebengine-5.15.2_p20210824/src/3rdparty/chromium/components/
> paint_preview/common/subset_font.cc: In function ‘sk_sp<SkData>
> paint_preview::SubsetFont(Sk
> Typeface*, const paint_preview::GlyphUsage&)’:
> ../../../../qtwebengine-5.15.2_p20210824/src/3rdparty/chromium/components/
> paint_preview/common/subset_font.cc:74:3: error:
> ‘hb_subset_input_set_retain_gids’ was not declared in this scope; did you
> mean ‘hb_subset_input_set_flags’?
>    74 |   hb_subset_input_set_retain_gids(input.get(), true);
>       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>       |   hb_subset_input_set_flags
> ../../../../qtwebengine-5.15.2_p20210824/src/3rdparty/chromium/components/
> paint_preview/common/subset_font.cc:76:35: error: ‘hb_subset’ was not
> declared in this scope; did you mean ‘hb_set_set’?
>    76 |   HbScoped<hb_face_t> subset_face(hb_subset(face.get(),
> input.get()));
>       |                                   ^~~~~~~~~
>       |                                   hb_set_set

That was updated with roll of harfbuzz here: https://crrev.com/3076563
But I don't know if it is compatible with older harfbuzz.
Comment 11 Stephan Hartmann (RETIRED) gentoo-dev 2021-09-28 12:48:22 UTC
(In reply to Stephan Hartmann from comment #10)
> (In reply to tonich from comment #9)
> > qtwebengine-5.15.2_p20210824-r1 also does not compile:
> > 
> > ../../../../qtwebengine-5.15.2_p20210824/src/3rdparty/chromium/components/
> > paint_preview/common/subset_font.cc: In function ‘sk_sp<SkData>
> > paint_preview::SubsetFont(Sk
> > Typeface*, const paint_preview::GlyphUsage&)’:
> > ../../../../qtwebengine-5.15.2_p20210824/src/3rdparty/chromium/components/
> > paint_preview/common/subset_font.cc:74:3: error:
> > ‘hb_subset_input_set_retain_gids’ was not declared in this scope; did you
> > mean ‘hb_subset_input_set_flags’?
> >    74 |   hb_subset_input_set_retain_gids(input.get(), true);
> >       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >       |   hb_subset_input_set_flags
> > ../../../../qtwebengine-5.15.2_p20210824/src/3rdparty/chromium/components/
> > paint_preview/common/subset_font.cc:76:35: error: ‘hb_subset’ was not
> > declared in this scope; did you mean ‘hb_set_set’?
> >    76 |   HbScoped<hb_face_t> subset_face(hb_subset(face.get(),
> > input.get()));
> >       |                                   ^~~~~~~~~
> >       |                                   hb_set_set
> 
> That was updated with roll of harfbuzz here: https://crrev.com/3076563
> But I don't know if it is compatible with older harfbuzz.

Sorry, wrong link: https://crrev.com/c/3076563
Comment 12 Larry the Git Cow gentoo-dev 2021-10-09 19:38:22 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=891aa9cbfc84d65952a3eb680db063f3e5abb5f0

commit 891aa9cbfc84d65952a3eb680db063f3e5abb5f0
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2021-10-09 19:27:02 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-10-09 19:38:10 +0000

    profiles: unmask Harfbuzz 3.0.0
    
    Chromium is now ready.
    
    Bug: https://bugs.gentoo.org/813705
    Bug: https://bugs.gentoo.org/813711
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/package.mask | 6 ------
 1 file changed, 6 deletions(-)
Comment 13 Larry the Git Cow gentoo-dev 2021-10-09 19:42:36 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6092be5cc389bbcfc15c734fcf94a79e0ce26ef1

commit 6092be5cc389bbcfc15c734fcf94a79e0ce26ef1
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2021-10-09 19:42:10 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-10-09 19:42:24 +0000

    media-libs/harfbuzz: update subslot for 3.x
    
    Closes: https://bugs.gentoo.org/813705
    Signed-off-by: Sam James <sam@gentoo.org>

 .../harfbuzz/{harfbuzz-3.0.0.ebuild => harfbuzz-3.0.0-r1.ebuild}    | 4 +++-
 media-libs/harfbuzz/harfbuzz-9999.ebuild                            | 6 ++++--
 2 files changed, 7 insertions(+), 3 deletions(-)
Comment 14 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2021-10-10 07:34:45 UTC
How is this solved?  Harfbuzz changes ABI without SONAME bump, chromium becomes immediately unusable after the upgrade (which it doesn't even block!) and fails to rebuild afterwards.

../../components/paint_preview/common/subset_font.cc: In function ‘sk_sp<SkData> paint_preview::SubsetFont(SkTypeface*, const paint_preview::GlyphUsage&)’:
../../components/paint_preview/common/subset_font.cc:82:7: error: ‘hb_subset_input_no_subset_tables_set’ was not declared in this scope
   82 |       hb_subset_input_no_subset_tables_set(input.get());  // Owned by |input|.
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Comment 15 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2021-10-10 07:35:11 UTC
Created attachment 744237 [details]
www-client:chromium-95.0.4638.40:20211010-063430.log.xz
Comment 16 Mike Lothian 2021-10-10 09:22:58 UTC
Created attachment 744279 [details, diff]
Fix chromium build with harfbuzz 3

This patch fixes things for me

Taken from upstream
Comment 17 Larry the Git Cow gentoo-dev 2021-10-10 11:16:00 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cdccf09cb37bce1cdb93797ab54ce474d0fff0b3

commit cdccf09cb37bce1cdb93797ab54ce474d0fff0b3
Author:     Stephan Hartmann <sultan@gentoo.org>
AuthorDate: 2021-10-10 11:14:58 +0000
Commit:     Stephan Hartmann <sultan@gentoo.org>
CommitDate: 2021-10-10 11:15:22 +0000

    www-client/chromium: fix building with harfbuzz-3 (M95)
    
    Bug: https://bugs.gentoo.org/813705
    Package-Manager: Portage-3.0.20, Repoman-3.0.3
    Signed-off-by: Stephan Hartmann <sultan@gentoo.org>

 www-client/chromium/chromium-95.0.4638.40.ebuild   |  1 +
 .../chromium/files/chromium-95-harfbuzz-3.patch    | 31 ++++++++++++++++++++++
 2 files changed, 32 insertions(+)
Comment 18 Stephan Hartmann (RETIRED) gentoo-dev 2021-10-10 11:57:24 UTC
(In reply to Michał Górny from comment #14)
> How is this solved?  Harfbuzz changes ABI without SONAME bump, chromium
> becomes immediately unusable after the upgrade (which it doesn't even
> block!) and fails to rebuild afterwards.
> 
> ../../components/paint_preview/common/subset_font.cc: In function
> ‘sk_sp<SkData> paint_preview::SubsetFont(SkTypeface*, const
> paint_preview::GlyphUsage&)’:
> ../../components/paint_preview/common/subset_font.cc:82:7: error:
> ‘hb_subset_input_no_subset_tables_set’ was not declared in this scope
>    82 |       hb_subset_input_no_subset_tables_set(input.get());  // Owned
> by |input|.
>       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Upstream did not want to bump SONAME of libharfbuzz-subset, because subset API/ABI was always marked experimental:

https://github.com/harfbuzz/harfbuzz/issues/3216#issuecomment-923235654
Comment 19 Larry the Git Cow gentoo-dev 2021-10-10 17:45:36 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f9174d614aabab26d9bddaa84d45b235de8e3792

commit f9174d614aabab26d9bddaa84d45b235de8e3792
Author:     Stephan Hartmann <sultan@gentoo.org>
AuthorDate: 2021-10-10 17:43:42 +0000
Commit:     Stephan Hartmann <sultan@gentoo.org>
CommitDate: 2021-10-10 17:45:29 +0000

    www-client/chromium: dev channel bump to 96.0.4662.6
    
    Bug: https://bugs.gentoo.org/813705
    Package-Manager: Portage-3.0.20, Repoman-3.0.3
    Signed-off-by: Stephan Hartmann <sultan@gentoo.org>

 www-client/chromium/Manifest                       |  4 +-
 ...0.4655.0.ebuild => chromium-96.0.4662.6.ebuild} | 12 ++--
 .../files/chromium-96-EnumTable-crash.patch        | 76 ++++++++++++++++++++++
 3 files changed, 83 insertions(+), 9 deletions(-)