packages feed

cabal-dev-0.9.2: cabal-dev.cabal

Name:                cabal-dev
Version:             0.9.2
Synopsis:            Manage sandboxed Haskell build environments

Description:         cabal-dev is a tool for managing development builds of
                     Haskell projects. It supports maintaining sandboxed
                     cabal-install repositories, and sandboxed ghc package
                     databases.
                     .
                     By default, it uses a cabal-dev directory under
                     the current working directory as the sandbox.
                     .
                     For most packages, just use @cabal-dev@ instead of
                     @cabal@, and you will get a sandboxed build that
                     will not install anything (even automatically installed
                     dependencies) into the user or global ghc package
                     databases.
                     .
                     If your build depends on patched or unreleased libraries,
                     you can add them to your sandboxed build environment by 
                     installing them to the sandbox directly:so
                     .
                     > cd /path/to/dependency
                     > cabal-dev install --sandbox=/path/to/sandbox
                     .
                     Then build your library/application with the specified
                     sandbox.
                     .
                     .
                     Additional documentation can be found in the README.md on
                     github:
                     .
                     <http://github.com/creswick/cabal-dev/blob/master/README.md>

License:             BSD3
License-file:        LICENSE
Author:              Josh Hoyt, Jonathan Daugherty, Rogan Creswick
Maintainer:          joshhoyt@gmail.com, jtd@galois.com, creswick@galois.com
Homepage:            http://github.com/creswick/cabal-dev
Bug-Reports:         http://github.com/creswick/cabal-dev/issues
Copyright:           2010-2013 Galois, Inc.
Category:            Development
Build-type:          Custom
Cabal-version:       >=1.6
Data-Files:
  admin/cabal-config.in,
  admin/00-index.tar
Tested-with: GHC == 7.4.1, GHC == 7.6.1

source-repository head
  type:        git
  location:    git://github.com/creswick/cabal-dev.git

Flag no-cabal-dev
  Description: Do not build cabal-dev (just build ghc-pkg-6_8-compat).
               This is useful for bootstrapping on GHC 6.8.
  Default: False

  -- Don't try to flip this flag when looking for a
  -- satisfiable configuration for this package
  Manual: True

Flag build-tests
  Description: Build and install the test executable
  Default: False
  Manual: True

Executable cabal-dev
  HS-Source-Dirs: src
  Main-is: Main.hs
  GHC-Options: -Wall
  Extensions: TemplateHaskell

  if flag(no-cabal-dev)
    Buildable: False
  else
    if impl(ghc >= 6.10)
      Build-depends:
        base >= 4 && < 5
    else
      Build-depends:
        base >= 3 && < 4

    -- Containers 0.2 did not specify a constraint on base, so we
    -- avoid using it:
    if impl(ghc >= 6.12)
      Build-depends:
        containers >= 0.3 && < 0.6

    -- Require this specific version that came with GHC 6.10 because
    -- of packaging problems with containers-0.2
    if impl(ghc == 6.10)
      Build-depends:
        containers == 0.2.0.1

    if impl(ghc == 6.8)
      Build-depends:
        containers == 0.1.0.2

    if impl(ghc >= 7.6.1)
      CPP-Options: -DNO_PRELUDE_CATCH

    Build-depends:
      bytestring >= 0.9 && < 0.11,
      directory >= 1.0 && < 1.3,
      filepath >= 1.1 && < 1.4,
      Cabal >= 1.10.0.0 && < 1.17,
      HTTP >= 4000.0.9 && < 4000.3,
      mtl >= 1.1 && < 2.2,
      network >= 2.2 && < 2.5,
      pretty >= 1.0 && < 1.2,
      process >= 1.0 && < 1.2,
      tar >= 0.4 && < 0.5,
      zlib >= 0.5 && < 0.6,
      transformers >= 0.2 && < 0.4,
      setenv == 0.1.*,

      -- Template haskell is special: the compiler will die if a
      -- version other than the one that is shipped with the compiler
      -- is used. Here, we don't constrain the version and hope that
      -- there will be only one.
      template-haskell

  if os(windows)
     build-depends: Win32 >= 2.1  && < 2.4

  Build-tools:
    cabal >= 0.8.2

  Other-modules:
    Distribution.Dev.AddSource,
    Distribution.Dev.BuildOpts,
    Distribution.Dev.CabalInstall,
    Distribution.Dev.Command,
    Distribution.Dev.Flags,
    Distribution.Dev.Ghci,
    Distribution.Dev.GhcPkg,
    Distribution.Dev.GhcArgs,
    Distribution.Dev.InitPkgDb,
    Distribution.Dev.InstallDependencies,
    Distribution.Dev.InterrogateCabalInstall,
    Distribution.Dev.InvokeCabal,
    Distribution.Dev.MergeCabalConfig,
    Distribution.Dev.RewriteCabalConfig,
    Distribution.Dev.Sandbox,
    Distribution.Dev.TH.DeriveCabalCommands,
    Distribution.Dev.Utilities

Executable ghc-pkg-6_8-compat
  Main-is: GhcPkgCompat.hs
  Build-Depends:
    base < 5,
    Cabal >=1.2 && < 1.17,
    process >= 1.0 && < 1.2

  GHC-Options: -Wall
  HS-Source-Dirs: src

Executable cabal-dev-test
  Main-is: RunTests.hs
  GHC-Options: -Wall
  HS-Source-Dirs: src, test
  if flag(no-cabal-dev) || !flag(build-tests)
    Buildable: False
  else
    if impl(ghc >= 6.10)
      Build-depends:
        base >= 4 && < 5
    else
      Build-depends:
        base >= 3 && < 4

    Build-depends:
      MonadRandom >= 0.1 && < 0.2,
      random >= 1 && < 1.1,
      test-framework >= 0.3 && < 0.9,
      test-framework-hunit >= 0.2,
      HUnit >= 1.2 && <2

  if os(windows)
     build-depends: Win32 >= 2.1  && < 2.4


Executable fake-ghc-cabal-dev
  HS-Source-Dirs: src/
  Build-depends: base
  Main-is: FakeGhc.hs