packages feed

cabal-bounds 0.1.4 → 0.1.5

raw patch · 1 files changed

+92/−96 lines, 1 files

Files

cabal-bounds.cabal view
@@ -1,5 +1,5 @@ name: cabal-bounds-version: 0.1.4+version: 0.1.5 cabal-version: >=1.9.2 build-type: Simple license: BSD3@@ -10,110 +10,106 @@              bounds of your dependencies up to date. Especially if you're following the, then you want              to raise your upper bounds from time to time, to allow the building with newer versions              of the dependencies.-             -             `cabal-bounds` tries to automate this update process to some degree. So a typical update process might look like:-             -                 $> # update the version infos of all libraries-                 $> cabal update-             -                 $> # drops the upper bound of all dependencies in 'myproject.cabal', most likely you want to ignore 'base'-                 $> cabal-bounds drop --upper --ignore=base myproject.cabal-             -                 $> # create a cabal sandbox for building of 'myproject'-                 $> cabal sandbox init-                   -                 $> # build 'myproject'-                 $> cabal install-             -                 $> # update the upper bound of all dependencies in 'myproject.cabal' by the cabal build information-                 $> cabal-bounds update --upper --ignore=base myproject.cabal dist/dist-sandbox-*/setup-config -             -             Examples-             ========-             +             .+             cabal-bounds tries to automate this update process to some degree. So a typical update process might look like:+             .+             > $> # update the version infos of all libraries+             > $> cabal update+             > +             > $> # drops the upper bound of all dependencies in 'myproject.cabal', most likely you want to ignore 'base'+             > $> cabal-bounds drop --upper --ignore=base myproject.cabal+             > +             > $> # create a cabal sandbox for building of 'myproject'+             > $> cabal sandbox init+             >   +             > $> # build 'myproject'+             > $> cabal install+             > +             > $> # update the upper bound of all dependencies in 'myproject.cabal' by the cabal build information+             > $> cabal-bounds update --upper --ignore=base myproject.cabal dist/dist-sandbox-*/setup-config +             .+             /Examples/+             .              The `=>` shows what the result is of the operation for every dependency. Left is the dependency before              calling the command, right the one after calling.-             -                 $> cabal drop myproject.cabal-                 lens >=4.0.1 && <4.1   =>   lens-             -                 $> cabal drop --upper myproject.cabal-                 lens >=4.0.1 && <4.1   =>   lens >=4.0.1-             +             .+             > $> cabal drop myproject.cabal+             > lens >=4.0.1 && <4.1   =>   lens+             > +             > $> cabal drop --upper myproject.cabal+             > lens >=4.0.1 && <4.1   =>   lens >=4.0.1+             .              If the cabal build (the setup-config) uses `lens 4.1.2`, then the results of the `update` command would be:-             -                 $> cabal update myproject.cabal setup-config-                 lens >=4.0.1 && <4.1   =>   lens >=4.1.2 && <4.2-                 lens                   =>   lens >=4.1.2 && <4.2-             -                 $> cabal update --lower myproject.cabal setup-config-                 lens >=4.0.1 && <4.1   =>   lens >=4.1.2-                 lens <4.1              =>   lens >=4.1.2-                 lens                   =>   lens >=4.1.2-             -                 $> cabal update --upper myproject.cabal setup-config-                 lens >=4.0.1 && <4.1   =>   lens >=4.0.1 && <4.2-                 lens >=4.0.1           =>   lens >=4.0.1 && <4.2-                 lens                   =>   lens >=4.1.2 && <4.2-             -             Installation-             ============-             +             .+             > $> cabal update myproject.cabal setup-config+             > lens >=4.0.1 && <4.1   =>   lens >=4.1.2 && <4.2+             > lens                   =>   lens >=4.1.2 && <4.2+             >+             > $> cabal update --lower myproject.cabal setup-config+             > lens >=4.0.1 && <4.1   =>   lens >=4.1.2+             > lens <4.1              =>   lens >=4.1.2+             > lens                   =>   lens >=4.1.2+             >+             > $> cabal update --upper myproject.cabal setup-config+             > lens >=4.0.1 && <4.1   =>   lens >=4.0.1 && <4.2+             > lens >=4.0.1           =>   lens >=4.0.1 && <4.2+             > lens                   =>   lens >=4.1.2 && <4.2+             .+             /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-             +             .+             > $> 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`.-             -             Command Line Usage-             ==================-             -                 $> cabal-bounds --help-                 cabal-bounds [COMMAND] ... [OPTIONS]-                   A command line program for managing the bounds/versions of the dependencies-                   in a cabal file.-                 -                 Common flags:-                   -O --only=ITEM             Only the bounds of the dependency are modified.-                   -I --ignore=ITEM           This dependency is ignored, not modified in any-                                              way.-                   -o --outputCabalFile=ITEM  Save modified cabal file to file, if empty, the-                                              cabal file is modified inplace.-                   -h --help                  Display help message-                   -v --version               Print version information-                 -                 cabal-bounds drop [OPTIONS] CABAL-FILE-                 -                   -U --upper                 Only the upper bound is dropped, otherwise both-                                              - the lower and upper - bounds are dropped.-                   -l --library               Only the bounds of the library are dropped.-                   -e --executable=ITEM       Only the bounds of the executable are dropped.-                   -t --testsuite=ITEM        Only the bounds of the test suite are dropped.-                   -b --benchmark=ITEM        Only the bounds of the benchmark are dropped.-                 -                 cabal-bounds update [OPTIONS] CABAL-FILE SETUP-CONFIG-FILE-                 -                   -L --lower                 Only the lower bound is updated.-                   -U --upper                 Only the upper bound is updated.-                   -l --library               Only the bounds of the library are updated.-                   -e --executable=ITEM       Only the bounds of the executable are updated.-                   -t --testsuite=ITEM        Only the bounds of the test suite are updated.-                   -b --benchmark=ITEM        Only the bounds of the benchmark are updated.-             -             Issues-             ======-             +             .+             /Command Line Usage/+             .+             > $> cabal-bounds --help+             > cabal-bounds [COMMAND] ... [OPTIONS]+             >   A command line program for managing the bounds/versions of the dependencies+             >   in a cabal file.+             > +             > Common flags:+             >   -O --only=ITEM             Only the bounds of the dependency are modified.+             >   -I --ignore=ITEM           This dependency is ignored, not modified in any+             >                              way.+             >   -o --outputCabalFile=ITEM  Save modified cabal file to file, if empty, the+             >                              cabal file is modified inplace.+             >   -h --help                  Display help message+             >   -v --version               Print version information+             > +             > cabal-bounds drop [OPTIONS] CABAL-FILE+             > +             >   -U --upper                 Only the upper bound is dropped, otherwise both+             >                              - the lower and upper - bounds are dropped.+             >   -l --library               Only the bounds of the library are dropped.+             >   -e --executable=ITEM       Only the bounds of the executable are dropped.+             >   -t --testsuite=ITEM        Only the bounds of the test suite are dropped.+             >   -b --benchmark=ITEM        Only the bounds of the benchmark are dropped.+             > +             > cabal-bounds update [OPTIONS] CABAL-FILE SETUP-CONFIG-FILE+             > +             >   -L --lower                 Only the lower bound is updated.+             >   -U --upper                 Only the upper bound is updated.+             >   -l --library               Only the bounds of the library are updated.+             >   -e --executable=ITEM       Only the bounds of the executable are updated.+             >   -t --testsuite=ITEM        Only the bounds of the test suite are updated.+             >   -b --benchmark=ITEM        Only the bounds of the benchmark are updated.+             .+             /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 myproject.cabal+             .+             > $> cabal-bounds drop --executable=blub myproject.cabal category: Utils author: Daniel Trstenjak data-dir: ""