summaryrefslogtreecommitdiff
path: root/gnu/packages/haskell-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/haskell-xyz.scm')
-rw-r--r--gnu/packages/haskell-xyz.scm162
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")