2012-08-12 112 views
1

我有一個非Haskell可執行文件(bash腳本),我希望cabal在我的Haskell庫中安裝在~/.cabal/bin中。我怎麼才能用cabal簡單地實現這一點?Cabal:在庫旁邊安裝Bash腳本

編輯:正如我在下面的評論中提到的那樣:專門安裝到~/.cabal/bin並不重要,我只需要腳本在我的庫中可用。

+0

是否必須以'〜/ .cabal/bin'結尾,還是可以從庫中調用它? – 2012-08-12 20:20:24

+0

我沒有得到這個問題,你不能只是'cp path/to/bin-file〜.cabal/bin'嗎? – Tarrasch 2012-08-12 21:20:18

+0

@Tarrasch「...我想_cabal_安裝...」(重點是我的) – 2012-08-12 21:24:36

回答

2

您可以使用cabal的data-files字段來安裝一些額外的文件,然後使用由cabal創建的getDataFileName函數來檢索文件。詳情請見the documentationthis blog post

+0

儘管如此,二進制可執行文件通常不應該作爲數據文件存儲。 – dflemstr 2012-08-13 02:15:15

+0

@dflemstr確實,'data-files'似乎是用於靜態內容(例如圖片)。但是,如果是這樣的話,應該如何安裝可執行文件?在我的情況下,我試圖安裝一個bash腳本。 – Casini 2012-08-13 02:46:18

+0

Cabal通常只構建Haskell可執行文件。您可以編輯Setup.hs以在Cabal外部添加其他構建步驟。 – dflemstr 2012-08-13 09:18:45