Gentoo Archives: gentoo-user

From: Michael <confabulate@××××××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] pango, freetype, and harfbuzz: circular dependencies?
Date: Sat, 17 Jul 2021 20:08:29
Message-Id: 5481340.DvuYhMxLoT@lenovo.localdomain
In Reply to: [gentoo-user] pango, freetype, and harfbuzz: circular dependencies? by Matthias Hanft
1 Hi Matt,
2
3 On Saturday, 17 July 2021 17:19:46 BST Matthias Hanft wrote:
4 > Hi,
5 >
6 > doing the weekly "emerge --sync" and "emerge -aDuv @world", portage
7 > suddenly asks me to set the "harfbuzz" USE flag for "freetype". The
8 > exact messages are
9 >
10 > --- cut here ---
11 >
12 > emerge: there are no ebuilds built with USE flags to satisfy
13 > ">=media-libs/freetype-2.5.0.1:2=[harfbuzz,png,abi_x86_32(-)?,abi_x86_64(-)?
14 > ,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390
15 > _32(-)?,abi_s390_64(-)?]". !!! One of the following packages is required to
16 > complete your request: - media-libs/freetype-2.10.4::gentoo (Change USE:
17 > +harfbuzz)
18 > (dependency required by "x11-libs/pango-1.48.7::gentoo" [ebuild])
19 > (dependency required by "net-analyzer/rrdtool-1.7.2-r100::gentoo[graph]"
20 > [installed]) (dependency required by "net-mail/mailgraph-1.14-r2::gentoo"
21 > [installed]) (dependency required by "@selected" [set])
22 > (dependency required by "@world" [argument])
23 >
24 > --- cut here ---
25 >
26 > on my 32-bit Gentoo. On my 64-bit Gentoo, it looks pretty similar:
27 >
28 > --- cut here ---
29 >
30 > The following USE changes are necessary to proceed:
31 > (see "package.use" in the portage(5) man page for more details)
32 > # required by x11-libs/pango-1.48.7::gentoo
33 > # required by net-analyzer/rrdtool-1.7.2-r100::gentoo[graph]
34 > # required by net-mail/mailgraph-1.14-r2::gentoo
35 > # required by @selected
36 > # required by @world (argument)
37 >
38 > >=media-libs/freetype-2.10.4 harfbuzz
39 >
40 > --- cut here ---
41 >
42 > Of course, I just could do that, but "equery u freetype" tells me for
43 > "harfbuzz": "WARNING: may trigger circular dependencies!"
44 >
45 > Some googling showed me that circular dependencies seem to be a very,
46 > very ugly thing which you can't easily get rid of.
47 >
48 > Just turning off all unneeded USE flags isn't easy either - for example,
49 > I'm using mailgraph for graphical display on my website, which needs
50 > rrdtool[graph], which needs pango, which needs freetype... and there
51 > are some more dependencies on *real* used packages.
52 >
53 > How should I proceed, avoiding circular dependencies?
54 >
55 > Thank you in advance,
56 >
57 > -Matt
58
59 I had to set USE="harfbuzz" for freetype and yes, you are right, there is a
60 warning there:
61
62 ~ $ equery u freetype
63 [ Legend : U - final flag setting for installation]
64 [ : I - package is installed with flag ]
65 [ Colors : set, unset ]
66 * Found these USE flags for media-libs/freetype-2.10.4:
67 U I
68 + + X : Add support for X11
69 - - abi_x86_32 : 32-bit (x86) libraries
70 + + adobe-cff : Use Adobe CFF as default font-renderer
71 - - bindist : Disable ClearType support (see http://freetype.org/
72 patents.html)
73 - - brotli : Enable brotli decompression support via app-arch/
74 brotli
75 + + bzip2 : Support bzip2 compressed PCF fonts.
76 + + cleartype_hinting : New bytecode hinting mode for TrueType fonts that
77 activates subpixel hinting (a.k.a. ClearType hinting) by default
78 - - debug : Enable extra debug codepaths, like asserts and extra
79 output. If you want to get meaningful backtraces see https://wiki.gentoo.org/
80 wiki/Project:Quality_Assurance/Backtraces
81 - - doc : Add extra documentation (API, Javadoc, etc). It is
82 recommended to enable per package instead of globally
83 - - fontforge : Install internal headers required for TrueType
84 debugger in media-gfx/fontforge (built with USE=truetype-debugger)
85 + + harfbuzz : Use media-libs/harfbuzz for auto-hinting OpenType
86 fonts. WARNING: may trigger circular dependencies!
87 + + png : Add support for libpng (PNG images)
88 - - static-libs : Build static versions of dynamic libraries as well
89 - - utils : Install utilities and examples from ft2demos
90
91 I have not come across any problems on amd64 arch, but have not tried it on a
92 32bit system to know if it will cause any problems.

Attachments

File name MIME type
signature.asc application/pgp-signature