|
|
| Line 1: |
Line 1: |
| | == Haskell on Arch Linux == | | == Haskell on Arch Linux == |
| | | | |
| - | Goals:
| + | Guidelines, and community info, for Haskell on Arch Linux is maintained [http://wiki.archlinux.org/index.php/Haskell_package_guidelines on the Arch Linux wiki] |
| | | | |
| - | * all hackage packages into AUR or community.
| |
| - | * automatic conversion of new cabal packages to AUR packages
| |
| - | * make Arch Linux the most up to date Haskell platform around
| |
| - |
| |
| - | === Community ===
| |
| - |
| |
| - | #arch-haskell on freenode.
| |
| - |
| |
| - | === Guidelines ===
| |
| - |
| |
| - | We're working on a tool to automate PKGBUILD generation.
| |
| - |
| |
| - | * darcs get http://code.haskell.org/~dons/code/cabal2arch
| |
| - |
| |
| - | Or:
| |
| - |
| |
| - | * cabal install cabal2arch
| |
| - |
| |
| - | ====Libraries ====
| |
| - |
| |
| - | In general, each .cabal file should map to one PKGBUILD. The following conventions hold:
| |
| - |
| |
| - | * libraries have their cabal names prefixed with "haskell-"
| |
| - | * all haskell dependencies are statically linked, so can go in the makdepends field.
| |
| - | * all libraries have a dependency on 'ghc'
| |
| - |
| |
| - | Registering Haskell libraries is done via a register hook:
| |
| - |
| |
| - | <haskell>
| |
| - | build() {
| |
| - | cd $startdir/src/cabal2arch-0.1
| |
| - | runhaskell Setup configure --prefix=/usr || return 1
| |
| - | runhaskell Setup build || return 1
| |
| - | runhaskell Setup register --gen-script || return 1
| |
| - | runhaskell Setup unregister --gen-script || return 1
| |
| - | install -D -m744 register.sh $startdir/pkg/usr/share/haskell/$pkgname/register.sh
| |
| - | install -m744 unregister.sh $startdir/pkg/usr/share/haskell/$pkgname/unregister.sh
| |
| - | runhaskell Setup copy --destdir=$startdir/pkg || return 1
| |
| - | install -D -m644 LICENSE $startdir/pkg/usr/share/licenses/$pkgname/LICENSE || return 1
| |
| - | }
| |
| - | </haskell>
| |
| - |
| |
| - | ====Executables ====
| |
| - |
| |
| - | * Have their normal name
| |
| | [[Categories:Community]] | | [[Categories:Community]] |