cabal-version: >=1.9.2 name: cabal-bounds version: 2.1.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 ghc ==8.6.3 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 . . /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.18, strict >=0.3.2 && <0.4, unordered-containers >=0.2.3.3 && <0.3, transformers >=0.3.0.0 && <0.6, cabal-lenses >=0.8.0 && <0.9, Cabal >=2.2.0.0 && <2.5, filepath >=1.3 && <1.5, directory >=1.2 && <1.4, aeson >=1.2.3.0 && <1.5, 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.3, 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.11, cabal-bounds -any