HOWTO: specify a run dependency on a port without a single executable?

From: Stefan Esser <>
Date: Wed, 25 May 2022 20:47:35 UTC
I'm trying to update the devel/pmdk port and found 2 issues
due to dependency checks that are not alignment with reality:

1) The port wants the ports version of ncurses. But the following
   definition does not work:


   The reason is that lib/ is a loader script with
   the following contents:

	INPUT( AS_NEEDED(-ltinfo))

   This file is not a valid shared library as understood by the
   LIB_DEPENDS logic in When building the port on
   the base system the ncurses port is rebuild every time and
   then the build fails since it is already installed.

2) The port wants the terminfo-db lpackage as a run dependency.
   I can specify it as such, but this does not work in poudriere:

	RUN_DEPENDS= share/terminfo/a/ansi:misc/terminfo-db

   There is not a single executable file in this package, and
   the build fails with:

===>   pmdk-1.12.0 depends on executable: share/terminfo/a/ansi - not found
===>   Installing existing package /packages/All/terminfo-db-20210816.pkg
[P_13_1_amd64-default] Installing terminfo-db-20210816...
[P_13_1_amd64-default] Extracting terminfo-db-20210816: .......... done
===>   pmdk-1.12.0 depends on executable: share/terminfo/a/ansi - not found

   I need to specify the run dependency, but RUN_DEPENDS works only
   if the file tested in the dependency is executable, and none exists
   in terminfo-db.

These two issues prevent building on the base system due to 1) and
building in poudriere due to 2).

Any ideas how to work around these two issues?

Regards, STefan