cabal-version: >=1.9.2
name: cabal-bounds
version: 1.6.0
license: BSD3
license-file: LICENSE
maintainer: daniel.trstenjak@gmail.com
author: Daniel Trstenjak
tested-with: ghc ==7.6.2 ghc ==7.6.3 ghc ==7.8.3 ghc ==7.10.1
             ghc ==8.0.1 ghc ==8.2.1 ghc ==8.4.2
synopsis: A command line program for managing the bounds/versions of the dependencies in a cabal file.
description:
    A command line program for managing the bounds/versions of the dependencies in a cabal file.
    .
    'cabal-bounds' is able to do these things with the bounds of the dependencies in the cabal file:
    .
    * drop them
    .
    * update them by the library versions of the current cabal build
    .
    * update them by the library versions of a haskell platform release
    .
    * update them by the library versions specified by a file
    .
    * dump the libraries/dependencies and their lower bound versions from the cabal file(s) into a file
    .
    For further details please consult the <https://github.com/dan-t/cabal-bounds README>.
    .
    /Installation/
    .
    You have to ensure, that the 'Cabal' library of 'cabal-bounds' matches the one used by the 'cabal' binary:
    .
    > $ cabal --version
    > cabal-install version 1.18.0.2
    > using version 1.18.1 of the Cabal library
    .
    > $ cabal install --constraint="Cabal == 1.18.1" cabal-bounds
    .
    If you update the 'cabal' binary and the used 'Cabal' library changes, then you have to rebuild 'cabal-bounds'.
    .
    /Issues/
    .
    Perhaps the currently most annoying thing is, that you have to live with the reformating of your
    'cabal' file done by the pretty printer of the 'Cabal' library.
    .
    To reformat your 'cabal' file without changing any bounds you can call 'cabal-bounds' with the name of
    a section that isn't present in the 'cabal' file:
    .
    > $ cabal-bounds drop --executable=blub
category: Utils, Development
build-type: Simple
extra-source-files:
    README.md
    CHANGELOG
    tests/inputFiles/FromFile.hs
    tests/inputFiles/hp-original.cabal
    tests/inputFiles/missing-original.cabal
    tests/inputFiles/original.cabal
    tests/inputFiles/plan.json
    tests/inputFiles/.gitignore
    tests/inputFiles/setup-config-build-env/setup-config.cabal
    tests/inputFiles/setup-config-build-env/src/*.hs
    tests/inputFiles/setup-config-build-env/src/CabalBounds/*.hs
    tests/inputFiles/setup-config-build-env/libs/A/A.cabal
    tests/inputFiles/setup-config-build-env/libs/A/A.hs
    tests/inputFiles/setup-config-build-env/libs/B/B.cabal
    tests/inputFiles/setup-config-build-env/libs/B/B.hs
    tests/inputFiles/setup-config-build-env/libs/C/C.cabal
    tests/inputFiles/setup-config-build-env/libs/C/C.hs
    tests/inputFiles/setup-config-build-env/libs/D/D.cabal
    tests/inputFiles/setup-config-build-env/libs/D/D.hs
    tests/goldenFiles/*.cabal
    tests/goldenFiles/*.hs
    tests/goldenFiles/PlanFile/*.hs
    tests/outputFiles/SetupConfig/.gitignore
    tests/outputFiles/PlanFile/.gitignore

source-repository head
    type: git
    location: https://github.com/dan-t/cabal-bounds

library
    exposed-modules:
        CabalBounds.Args
        CabalBounds.Main
        CabalBounds.VersionComp
    cpp-options: -DCABAL
    hs-source-dirs: lib
    other-modules:
        Paths_cabal_bounds
        CabalBounds.Bound
        CabalBounds.Sections
        CabalBounds.Dependencies
        CabalBounds.Drop
        CabalBounds.Update
        CabalBounds.Dump
        CabalBounds.HaskellPlatform
        CabalBounds.Types
    ghc-options: -W
    build-depends:
        base >=4.6.0.0 && <5,
        cmdargs >=0.10.5 && <0.11,
        lens >=4.0.1 && <4.17,
        strict >=0.3.2 && <0.4,
        unordered-containers >=0.2.3.3 && <0.3,
        transformers >=0.3.0.0 && <0.6,
        either >=4.1.1 && <4.6,
        cabal-lenses >=0.7.0 && <0.8,
        Cabal >=2.2.0.0 && <2.3,
        filepath >=1.3 && <1.5,
        directory >=1.2 && <1.4,
        aeson >=1.2.3.0 && <1.4,
        lens-aeson >=1.0.2 && <1.1,
        bytestring >=0.10.8.2 && <1.0,
        text >=1.1.0.1 && <1.3

executable cabal-bounds
    main-is: Main.hs
    hs-source-dirs: exe
    ghc-options: -W
    build-depends:
        base >=3 && <5,
        cabal-bounds -any

test-suite cabal-bounds-tests
    type: exitcode-stdio-1.0
    main-is: Main.hs
    hs-source-dirs: tests
    ghc-options: -W
    build-depends:
        base >=3 && <5,
        tasty >=0.9.0.1 && <1.2,
        tasty-golden >=2.2.0.2 && <2.4,
        process >=1.1.0.2 && <1.7,
        filepath >=1.3 && <1.5,
        directory >=1.2 && <1.4,
        Glob >=0.7 && <0.10,
        cabal-bounds -any