2010-04-06 15 views
6

Haskell kütüphanesini diğer programcılarla paylaşmanın standart yolu, bir Cabal paketi oluşturmak ve http://hackage.haskell.org'a yüklemektir. Paylaşmak istediğim bir kitaplık yazdım ve Kabalık dosyaları oluşturmak için çevrimiçi yönergeleri kullanarak bir Cabal paketini başarıyla oluşturdum. Paketi kurdum ve yerel olarak kurdum — iyi çalışıyor. Şimdi onu Hackage'a yüklemek istiyorum. Ancak cabal upload, bir .tar.gz dosyası istiyor. Cabal belgelerine sahip reams vardır ve buna .tar.gz 'ye ne yazacağımı ya da onu nasıl oluşturmam gerektiğini tahmin edemiyorum.“cabal upload” ile kullanmak için uygun bir .tar.gz dosyası nasıl oluşturulur?

cabal upload ile nerede çalışacağını, nerede bulabileceğimi, nasıl bir .tar.gz oluşturacağını kim bilir? the wiki itibaren

+0

Bir oy kapatmak için? Bu konuyla ilgili * çok * ... – Thomas

+1

@Thomas: 3x'ine sahip olan bir postere şaka mı yapıyorsun? Ciddi anlamda?! :-P Yaşlılara şimdiden yay! : -P –

+0

Ciddi oldum. Bu kesinlikle programlama ile ilgili bir sorudur ve birisinin konu dışı olarak kapanmasına oy vermiş olduğunu görünce şaşırdım. Ayrıca ben de eğiyorum. – Thomas

cevap

12

: Kod cabalised olduğundan

, doğrudan Cabal yükleyin ile bir tarball oluşturabilir (ayrıca Setup.hs Sdist runhaskell kullanabilirsiniz, ancak sisteminizde 1 üzerinde tar gerekir):

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

Bu

Cabal biraz daha denetimi yapmak ve arşivini HackageDB beklediğini yapıya sahip olmasını sağlayacaktır avantajına sahiptir. LICENSE dosyasının var olmasını gerektirdiğini unutmayın. Projeyi oluşturmak için gereken dosyaları paketler;

extra-source-files: Tests.hs README 

.cabal dosyaya herşey dahil olması: (yukarıdaki örnekte yer alan Test.hs ve bizim README gibi) diğer dosyaları dahil etmek, biz eklemeniz gerekir.

+0

Mükemmel! Teşekkürler. Özellikle ekstra-kaynak dosyaları etiketi için! –

4

Yoksa Darcs kullanıyorsanız,

darcs dist 

Not cabal sdist sadece .cabal dosyasında listelenen dosyaları almak olacaktır, bu nedenle kontrol edebilirsiniz extra-source-files:

altında OKUBENı'leri vb eklemeniz gerekebilir o Hackage'ın çalışacağı aynı testleri gerçekleştiren

ile geçerli bir katranız var.

+0

Söyle, neden hiç soru sormadın? – SamB

+3

Dons. O her şeyi biliyor. – Thomas

+0

darcs. rrrrrrr. Ama 'cabal check' için teşekkürler! –

İlgili konular