cabal-rpm - Man Page

a RPM packaging tool for Haskell Cabal packages


cabal-rpm [options] spec [path-or-pkg]

cabal-rpm [options] local [path-or-pkg]

cabal-rpm [options] srpm [path-or-pkg]

cabal-rpm [options] prep [path-or-pkg]

cabal-rpm [options] builddep [path-or-pkg]

cabal-rpm [options] install [path-or-pkg]

cabal-rpm [options] depends [path-or-pkg]

cabal-rpm [options] requires [path-or-pkg]

cabal-rpm [options] missingdeps [path-or-pkg]

cabal-rpm [options] diff [path-or-pkg]

cabal-rpm [options] update [path-or-pkg]

cabal-rpm [options] refresh [path-or-pkg]


cabal-rpm generates RPM packages and .spec files from Haskell Cabal package.

If no path-or-pkg is specified, cabal-rpm looks for a .spec or .cabal file in the current directory. Otherwise, it will look for path-or-pkg. If the argument is a directory then it will look there for a .spec or .cabal file. If the argument is a path to a .cabal file then it will use it. Otherwise if there is no `/' in the argument and it does not exist then cabal-rpm will try to unpack the package and use its .cabal file. cabal-rpm uses a temporary directory for unpackaging tarballs or packages. cabal-rpm then parses the .cabal file and uses it to generate a .spec file that can be built.

If a .spec already exists, cabal-rpm outputs to .spec.cblrpm instead.


-h, –help

Show the help text.

-b, –binary

Force the base package name to be the Hackage package name.

-f FLAGS, –flags=FLAGS

Override one or more Cabal build configuration flags.


overwrite existing spec file


comment out unavailable BuildRequires deps


Override the release number in the .spec file.


create a standalone package, built using cabal-install

-s STREAM , –stream=STREAM

Stackage stream (eg lts-13) or `hackage' used to get package version.

-v N, –verbose=N

Set verbosity to N.


Override the version number in the .spec file.


Below CMD can be one of: spec, srpm, prep, local, install, diff, builddep, depends, requires, missingdeps, update, refresh

Do CMD for the package in current directory:

cabal-rpm CMD

Do CMD for package (directory or package name):

cabal-rpm CMD [package]

Do CMD for package-version (directory or package name):

cabal-rpm CMD [package-version]

Do CMD on a .cabal file:

cabal-rpm CMD path/to/some.cabal


Cabal-rpm was originally written by Bryan O’Sullivan in 2007-2008 and resurrected by Jens Petersen in 2012 to replace cabal2spec.

See Also



This manpage was written by Jens Petersen.

Referenced By

The man page cblrpm(1) is an alias of cabal-rpm(1).