diff options
Diffstat (limited to 'gnu/packages/haskell-xyz.scm')
-rw-r--r-- | gnu/packages/haskell-xyz.scm | 162 |
1 files changed, 161 insertions, 1 deletions
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 1fa7310fab..7ed0db6c66 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com> ;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017 rsiddharth <s@ricketyspace.net> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tonton <tonton@riseup.net> ;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> @@ -2592,6 +2592,44 @@ a very thin wrapper around the interface}.") (license license:expat))) +(define-public ghc-config-ini + (package + (name "ghc-config-ini") + (version "0.2.4.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "config-ini/config-ini-" version ".tar.gz")) + (sha256 + (base32 "0dfm4xb1sd713rcqzplzdgw68fyhj24i6lj8j3q8kldpmkl98lbf")))) + (build-system haskell-build-system) + (arguments + ;; XXX The tests fail to compile: “The constructor ‘I1.Ini’ should have 2 + ;; arguments, but has been given 1”. + `(#:tests? #f + #:cabal-revision + ("2" "0iwraaa0y1b3xdsg760j1wpylkqshky0k2djcg0k4s97lrwqpbcz"))) + (native-inputs + `(("ghc-doctest" ,ghc-doctest) + ("ghc-hedgehog" ,ghc-hedgehog) + ("ghc-ini" ,ghc-ini) + ("ghc-microlens" ,ghc-microlens))) + (inputs + `(("ghc-megaparsec" ,ghc-megaparsec) + ("ghc-unordered-containers" ,ghc-unordered-containers))) + (home-page "https://github.com/aisamanra/config-ini") + (synopsis "Monadic Haskell DSL for parsing simple INI configuration files") + (description + "The @code{config-ini} Haskell library exports some simple monadic +functions to ease the parsing of @file{.ini}-style configuration files, and +to write and update them in an efficient @i{diff-minimal} way. This means that +if you parse a file, update a single field, and reserialize, that file should +differ only in the field we changed and @emph{that's it}: field order, comments, +and incidental whitespace will remain unchanged. The library aims to produce +human-readable error messages when things go wrong.") + (license license:bsd-3))) + (define-public ghc-configurator (package (name "ghc-configurator") @@ -2868,6 +2906,32 @@ manipulating fields of records.") Accessor to access state in transformers State monad.") (license license:bsd-3))) +(define-public ghc-data-clist + (package + (name "ghc-data-clist") + (version "0.1.2.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/data-clist/" + "data-clist-" version ".tar.gz")) + (sha256 + (base32 "1mwfhnmvi3vicyjzl33m6pcipi2v887zazyqxygq258ndd010s9m")))) + (build-system haskell-build-system) + (native-inputs + `(("ghc-quickcheck" ,ghc-quickcheck))) + (arguments + `(#:cabal-revision + ("1" "13hg7a3d4ky8b765dl03ryxg28lq8iaqj5ky3j51r0i1i4f2a9hy"))) + (home-page "https://github.com/sw17ch/data-clist") + (synopsis "Simple, functional, bidirectional circular list type") + (description + "This Haskell library provides a simple purely functional circular list, +or ring, data type: a circular data structure such that if you continue rotating +the ring in either direction, you'll eventually return to the element you first +observed.") + (license license:bsd-3))) + (define-public ghc-data-default (package (name "ghc-data-default") @@ -4511,6 +4575,26 @@ described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a simple general-purpose data structure\".") (license license:bsd-3))) +(define-public ghc-finite-typelits + (package + (name "ghc-finite-typelits") + (version "0.1.4.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "finite-typelits/" + "finite-typelits-" version ".tar.gz")) + (sha256 + (base32 "0iyp9fyd2ki9qcmk9infz9p6rjhsx9jrs3f5yz0yqs8vj5na81yj")))) + (build-system haskell-build-system) + (home-page "https://github.com/mniip/finite-typelits") + (synopsis "Finitely many values, indexed by type-level naturals") + (description + "This package provides a Haskell type inhabited by finitely many values +and indexed by type-level naturals.") + (license license:bsd-3))) + (define-public ghc-fixed (package (name "ghc-fixed") @@ -6464,6 +6548,30 @@ lines continued at an indented level below.") license from a given license file.") (license license:expat))) +(define-public ghc-ini + (package + (name "ghc-ini") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "ini/ini-" version ".tar.gz")) + (sha256 + (base32 "0mvwii8jbh2ll54qb9dij5m66c6324s2y4vrwz1qr4wz40m3qa8l")))) + (build-system haskell-build-system) + (native-inputs `(("ghc-hspec" ,ghc-hspec))) + (inputs + `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-unordered-containers" ,ghc-unordered-containers))) + (home-page "https://github.com/chrisdone/ini") + (synopsis + "Haskell library to easily handle configuration files in the INI format") + (description + "The @code{ghc-ini} Haskell library lets programmers quickly and easily +read and write configuration files in the simple INI format.") + (license license:bsd-3))) + (define-public ghc-inline-c (package (name "ghc-inline-c") @@ -9196,6 +9304,36 @@ footprint of a (boxed) @{ShortText} value is 4 words (2 words when unboxed) plus the length of the UTF-8 encoded payload.") (license license:bsd-3))) +(define-public ghc-text-zipper + (package + (name "ghc-text-zipper") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/text-zipper/" + "text-zipper-" version ".tar.gz")) + (sha256 + (base32 "0jxicjp0ak1fyl1n3yspxq6hv9l90zzy75glsv8bc2svsn9ypyls")))) + (build-system haskell-build-system) + (native-inputs + `(("ghc-hspec" ,ghc-hspec) + ("ghc-quickcheck" ,ghc-quickcheck) + ("hspec-discover" ,hspec-discover))) + (inputs + `(("ghc-vector" ,ghc-vector))) + (home-page "https://github.com/jtdaugherty/text-zipper/") + (synopsis "Text editor zipper library") + (description + "This Haskell library provides a two-dimensional zipper data structure for +editing text. The structure represents the body of text and an editing cursor +which can be moved through it, along with a set of editing transformations. + +Text zippers are generalized over the set of data types that might be used to +store lists of characters (e.g., @code{String}, @code{T.Text}, etc.). +Implementations using both of these examples are provided.") + (license license:bsd-3))) + (define-public ghc-doclayout (package (name "ghc-doclayout") @@ -15161,6 +15299,28 @@ modernized interface.") "A clone of wl-pprint for use with the text library.") (license license:bsd-3))) +(define-public ghc-word-wrap + (package + (name "ghc-word-wrap") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "word-wrap/word-wrap-" version ".tar.gz")) + (sha256 + (base32 "15rcqhg9vb7qisk9ryjnyhhfgigxksnkrczycaw2rin08wczjwpb")))) + (build-system haskell-build-system) + (native-inputs `(("ghc-hspec" ,ghc-hspec))) + (arguments + `(#:cabal-revision + ("1" "1k4w4g053vhmpp08542hrqaw81p3p35i567xgdarqmpghfrk68pp"))) + (home-page "https://github.com/jtdaugherty/word-wrap/") + (synopsis "Haskell library for word-wrapping text") + (description + "The @code{word-wrap} Haskell library wraps long lines of text.") + (license license:bsd-3))) + (define-public ghc-word8 (package (name "ghc-word8") |