Difference between revisions of "Arch Linux"
Jump to navigation
Jump to search
DonStewart (talk | contribs) |
DonStewart (talk | contribs) |
||
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
Haskell on Arch Linux
Community
#arch-haskell on freenode.
Guidelines
We're working on a tool to automate PKGBUILD generation.
- darcs get 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:
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
}
Executables
- Have their normal name