Pregunta

La forma estándar para compartir una biblioteca de Haskell con otros programadores es crear un paquete de Cabal y subirlo a http: // hackage .haskell.org . He escrito una biblioteca Deseo compartir y He creado con éxito un paquete de Cabal en línea utilizando las directrices para la creación de archivos de Cabal. He construido el paquete y lo instalé bien localmente fábrica. Ahora quiero subirlo a Hackage. Pero cabal upload quiere un archivo .tar.gz. Hay resmas de la documentación de Cabal, y no puedo encontrar lo que se supone que debe ir en esta .tar.gz o cómo se supone que debo crearlo.

¿Quién sabe, o sabe donde puedo encontrar a cabo, cómo crear un .tar.gz que funcione correctamente con cabal upload?

¿Fue útil?

Solución

el wiki :

Dado que el código se cabalised, podemos crear un fichero con Cabal a instalar directamente (también se puede utilizar runhaskell Setup.hs sdist, pero se necesita alquitrán en su sistema 1 ):

$ cabal sdist
Building source dist for haq-0.0...
Source tarball created: dist/haq-0.0.tar.gz

Esto tiene la ventaja de que Cabal hará un poco más de cheques, y asegurarse de que el paquete de archivos tiene la estructura que HackageDB espera. Tenga en cuenta que se requiere el archivo de licencia de existir. Empaqueta los archivos necesarios para construir el proyecto; para incluir otros archivos (como Test.hs en el ejemplo anterior, y nuestra README), tenemos que añadir:

extra-source-files: Tests.hs README

en el fichero de .cabal tener todo incluido.

Otros consejos

O si usted está usando darcs,

darcs dist

Tenga en cuenta que cabal sdist sólo se transmiten los archivos listados en el archivo .cabal, por lo que puede que tenga que añadir READMEs otro tipo conforme extra-source-files:

Se puede comprobar usted tiene un archivo tar válido con

cabal check

que ejecuta las mismas pruebas que Hackage se ejecutará.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top