Это на самом деле следующий вопрос: How can I tell Cabal which dependency to use?.Как я могу указать cabal указать зависимость для одной из зависимостей моей программы?
Пакет haskell-src-meta
имеет две зависимости:
template-haskell >=2.7 && <2.9,
template-haskell >=2.4 && <2.7
и template-haskell 2.7
не будет строить на моей системе. Я знаю, что решение это:
cabal install --constraint="template-haskell == 2.5.0.0" haskell-src-meta
Однако, теперь я хочу, чтобы написать свой собственный файл междусобойчик для программного обеспечения я написал, что есть эта зависимость. Это, кажется, не достаточно иметь:
Build-depends: template-haskell-2.5.0.0
Вместо этого, я на самом деле хочу сказать, что haskell-src-meta
является построить зависимость, но дальше сказать междусобойчик, что он должен установить эту зависимость с той же constraint
указанной выше. Есть ли способ сделать это?
Возможно, хотя стыдно, что нужно пропустить это для всех (воображаемых) пользователей, которые устанавливают мое программное обеспечение. Я бы предпочел, чтобы они только набрали 'cabal install my-app' и могли испечь эту зависимость' template-haskell' в моем файле cabal. –
@NoahDaniels Hm. Вы хотите, чтобы другие люди использовали 'template-haskell-2.5.0.0', потому что другие версии' template-haskell' не будут создаваться на вашем компьютере? Это похоже на плохую идею, поскольку люди должны использовать версию 'template-haskell', которая поставляется вместе со своим компилятором, а не пытаться создать другую версию. –
Похоже, что версии 'template-haskell' являются зависимыми от версии' ghc'. То, что я в идеале хотел бы сделать, это версия карты 'ghc' для соответствующей версии' template-haskell' и решить эту проблему. –