Domanda

Il metodo standard per condividere una libreria Haskell con altri programmatori è quello di creare un pacchetto di Cabal e caricarlo su http: // hackage .haskell.org . Ho scritto una libreria che desidero condividere, e Ho creato con successo un pacchetto Cabal utilizzando le linee guida on-line per la creazione di file cabala. Ho costruito il pacchetto e installato localmente funziona bene. Ora voglio caricarlo Hackage. Ma cabal upload vuole un file .tar.gz. Ci sono risme di documentazione Cabal, e non riesco a trovare quello che dovrebbe andare in questo .tar.gz o come dovrei crearla.

Chi lo sa, o sa dove posso trovare, come creare un .tar.gz che funziona correttamente con cabal upload?

È stato utile?

Soluzione

il wiki :

Dato che il codice è cabalised, possiamo creare un tarball con cabala-installare direttamente (si può anche usare runhaskell Setup.hs sdist, ma è necessario un tar sul sistema 1 ):

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

Questo ha il vantaggio che Cabala farà un po 'più di controllo, e garantire che il tarball ha la struttura che HackageDB aspetta. Si noti che richiede il file di licenza esistere. Si confeziona il backup dei file necessari per costruire il progetto; per includere altri file (come ad esempio Test.hs nell'esempio di cui sopra, e la nostra README), abbiamo bisogno di aggiungere:

extra-source-files: Tests.hs README

per il file .cabal di avere tutto incluso.

Altri suggerimenti

Se si sta utilizzando darcs,

darcs dist

Si noti che cabal sdist sarà solo raccogliere i file elencati nel file .cabal, quindi potrebbe essere necessario aggiungere file README ecc sotto extra-source-files:

È possibile verificare che hai un tarball valido

cabal check

che corre gli stessi test che Hackage verrà eseguito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top