Как мне создать подходящий файл .tar.gz для использования с `cabal upload`?
-
24-09-2019 - |
Вопрос
Стандартный способ поделиться библиотекой Haskell с другими программистами - создать пакет Cabal и загрузить его на http://hackage.haskell.org.. Отказ Я написал библиотеку, которую хочу поделиться, и я успешно создал пакет Cabal, используя руководящие принципы онлайн для создания файлов Cabal. Я построил пакет и установил его локально - отлично работает. Теперь я хочу загрузить его в заработок. Но cabal upload
Хочет файл .tar.gz. Есть ремень Cabal Documentation, и я не могу найти, что должно войти в этот .tar.gz или как я должен создать его.
Кто знает или знает, где я могу узнать, как создать .tar.gz, который будет работать должным образом с cabal upload
?
Решение
От вики:
Поскольку код CABALIFED, мы можем создать тарбол с установкой Cabal-Install (вы также можете использовать SDISt runchaskell setup.hs, но вам нужна tar в вашей системе 1):
$ cabal sdist
Building source dist for haq-0.0...
Source tarball created: dist/haq-0.0.tar.gz
Это имеет преимущество, что Cabal сделает немного больше, и гарантирует, что тарлбол имеет структуру, которая ожидает, что HackagedB ожидает. Обратите внимание, что это требует существующего файла лицензий. Он упаковывает файлы, необходимые для создания проекта; Чтобы включить другие файлы (например, test.hs в приведенном выше примере, а наше readme), нам нужно добавить:
extra-source-files: Tests.hs README
к .cabal файл, чтобы все включено.
Другие советы
Или если вы используете darcs,
darcs dist
Обратите внимание, что cabal sdist
будет только подбирать файлы, перечисленные в .cabal
файл, так что вам может потребоваться добавить readmes etc под extra-source-files:
Вы можете проверить у вас действительный тарбол с
cabal check
который запускается те же тесты, которые зарабатывают заработок.