В настоящее время вы не можете добавить в файл .cabal зависимость для внешних исполняемых файлов, кроме списка известных инструментов сборки (см. Build-tools: alex, например).
Однако вы можете указать тип сборки: Configure, а затем использовать отдельный скрипт configure для поиска любых дополнительных двоичных файлов (например, скрипт конфигурирования на основе autoconf отлично подходит и может быть использован для установки констант в вашем источнике ).
Обратите внимание, что поиск зависимости во время выполнения - такой как кодировщик lame - во время компиляции может быть плохой идеей, поскольку среды сборки и запуска отличаются во многих системах пакетов. Возможно, лучше было бы динамически искать требуемые двоичные файлы при запуске программы.
Например, hmp3 ищет mpg321 с
mmpg <- findExecutable (MPG321 :: String)
где MPG321 - имя программы, определенное с помощью параметра ./configure. Для получения дополнительной информации см. Пикши:
http://hackage.haskell.org/packages/archive/directory/latest/doc/html/System-Directory.html#v:findExecutable