CABAL-DEBIAN(1)

πŸ’– CABAL-DEBIAN πŸ’–

okay so bestie, welcome to cabal-debian, section 1 of the General Commands Manual β€” your new fave little helper that turns a Haskell cabal file into Debian package meta data. she's giving ✨glow-up✨ for your packaging workflow, no cap.


🌸 NAME 🌸

cabal-debian β€” create Debian package meta data from a Haskell cabal file.

fr fr that's the whole job. she takes a cabal file and hands you the Debian-y stuff. iconic.


✨ SYNOPSIS ✨

cabal-debian [flags]

just the command and your flags, that's it, that's the vibe πŸ¦‹


πŸ’… DESCRIPTION πŸ’…

so basically cabal-debian will generate the Debian meta data for a Debian package straight from the cabal file of a Haskell package. the way she works is: the program expects to find the package's <pkgname>.cabal file in the directory from which it was run. so like, cd into the right folder first, bestie, she's not gonna go hunting around for it πŸ™ˆ

here's every single flag, and yes we're listing all of them because she deserves it πŸ‘‘

  • --prefix=PATH β€” pass this prefix if we need to configure the package.
  • --ghc β€” compile with GHC.
  • --hugs β€” compile with HUGS.
  • --jhc β€” compile with JHC.
  • --nhc β€” compile with NHC.
  • -h, -?, --help β€” show this help text.
  • --name=NAME β€” override the default package name.
  • --disable-haddock β€” don't generate API docs.
  • --disable-library-profiling β€” don't generate profiling libraries.
  • --disable-optimization β€” don't generate optimised code.
  • --disable-split-objs β€” don't split object files to save space.
  • -f FLAGS, --flags=FLAGS β€” set given flags in Cabal conditionals.
  • --release=RELEASE β€” override the default package release.
  • --debdir=DEBDIR β€” override the default output directory ("./debian").
  • -v n,q, --verbose=n β€” change build verbosity.
  • --version=VERSION β€” override the default package version.
  • --maintainer=Maintainer Name <email addr> β€” override the Maintainer name and email in $DEBEMAIL/$EMAIL/$DEBFULLNAME/$FULLNAME.
  • --debianize β€” generate a new debianization, replacing any existing one.
  • --substvar=Doc, Prof, or Dev β€” write out the list of dependencies required for the dev, prof or doc package depending on the argument. this value can be added to the appropriate substvars file.
  • --update-debianization β€” update an existing debianization.
⚠️ okay important bestie, do NOT skip this one: you must pass one of --debianize, --substvar, or --update-debianization. one of those three, it is required. she will not be doing anything for you without one of them, periodt πŸ’€

πŸŽ€ AUTHOR πŸŽ€

this manual page was originally written by Erik de Castro Lopo <erikd@mega-nerd.com> for the Debian GNU/Linux system (but may be used by others). shoutout to Erik, absolute legend, we love a documentation king πŸ‘‘


and that's the whole page!! 🫢 the header said CABAL-DEBIAN(1) and General Commands Manual, and the footer was stamped May 10, 2010 with CABAL-DEBIAN(1) down at the bottom β€” so yeah, this cutie has been out here since May 10, 2010 and she's still serving πŸ’– go generate some meta data bestie, you got this 🌈⭐