Creating Debian packages from Cabal package
(Separating packaging of libraries and programs (no info on the latter though), and some beautification)
Revision as of 18:33, 18 October 2008
1 Packaging a Cabal library package in 10 easy steps
This process requires the haskell-utils package.
- wget http://hackage.haskell.org/packages/archive/mtl/1.0/mtl-1.0.tar.gz -O haskell-mtl_1.0.1.orig.tar.gz
- tar -zxf haskell-mtl_1.0.1.orig.tar.gz
- cd mtl-1.0
- mkdir -p debian/varfiles
- Create debian/varfiles/varfile with your favorite editor:
maintainer="Ian Lynagh (wibble) <email@example.com>" short_description="Haskell monad transformer library for GHC" long_description=" MTL is a monad transformer library, inspired by the paper \"Functional Programming with Overloading and Higher-Order Polymorphism\", by Mark P Jones (<http://www.cse.ogi.edu/~mpj/>), Advanced School of Functional Programming, 1995." c_dev_libs="" extra_build_deps=""(Pay attention to the leading space in long_description. It's necessary due to the format of Debian's control file.)
- Create debian/copyright with your favorite editor:
Debianised by ... Author ... Copyright: BSD ... /usr/share/common-licenses/BSD ... EOF
- dch --create -D unstable --package haskell-mtl --newversion 1.0.1-1
- debian/rules update-generated-files
- debuild -us -uc
With luck the .cabal file will provide most of the text for steps 5 and 6.
When making future changes, apart from adding a changelog entry (use dch), only steps 9 and 10 need to be repeated.
Please subscribe to the debian-haskell mailling-list if you are interested in creating new Haskell packages for Debian.
2 Packaging a Cabal program package in N easy steps