diff options
Diffstat (limited to 'gnu/packages/haskell.scm')
-rw-r--r-- | gnu/packages/haskell.scm | 218 |
1 files changed, 215 insertions, 3 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9b26ff56f2..2176f07cc4 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -13,6 +13,8 @@ ;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017 rsiddharth <s@ricketyspace.net> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Tonton <tonton@riseup.net> +;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -282,9 +284,11 @@ top of CLISP.") (mkdir-p libtinfo-dir) (symlink (string-append ncurses-lib "/libncursesw.so." - ;; Extract "6.0" from "6.0-20170930". + ;; Extract "6.0" from "6.0-20170930" if a + ;; dash-separated version tag exists. ,(let* ((v (package-version ncurses)) - (d (string-index v #\-))) + (d (or (string-index v #\-) + (string-length v)))) (version-major+minor (string-take v d)))) (string-append libtinfo-dir "/libtinfo.so.5")) @@ -1822,7 +1826,7 @@ bindings are a direct translation of the C bindings.") ("ghc-utf8-string" ,ghc-utf8-string) ("libx11" ,libx11) ("libxft" ,libxft) - ("xproto" ,xproto))) + ("xorgproto" ,xorgproto))) (native-inputs `(("pkg-config" ,pkg-config))) (build-system haskell-build-system) @@ -1937,6 +1941,30 @@ case with other forms of concurrent communication, such as locks or "This package provides a library for parallel programming.") (license license:bsd-3))) +(define-public ghc-safesemaphore + (package + (name "ghc-safesemaphore") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "SafeSemaphore/SafeSemaphore-" version ".tar.gz")) + (sha256 + (base32 + "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91")))) + (build-system haskell-build-system) + (inputs + `(("ghc-stm" ,ghc-stm))) + (native-inputs + `(("ghc-hunit" ,ghc-hunit))) + (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore") + (synopsis "Exception safe semaphores") + (description "This library provides exception safe semaphores that can be +used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which +are not exception safe and can be broken by @code{killThread}.") + (license license:bsd-3))) + (define-public ghc-text (package (name "ghc-text") @@ -2987,6 +3015,35 @@ online}.") (description "This package provides a simple XML library for Haskell.") (license license:bsd-3))) +(define-public ghc-feed + (package + (name "ghc-feed") + (version "0.3.12.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "feed/feed-" version ".tar.gz")) + (sha256 + (base32 + "0hkrsinspg70bbm3hwqdrvivws6zya1hyk0a3awpaz82j4xnlbfc")))) + (build-system haskell-build-system) + (inputs + `(("ghc-old-locale" ,ghc-old-locale) + ("ghc-old-time" ,ghc-old-time) + ("ghc-time-locale-compat" ,ghc-time-locale-compat) + ("ghc-utf8-string" ,ghc-utf8-string) + ("ghc-xml" ,ghc-xml))) + (native-inputs + `(("ghc-hunit" ,ghc-hunit) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-hunit" ,ghc-test-framework-hunit))) + (home-page "https://github.com/bergmark/feed") + (synopsis "Haskell package for handling various syndication formats") + (description "This Haskell package includes tools for generating and +consuming feeds in both RSS (Really Simple Syndication) and Atom format.") + (license license:bsd-3))) + (define-public ghc-exceptions (package (name "ghc-exceptions") @@ -3572,6 +3629,31 @@ vector types are supported. Specific instances are provided for unboxed, boxed and storable vectors.") (license license:bsd-3))) +(define-public ghc-bloomfilter + (package + (name "ghc-bloomfilter") + (version "2.0.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "bloomfilter/bloomfilter-" version ".tar.gz")) + (sha256 + (base32 + "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc")))) + (build-system haskell-build-system) + (native-inputs + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-random" ,ghc-random) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2))) + (home-page "https://github.com/bos/bloomfilter") + (synopsis "Pure and impure Bloom filter implementations") + (description "This package provides both mutable and immutable Bloom +filter data types, along with a family of hash functions and an easy-to-use +interface.") + (license license:bsd-3))) + (define-public ghc-network (package (name "ghc-network") @@ -3757,6 +3839,27 @@ with various performance characteristics.") manipulating monad transformer stacks.") (license license:bsd-3))) +(define-public ghc-ifelse + (package + (name "ghc-ifelse") + (version "0.85") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "IfElse/IfElse-" version ".tar.gz")) + (sha256 + (base32 + "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa")))) + (build-system haskell-build-system) + (inputs `(("ghc-mtl" ,ghc-mtl))) + (home-page "http://hackage.haskell.org/package/IfElse") + (synopsis "Monadic control flow with anaphoric variants") + (description "This library provides functions for control flow inside of +monads with anaphoric variants on @code{if} and @code{when} and a C-like +@code{switch} function.") + (license license:bsd-3))) + (define-public ghc-monad-control (package (name "ghc-monad-control") @@ -7735,6 +7838,44 @@ converting between Haskell values and JSON. JSON (JavaScript Object Notation) is a lightweight data-interchange format.") (license license:bsd-3))) +(define-public ghc-esqueleto + (package + (name "ghc-esqueleto") + (version "2.5.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "esqueleto/esqueleto-" version ".tar.gz")) + (sha256 + (base32 + "10n49rzqmblky7pwjnysalyy6nacmxfms8dqbsdv6hlyzr8pb69x")))) + (build-system haskell-build-system) + (inputs + `(("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-conduit" ,ghc-conduit) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-persistent" ,ghc-persistent) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-tagged" ,ghc-tagged) + ("ghc-text" ,ghc-text) + ("ghc-unordered-containers" ,ghc-unordered-containers))) + (native-inputs + `(("ghc-hspec" ,ghc-hspec) + ("ghc-hunit" ,ghc-hunit) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-persistent-sqlite" ,ghc-persistent-sqlite) + ("ghc-persistent-template" ,ghc-persistent-template) + ("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "https://github.com/bitemyapp/esqueleto") + (synopsis "Type-safe embedded domain specific language for SQL queries") + (description "This library provides a type-safe embedded domain specific +language (EDSL) for SQL queries that works with SQL backends as provided by +@code{ghc-persistent}. Its language closely resembles SQL, so you don't have +to learn new concepts, just new syntax, and it's fairly easy to predict the +generated SQL and optimize it for your backend.") + (license license:bsd-3))) + (define-public shellcheck (package (name "shellcheck") @@ -7833,6 +7974,8 @@ bytestrings and their hexademical representation.") (base32 "0n39s1i88j6s7vvsdhpbhcr3gpbwlzabwcc3nbd7nqb4kb4i0sls")))) (build-system haskell-build-system) + (arguments + `(#:configure-flags (list "--allow-newer=QuickCheck"))) (inputs `(("ghc-hashable" ,ghc-hashable))) (native-inputs @@ -9466,4 +9609,73 @@ system dependencies.") address string against RFC 5322.") (license license:bsd-3))) +(define-public ghc-semigroupoids-5.2.2 + (package + (inherit ghc-semigroupoids) + (name "ghc-semigroupoids") + (version "5.2.2") + (source (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "semigroupoids-" version "/semigroupoids-" + version ".tar.gz")) + (sha256 + (base32 + "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4")))) + (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers) + ,@(package-inputs ghc-semigroupoids))))) + +(define-public ghc-bytes + (package + (name "ghc-bytes") + (version "0.15.4") + (source + (origin + (method url-fetch) + (uri + (string-append "https://hackage.haskell.org/package/bytes-" + version "/bytes-" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "121x3iqlm8pghw8cd9g30cnqbl7jrdpfjxdanmqdqllajw6xivrm")))) + (build-system haskell-build-system) + (inputs `(("ghc-cereal" ,ghc-cereal) + ("cabal-doctest" ,cabal-doctest) + ("ghc-doctest" ,ghc-doctest-0.13) + ("ghc-mtl" ,ghc-mtl) + ("ghc-scientific" ,ghc-scientific) + ("ghc-text" ,ghc-text) + ("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-void" ,ghc-void) + ("ghc-vector" ,ghc-vector))) + (synopsis "Serialization between @code{binary} and @code{cereal}") + (description "This package provides a simple compatibility shim that lets +you work with both @code{binary} and @code{cereal} with one chunk of +serialization code.") + (home-page "https://hackage.haskell.org/package/bytes") + (license license:bsd-3))) + +(define-public ghc-disk-free-space + (package + (name "ghc-disk-free-space") + (version "0.1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "disk-free-space/disk-free-space-" + version ".tar.gz")) + (sha256 + (base32 + "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi")))) + (build-system haskell-build-system) + (home-page "https://github.com/redneb/disk-free-space") + (synopsis "Retrieve information about disk space usage") + (description "A cross-platform library for retrieving information about +disk space usage.") + (license license:bsd-3))) + ;;; haskell.scm ends here |