Стандартный способ совместно использовать библиотеку Haskell с другими программистами состоит в том, чтобы создать пакет Интриги и загрузить его на http://hackage.haskell.org. Я записал библиотеку, которую я хочу совместно использовать, и я успешно создал пакет Интриги с помощью инструкций онлайн для создания файлов интриги. Я создал пакет и установил его локально — хорошо работает. Теперь я хочу загрузить его на Hackage. Но cabal upload
хочет .tar.gz файл. Существуют стопки документации Интриги, и я не могу найти то, что, как предполагается, входит в этот .tar.gz или как я, как предполагается, создаю его.
Кто знает или знает, где я могу узнать, как создать .tar.gz, который будет работать правильно с cabal upload
?
Из вики :
Поскольку код каббализирован, мы можем создать архив с помощью cabal-install напрямую (вы можете также используйте runhaskell Setup.hs sdist, но вам понадобится tar в вашей системе 1 ):
$ cabal sdist
Building source dist for haq-0.0...
Source tarball created: dist/haq-0.0.tar.gz
Это имеет то преимущество, что Cabal выполнит немного больше проверок и обеспечит структуру tarball, аналогичную HackageDB надеется. Обратите внимание, что для этого требуется наличие файла LICENSE. Он упаковывает файлы, необходимые для сборки проекта; чтобы включить другие файлы (такие как Test.hs в приведенном выше примере и наш README), нам нужно добавить:
extra-source-files: Tests.hs README
в файл .cabal, чтобы все было включено.
Или, если вы используете darcs,
darcs dist
Обратите внимание, что cabal sdist
будет получать только файлы, перечисленные в файле .cabal
, поэтому вам может потребоваться добавить README и т. Д. в extra-source-files:
Вы можете проверить, что у вас есть действующий архив, с помощью
cabal check
, который запускает те же тесты, что и Hackage.