cabal-rpm: RPM packaging tool for Haskell Cabal-based packages

[ distribution, gpl, program ] [ Propose Tags ]

This package generates RPM packages from Haskell Cabal packages.

  • cblrpm spec: create .spec file from a hackage

  • cblrpm srpm: create source rpm package

  • cblrpm local: build binary rpm package, installing depends with yum

  • cblrpm prep: unpack package source

  • cblrpm builddep: yum install depends

  • cblrpm install: yum install or rpmbuild depends and package

  • cblrpm depends: list hackage dependencies

  • cblrpm requires: list package dependencies

  • cblrpm missingdeps: list uninstalled dependencies

  • cblrpm diff: diff current spec file with newly generated one


[Skip to Readme]

Downloads

Versions [RSS] 0.2, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.3.1, 0.3.2, 0.3.3, 0.4, 0.5, 0.5.1, 0.6.0, 0.6.1, 0.6.2, 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.7.0, 0.7.1, 0.8.0, 0.8.1, 0.8.2, 0.8.3, 0.8.4, 0.8.5, 0.8.6, 0.8.7, 0.8.8, 0.8.9, 0.8.10, 0.8.11, 0.9, 0.9.1, 0.9.2, 0.9.3, 0.9.4, 0.9.5, 0.9.5.1, 0.9.6, 0.9.7, 0.9.8, 0.9.9, 0.9.10, 0.9.11, 0.10.0, 0.10.1, 0.11, 0.11.1, 0.11.2, 0.12, 0.12.1, 0.12.2, 0.12.3, 0.12.4, 0.12.5, 0.12.6, 0.13, 0.13.1, 0.13.2, 0.13.3, 1.0.1, 1.0.2, 1.0.3, 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.5.1, 2.0.6, 2.0.7, 2.0.8, 2.0.9, 2.0.10, 2.0.11, 2.0.11.1, 2.1.0, 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.2.0 (info)
Change log ChangeLog
Dependencies base (<5), Cabal (>1.10 && <1.21), directory, filepath, old-locale, process, time, unix [details]
License GPL-3.0-only
Copyright 2007-2008 Bryan O'Sullivan <bos@serpentine.com>, 2012-2014 Jens Petersen <petersen@fedoraproject.org>
Author Jens Petersen <juhp@community.haskell.org>, Bryan O'Sullivan <bos@serpentine.com>
Maintainer Jens Petersen <petersen@fedoraproject.org>
Category Distribution
Home page https://github.com/juhp/cabal-rpm
Bug tracker https://github.com/juhp/cabal-rpm/issues
Source repo head: git clone https://github.com/juhp/cabal-rpm
Uploaded by JensPetersen at 2014-07-17T13:53:17Z
Distributions Fedora:2.1.3, LTSHaskell:2.1.5, NixOS:2.1.5, Stackage:2.2.0
Reverse Dependencies 1 direct, 0 indirect [details]
Executables cblrpm
Downloads 60611 total (217 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2015-05-24 [all 9 reports]

Readme for cabal-rpm-0.9

[back to package description]

Build Status Hackage

cabal-rpm

cabal-rpm is a tool for RPM packaging of Haskell Cabal-based packages. It interacts with yum to install build dependencies and can also act as a cabal-install wrapper installing dependencies packaged in Fedora before running "cabal install".

Cabal-rpm was originally created by Bryan O'Sullivan (see README.orig) but has since been updated to work with current Cabal and Fedora Packaging Guidelines replacing cabal2spec. It is used by Fedora and (patched) OpenSuSE. It is licensed under the terms of the GPL version 3 (see the COPYING file).

You can build from source as normal by running cabal install or via Hackage with cabal install cabal-rpm.

Requirements

cabal-rpm assumes you are using ghc-rpm-macros for Haskell RPM packaging. It currently needs Cabal 1.10 or later to build (ie ghc7), but it should not be hard to patch it to build at least for ghc-6.12.

Installation

The package is on Hackage. If you have cabal-install (part of Haskell Platform) you can install simply with

$ cabal install cabal-rpm

Usage

To create a .spec file for a Haskell src package in the current dir:

$ cblrpm spec

or directly on a .cabal file:

$ cblrpm spec path/to/mypkg.cabal

or tarball:

$ cblrpm spec path/to/mypkg-version.tar.gz

or on a package source dir:

$ cblrpm spec mypkg-0.1

You can also package directly from hackage:

$ cblrpm srpm somepkg

or

$ cblrpm local somepkg-0.1

will unpack the (latest) 'somepkg' package from hackage (if the dir does not exist, otherwise it uses the existing dir), create a spec file for it, and build it.

cblrpm creates .spec files in the current dir and if a .spec file already exists it will append .cblrpm to the generated filename to avoid overwriting an existing file.

$ cblrpm install [pkg][-ver]

will yum install available missing dependencies and run "cabal install" to build the package.

Development

The latest source code is available from: https://github.com/juhp/cabal-rpm

Plans

More features are planned and patches welcome. See the TODO file for more details.