icu 50 and how to identify dependents

Jeremy Huddleston Sequoia jeremyhu at
Sun Feb 10 00:52:41 PST 2013

On Feb 8, 2013, at 8:45 PM, Ryan Schmidt <ryandesign at> wrote:

> I'd like to upgrade the icu port to version 50. This changes the library version number so I'll need to revbump everything linking with it. Any tips on how to identify what ports those are? I know I can find ports declaring a dependency on icu with:
> port file all | sort -u | xargs grep :icu
> But what about ports not declaring a dependency? I also need to examine the dependents of every port that depends on icu don't I?

I think if a port actually links against another port, it should have a dependency listed.  Indirect dependencies should indicate that the project doesn't actually link it directly (and thus would not need such a bump).

Just bump those that list the dependency and do a local upgrade of all of them on your systems.  Do a 'revdep-upgrade' in report mode and look for anything that got missed.  Add the dependency to those ports and revbump them as well.

> For example pango was recently updated to 1.32.5, which for the first time uses harfbuzz, which uses icu, so now everything that uses pango also uses icu and needs a revbump.

That's not true.  As an example, libX11 now uses libxcb as a backend instead of xtrans, but clients of libX11 don't care what transport backend libX11 uses.  They just link against libX11 and didn't need to bump when I switched libX11's backend to libxcb.

> I think I want to explicitly add a port:icu dependency to all ports using pango to make these easier to find in the future.

No, please don't do that.  Only do that if the port actually links against icu.

> I figure while we're already dealing with a chaos of revbumps and rebuilds due to jpeg 9 we may as well get icu 50 over with at the same time. Any objections?

Might as well.

More information about the macports-dev mailing list