#37420: ncurses: snow leopard binary missing pkgconfig files ---------------------------+------------------- Reporter: ryandesign@… | Owner: jmr@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Resolution: | Keywords: Port: ncurses | ---------------------------+------------------- Comment (by ryandesign@…): ncurses' configure.in says: {{{ # if we find pkg-config, check if we should install the ".pc" files. CF_PKG_CONFIG if test "$PKG_CONFIG" != no ; then AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG) # Leave this as something that can be overridden in the environment. if test -z "$PKG_CONFIG_LIBDIR" ; then PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`/lib/pkgconfig fi PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'` if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then AC_ARG_ENABLE(pc-files, [ --enable-pc-files generate and install .pc files for pkg-config], [enable_pc_files=$enableval], [enable_pc_files=no]) AC_MSG_RESULT($enable_pc_files) else AC_MSG_RESULT(no) AC_MSG_WARN(did not find library $PKG_CONFIG_LIBDIR) enable_pc_files=no fi fi AC_SUBST(PKG_CONFIG_LIBDIR) }}} Based on the comment, it appears the intention is to not install the .pc files unless the pkg-config program is present. And ncurses doesn't declare a dependency on pkgconfig. In fact, the check for `"$PKG_CONFIG" != no` is not the problem, because when pkgconfig is not installed, $PKG_CONFIG appears to be "none", not "no". However next it checks for the existence of ${prefix}/lib/pkgconfig. And that won't exist if there aren't any .pc files installed by other ports. And the buildbot builds ports in a clean environment so there wouldn't be any other ports installed. I imagine the reason why most of the existing binary packages have the .pc files is because the buildbot built ncurses not explicitly but as a dependency of some other port which had other dependencies which did install .pc files. I think if the version or revision of ncurses were increased today, then all newly built ncurses packages would be missing the .pc files. I think the solution is 1) to have the pkgconfig port always install ${prefix}/lib/pkgconfig (using `destroot.keepdirs`), and 2) to have the ncurses port declare a build dependency on the pkgconfig port. -- Ticket URL: <https://trac.macports.org/ticket/37420#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS