packages feed

cabal-sort-0.0.1: cabal-sort.cabal

Name:             cabal-sort
Version:          0.0.1
License:          BSD3
License-File:     LICENSE
Author:           Henning Thielemann <haskell@henning-thielemann.de>
Maintainer:       Henning Thielemann <haskell@henning-thielemann.de>
-- Homepage:         http://www.haskell.org/haskellwiki/Cabal
Category:         Distribution
Synopsis:         Topologically sort cabal packages
Description:
  If you have a bunch of packages you may want to compile or recompile,
  then you need an order of compilation that meets the dependencies.
  Given a number of cabal package files,
  this program reads all those files
  and emits them topologically sorted according to their dependencies.
  This way you can compile many packages at once,
  say if a very low-level package has changed.
  .
  For compiling a couple of packages from their local darcs repositories
  in the right order, you may run something like
  .
  > for dir in `find . -name "*.cabal" | fgrep -v _darcs | xargs cabal-sort --info=dir`; do (cd $dir && cabal install); done
  .
  For uploading a set of packages to Hackage in the right order
  you may run
  .
  > for dir in `find . -name "*.cabal" | fgrep -v _darcs | xargs cabal-sort --info=dir`; do (cd $dir && rm dist/*.tar.gz && cabal sdist && cabal upload dist/*.tar.gz); done
  .
  Problem: Given packages A, B, C,
  where C depends on B and B depends on A,
  and you call
  .
  > cabal-sort C.cabal A.cabal
  .
  then the emitted order of packages may be wrong,
  because cabal-sort does not get to know the dependency of C on B.
  Even if the order is correct,
  B.cabal is missing in the output
  and thus the list of cabal files cannot immediately be used
  for a sequence of cabal-install runs.
Tested-With:       GHC==6.10.4
Cabal-Version:     >=1.6
Build-Type:        Simple
Source-Repository head
  type:     darcs
  location: http://code.haskell.org/~thielema/cabal-sort/

Source-Repository this
  type:     darcs
  location: http://code.haskell.org/~thielema/cabal-sort/
  tag:      0.0.1


Executable cabal-sort
  Build-Depends:
    Cabal >=1.6 && <1.10,
    fgl >=5.4.2 && <5.5,
    directory >=1 && <1.1,
    filepath >=1.1 && <1.2,
    containers >=0.2 && <0.4,
    explicit-exception >=0.1.4 && <0.2,
    transformers >=0.2 && <0.3,
    base >=2 && <5

  GHC-Options:      -Wall
  Hs-source-dirs:   src
  Main-Is:          Main.hs