(use-modules (guix packages)) (use-modules (guix download)) (use-modules (guix build-system haskell)) (use-modules (guix licenses)) (use-modules (gnu packages)) (use-modules (gnu packages haskell)) (use-modules (gnu packages haskell-xyz)) (use-modules (gnu packages haskell-crypto)) (use-modules (gnu packages haskell-check)) (define-public ghc-versions (package (name "ghc-versions") (version "5.0.0") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/versions/versions-" version ".tar.gz")) (sha256 (base32 "1rfxjivdsaqc6w7dfqdycy3a81rsajvpfyi5si9ssc0w3ljfsbzr")))) (build-system haskell-build-system) (arguments `(#:haskell ,ghc-8.8)) (inputs `(("ghc-megaparsec" ,ghc-megaparsec) ("ghc-hashable" ,ghc-hashable) ("ghc-parser-combinators" ,ghc-parser-combinators))) (native-inputs `(("ghc-microlens" ,ghc-microlens) ("ghc-quickcheck" ,ghc-quickcheck) ("ghc-tasty" ,ghc-tasty) ("ghc-tasty-hunit" ,ghc-tasty-hunit) ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) (home-page "https://github.com/fosskers/versions") (synopsis "Types and parsers for software version numbers.") (description "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 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.") (license bsd-3))) ghc-versions