2015-10-19 1 views
4

У меня есть проект с несколькими пакетами stack, где «multi-package» равен zip-conduit-0.2.2.2 (мне нужно было настроить некоторые версии зависимостей, чтобы получить его для компиляции с помощью nightly-2015-10-12).Стек: как я могу использовать зависимость нескольких пакетов в `Setup.hs`?

Я использую zip-conduit в основном пакете, и я также хочу в Setup.hs, чтобы иметь возможность упаковывать ZIP-файлы.

У меня есть build-type: Custom в моем файле и stack build пытается построить Setup.hs. Проблема в том, что здание Setup.hs не может найти зависимость zip-conduit-0.2.2.2.

Могу ли я использовать многопакетную зависимость в Setup.hs? Если да, то как? а если нет, то какова моя альтернатива?

Примечание: Я видел эту ссылку https://github.com/commercialhaskell/stack/pull/899, но я не понимаю.

ответ

4

Похоже, вы должны установить для параметра значение true для этого пакета. К сожалению, Stack не может справиться с этой ситуацией автоматически, но без информации о зависимостях в файлах .cabal, похоже, альтернативы нет.

См. Связанные проблемы из документации, если вы заинтересованы в истории здесь.

+0

Отлично, спасибо. – helpwithhaskell

0

Я не думаю, что можно объявить зависимости пакетов для самой Setup.hs.

Некоторые идеи:

  • Требовать, которые уже были установлены зависимые пакеты.

  • Имейте Setup.hs, чтобы выполнить внешнюю команду для выполнения zipping и просто потребовать, чтобы внешняя команда существовала.

  • Сделать программу установщика дополнительной целью exe в файле cabal. Прежде чем приступить к сборке библиотеки, Setup.hs может создать целевую программу программы-установщика, затем собрать библиотеку, а затем использовать встроенный установщик exe для установки библиотеки.

 Смежные вопросы

  • Нет связанных вопросов^_^