Как я создаю подходящий .tar.gz файл для использования с 'загрузкой интриги'?

Стандартный способ совместно использовать библиотеку Haskell с другими программистами состоит в том, чтобы создать пакет Интриги и загрузить его на http://hackage.haskell.org. Я записал библиотеку, которую я хочу совместно использовать, и я успешно создал пакет Интриги с помощью инструкций онлайн для создания файлов интриги. Я создал пакет и установил его локально — хорошо работает. Теперь я хочу загрузить его на Hackage. Но cabal upload хочет .tar.gz файл. Существуют стопки документации Интриги, и я не могу найти то, что, как предполагается, входит в этот .tar.gz или как я, как предполагается, создаю его.

Кто знает или знает, где я могу узнать, как создать .tar.gz, который будет работать правильно с cabal upload?

7
задан Norman Ramsey 6 April 2010 в 19:46
поделиться

2 ответа

Из вики :

Поскольку код каббализирован, мы можем создать архив с помощью 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, чтобы все было включено.

12
ответ дан 6 December 2019 в 12:47
поделиться

Или, если вы используете darcs,

darcs dist

Обратите внимание, что cabal sdist будет получать только файлы, перечисленные в файле .cabal , поэтому вам может потребоваться добавить README и т. Д. в extra-source-files:

Вы можете проверить, что у вас есть действующий архив, с помощью

cabal check

, который запускает те же тесты, что и Hackage.

4
ответ дан 6 December 2019 в 12:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: