./devel/hs-versions, Types and parsers for software version numbers

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 6.0.3nb1, Package name: hs-versions-6.0.3nb1, Maintainer: pkgsrc-users

A library for parsing and comparing software version numbers. We like to
give version numbers to our software in a myriad of ways. Some ways follow
strict guidelines for incrementing and comparison. Some follow conventional
wisdom and are generally self-consistent. Some are just plain asinine. This
library provides a means of parsing and comparing any style of versioning,
be it a nice Semantic Version like this:

1.2.3-r1+git123

...or a monstrosity like this:

2:10.2+0.0093r3+1-1

Please switch to Semantic Versioning if you aren't currently using it. It
provides consistency in version incrementing and has the best constraints
on comparisons.

This library implements version 2.0.0 of the SemVer spec.


Master sites:

Filesize: 18.529 KB

Version history: (Expand)


CVS history: (Expand)


   2023-11-02 07:37:49 by Masatake Daimon | Files touched by this commit (1141)
Log message:
Revbump all Haskell after updating lang/ghc96
   2023-10-30 04:13:10 by Masatake Daimon | Files touched by this commit (4)
Log message:
devel/hs-versions: Update to 6.0.3

6.0.3 (2023-10-23)
Added
* Data instances for the various data types.
* Simple conversion types between the main version types.
* Compile-time constructors via Template Haskell, like versioningQ.

6.0.2 (2023-10-12)
Added
* Lift instances for the various types, which allows parsing version
  numbers at compile time within Template Haskell quotes. Currently there
  is no exported function that supports this directly, but you could write
  one like:

-- | Parse a `Versioning` at compile time.
thVer :: Text -> Q Exp
thVer nm =
  case versioning nm of
    Left err -> fail (errorBundlePretty err)
    Right v  -> lift v

Changed
* Due to the new dependency on template-haskell, GHC 8.8 is now the lowest
  supported compiler version.

6.0.1 (2023-05-08)
Fixed
* Restored the ability to compile with GHC versions earlier than 9.

6.0.0 (2023-04-29)

A number of type changes have been made to improve parsing and comparison
logic. Doing so fixed several bugs and made the code cleaner overall.

If you're just doing basic parsing and comparisons and not actually
inspecting the types themselves, you shouldn't notice a difference.

Added
* New types Release, Chunks, and Chunk.

Changed
* Both SemVer and Version now contain a better-behaving Release type for
  their prerelease info.
* Similarly, Version now also has a better-behaving Chunks type for its
  main version number sections.
* The release traversal now yields a Maybe Release.
* Versions with ~ in their metadata will now parse as a Mess. Example:
  12.0.0-3ubuntu1~20.04.5

Removed
* The various Semigroup instances. Adding version numbers together is a
  nonsensical operation and should never have been added in the first
  place.
* The VChunk and VUnit types and their associated functions.

Fixed
* Leading zeroes are handled a little better in SemVer pre-release data.

5.0.5 (2023-03-23)
Changed
* Bumped base bound to support GHC 9.6.
   2023-10-09 06:55:01 by Masatake Daimon | Files touched by this commit (988)
Log message:
Bump Haskell packages after updating lang/ghc94
   2023-01-25 19:48:52 by Masatake Daimon | Files touched by this commit (4)
Log message:
devel/hs-versions: Update to 5.0.4

5.0.4 (2022-10-18)
Changed
* Bumped base bound to support GHC 9.4.

5.0.3 (2022-02-25)
Fixed
* A bug in prettyVer that flipped the order of the preRel and meta fields.
   2022-02-26 04:58:36 by Masatake Daimon | Files touched by this commit (872)
Log message:
Bump all Haskell packages after enabling "split sections" in mk/haskell.mk
   2022-02-24 02:23:25 by Masatake Daimon | Files touched by this commit (5)
Log message:
devel/hs-versions: import hs-versions-5.0.2

A library for parsing and comparing software version numbers. We like to
give version numbers to our software in a myriad of ways. Some ways follow
strict guidelines for incrementing and comparison. Some follow conventional
wisdom and are generally self-consistent. Some are just plain asinine. This
library provides a means of parsing and comparing any style of versioning,
be it a nice Semantic Version like this:

  1.2.3-r1+git123

...or a monstrosity like this:

  2:10.2+0.0093r3+1-1

Please switch to Semantic Versioning if you aren't currently using it. It
provides consistency in version incrementing and has the best constraints
on comparisons.

This library implements version 2.0.0 of the SemVer spec.