Question

La méthode standard pour partager une bibliothèque Haskell avec d'autres programmeurs est de créer un package Cabal et le télécharger http: // hackage .haskell.org . J'ai écrit une bibliothèque que je souhaite partager, et J'ai créé avec succès un paquet Cabal en utilisant les directives en ligne pour la création de fichiers cabale. Je l'ai construit le paquet et installé localement fonctionne très bien. Maintenant, je veux télécharger à Hackage. Mais cabal upload veut un fichier tar.gz. Il y a ramettes de la documentation Cabal, et je ne peux pas trouver ce qui est censé aller dans ce tar.gz ou comment je suis censé créer.

Qui sait ou sait où je peux trouver, comment créer un tar.gz qui fonctionnera correctement avec cabal upload?

Était-ce utile?

La solution

le wiki :

Étant donné que le code est cabalised, nous pouvons créer un paquet avec cabale installer directement (vous pouvez aussi utiliser runhaskell Setup.hs sdist, mais vous avez besoin de goudron sur votre système 1 ):

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

Ceci a l'avantage que Cabal fera un peu plus le contrôle, et faire en sorte que le tarball a la structure qui HackageDB attend. Notez qu'il nécessite le fichier de licence d'exister. Il empaquette les fichiers nécessaires à la construction du projet; d'inclure d'autres fichiers (tels que Test.hs dans l'exemple ci-dessus, et notre README), nous devons ajouter:

extra-source-files: Tests.hs README

au fichier .cabal d'avoir tout compris.

Autres conseils

Ou si vous utilisez darcs,

darcs dist

Notez que cabal sdist ne partirai fichiers répertoriés dans le fichier de .cabal, de sorte que vous pourriez avoir besoin d'ajouter README etc sous extra-source-files:

Vous pouvez vérifier que vous avez une archive tar valide avec

cabal check

qui exécute les mêmes tests que Hackage courra.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top