Arch Linux
From HaskellWiki
(Difference between revisions)
(→Community) |
|||
| Line 3: | Line 3: | ||
=== Community === | === Community === | ||
| - | #arch-haskell on freenode. | + | #arch-haskell on freenode. |
| + | === Guidelines === | ||
| + | |||
| + | We're working on a tool to automate PKGBUILD generation. | ||
| + | |||
| + | * darcs get [http://code.haskell.org/~dons/code/cabal2arch 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]] | ||
Revision as of 03:44, 12 June 2008
Contents |
1 Haskell on Arch Linux
1.1 Community
#arch-haskell on freenode.
1.2 Guidelines
We're working on a tool to automate PKGBUILD generation.
- darcs get cabal2arch
1.2.1 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:
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 }
1.2.2 Executables
- Have their normal name
