(address . guix-patches@gnu.org)
Hi Guix,
I looked at the wishlist on libreplanet and saw stack was on the list.
Also after the recent thread on haskell and clojure development I
realized stack would help out there.
I tried to package it which seems straightforward. I got the
dependencies built and linted but stack itself is failing with the
following:
gcc: error trying to exec
'/gnu/store/...-gcc-7.4.0/libexec/gcc/x86_64-unknown-linux-gnu/7.4.0/collect2':
execv: Argument list too long
This looks a lot like the nix issue here:
I thought I would share my work and maybe someone could help.
Thanks,
John
From 471e1d216493d955d8ad392e3a98ff9851c1104a Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 10:51:19 -0800
Subject: [PATCH 04/34] gnu: Add ghc-th-utilities.
* gnu/packages/haskell-xyz.scm (ghc-th-utilities): New variable.
---
gnu/packages/haskell-xyz.scm | 53 ++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
Toggle diff (66 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 7e06eb00d6..105851fc2a 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -11849,6 +11849,59 @@ and @code{Eq} instances. These instances used to live in the haskell-src-meta
package, and that's where the version number started.")
(license license:bsd-3)))
+(define-public ghc-th-utilities
+ (package
+ (name "ghc-th-utilities")
+ (version "0.2.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/th-utilities/th-utilities-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1sy3bgwc85zw999cya92xsp9jllclwbzw9fmjmhqi4r5kj2gyk96"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-hspec-discover" ,ghc-hspec-discover)
+ ("ghc-primitive" ,ghc-primitive)
+ ("ghc-syb" ,ghc-syb)
+ ("ghc-th-orphans" ,ghc-th-orphans)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-vector" ,ghc-vector)))
+ (home-page
+ "https://github.com/fpco/th-utilities#readme")
+ (synopsis
+ "Collection of useful functions for use with Template Haskell")
+ (description
+ "The th-utilities package provides a number of useful utilities for
+Template Haskell. In particular:
+
+@itemize
+
+@item @code{TH.Derive} provides a convenient system for using TH to derive
+typeclass instances. It allows for open registration of TH derivers, and
+reuses instance syntax for invoking them. TH.Derive.Storable defines
+derivation of Storable for ADTs.
+
+@item @code{TH.ReifyDataType} provides utilities for reifying simplified
+datatype info. It omits details that you don't usually want to handle, making
+it much more straightforward to generate code based on datatype structure.
+
+@item @code{TH.RelativePaths} provides utilities for loading files based on
+paths relative to the cabal file. This is particularly handy for loading code
+into ghci even when its current dir isn't the package dir. Ideally, this
+module would be used by everyone who currently uses qAddDependentFile.
+
+@item @code{TH.Utilities} provides a miscellaneous set of utilities that are
+useful within this package and elsewhere.
+
+@end itemize")
+ (license license:expat)))
+
(define-public ghc-these
(package
(name "ghc-these")
--
2.25.0
From e39b3e9fe3f4c990751a73bf379d58d215637951 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 10:49:21 -0800
Subject: [PATCH 02/34] gnu: Add ghc-singletons.
* gnu/packages/haskell-xyz.scm (ghc-singletons): New variable.
---
gnu/packages/haskell-xyz.scm | 37 ++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
Toggle diff (50 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 0beaf40146..502ff1214f 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -10532,6 +10532,43 @@ them.")
are the bottleneck of web servers.")
(license license:bsd-3)))
+(define-public ghc-singletons
+ (package
+ (name "ghc-singletons")
+ (version "2.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/singletons/singletons-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0izi487dpn5dx5yzm0bqrrjj2fcy6y6jyk81848yq4i8fcx0mc10"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-th-desugar" ,ghc-th-desugar)
+ ("ghc-syb" ,ghc-syb)))
+ (native-inputs
+ `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-golden" ,ghc-tasty-golden)))
+ (home-page
+ "https://www.github.com/goldfirere/singletons")
+ (synopsis
+ "Framework for generating singleton types")
+ (description
+ "This library generates singleton types, promoted functions, and
+singleton functions using Template Haskell. It is useful for programmers who
+wish to use dependently typed programming techniques. The library was
+originally presented in /Dependently Typed Programming with Singletons/,
+published at the Haskell Symposium,
+2012. (https://cs.brynmawr.edu/~rae/papers/2012/singletons/paper.pdf) Version
+1.0 and onwards works a lot harder to promote functions. See the paper
+published at Haskell Symposium, 2014:
+https://cs.brynmawr.edu/~rae/papers/2014/promotion/promotion.pdf.")
+ (license license:bsd-3)))
+
(define-public ghc-size-based
(package
(name "ghc-size-based")
--
2.25.0
From f7532180d638087cbb8d09bc612c7c12c8e622fe Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 10:52:08 -0800
Subject: [PATCH 05/34] gnu: Add ghc-rio-orphans.
* gnu/packages/haskell-xyz.scm (ghc-rio-orphans): New variable.
---
gnu/packages/haskell-xyz.scm | 40 ++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
Toggle diff (53 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 105851fc2a..d01eec8f06 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -9834,6 +9834,46 @@ expose it from another module in the hierarchy.
@end itemize")
(license license:expat)))
+(define-public ghc-rio-orphans
+ (package
+ (name "ghc-rio-orphans")
+ (version "0.1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/rio-orphans/rio-orphans-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0klbshdsv3gq3l7g1d6gq2wxdqjlqxbnwk1lbg5dpbz7yrnjr3by"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-fast-logger" ,ghc-fast-logger)
+ ("ghc-hspec-discover" ,ghc-hspec-discover)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-monad-logger" ,ghc-monad-logger)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-rio" ,ghc-rio)
+ ("ghc-transformers-base" ,ghc-transformers-base)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)))
+ (home-page
+ "https://github.com/commercialhaskell/rio#readme")
+ (synopsis
+ "Orphan instances for the RIO type in the rio package")
+ (description
+ "Provides orphan instances for the RIO data type. Currently supports:
+
+@itemize
+@item MonadCatch and MonadMask from exceptions
+@item MonadBase from transformers-base
+@item MonadBaseControl from monad-control
+@item MonadResource from resourcet
+@end itemize")
+ (license license:expat)))
+
(define-public ghc-safe
(package
(name "ghc-safe")
--
2.25.0
From 639e9ae9fd93ea527b4433b806f0eb376722dd04 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 10:48:54 -0800
Subject: [PATCH 01/34] gnu: Add ghc-th-desugar.
* gnu/packages/haskell-xyz.scm (ghc-th-desugar): New variable.
---
gnu/packages/haskell-xyz.scm | 40 ++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
Toggle diff (53 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 67fec7c597..0beaf40146 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -11648,6 +11648,46 @@ single, easier to use informational datatype while supporting many versions of
Template Haskell.")
(license license:isc)))
+(define-public ghc-th-desugar
+ (package
+ (name "ghc-th-desugar")
+ (version "1.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/th-desugar/th-desugar-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1vxg0jvc239ngmv53yx564b7wkgd0b10xvx5phxvnnpm9n2pljpi"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-syb" ,ghc-syb)
+ ("ghc-th-lift" ,ghc-th-lift)
+ ("ghc-th-orphans" ,ghc-th-orphans)
+ ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-hspec" ,ghc-hspec)))
+ (home-page
+ "https://github.com/goldfirere/th-desugar")
+ (synopsis
+ "Functions to desugar Template Haskell")
+ (description
+ "This package provides the Language.Haskell.TH.Desugar module, which
+desugars Template Haskell's rich encoding of Haskell syntax into a simpler
+encoding. This desugaring discards surface syntax information (such as the
+use of infix operators) but retains the original meaning of the TH code. The
+intended use of this package is as a preprocessor for more advanced code
+manipulation tools. Note that the input to any of the @code{ds...} functions
+should be produced from a TH quote, using the syntax @code{[| ... |]}. If the
+input to these functions is a hand-coded TH syntax tree, the results may be
+unpredictable. In particular, it is likely that promoted datatypes will not
+work as expected.")
+ (license license:bsd-3)))
+
(define-public ghc-th-expand-syns
(package
(name "ghc-th-expand-syns")
--
2.25.0
From 3712c5d6b38ce37bcc0358dd3f057b381cdb1092 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 10:50:44 -0800
Subject: [PATCH 03/34] gnu: Add ghc-only.
* gnu/packages/haskell-xyz.scm (ghc-only): New variable.
---
gnu/packages/haskell-xyz.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
Toggle diff (41 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 502ff1214f..7e06eb00d6 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -8057,6 +8057,34 @@ old @code{time} library. For new projects, the newer
@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
(license license:bsd-3)))
+(define-public ghc-only
+ (package
+ (name "ghc-only")
+ (version "0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/Only/Only-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0rdj3a629fk2vp121jq8mf2smkblrz5w3cxhlsyx6my2x29s2ymb"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:cabal-revision
+ ("1"
+ "1ahk7p34kmh041mz7lyc10nhcxgv2i4z8nvzxvqm2x34gslmsbzr")))
+ (home-page
+ "http://hackage.haskell.org/package/Only")
+ (synopsis
+ "The 1-tuple type or single-value \"collection\"")
+ (description
+ "This package provides a canonical anonymous 1-tuple type missing from
+Haskell for attaching typeclass instances.")
+ (license license:bsd-3)))
+
(define-public ghc-opengl
(package
(name "ghc-opengl")
--
2.25.0
From c419e0e268df454ba0dfb218158644c634f1d86d Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 10:52:39 -0800
Subject: [PATCH 06/34] gnu: Add ghc-xmlgen.
* gnu/packages/haskell-xyz.scm (ghc-xmlgen): New variable.
---
gnu/packages/haskell-xyz.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
Toggle diff (46 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index d01eec8f06..7728ba2e60 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13583,6 +13583,39 @@ the @code{conduit} package.")
documents.")
(license license:expat)))
+(define-public ghc-xmlgen
+ (package
+ (name "ghc-xmlgen")
+ (version "0.6.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/xmlgen/xmlgen-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1milbbr2iqwckqbq6i9sypinvs4hs7mzqn274x350psjfy6ajvwj"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-blaze-builder" ,ghc-blaze-builder)))
+ (native-inputs
+ `(("ghc-hxt" ,ghc-hxt)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (arguments
+ `(#:tests? #f ; FIXME failing tests
+ #:cabal-revision
+ ("1"
+ "0vwnqd0lsw81llsn0psga5r6pw7jh69vfbj3rnz7c2fpkc0gjh3j")))
+ (home-page
+ "http://hackage.haskell.org/package/xmlgen")
+ (synopsis "Fast XML generation library")
+ (description
+ "Library for high-performance XML generation.")
+ (license license:bsd-3)))
+
(define-public ghc-yaml
(package
(name "ghc-yaml")
--
2.25.0
From f2debebd5818ff65351b5bad4116d750691c1b2b Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 10:53:38 -0800
Subject: [PATCH 07/34] gnu: Add ghc-cpphs.
* gnu/packages/haskell-xyz.scm (ghc-cpphs): New variable.
---
gnu/packages/haskell-xyz.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
Toggle diff (46 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 7728ba2e60..fe82957e0c 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -2499,6 +2499,39 @@ pure @code{Either} value. This means that you need not remember which specific
function performs the conversion you desire.")
(license license:bsd-3)))
+(define-public ghc-cpphs
+ (package
+ (name "ghc-cpphs")
+ (version "1.20.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/cpphs/cpphs-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1bh524asqhk9v1s0wvipl0hgn7l63iy3js867yv0z3h5v2kn8vg5"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-old-time" ,ghc-old-time)
+ ("ghc-polyparse" ,ghc-polyparse)))
+ (home-page "https://archives.haskell.org/projects.haskell.org/cpphs/")
+ (synopsis
+ "Liberalised re-implementation of cpp, the C pre-processor")
+ (description
+ "Cpphs is a re-implementation of the C pre-processor that is both more
+compatible with Haskell, and itself written in Haskell so that it can be
+distributed with compilers.
+
+This version of the C pre-processor is pretty-much feature-complete and
+compatible with traditional (K&R) pre-processors. Additional features
+include: a plain-text mode; an option to unlit literate code files; and an
+option to turn off macro-expansion.")
+ (license license:lgpl2.1)))
+
(define-public ghc-data-accessor
(package
(name "ghc-data-accessor")
--
2.25.0
From 16014ef73a9e72014beb9435d262a34bb18ecf6d Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 10:46:31 -0800
Subject: [PATCH 08/34] gnu: Add ghc-htf.
* gnu/packages/haskell-check.scm (ghc-htf): New variable.
---
gnu/packages/haskell-xyz.scm | 52 ++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
Toggle diff (65 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index fe82957e0c..0e97dc986e 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -5781,6 +5781,58 @@ for user-defined custom schemas).
@end itemize")
(license license:gpl2+)))
+(define-public ghc-htf
+ (package
+ (name "ghc-htf")
+ (version "0.13.2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/HTF/HTF-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1kmf95y4vijdiih27xa35acl02dsxqnd9qa56z1waki5qqiz6nin"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-diff" ,ghc-diff)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-cpphs" ,ghc-cpphs)
+ ("ghc-haskell-src" ,ghc-haskell-src)
+ ("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-old-time" ,ghc-old-time)
+ ("ghc-random" ,ghc-random)
+ ("ghc-regex-compat" ,ghc-regex-compat)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-xmlgen" ,ghc-xmlgen)))
+ (native-inputs
+ `(("ghc-aeson-pretty" ,ghc-aeson-pretty)
+ ("ghc-temporary" ,ghc-temporary)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)))
+ (arguments
+ `(#:tests? #f ; Tests use stack, causing cyclical dependencies
+ #:cabal-revision
+ ("1"
+ "0l18mp06jjwpjbnvj548naas1xhnc46c8l0pbgzi3bm6siq5hhv6")))
+ (home-page "https://github.com/skogsbaer/HTF/")
+ (synopsis "Haskell Test Framework")
+ (description
+ "The Haskell Test Framework (HTF for short) lets you define unit tests
+with hunit, QuickCheck properties , and black box tests in an easy and
+convenient way. HTF uses a custom preprocessor that collects test definitions
+automatically. Furthermore, the preprocessor allows HTF to report failing
+test cases with exact file name and line number information. Additionally,
+HTF tries to produce highly readable output for failing tests: for example, it
+colors and pretty prints expected and actual results and provides a diff
+between the two values.")
+ (license license:lgpl2.1)))
+
(define-public ghc-http-api-data
(package
(name "ghc-http-api-data")
--
2.25.0
From e2e615ad884876ce6170514a18a362bef23aa8b3 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:14:59 -0800
Subject: [PATCH 10/34] gnu: Add ghc-cryptohash-cryptoapi.
* gnu/packages/haskell-xyz.scm (ghc-cryptohash-cryptoapi): New variable.
---
gnu/packages/haskell-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
Toggle diff (40 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 04ed30faf3..4fb0c89ec3 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -2565,6 +2565,33 @@ include: a plain-text mode; an option to unlit literate code files; and an
option to turn off macro-expansion.")
(license license:lgpl2.1)))
+(define-public ghc-cryptohash-cryptoapi
+ (package
+ (name "ghc-cryptohash-cryptoapi")
+ (version "0.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/cryptohash-cryptoapi"
+ "/cryptohash-cryptoapi-" version ".tar.gz"))
+ (sha256
+ (base32
+ "13h5f9pmcd0swa4asl7wzpf5lskpgjdqrmy1mqdc78gsxdj8cyki"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-memory" ,ghc-memory)
+ ("ghc-cryptonite" ,ghc-cryptonite)
+ ("ghc-crypto-api" ,ghc-crypto-api)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-cereal" ,ghc-cereal)))
+ (home-page
+ "https://github.com/vincenthz/hs-cryptohash-cryptoapi")
+ (synopsis "Crypto-api interfaces for cryptohash")
+ (description
+ "Crypto-api interfaces for cryptohash.")
+ (license license:bsd-3)))
+
(define-public ghc-data-accessor
(package
(name "ghc-data-accessor")
--
2.25.0
From 06dd28d8d0da785ae94c9cf7a0832f85e4e5ab82 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:14:31 -0800
Subject: [PATCH 09/34] gnu: Add ghc-cipher-aes128.
* gnu/packages/haskell-xyz.scm (ghc-cipher-aes128): New variable.
---
gnu/packages/haskell-xyz.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
Toggle diff (46 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 0e97dc986e..04ed30faf3 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -1837,6 +1837,39 @@ representations for Haskell")
classy-prelude.")
(license license:expat)))
+(define-public ghc-cipher-aes128
+ (package
+ (name "ghc-cipher-aes128")
+ (version "0.7.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/cipher-aes128/cipher-aes128-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1bafr5aa9mjfzdgc6gwapvb9g04pyh4lwhv2x2m1v3ljjglg9d1w"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-crypto-api" ,ghc-crypto-api)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-cereal" ,ghc-cereal)))
+ (home-page
+ "https://github.com/TomMD/cipher-aes128")
+ (synopsis
+ "AES and common modes using AES-NI when available")
+ (description
+ "An implementation of AES and common modes of operation. It borrows
+Hanquez's C AES code (see cipher-aes) but is unique due to including
+compile-time detection of NI compiler support, a slightly more functional
+interface for GCM operations, exposure of @code{Ptr} based operations via the
+@code{.Internal} module, and build-in crypto-api support. Cipher-aes128 was
+originally developed as \"cipher-aes plus trampolines\", which has since been
+adopted into cipher-aes.")
+ (license license:bsd-3)))
+
(define-public ghc-clock
(package
(name "ghc-clock")
--
2.25.0
From cc75205bc4e54661ded0dfe36d7324dc8e24e33d Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:15:31 -0800
Subject: [PATCH 11/34] gnu: Add ghc-drbg.
* gnu/packages/haskell-xyz.scm (ghc-drbg): New variable.
---
gnu/packages/haskell-xyz.scm | 41 ++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
Toggle diff (54 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 4fb0c89ec3..1ff55b99ab 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -3322,6 +3322,47 @@ It is modeled after doctest for Python, see
between double precision floating point and text.")
(license license:bsd-3)))
+(define-public ghc-drbg
+ (package
+ (name "ghc-drbg")
+ (version "0.5.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/DRBG/DRBG-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1z9vqc1nw0mf2sqgddcipmlkz6mckq9wnrzqqdy3rj3c90135pr1"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-cereal" ,ghc-cereal)
+ ("ghc-prettyclass" ,ghc-prettyclass)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-crypto-api" ,ghc-crypto-api)
+ ("ghc-cryptohash-cryptoapi" ,ghc-cryptohash-cryptoapi)
+ ("ghc-parallel" ,ghc-parallel)
+ ("ghc-cipher-aes128" ,ghc-cipher-aes128)
+ ("ghc-entropy" ,ghc-entropy)))
+ (native-inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-crypto-api-tests" ,ghc-crypto-api-tests)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
+ (arguments
+ ;; FIXME Failing tests
+ `(#:tests? #f))
+ (home-page
+ "http://hackage.haskell.org/package/DRBG")
+ (synopsis "Cryptographically secure RNGs")
+ (description
+ "Deterministic random bit generator (aka RNG, PRNG) based HMACs, Hashes,
+and Ciphers.")
+ (license license:bsd-3)))
+
(define-public ghc-dual-tree
(package
(name "ghc-dual-tree")
--
2.25.0
From 32f27a14692fd2c2c831c4c45d10009e4e923079 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 10:55:04 -0800
Subject: [PATCH 12/34] gnu: Add ghc-rsa.
* gnu/packages/haskell-xyz.scm (ghc-rsa): New variable.
---
gnu/packages/haskell-xyz.scm | 37 ++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
Toggle diff (50 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 1ff55b99ab..f9478482a6 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -10060,6 +10060,43 @@ expose it from another module in the hierarchy.
@end itemize")
(license license:expat)))
+(define-public ghc-rsa
+ (package
+ (name "ghc-rsa")
+ (version "2.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/RSA/RSA-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "06k7nd7b1rdfb7891gw9bihrd9ripffbgqa14q1ryyj6vqa9r4jw"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-crypto-api" ,ghc-crypto-api)
+ ("ghc-crypto-pubkey-types" ,ghc-crypto-pubkey-types)
+ ("ghc-sha" ,ghc-sha)))
+ (native-inputs
+ `(("ghc-drbg" ,ghc-drbg)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
+ (home-page
+ "http://hackage.haskell.org/package/RSA")
+ (synopsis
+ "Implementation of RSA")
+ (description
+ "This library implements the RSA encryption and signature algorithms for
+arbitrarily-sized ByteStrings. While the implementations work, they are not
+necessarily the fastest ones on the planet. Particularly key generation. The
+algorithms included are based of RFC 3447, or the Public-Key Cryptography
+Standard for RSA, version 2.1 (a.k.a, PKCS#1 v2.1).")
+ (license license:bsd-3)))
+
(define-public ghc-safe
(package
(name "ghc-safe")
--
2.25.0
From 7afd36d54c8099fc5d71bccbf823c1ddc45b1ac5 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:01:05 -0800
Subject: [PATCH 15/34] gnu: Add ghc-lens-aeson.
* gnu/packages/haskell-xyz.scm (ghc-lens-aeson): New variable.
---
gnu/packages/haskell-xyz.scm | 37 ++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
Toggle diff (50 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 83120d58e4..7402f77b16 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -6668,6 +6668,43 @@ of getters, folds, isomorphisms, traversals, setters and lenses and their
indexed variants.")
(license license:bsd-3)))
+(define-public ghc-lens-aeson
+ (package
+ (name "ghc-lens-aeson")
+ (version "1.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/lens-aeson/lens-aeson-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1k028ycmhz7mnjlrap88fqix4nmmpyy6b88m16kv77d3r8sz04a3"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-lens" ,ghc-lens)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-scientific" ,ghc-scientific)))
+ (native-inputs
+ `(("ghc-doctest" ,ghc-doctest)
+ ("ghc-generic-deriving" ,ghc-generic-deriving)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-simple-reflect" ,ghc-simple-reflect)
+ ("ghc-cabal-doctest" ,ghc-cabal-doctest)))
+ (arguments
+ `(#:cabal-revision
+ ("6"
+ "1pg5v8fnlqw1krgi3d2a03a0zkjjdv5yp5f5z6q4mlb5jldz99a8")))
+ (home-page "https://github.com/lens/lens-aeson/")
+ (synopsis "Law-abiding lenses for aeson")
+ (description "Law-abiding lenses for aeson.")
+ (license license:expat)))
+
(define-public ghc-libffi
(package
(name "ghc-libffi")
--
2.25.0
From a5f67113a58e18724a825196b1020bb3f8248cd7 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:01:36 -0800
Subject: [PATCH 16/34] gnu: ghc-authenticate-oauth.
* gnu/packages/haskell-xyz.scm (ghc-authenticate-oauth): New variable.
---
gnu/packages/haskell-xyz.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
Toggle diff (46 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 7402f77b16..e8761193a8 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -643,6 +643,39 @@ complicated text/binary file formats.")
from aeson.")
(license license:bsd-3)))
+(define-public ghc-authenticate-oauth
+ (package
+ (name "ghc-authenticate-oauth")
+ (version "1.6.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/authenticate-oauth"
+ "/authenticate-oauth-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1hry1zbi7gbyfi94w9cyg6m7ii7xm68jnsph63zxdj2s4ns0ylp0"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-http-client" ,ghc-http-client)
+ ("ghc-crypto-pubkey-types" ,ghc-crypto-pubkey-types)
+ ("ghc-rsa" ,ghc-rsa)
+ ("ghc-data-default" ,ghc-data-default)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-sha" ,ghc-sha)
+ ("ghc-random" ,ghc-random)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-transformers-compat" ,ghc-transformers-compat)))
+ (home-page
+ "https://github.com/yesodweb/authenticate")
+ (synopsis
+ "Authenticate with OAuth for Haskell web applications")
+ (description
+ "A library to authenticate with OAuth for Haskell web applications.")
+ (license license:bsd-3)))
+
(define-public ghc-auto-update
(package
(name "ghc-auto-update")
--
2.25.0
From e2e7c88f5c16785072cb7553d46508509f456ac1 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 10:56:10 -0800
Subject: [PATCH 13/34] gnu: Add ghc-crypto-pubkey-types.
* gnu/packages/haskell-xyz.scm (ghc-crypto-pubkey-types): New variable.
---
gnu/packages/haskell-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
Toggle diff (38 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index f9478482a6..83120d58e4 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -2592,6 +2592,31 @@ option to turn off macro-expansion.")
"Crypto-api interfaces for cryptohash.")
(license license:bsd-3)))
+(define-public ghc-crypto-pubkey-types
+ (package
+ (name "ghc-crypto-pubkey-types")
+ (version "0.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/crypto-pubkey-types/"
+ "crypto-pubkey-types-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0q0wlzjmpx536h1zcdzrpxjkvqw8abj8z0ci38138kpch4igbnby"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-asn1-types" ,ghc-asn1-types)
+ ("ghc-asn1-encoding" ,ghc-asn1-encoding)))
+ (home-page
+ "https://github.com/vincenthz/hs-crypto-pubkey-types")
+ (synopsis
+ "Generic cryptography Public keys algorithm types")
+ (description
+ "Generic cryptography public keys algorithm types")
+ (license license:bsd-3)))
+
(define-public ghc-data-accessor
(package
(name "ghc-data-accessor")
--
2.25.0
From 234a2a8a780f368d7d39e8619221505232cb7103 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 10:45:30 -0800
Subject: [PATCH 14/34] gnu: Add ghc-cabal-doctest.
* gnu/packages/haskell-check.scm (ghc-cabal-doctest): New variable.
---
gnu/packages/haskell-check.scm | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
Toggle diff (45 lines)
diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index 7942f2019a..98b7617520 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -944,7 +944,7 @@ To get started quickly, see the examples:
(description
"To properly work, the @code{doctest} package needs plenty of
configuration. This library provides the common bits for writing custom
-@file{Setup.hs} files.")
+@code{Setup.hs} files.")
(license license:bsd-3)))
(define-public ghc-testing-type-modifiers
@@ -996,3 +996,29 @@ values (similar to @code{toEnum} but for any algebraic data type). This
can be used for SmallCheck-style systematic testing, QuickCheck-style
random testing, and hybrids of the two.")
(license license:bsd-3)))
+
+(define-public ghc-cabal-doctest
+ (package
+ (name "ghc-cabal-doctest")
+ (version "1.0.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/cabal-doctest/cabal-doctest-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "03if74imlhhk7m56nci5f1wclniwqdmwl4hl177040j1gnlac9i0"))))
+ (build-system haskell-build-system)
+ (home-page
+ "https://github.com/phadej/cabal-doctest")
+ (synopsis
+ "Setup.hs helper for doctests running")
+ (description
+ "Currently (beginning of 2017), there isn't cabal doctest command. Yet,
+to properly work doctest needs plenty of configuration. This library provides
+the common bits for writing custom Setup.hs.")
+ (license license:bsd-3)))
+
--
2.25.0
From 5dd25a9b8651568901b6be6327a540d959773c03 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:02:18 -0800
Subject: [PATCH 17/34] gnu: Add ghc-wreq.
* gnu/packages/haskell-xyz.scm (ghc-wreq): New variable.
---
gnu/packages/haskell-xyz.scm | 84 ++++++++++++++++++++++++++++++++++++
1 file changed, 84 insertions(+)
Toggle diff (97 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index e8761193a8..266bba38e4 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13758,6 +13758,90 @@ modernized interface.")
(description "Word8 library to be used with @code{Data.ByteString}.")
(license license:bsd-3)))
+(define-public ghc-wreq
+ (package
+ (name "ghc-wreq")
+ (version "0.5.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/wreq/wreq-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "16xls71aby6jqc1frhwnlfvz1iwj1ms0rw9xzif02sn84470gn36"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-psqueues" ,ghc-psqueues)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-authenticate-oauth" ,ghc-authenticate-oauth)
+ ("ghc-base16-bytestring" ,ghc-base16-bytestring)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-cryptonite" ,ghc-cryptonite)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-http-client" ,ghc-http-client)
+ ("ghc-http-client-tls" ,ghc-http-client-tls)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-lens" ,ghc-lens)
+ ("ghc-lens-aeson" ,ghc-lens-aeson)
+ ("ghc-memory" ,ghc-memory)
+ ("ghc-mime-types" ,ghc-mime-types)
+ ("ghc-time-locale-compat" ,ghc-time-locale-compat)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-aeson-pretty" ,ghc-aeson-pretty)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-network-info" ,ghc-network-info)
+ ("ghc-snap-core" ,ghc-snap-core)
+ ("ghc-snap-server" ,ghc-snap-server)
+ ("ghc-temporary" ,ghc-temporary)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
+ ("ghc-unix-compat" ,ghc-unix-compat)
+ ("ghc-uuid" ,ghc-uuid)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-doctest" ,ghc-doctest)
+ ("ghc-cabal-doctest" ,ghc-cabal-doctest)))
+ (arguments
+ `(#:tests? #f ; Tests do network IO
+ #:cabal-revision
+ ("1"
+ "0gz674sb266hv6si9l79c3bv7n2nbssl1262c24in79sk27887gb")))
+ (home-page "https://www.serpentine.com/wreq")
+ (synopsis "Easy-to-use HTTP client library")
+ (description
+ "A web client library that is designed for ease of use.
+
+Tutorial: http://www.serpentine.com/wreq/tutorial.html
+
+Features include:
+@itemize
+@item Simple but powerful `lens`-based API .
+
+@item A solid test suite, and built on reliable libraries like http-client and
+lens.
+
+@item Session handling includes connection keep-alive and pooling, and cookie
+persistence.
+
+@item Automatic response body decompression.
+@item Powerful multipart form and file upload handling.
+
+@item Support for JSON requests and responses, including navigation of
+schema-less responses.
+
+@item Basic and OAuth2 bearer authentication.
+@item Early TLS support via the tls package
+@end itemize")
+ (license license:bsd-3)))
+
(define-public ghc-x11
(package
(name "ghc-x11")
--
2.25.0
From cb9a9d6ed4ea2dc2ae6c48d3c6298481d20cd3cf Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 10:45:58 -0800
Subject: [PATCH 18/34] gnu: Add ghc-hspec-discover.
* gnu/packages/haskell-check.scm (ghc-hspec-discover): New variable.
---
gnu/packages/haskell-check.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
Toggle diff (34 lines)
diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index 98b7617520..94bf76ec3f 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -1022,3 +1022,27 @@ to properly work doctest needs plenty of configuration. This library provides
the common bits for writing custom Setup.hs.")
(license license:bsd-3)))
+(define-public ghc-hspec-discover
+ (package
+ (name "ghc-hspec-discover")
+ (version "2.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/hspec-discover/hspec-discover-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0r47fm94wa6qrhp8cc1zzkjrxc32rnagfn9m9ga4dm6p6ydw4c8b"))))
+ (build-system haskell-build-system)
+ (native-inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-hspec-meta" ,ghc-hspec-meta)))
+ (home-page "http://hspec.github.io/")
+ (synopsis
+ "Automatically discover and run Hspec tests")
+ (description
+ "Automatically discover and run Hspec tests.")
+ (license license:expat)))
--
2.25.0
From 93eafbcda51ef8da96c700cdce2acaadb388c6c1 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:06:19 -0800
Subject: [PATCH 20/34] gnu: Add ghc-optparse-simple.
* gnu/packages/haskell-xyz.scm (ghc-optparse-simple): New variable.
---
gnu/packages/haskell-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
Toggle diff (40 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 9b4a106990..320583fffc 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -8577,6 +8577,33 @@ easily work with command-line options.")
command line options in Haskell.")
(license license:bsd-3)))
+(define-public ghc-optparse-simple
+ (package
+ (name "ghc-optparse-simple")
+ (version "0.1.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/optparse-simple/optparse-simple-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1r00hkri42vyx552l8hcd1779fxiyl9w4k0pql915zsprirn8w82"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-githash" ,ghc-githash)
+ ("ghc-optparse-applicative" ,ghc-optparse-applicative)
+ ("ghc-semigroups" ,ghc-semigroups)))
+ (home-page
+ "https://github.com/fpco/optparse-simple#readme")
+ (synopsis
+ "Simple interface to optparse-applicative")
+ (description
+ "Simple interface to optparse-applicative.")
+ (license license:bsd-3)))
+
(define-public ghc-pandoc
(package
(name "ghc-pandoc")
--
2.25.0
From c8c2af7d3afdcc7d6ec396446f262204661ff08f Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:05:32 -0800
Subject: [PATCH 19/34] gnu: Add ghc-optparse-generic.
* gnu/packages/haskell-xyz.scm (ghc-optparse-generic): New variable.
---
gnu/packages/haskell-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
Toggle diff (49 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 266bba38e4..9b4a106990 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -8512,6 +8512,42 @@ easily work with command-line options.")
easily work with command-line options.")
(license license:expat)))
+(define-public ghc-optparse-generic
+ (package
+ (name "ghc-optparse-generic")
+ (version "1.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/optparse-generic/optparse-generic-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "13rr3hq26dpmbami8vb6d1ig9ywk6jia22sp5dkp6jkfc1c9k4l0"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-system-filepath" ,ghc-system-filepath)
+ ("ghc-only" ,ghc-only)
+ ("ghc-optparse-applicative" ,ghc-optparse-applicative)
+ ("ghc-void" ,ghc-void)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-singletons" ,ghc-singletons)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-th-desugar" ,ghc-th-desugar)))
+ (arguments
+ `(#:cabal-revision
+ ("3"
+ "0vszcjmxywblx5z9yvrz8c6yc104jgr1nv0sbv58ansd3rkjlzfn")))
+ (home-page
+ "http://hackage.haskell.org/package/optparse-generic")
+ (synopsis
+ "Auto-generate a command-line parser for your datatype")
+ (description
+ "This library auto-generates an optparse-applicative-compatible
+@code{Parser} from any data type that derives the @code{Generic} interface.")
+ (license license:bsd-3)))
(define-public ghc-optparse-applicative
(package
--
2.25.0
From 68296b488b5ea7cb2dab2a07701562d79269cfe7 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:06:57 -0800
Subject: [PATCH 21/34] gnu: Add ghc-githash.
* gnu/packages/haskell-xyz.scm (ghc-githash): New variable.
---
gnu/packages/haskell-xyz.scm | 47 ++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
Toggle diff (67 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 320583fffc..be6f1f2bd2 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -62,6 +62,7 @@
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages sdl)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
@@ -4652,6 +4653,52 @@ properties for functions operating on them.")
interfaces with ease.")
(license license:bsd-3)))
+(define-public ghc-githash
+ (package
+ (name "ghc-githash")
+ (version "0.1.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/githash/githash-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "19xhs2nzm1myyjx3nkc3invy15c19cfx790vbcrl050n9sb330jr"))))
+ (build-system haskell-build-system)
+ (native-inputs
+ `(("git" ,git)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-hspec-discover" ,ghc-hspec-discover)
+ ("ghc-temporary" ,ghc-temporary)
+ ("ghc-unliftio" ,ghc-unliftio)))
+ (home-page
+ "https://github.com/snoyberg/githash#readme")
+ (synopsis
+ "Compile git revision info into Haskell projects")
+ (description
+ "Some handy Template Haskell splices for including the current git hash and
+branch in the code of your project. Useful for including in panic messages,
+--version output, or diagnostic info for more informative bug reports.
+
+Most of the complication in the GitHash module is due to the various places
+the current git hash might be stored:
+
+@itemize
+
+@item Detached HEAD: the hash is in .git/HEAD
+
+@item On a branch or tag: the hash is in a file pointed to by .git/HEAD in a
+location like .git/refs/heads
+
+@item On a branch or tag but in a repository with packed refs: the hash is in
+.git/packed-refs
+
+@end itemize")
+ (license license:bsd-3)))
+
(define-public ghc-gitrev
(package
(name "ghc-gitrev")
--
2.25.0
From 9784a98272a635ffc6fd80c938380d93cf274835 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:07:43 -0800
Subject: [PATCH 22/34] gnu: Add ghc-rio-prettyprint.
* gnu/packages/haskell-xyz.scm (ghc-rio-prettyprint): New variable.
---
gnu/packages/haskell-xyz.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
Toggle diff (45 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index be6f1f2bd2..dc9da01334 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -10265,6 +10265,38 @@ expose it from another module in the hierarchy.
@end itemize")
(license license:expat)))
+(define-public ghc-rio-prettyprint
+ (package
+ (name "ghc-rio-prettyprint")
+ (version "0.1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/rio-prettyprint/rio-prettyprint-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0n8ldc73i0954c6s8jh0hibxrisp84yh5pcxv3x3q0wg4v2xvr0m"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-aeson" ,ghc-aeson)
+ ("ghc-annotated-wl-pprint" ,ghc-annotated-wl-pprint)
+ ("ghc-ansi-terminal" ,ghc-ansi-terminal)
+ ("ghc-colour" ,ghc-colour)
+ ("ghc-path" ,ghc-path)
+ ("ghc-rio" ,ghc-rio)))
+ (arguments
+ `(#:cabal-revision
+ ("2"
+ "1hvhjqy7kfk7fglx1rw8axscy0dfzqwd1564awnwdhvmf8silkkn")))
+ (home-page
+ "https://github.com/commercialhaskell/stack#readme")
+ (synopsis "Pretty-printing for RIO")
+ (description "Pretty-printing for RIO.")
+ (license license:bsd-3)))
+
(define-public ghc-rsa
(package
(name "ghc-rsa")
--
2.25.0
From f6c912ace640b781d511be2d53e2e0bdbdd893c0 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:08:10 -0800
Subject: [PATCH 23/34] gnu: Add ghc-regex-applicative-text.
* gnu/packages/haskell-xyz.scm (ghc-regex-applicative-text): New variable.
---
gnu/packages/haskell-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
Toggle diff (40 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index dc9da01334..460569616c 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -9847,6 +9847,33 @@ copious examples.")
regular expressions. Parsers can be built using Applicative interface.")
(license license:expat)))
+(define-public ghc-regex-applicative-text
+ (package
+ (name "ghc-regex-applicative-text")
+ (version "0.1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/regex-applicative-text"
+ "/regex-applicative-text-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ng2qhk4mvpzl8fx91ig7ldv09v9aqdsvn6yl9yjapc6h0ghb4xh"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-regex-applicative" ,ghc-regex-applicative)))
+ (arguments
+ `(#:cabal-revision
+ ("4"
+ "0ykzppl1v6k70idjl73m4w161f6lsax89v1gp100y4xgipf3yijj")))
+ (home-page
+ "https://github.com/phadej/regex-applicative-text#readme")
+ (synopsis "Regex-applicative on text")
+ (description
+ "Wrapped regex-applicative primitives to work with Text.")
+ (license license:bsd-3)))
+
(define-public ghc-regex-base
(package
(name "ghc-regex-base")
--
2.25.0
From 840d8e14bca9cb3d3cfcaaad01ae65fad7ae8038 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:09:18 -0800
Subject: [PATCH 25/34] gnu: Add ghc-pantry.
* gnu/packages/haskell-xyz.scm (ghc-pantry): New variable.
---
gnu/packages/haskell-xyz.scm | 107 +++++++++++++++++++++++++++++++++++
1 file changed, 107 insertions(+)
Toggle diff (120 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index ab20436077..31b0578af7 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -8818,6 +8818,113 @@ pandoc to represent structured documents. It also provides functions for
building up, manipulating and serialising @code{Pandoc} structures.")
(license license:bsd-3)))
+(define-public ghc-pantry
+ (package
+ (name "ghc-pantry")
+ (version "0.1.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/pantry/pantry-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1m1sps9kc7y8zpba486lv5z8an3z8493zxb1qhghql6pybsprsgi"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-aeson" ,ghc-aeson)
+ ("ghc-ansi-terminal" ,ghc-ansi-terminal)
+ ("ghc-base-orphans" ,ghc-base-orphans)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-contravariant" ,ghc-contravariant)
+ ("ghc-cryptonite" ,ghc-cryptonite)
+ ("ghc-cryptonite-conduit" ,ghc-cryptonite-conduit)
+ ("ghc-digest" ,ghc-digest)
+ ("ghc-filelock" ,ghc-filelock)
+ ("ghc-generic-deriving" ,ghc-generic-deriving)
+ ("ghc-hackage-security" ,ghc-hackage-security)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-hpack" ,ghc-hpack)
+ ("ghc-hspec-discover" ,ghc-hspec-discover)
+ ("ghc-http-client" ,ghc-http-client)
+ ("ghc-http-client-tls" ,ghc-http-client-tls)
+ ("ghc-http-conduit" ,ghc-http-conduit)
+ ("ghc-http-download" ,ghc-http-download)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-memory" ,ghc-memory)
+ ("ghc-mono-traversable" ,ghc-mono-traversable)
+ ("ghc-network" ,ghc-network)
+ ("ghc-network-uri" ,ghc-network-uri)
+ ("ghc-path" ,ghc-path)
+ ("ghc-path-io" ,ghc-path-io)
+ ("ghc-persistent" ,ghc-persistent)
+ ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
+ ("ghc-persistent-template" ,ghc-persistent-template)
+ ("ghc-primitive" ,ghc-primitive)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-rio" ,ghc-rio)
+ ("ghc-rio-orphans" ,ghc-rio-orphans)
+ ("ghc-rio-prettyprint" ,ghc-rio-prettyprint)
+ ("ghc-safe" ,ghc-safe)
+ ("ghc-syb" ,ghc-syb)
+ ("ghc-tar-conduit" ,ghc-tar-conduit)
+ ("ghc-text-metrics" ,ghc-text-metrics)
+ ("ghc-th-lift" ,ghc-th-lift)
+ ("ghc-th-lift-instances" ,ghc-th-lift-instances)
+ ("ghc-th-orphans" ,ghc-th-orphans)
+ ("ghc-th-reify-many" ,ghc-th-reify-many)
+ ("ghc-th-utilities" ,ghc-th-utilities)
+ ("ghc-unix-compat" ,ghc-unix-compat)
+ ("ghc-unliftio" ,ghc-unliftio)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-yaml" ,ghc-yaml)
+ ("ghc-zip-archive" ,ghc-zip-archive)))
+ (native-inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-hedgehog" ,ghc-hedgehog)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
+ (arguments
+ `(; Tests do network IO
+ #:tests? #f))
+ (home-page
+ "https://github.com/commercialhaskell/pantry#readme")
+ (synopsis
+ "Content addressable Haskell package management")
+ (description
+ "Content addressable Haskell package management, providing for secure,
+reproducible acquisition of Haskell package contents and metadata.
+
+What is Pantry
+
+@itemize
+
+@item A Haskell library, command line executable, storage specification, and
+network protocol
+
+@item Intended for content-addressable storage of Haskell packages
+@item Allows non-centralized package storage
+@item Primarily for use by Stackage and Stack, hopefully other tools as well
+@end itemize
+
+Goals
+
+@itemize
+@item Efficient, distributed package storage for Haskell
+@item Superset of existing storage mechanisms
+@item Security via content addressable storage
+@item Allow more Stackage-style snapshots to exist
+@item Allow authors to bypass Hackage for uploads
+@item Allow Stackage to create forks of packages on Hackage
+@end itemize")
+ (license license:bsd-3)))
+
(define-public ghc-parallel
(package
(name "ghc-parallel")
--
2.25.0
From 55b1aa71fb4a18852dc7148ed84c90ed0d9cf5c1 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:08:48 -0800
Subject: [PATCH 24/34] gnu: Add ghc-project-template.
* gnu/packages/haskell-xyz.scm (ghc-project-template): New variable.
---
gnu/packages/haskell-xyz.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
Toggle diff (46 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 460569616c..ab20436077 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -9486,6 +9486,39 @@ API.")
(description "This library provides profunctors for Haskell.")
(license license:bsd-3)))
+(define-public ghc-project-template
+ (package
+ (name "ghc-project-template")
+ (version "0.2.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/project-template/project-template-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-hspec-discover" ,ghc-hspec-discover)
+ ("ghc-resourcet" ,ghc-resourcet)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (arguments
+ `(#:cabal-revision
+ ("1"
+ "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
+ (home-page "https://github.com/fpco/haskell-ide")
+ (synopsis "Specify Haskell project templates and generate files")
+ (description "Specify Haskell project templates and generate files.")
+ (license license:bsd-3)))
+
(define-public ghc-protolude
(package
(name "ghc-protolude")
--
2.25.0
From ff5fec936fa0bd6c8cc2e28c8757e4f63952722b Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:10:38 -0800
Subject: [PATCH 28/34] gnu: Add ghc-mustache.
* gnu/packages/haskell-xyz.scm (ghc-mustache): New variable.
---
gnu/packages/haskell-xyz.scm | 46 ++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
Toggle diff (59 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index b9bdc22d45..a86fb5d8cc 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -8007,6 +8007,52 @@ implementation is pure Haskell, so it might be a bit slower than a C FFI
binding.")
(license license:bsd-3)))
+(define-public ghc-mustache
+ (package
+ (name "ghc-mustache")
+ (version "2.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/mustache/mustache-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1q3vadcvv2pxg6rpp92jq5zy784jxphdfpf6xn9y6wg9g3jn7201"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-aeson" ,ghc-aeson)
+ ("ghc-either" ,ghc-either)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-th-lift" ,ghc-th-lift)
+ ("ghc-yaml" ,ghc-yaml)
+ ("ghc-cmdargs" ,ghc-cmdargs)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-base-unicode-symbols" ,ghc-base-unicode-symbols)
+ ("ghc-wreq" ,ghc-wreq)
+ ("ghc-zlib" ,ghc-zlib)
+ ("ghc-tar" ,ghc-tar)
+ ("ghc-lens" ,ghc-lens)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-temporary" ,ghc-temporary)))
+ (arguments
+ ;; Tests do network IO
+ `(#:tests? #f))
+ (home-page
+ "https://github.com/JustusAdam/mustache")
+ (synopsis "Mustache template parser library")
+ (description
+ "Allows parsing and rendering template files with mustache markup. See
+the mustache language reference http://mustache.github.io/mustache.5.html.
+
+Implements the mustache spec version 1.1.3.")
+ (license license:bsd-3)))
+
(define-public ghc-mwc-random
(package
(name "ghc-mwc-random")
--
2.25.0
From e15581c2f8a252e1bfe839dbde452c152e9e640c Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:10:09 -0800
Subject: [PATCH 27/34] gnu: Add ghc-neat-interpolation.
* gnu/packages/haskell-xyz.scm (ghc-neat-interpolation): New variable.
---
gnu/packages/haskell-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
Toggle diff (42 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 8616b58ec8..b9bdc22d45 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -8114,6 +8114,35 @@ with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
ncurses.")
(license license:gpl3)))
+(define-public ghc-neat-interpolation
+ (package
+ (name "ghc-neat-interpolation")
+ (version "0.3.2.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/neat-interpolation"
+ "/neat-interpolation-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0lhpjckwhzlvx4cdhrwprwb85vc7hc44ybvk5nswgn7z73cp0wyy"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-megaparsec" ,ghc-megaparsec)
+ ("ghc-base-prelude" ,ghc-base-prelude)))
+ (native-inputs `(("ghc-htf" ,ghc-htf)))
+ (home-page
+ "https://github.com/nikita-volkov/neat-interpolation")
+ (synopsis
+ "Quasiquoter for neat and simple multiline text interpolation")
+ (description
+ "A quasiquoter for producing Text values with support for a simple
+interpolation of input values. It removes the excessive indentation from the
+input and accurately manages the indentation of all lines of the interpolated
+variables.")
+ (license license:expat)))
+
(define-public ghc-network
(package
(name "ghc-network")
--
2.25.0
From ea8ffb012ca3f35771fabe7dfd9f21a0a78d44b6 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:09:42 -0800
Subject: [PATCH 26/34] gnu: Add ghc-open-browser.
* gnu/packages/haskell-xyz.scm (ghc-open-browser): New variable.
---
gnu/packages/haskell-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
Toggle diff (36 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 31b0578af7..8616b58ec8 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -8413,6 +8413,29 @@ old @code{time} library. For new projects, the newer
Haskell for attaching typeclass instances.")
(license license:bsd-3)))
+(define-public ghc-open-browser
+ (package
+ (name "ghc-open-browser")
+ (version "0.2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/open-browser/open-browser-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0rna8ir2cfp8gk0rd2q60an51jxc08lx4gl0liw8wwqgh1ijxv8b"))))
+ (build-system haskell-build-system)
+ (home-page
+ "https://github.com/rightfold/open-browser")
+ (synopsis "Open a web browser from Haskell")
+ (description
+ "Open a web browser from Haskell. Currently BSD, Linux, OS X and Windows
+are supported.")
+ (license license:bsd-3)))
+
(define-public ghc-opengl
(package
(name "ghc-opengl")
--
2.25.0
From 816a12bd25101f85d12b52acc4e24a751e64baed Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:11:02 -0800
Subject: [PATCH 29/34] gnu: Add ghc-mintty.
* gnu/packages/haskell-xyz.scm (ghc-mintty): New variable.
---
gnu/packages/haskell-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
Toggle diff (48 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index a86fb5d8cc..2a22f4daaf 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -7589,6 +7589,41 @@ generated lenses are fully compatible with ones generated by lens (and can be
used both from lens and microlens).")
(license license:bsd-3)))
+(define-public ghc-mintty
+ (package
+ (name "ghc-mintty")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/mintty/mintty-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1njhz7wjmsk5pbr7gfkl95k50npkmm0iyxp3j93bbsg4rmxzg2kw"))))
+ (build-system haskell-build-system)
+ (home-page
+ "https://github.com/RyanGlScott/mintty")
+ (synopsis
+ "Reliably detect the presence of a MinTTY console on Windows")
+ (description
+ "MinTTY is a Windows-specific terminal emulator for the widely used
+Cygwin and MSYS projects, which provide Unix-like environments for Windows.
+MinTTY consoles behave differently from native Windows consoles (such as
+cmd.exe or PowerShell) in many ways, and in some cases, these differences make
+it necessary to treat MinTTY consoles differently in code.
+
+The mintty library provides a simple way to detect if your code in running in
+a MinTTY console on Windows. It exports @code{isMinTTY}, which does the right
+thing 90% of the time (by checking if standard error is attached to MinTTY),
+and it also exports @code{isMinTTYHandle} for the other 10% of the time (when
+you want to check is some arbitrary handle is attached to MinTTY). As you
+might expect, both of these functions will simply return @code{False} on any
+non-Windows operating system.")
+ (license license:bsd-3)))
+
(define-public ghc-missingh
(package
(name "ghc-missingh")
--
2.25.0
From da1ad6132b428d2e6ca4ac7b2291f6c25095046c Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:11:51 -0800
Subject: [PATCH 31/34] gnu: Add ghc-hi-file-parser.
* gnu/packages/haskell-xyz.scm (ghc-hi-file-parser): New variable.
---
gnu/packages/haskell-xyz.scm | 41 ++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
Toggle diff (54 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 6dd0a6affe..499775281d 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -5605,6 +5605,47 @@ feature, allowing applications to subscribe to notifications when a file is
accessed or modified.")
(license license:bsd-3)))
+(define-public ghc-hi-file-parser
+ (package
+ (name "ghc-hi-file-parser")
+ (version "0.1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/hi-file-parser/hi-file-parser-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "09gs26z0jvkkhb1r43gj27pq0k5fc4i6fpr59g397vz4sm86gb2l"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-hspec-discover" ,ghc-hspec-discover)
+ ("ghc-rio" ,ghc-rio)
+ ("ghc-vector" ,ghc-vector)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)))
+ (arguments
+ `(#:cabal-revision
+ ("2"
+ "1bm98h0v4wf9vmdng15c2r48yz06118jxlprsnk0z3jw0d95ij9z")))
+ (home-page
+ "https://github.com/commercialhaskell/stack#readme")
+ (synopsis "Parser for GHC's hi files")
+ (description
+ "Provide data types and functions for parsing the binary .hi files produced by
+GHC. Intended to support multiple versions of GHC, so that tooling can:
+
+@itemize
+@item Support multiple versions of GHC
+@item Avoid linking against the ghc library
+@item Not need to use ghc's textual dump file format.
+@end itemize
+
+Note that this code was written for Stack's usage initially, though it is
+intended to be general purpose.")
+ (license license:bsd-3)))
+
(define-public ghc-hmatrix
(package
(name "ghc-hmatrix")
--
2.25.0
From bac6335426d44538510661c371d9de9705a1f07a Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:12:44 -0800
Subject: [PATCH 33/34] gnu: Add ghc-cryptonite-conduit.
* gnu/packages/haskell-xyz.scm (ghc-cryptonite-conduit): New variable.
---
gnu/packages/haskell-xyz.scm | 41 ++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
Toggle diff (54 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 0f8efee977..508a6933ba 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -2651,6 +2651,47 @@ option to turn off macro-expansion.")
"Generic cryptography public keys algorithm types")
(license license:bsd-3)))
+(define-public ghc-cryptonite-conduit
+ (package
+ (name "ghc-cryptonite-conduit")
+ (version "0.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/cryptonite-conduit/"
+ "cryptonite-conduit-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1bldcmda4xh52mw1wfrjljv8crhw3al7v7kv1j0vidvr7ymnjpbh"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-conduit" ,ghc-conduit)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-cryptonite" ,ghc-cryptonite)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-memory" ,ghc-memory)
+ ("ghc-resourcet" ,ghc-resourcet)))
+ (native-inputs
+ `(("ghc-conduit-combinators" ,ghc-conduit-combinators)
+ ("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+ (arguments
+ `(#:cabal-revision
+ ("1"
+ "1hh2nzfz4qpxgivfilgk4ll416lph8b2fdkzpzrmqfjglivydfmz")))
+ (home-page
+ "https://github.com/haskell-crypto/cryptonite-conduit")
+ (synopsis "Cryptonite conduit")
+ (description
+ "Conduit bridge for cryptonite.
+
+For now only provide a conduit version for hash and hmac, but with
+contribution, this could provide cipher conduits too, and probably other
+things.")
+ (license license:bsd-3)))
+
(define-public ghc-data-accessor
(package
(name "ghc-data-accessor")
--
2.25.0
From 33d7987975c9412fd1fb20076cbdecf34313c027 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:11:22 -0800
Subject: [PATCH 30/34] gnu: Add ghc-http-download.
* gnu/packages/haskell-xyz.scm (ghc-http-download): New variable.
---
gnu/packages/haskell-xyz.scm | 47 ++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
Toggle diff (60 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 2a22f4daaf..6dd0a6affe 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -6077,6 +6077,53 @@ query parameters")
Haskell data types to and from HTTP API data.")
(license license:bsd-3)))
+(define-public ghc-http-download
+ (package
+ (name "ghc-http-download")
+ (version "0.1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/http-download/http-download-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0wip7l6cls734ag306s5l0683qqh273b3lk5ibig66racmysjqyb"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-cryptonite" ,ghc-cryptonite)
+ ("ghc-cryptonite-conduit" ,ghc-cryptonite-conduit)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-http-client" ,ghc-http-client)
+ ("ghc-http-conduit" ,ghc-http-conduit)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-memory" ,ghc-memory)
+ ("ghc-path" ,ghc-path)
+ ("ghc-path-io" ,ghc-path-io)
+ ("ghc-retry" ,ghc-retry)
+ ("ghc-rio" ,ghc-rio)
+ ("ghc-rio-prettyprint" ,ghc-rio-prettyprint)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-hspec-discover" ,ghc-hspec-discover)))
+ (arguments
+ `(#:tests? #f ; Tests do network IO
+ #:cabal-revision
+ ("4"
+ "1s20zjh52whs6hfhr90zyyy7g78zv1pw9hry1nwlzdv4hg97cbdh")))
+ (home-page
+ "https://github.com/commercialhaskell/stack#readme")
+ (synopsis "Verified downloads with retries")
+ (description
+ "Higher level HTTP download APIs include verification of content and
+retries.")
+ (license license:bsd-3)))
+
(define-public ghc-ieee754
(package
(name "ghc-ieee754")
--
2.25.0
From 98334694e3c5a310e4c4a1b0a421c6bfd36572c8 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 26 Jan 2020 11:12:14 -0800
Subject: [PATCH 32/34] gnu: Add ghc-filelock.
* gnu/packages/haskell-xyz.scm (ghc-filelock): New variable.
---
gnu/packages/haskell-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
Toggle diff (38 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 499775281d..0f8efee977 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -4200,6 +4200,31 @@ the files in a directory, and turn them into @code{(path, bytestring)} pairs
embedded in your Haskell code.")
(license license:bsd-3)))
+(define-public ghc-filelock
+ (package
+ (name "ghc-filelock")
+ (version "0.1.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/filelock/filelock-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "04qimhz78jjndk686dblkx06l9jscq2q9gyr014a4pbfj4iljgi5"))))
+ (build-system haskell-build-system)
+ (native-inputs `(("ghc-async" ,ghc-async)))
+ (home-page
+ "http://github.com/takano-akio/filelock")
+ (synopsis
+ "Portable interface to file locking (flock / LockFileEx)")
+ (description
+ "This package provides an interface to Windows and Unix file locking
+functionalities.")
+ (license license:public-domain)))
+
(define-public ghc-filemanip
(package
(name "ghc-filemanip")
--
2.25.0