Skip to content

Package management with Cabal

Adam Bergmark edited this page Feb 27, 2014 · 6 revisions

Fay has support for cabal packages. The Fay sources are listed as data-files in their package's .cabal so that they can be accessed when dependents compile their code.

If you are writing a package you can check out fay-jquery's .cabal to get started.

When using a Fay package you can use the --package flag and Fay will try to find the appropriate source directories.

fay --package fay-text,fay-jquery MyFile.hs

If you haven't installed the package, or you have a non-standard cabal setup you can use the --include flag to point Fay to the right location instead of using --package.

fay --include ~/.cabal/share/fay-jquery-0.3.0.0/src

or if you didn't cabal install the package:

fay --include ~/repos/fay-jquery/src

You do not need to include fay-base, it is done implicitly. If you need to specify a custom path to it you can use the --base-path flag.

Sandboxes are supported, please see Installing-and-running#wiki-sandboxes for more information.

Related discussion: #114