Change your ports' gettext dependencies!

Ryan Schmidt ryandesign at macports.org
Sat Dec 25 16:47:44 UTC 2021


Hi! If you maintain (or work on updating, or review a PR that updates) a port that depends on the gettext internationalization library (libintl.dylib):

depends_lib-append port:gettext

Please change it to:

depends_build-append port:gettext
depends_lib-append port:gettext-runtime

This is necessary to ensure that gettext's library is installed for the correct architectures when other ports are installed (i.e. that it is rebuilt with the universal variant when needed).

See: https://trac.macports.org/ticket/64291

Since this is a change of library dependencies this change should be accompanied by a revision increase but since there are hundreds of ports that need this change, changing all affected ports at once would take too much build time on the buildbot, so please combine this change with any existing version or revision update of a port.

Background: The gettext port used to provide all of the parts of gettext but with the gettext 0.21 update it was split into several subports. The gettext port now only provides build utilities while the main library is now in the gettext-runtime port. For this reason the gettext port now specifies "installs_libs no", which assists with distributability but also disables the architecture checking that we desire for the library. Therefore you must depend directly on gettext-runtime which provides the libraries so that arch checking is performed.

There are also two new libraries - libasprintf.dylib and libtextstyle.dylib - now provided by gettext in separate subports libasprintf and libtextstyle. If your port uses these new libraries, declare library dependencies directly on those ports as needed.

Three libraries that the gettext tools use internally - libgettextlib.dylib, libgettextpo.dylib and libgettextsrc.dylib - are provided by the gettext-tools-libs port. I don't know of any ports that need these libraries directly, but if your does, declare a library dependency directly on this port.



More information about the macports-dev mailing list