.[PATCH] WIP gnu: add stack.

OpenSubmitted by John Soo.
Details
2 participants
  • John Soo
  • Timothy Sample
Owner
unassigned
Severity
normal
J
J
John Soo wrote on 27 Jan 2020 15:56
(address . guix-patches@gnu.org)
CAKf5CqW=QiGqM5GUAsFW7N7XAnSMug9iV-M+ECM3n2+OvagsLg@mail.gmail.com
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 Irealized stack would help out there.
I tried to package it which seems straightforward. I got thedependencies built and linted but stack itself is failing with thefollowing:
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:https://github.com/NixOS/nixpkgs/issues/41340
I thought I would share my work and maybe someone could help.
Thanks,
John
From 471e1d216493d955d8ad392e3a98ff9851c1104a Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:51:19 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:49:21 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:52:08 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:48:54 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:50:44 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:52:39 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:53:38 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:46:31 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:14:59 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:14:31 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:15:31 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:55:04 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:01:05 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:01:36 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:56:10 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:45:30 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:02:18 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:45:58 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:06:19 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:05:32 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:06:57 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:07:43 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:08:10 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:09:18 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:08:48 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:10:38 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:10:09 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:09:42 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:11:02 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:11:51 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:12:44 -0800Subject: [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.scmindex 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 194f169cdb48f0776900d1f0d01eac0e7f53da2f Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:19:47 -0800Subject: [PATCH 34/34] gnu: Add stack.
* gnu/packages/haskell-xyz.scm (stack): New variable.--- gnu/packages/haskell-apps.scm | 109 ++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+)
Toggle diff (122 lines)diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scmindex 46cf754ddb..1318a16f50 100644--- a/gnu/packages/haskell-apps.scm+++ b/gnu/packages/haskell-apps.scm@@ -691,6 +691,115 @@ advanced user's otherwise working script to fail under future circumstances. @end enumerate") (license license:gpl3+))) +(define-public stack+ (package+ (name "stack")+ (version "2.1.3.1")+ (source+ (origin+ (method url-fetch)+ (uri (string-append+ "https://hackage.haskell.org/package/stack/stack-"+ version+ ".tar.gz"))+ (sha256+ (base32+ "1q2nagnc24fvyj3hwnpgyp3rqhxswhscyw4pw2dazqx34ad3d0zr"))))+ (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-async" ,ghc-async)+ ("ghc-attoparsec" ,ghc-attoparsec)+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)+ ("ghc-colour" ,ghc-colour)+ ("ghc-conduit" ,ghc-conduit)+ ("ghc-conduit-extra" ,ghc-conduit-extra)+ ("ghc-cryptonite" ,ghc-cryptonite)+ ("ghc-cryptonite-conduit" ,ghc-cryptonite-conduit)+ ("ghc-echo" ,ghc-echo)+ ("ghc-exceptions" ,ghc-exceptions)+ ("ghc-extra" ,ghc-extra)+ ("ghc-file-embed" ,ghc-file-embed)+ ("ghc-filelock" ,ghc-filelock)+ ("ghc-fsnotify" ,ghc-fsnotify)+ ("ghc-generic-deriving" ,ghc-generic-deriving)+ ("ghc-hackage-security" ,ghc-hackage-security)+ ("ghc-hashable" ,ghc-hashable)+ ("ghc-hi-file-parser" ,ghc-hi-file-parser)+ ("ghc-hpack" ,ghc-hpack)+ ("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-microlens" ,ghc-microlens)+ ("ghc-mintty" ,ghc-mintty)+ ("ghc-mono-traversable" ,ghc-mono-traversable)+ ("ghc-mustache" ,ghc-mustache)+ ("ghc-neat-interpolation" ,ghc-neat-interpolation)+ ("ghc-network-uri" ,ghc-network-uri)+ ("ghc-open-browser" ,ghc-open-browser)+ ("ghc-optparse-applicative" ,ghc-optparse-applicative)+ ("ghc-pantry" ,ghc-pantry)+ ("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-project-template" ,ghc-project-template)+ ("ghc-regex-applicative-text" ,ghc-regex-applicative-text)+ ("ghc-resource-pool" ,ghc-resource-pool)+ ("ghc-resourcet" ,ghc-resourcet)+ ("ghc-retry" ,ghc-retry)+ ("ghc-rio" ,ghc-rio)+ ("ghc-rio-prettyprint" ,ghc-rio-prettyprint)+ ("ghc-semigroups" ,ghc-semigroups)+ ("ghc-split" ,ghc-split)+ ("ghc-streaming-commons" ,ghc-streaming-commons)+ ("ghc-tar" ,ghc-tar)+ ("ghc-temporary" ,ghc-temporary)+ ("ghc-terminal-size" ,ghc-terminal-size)+ ("ghc-text-metrics" ,ghc-text-metrics)+ ("ghc-th-reify-many" ,ghc-th-reify-many)+ ("ghc-tls" ,ghc-tls)+ ("ghc-typed-process" ,ghc-typed-process)+ ("ghc-unicode-transforms" ,ghc-unicode-transforms)+ ("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)+ ("ghc-zlib" ,ghc-zlib)+ ("ghc-githash" ,ghc-githash)+ ("ghc-optparse-simple" ,ghc-optparse-simple)+ ("ghc-hspec" ,ghc-hspec)+ ("ghc-optparse-generic" ,ghc-optparse-generic)))+ (native-inputs+ `(("ghc-quickcheck" ,ghc-quickcheck)+ ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)+ ("ghc-smallcheck" ,ghc-smallcheck)))+ (home-page "http://haskellstack.org")+ (synopsis "Haskell Tool Stack")+ (description+ "Stack is a cross-platform program for developing Haskell projects. It+is aimed at Haskellers both new and experienced.++It features:++@itemize+@item Installing GHC automatically, in an isolated location.+@item Installing packages needed for your project.+@item Building your project.+@item Testing your project.+@item Benchmarking your project.+@end itemize")+ (license license:bsd-3)))+ (define-public stylish-haskell (package (name "stylish-haskell")-- 2.25.0
From 33d7987975c9412fd1fb20076cbdecf34313c027 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:11:22 -0800Subject: [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.scmindex 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 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:12:14 -0800Subject: [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.scmindex 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
J
J
John Soo wrote on 29 Jan 2020 16:17
[PATCH WIP] gnu: add stack.
(address . 39309@debbugs.gnu.org)
D5873825-B949-47F6-B9AC-5E1722DA028D@asu.edu
Fixing the subject line.
J
J
John Soo wrote on 7 Feb 2020 18:32
CAKf5CqXUOyvDgCG8e9oGxhBxwpC-9sKi3y8RJUfgjXi5s+c+1A@mail.gmail.com
Hi Tim,
Just wanted to CC you because this issue is hard to find thanks to mymistaken subject line.
- John
T
T
Timothy Sample wrote on 10 Feb 2020 07:06
(name . John Soo)(address . jsoo1@asu.edu)(address . 39309@debbugs.gnu.org)
87k14vou0u.fsf@ngyro.com
Hi John,
John Soo <jsoo1@asu.edu> writes:
Toggle quote (3 lines)> Just wanted to CC you because this issue is hard to find thanks to my> mistaken subject line.
This seems to be due to https://github.com/haskell/hsc2hs/issues/22.
Briefly, the “hsc2hs” program bundled with GHC 8.6.5 accepts responsefiles, but then goes ahead and passes arguments directly to GCC. Newerversions of “hsc2hs” use response files for GCC, which solves the“Argument list too long” problem.
My first suggestion would be to make a separate package for “hsc2hs”using the version listed on Stackage (which is 0.68.6). Then, add it asa native input to the “stack” package and get it to shadow the versionshipped with GHC.
Failing that, we could consider patching our GHC package. It would bebest to avoid that, though! :)
(Also, there’s a duplicate “ghc-hspec-discover” in the patch set. Thatis, we already have an “hspec-discover” package.)

-- Tim
J
J
John Soo wrote on 13 Feb 2020 14:52
(name . Timothy Sample)(address . samplet@ngyro.com)(address . 39309@debbugs.gnu.org)
CAKf5CqWiBcdth8+vTzo7Od-ZEhes97U6eX+UOJeyBOjVu-_VUQ@mail.gmail.com
Hi Tim,

Toggle quote (12 lines)> This seems to be due to https://github.com/haskell/hsc2hs/issues/22.>> Briefly, the “hsc2hs” program bundled with GHC 8.6.5 accepts response> files, but then goes ahead and passes arguments directly to GCC. Newer> versions of “hsc2hs” use response files for GCC, which solves the> “Argument list too long” problem.>> My first suggestion would be to make a separate package for “hsc2hs”> using the version listed on Stackage (which is 0.68.6). Then, add it as> a native input to the “stack” package and get it to shadow the version> shipped with GHC.
I added hsc2hs@0.68.6 as a native input to stack but I'm not sure howto make it shadow the ghc package.Used as a native input hsc2hs does not fix the issue.I suppose another option would be to use the #:haskell key to use alocally-patched version.I am not familiar with ghc internals aside from having built fromsource a few times so I can look into that option.
Toggle quote (3 lines)> Failing that, we could consider patching our GHC package. It would be> best to avoid that, though! :)
Agree! I think we should try shadowing hsc2hs first. I might evensuggest bumping lts/ghc versions before we patch our version.

Toggle quote (3 lines)> (Also, there’s a duplicate “ghc-hspec-discover” in the patch set. That> is, we already have an “hspec-discover” package.)
Oops! Sorry!It's definitely the importer. I know I'm not the first to have the problem.Maybe we should open an issue to fix that?
Thanks!
John
J
J
John Soo wrote on 13 Feb 2020 14:59
(name . Timothy Sample)(address . samplet@ngyro.com)(address . 39309@debbugs.gnu.org)
CAKf5CqXwwz3M-2jLoRheZy5_Y_1OGhnfiZUyO8sh-5pMy5XQ6g@mail.gmail.com
Hi Tim,
Also here's an updated patch set with the native input for hsc2hs andno ghc-hspec-discover.
- John
From 2731dcc3d8f1dc1421bfea41ae648622b4def67e Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:49:21 -0800Subject: [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.scmindex 897d60ed76..04542afd81 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -10641,6 +10641,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 fd36828ec8dd480cbe4d69b9e2bb126c582b3698 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:48:54 -0800Subject: [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.scmindex 375d672343..897d60ed76 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -11757,6 +11757,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 9aee103d30a4094ed5f64b17112dd2bc19ab5eaf Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:51:19 -0800Subject: [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.scmindex 6585e85fe8..2ed5165f7d 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -11958,6 +11958,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+ `(("hspec-discover" ,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 fc4e9b05417a2d6257c8a6759266aa0c803de0d2 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:52:08 -0800Subject: [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.scmindex 2ed5165f7d..c65214cfbd 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -9943,6 +9943,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)+ ("hspec-discover" ,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 9f3457df71769aa8d4eba94bc6d0f5bedc5f8922 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:50:44 -0800Subject: [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.scmindex 04542afd81..6585e85fe8 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -8058,6 +8058,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 dff40eb5e0da8da9039520e1c0ab217f6c24c2a7 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:52:39 -0800Subject: [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.scmindex c65214cfbd..51a26a93b8 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -13692,6 +13692,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 c6fe2f4e419d5133e7b40bd965605575b6e4ad7f Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:53:38 -0800Subject: [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.scmindex 51a26a93b8..da96da2d7e 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -2500,6 +2500,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 a054107ac0c5a905898fd54c4a5555ce190449fe Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:14:59 -0800Subject: [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.scmindex 345a42330d..888c015567 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -2566,6 +2566,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 355a1900b56e3c6128f4a8f753e8bd617882d743 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:14:31 -0800Subject: [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.scmindex 62ac35c87e..345a42330d 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -1838,6 +1838,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 3d10f8ed3722af9a4af8ca1469c9be293fa7d6eb Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:46:31 -0800Subject: [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.scmindex da96da2d7e..62ac35c87e 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -5782,6 +5782,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 21d5037eba1bd1ee4578390ea0017bb920252eef Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:15:31 -0800Subject: [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.scmindex 888c015567..5c46d62fa7 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -3323,6 +3323,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 8fa0bac119039346205b891e22db220dd2bf3970 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:55:04 -0800Subject: [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.scmindex 5c46d62fa7..f792ab201b 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -10169,6 +10169,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 b1e90b241d1e43201166bf08d1111b258b817ece Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:45:30 -0800Subject: [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.scmindex 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 64a8861065e0a59f3ed48d5e57922f451b621b2e Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:01:05 -0800Subject: [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.scmindex 2ff6df66ae..54efa8b4dd 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -6669,6 +6669,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 3d6f9f3fb1cb71e4f23061d01d5caeb20a583c97 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:56:10 -0800Subject: [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.scmindex f792ab201b..2ff6df66ae 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -2593,6 +2593,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 3446b60ab8b238ce1bde8859a5c2dbdc86e8cc30 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:01:36 -0800Subject: [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.scmindex 54efa8b4dd..041bd8d0d4 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -644,6 +644,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 313edf764e66d0608bbfc72319a71bd9e73b5f43 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:02:18 -0800Subject: [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.scmindex 041bd8d0d4..84427e7661 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -13867,6 +13867,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 6a24f98bf99962ad6bb2964845a8b93d486df527 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:05:32 -0800Subject: [PATCH 18/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.scmindex 84427e7661..703875836b 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -8513,6 +8513,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 48def99a5600b05195116593e9596773921c8c79 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:06:19 -0800Subject: [PATCH 19/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.scmindex 703875836b..f9f78084b3 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -8686,6 +8686,33 @@ with several features not present in pretty-printing libraries designed for code. It was designed for use in @code{Pandoc}.") (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 1f9a11e1a0ab2f571494e61ebd853fe24c031d69 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:06:57 -0800Subject: [PATCH 20/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.scmindex f9f78084b3..81ea2e47a6 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -63,6 +63,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)@@ -4653,6 +4654,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)+ ("hspec-discover" ,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 decd280b6acb602d3131c1c56064a6a1a143e041 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:07:43 -0800Subject: [PATCH 21/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.scmindex 81ea2e47a6..bf820bddbf 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -10374,6 +10374,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 26b1993886f552a6c5e56496c79f8e2bb908a1a3 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:08:10 -0800Subject: [PATCH 22/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.scmindex bf820bddbf..e0f3275df5 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -9956,6 +9956,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 266b7ffc7cab53b9666b5c86cd3d937bd4590b78 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:08:48 -0800Subject: [PATCH 23/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.scmindex e0f3275df5..15f850f77c 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -9595,6 +9595,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)+ ("hspec-discover" ,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 54cda3b433c61530f666e04d966b714ced1f43fa Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:09:18 -0800Subject: [PATCH 24/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.scmindex 15f850f77c..fcf2adf03b 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -8927,6 +8927,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)+ ("hspec-discover" ,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 a77833f2360e3c6895584f003a185ae05039b3cc Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:09:42 -0800Subject: [PATCH 25/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.scmindex fcf2adf03b..8d8cafccd3 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -8414,6 +8414,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 54bc158701f0705a851a5d096a03949017a35f83 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:10:09 -0800Subject: [PATCH 26/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.scmindex 8d8cafccd3..c38d1ff60e 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -8115,6 +8115,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 4063ea3551379290c13c391ffa3a526bee64dea2 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:10:38 -0800Subject: [PATCH 27/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.scmindex c38d1ff60e..ce45a91779 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -8008,6 +8008,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 3b0e6a04e99c44adbe67b4a6903abd700c371f0c Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:11:02 -0800Subject: [PATCH 28/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.scmindex ce45a91779..3341be3485 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -7590,6 +7590,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 c94ae2d3524e226c82843bdf1cbee6cfb0302814 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:11:22 -0800Subject: [PATCH 29/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.scmindex 3341be3485..5ddecb0df6 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -6078,6 +6078,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)+ ("hspec-discover" ,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 b80cb4ad22da156cb1c2d901f9ae4fd41213c8ff Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:11:51 -0800Subject: [PATCH 30/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.scmindex 5ddecb0df6..83bfd93ac4 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -5606,6 +5606,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+ `(("hspec-discover" ,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 321b48d938376b180b82b6c2be0ba4dc58f2818b Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:12:14 -0800Subject: [PATCH 31/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.scmindex 83bfd93ac4..ad87c7dd43 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -4201,6 +4201,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
From f971215408284fb25c9ef884fdf5f859c88cb028 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:12:44 -0800Subject: [PATCH 32/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.scmindex ad87c7dd43..bada021a36 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -2652,6 +2652,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 c74dd8def30b5dcd7dea7cb85bdec545946e231a Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Wed, 12 Feb 2020 08:58:55 -0800Subject: [PATCH 33/34] gnu: Add ghc-hsc2hs.
* gnu/packages/haskell-xyz.scm (ghc-hsc2hs): New variable.--- gnu/packages/haskell-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)
Toggle diff (44 lines)diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scmindex bada021a36..8d69df1da9 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -5935,6 +5935,37 @@ that interconverts between various bibliography formats using a common MODS-format XML intermediate.") (license license:gpl2+))) +(define-public ghc-hsc2hs+ (package+ (name "ghc-hsc2hs")+ (version "0.68.6")+ (source+ (origin+ (method url-fetch)+ (uri (string-append+ "https://hackage.haskell.org/package/hsc2hs/hsc2hs-"+ version+ ".tar.gz"))+ (sha256+ (base32+ "1clj6bgs9vmiv3mjzp82lvyyik5zr5411nxab7hydbrgq94pbk70"))))+ (build-system haskell-build-system)+ (native-inputs+ `(("ghc-tasty" ,ghc-tasty)+ ("ghc-tasty-hspec" ,ghc-tasty-hspec)))+ (home-page+ "http://hackage.haskell.org/package/hsc2hs")+ (synopsis+ "Preprocessor that helps with writing Haskell bindings to C code.")+ (description+ "The hsc2hs program can be used to automate some parts of the process of+writing Haskell bindings to C code. It reads an almost-Haskell source file+with embedded special constructs, and outputs a real Haskell file with these+constructs processed, based on information taken from some C headers. The+extra constructs provide Haskell counterparts of C types, values of C+constants, including sizes of C types, and access to fields of C structs.")+ (license license:bsd-3)))+ (define-public ghc-hslogger (package (name "ghc-hslogger")-- 2.25.0
From c2a41472136a6f184399122b3d7032b3e9b959a8 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:19:47 -0800Subject: [PATCH 34/34] gnu: Add stack.
* gnu/packages/haskell-xyz.scm (stack): New variable.--- gnu/packages/haskell-apps.scm | 110 ++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+)
Toggle diff (123 lines)diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scmindex 0a4a4f62cd..2188cf5849 100644--- a/gnu/packages/haskell-apps.scm+++ b/gnu/packages/haskell-apps.scm@@ -691,6 +691,116 @@ advanced user's otherwise working script to fail under future circumstances. @end enumerate") (license license:gpl3+))) +(define-public stack+ (package+ (name "stack")+ (version "2.1.3.1")+ (source+ (origin+ (method url-fetch)+ (uri (string-append+ "https://hackage.haskell.org/package/stack/stack-"+ version+ ".tar.gz"))+ (sha256+ (base32+ "1q2nagnc24fvyj3hwnpgyp3rqhxswhscyw4pw2dazqx34ad3d0zr"))))+ (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-async" ,ghc-async)+ ("ghc-attoparsec" ,ghc-attoparsec)+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)+ ("ghc-colour" ,ghc-colour)+ ("ghc-conduit" ,ghc-conduit)+ ("ghc-conduit-extra" ,ghc-conduit-extra)+ ("ghc-cryptonite" ,ghc-cryptonite)+ ("ghc-cryptonite-conduit" ,ghc-cryptonite-conduit)+ ("ghc-echo" ,ghc-echo)+ ("ghc-exceptions" ,ghc-exceptions)+ ("ghc-extra" ,ghc-extra)+ ("ghc-file-embed" ,ghc-file-embed)+ ("ghc-filelock" ,ghc-filelock)+ ("ghc-fsnotify" ,ghc-fsnotify)+ ("ghc-generic-deriving" ,ghc-generic-deriving)+ ("ghc-hackage-security" ,ghc-hackage-security)+ ("ghc-hashable" ,ghc-hashable)+ ("ghc-hi-file-parser" ,ghc-hi-file-parser)+ ("ghc-hpack" ,ghc-hpack)+ ("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-microlens" ,ghc-microlens)+ ("ghc-mintty" ,ghc-mintty)+ ("ghc-mono-traversable" ,ghc-mono-traversable)+ ("ghc-mustache" ,ghc-mustache)+ ("ghc-neat-interpolation" ,ghc-neat-interpolation)+ ("ghc-network-uri" ,ghc-network-uri)+ ("ghc-open-browser" ,ghc-open-browser)+ ("ghc-optparse-applicative" ,ghc-optparse-applicative)+ ("ghc-pantry" ,ghc-pantry)+ ("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-project-template" ,ghc-project-template)+ ("ghc-regex-applicative-text" ,ghc-regex-applicative-text)+ ("ghc-resource-pool" ,ghc-resource-pool)+ ("ghc-resourcet" ,ghc-resourcet)+ ("ghc-retry" ,ghc-retry)+ ("ghc-rio" ,ghc-rio)+ ("ghc-rio-prettyprint" ,ghc-rio-prettyprint)+ ("ghc-semigroups" ,ghc-semigroups)+ ("ghc-split" ,ghc-split)+ ("ghc-streaming-commons" ,ghc-streaming-commons)+ ("ghc-tar" ,ghc-tar)+ ("ghc-temporary" ,ghc-temporary)+ ("ghc-terminal-size" ,ghc-terminal-size)+ ("ghc-text-metrics" ,ghc-text-metrics)+ ("ghc-th-reify-many" ,ghc-th-reify-many)+ ("ghc-tls" ,ghc-tls)+ ("ghc-typed-process" ,ghc-typed-process)+ ("ghc-unicode-transforms" ,ghc-unicode-transforms)+ ("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)+ ("ghc-zlib" ,ghc-zlib)+ ("ghc-githash" ,ghc-githash)+ ("ghc-optparse-simple" ,ghc-optparse-simple)+ ("ghc-hspec" ,ghc-hspec)+ ("ghc-optparse-generic" ,ghc-optparse-generic)))+ (native-inputs+ `(("ghc-hsc2hs" ,ghc-hsc2hs)+ ("ghc-quickcheck" ,ghc-quickcheck)+ ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)+ ("ghc-smallcheck" ,ghc-smallcheck)))+ (home-page "http://haskellstack.org")+ (synopsis "Haskell Tool Stack")+ (description+ "Stack is a cross-platform program for developing Haskell projects. It+is aimed at Haskellers both new and experienced.++It features:++@itemize+@item Installing GHC automatically, in an isolated location.+@item Installing packages needed for your project.+@item Building your project.+@item Testing your project.+@item Benchmarking your project.+@end itemize")+ (license license:bsd-3)))+ (define-public stylish-haskell (package (name "stylish-haskell")-- 2.25.0
J
J
John Soo wrote on 13 Feb 2020 18:36
(name . Timothy Sample)(address . samplet@ngyro.com)(address . 39309@debbugs.gnu.org)
CAKf5CqUPbRg1BL1WgR9K7Y-1pZz4fFKQVX6=xc8gXOfn8mGJrg@mail.gmail.com
I tried using this patch and it still fails. Could I be missing something?
From 200b3387c5466bc2cd96772400f5244fe9b78907 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:19:47 -0800Subject: [PATCH] gnu: Add stack.
* gnu/packages/haskell-xyz.scm (stack): New variable.--- gnu/packages/haskell-apps.scm | 129 ++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+)
Toggle diff (149 lines)diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scmindex 0a4a4f62cd..cbe7de3b0f 100644--- a/gnu/packages/haskell-apps.scm+++ b/gnu/packages/haskell-apps.scm@@ -35,6 +35,7 @@ #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system haskell)+ #:use-module (guix utils) #:use-module (gnu packages base) #:use-module (gnu packages curl) #:use-module (gnu packages gl)@@ -691,6 +692,134 @@ advanced user's otherwise working script to fail under future circumstances. @end enumerate") (license license:gpl3+))) +(define-public stack+ (package+ (name "stack")+ (version "2.1.3.1")+ (source+ (origin+ (method url-fetch)+ (uri (string-append+ "https://hackage.haskell.org/package/stack/stack-"+ version+ ".tar.gz"))+ (sha256+ (base32+ "1q2nagnc24fvyj3hwnpgyp3rqhxswhscyw4pw2dazqx34ad3d0zr"))))+ (build-system haskell-build-system)+ (arguments+ ;; Substitute ghc's bundled version of hsc2hs to a version that uses+ ;; response files.+ ;; See https://github.com/haskell/hsc2hs/issues/22+ `(#:haskell+ ,(package+ (inherit ghc-8.6)+ (native-inputs+ (cons `("ghc-hsc2hs" ,(package-source ghc-hsc2hs))+ (package-native-inputs ghc-8.6)))+ (arguments+ (substitute-keyword-arguments (package-arguments ghc-8.6)+ ((#:phases ghc-8.6-phases)+ `(modify-phases ,ghc-8.6-phases+ (add-after 'unpack 'de-vendor-hsc2hs+ (lambda* (#:key inputs #:allow-other-keys)+ (invoke+ "tar" "-xvf" (assoc-ref inputs "ghc-hsc2hs")+ "-C" "utils/hsc2hs" "--overwrite"))))))))))+ (inputs+ `(("ghc-aeson" ,ghc-aeson)+ ("ghc-annotated-wl-pprint" ,ghc-annotated-wl-pprint)+ ("ghc-ansi-terminal" ,ghc-ansi-terminal)+ ("ghc-async" ,ghc-async)+ ("ghc-attoparsec" ,ghc-attoparsec)+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)+ ("ghc-colour" ,ghc-colour)+ ("ghc-conduit" ,ghc-conduit)+ ("ghc-conduit-extra" ,ghc-conduit-extra)+ ("ghc-cryptonite" ,ghc-cryptonite)+ ("ghc-cryptonite-conduit" ,ghc-cryptonite-conduit)+ ("ghc-echo" ,ghc-echo)+ ("ghc-exceptions" ,ghc-exceptions)+ ("ghc-extra" ,ghc-extra)+ ("ghc-file-embed" ,ghc-file-embed)+ ("ghc-filelock" ,ghc-filelock)+ ("ghc-fsnotify" ,ghc-fsnotify)+ ("ghc-generic-deriving" ,ghc-generic-deriving)+ ("ghc-hackage-security" ,ghc-hackage-security)+ ("ghc-hashable" ,ghc-hashable)+ ("ghc-hi-file-parser" ,ghc-hi-file-parser)+ ("ghc-hpack" ,ghc-hpack)+ ("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-microlens" ,ghc-microlens)+ ("ghc-mintty" ,ghc-mintty)+ ("ghc-mono-traversable" ,ghc-mono-traversable)+ ("ghc-mustache" ,ghc-mustache)+ ("ghc-neat-interpolation" ,ghc-neat-interpolation)+ ("ghc-network-uri" ,ghc-network-uri)+ ("ghc-open-browser" ,ghc-open-browser)+ ("ghc-optparse-applicative" ,ghc-optparse-applicative)+ ("ghc-pantry" ,ghc-pantry)+ ("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-project-template" ,ghc-project-template)+ ("ghc-regex-applicative-text" ,ghc-regex-applicative-text)+ ("ghc-resource-pool" ,ghc-resource-pool)+ ("ghc-resourcet" ,ghc-resourcet)+ ("ghc-retry" ,ghc-retry)+ ("ghc-rio" ,ghc-rio)+ ("ghc-rio-prettyprint" ,ghc-rio-prettyprint)+ ("ghc-semigroups" ,ghc-semigroups)+ ("ghc-split" ,ghc-split)+ ("ghc-streaming-commons" ,ghc-streaming-commons)+ ("ghc-tar" ,ghc-tar)+ ("ghc-temporary" ,ghc-temporary)+ ("ghc-terminal-size" ,ghc-terminal-size)+ ("ghc-text-metrics" ,ghc-text-metrics)+ ("ghc-th-reify-many" ,ghc-th-reify-many)+ ("ghc-tls" ,ghc-tls)+ ("ghc-typed-process" ,ghc-typed-process)+ ("ghc-unicode-transforms" ,ghc-unicode-transforms)+ ("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)+ ("ghc-zlib" ,ghc-zlib)+ ("ghc-githash" ,ghc-githash)+ ("ghc-optparse-simple" ,ghc-optparse-simple)+ ("ghc-hspec" ,ghc-hspec)+ ("ghc-optparse-generic" ,ghc-optparse-generic)))+ (native-inputs+ `(("ghc-quickcheck" ,ghc-quickcheck)+ ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)+ ("ghc-smallcheck" ,ghc-smallcheck)))+ (home-page "http://haskellstack.org")+ (synopsis "Haskell Tool Stack")+ (description+ "Stack is a cross-platform program for developing Haskell projects. It+is aimed at Haskellers both new and experienced.++It features:++@itemize+@item Installing GHC automatically, in an isolated location.+@item Installing packages needed for your project.+@item Building your project.+@item Testing your project.+@item Benchmarking your project.+@end itemize")+ (license license:bsd-3)))+ (define-public stylish-haskell (package (name "stylish-haskell")-- 2.25.0
T
T
Timothy Sample wrote on 13 Feb 2020 23:59
(name . John Soo)(address . jsoo1@asu.edu)(address . 39309@debbugs.gnu.org)
87y2t6ayax.fsf@ngyro.com
Hi John,
John Soo <jsoo1@asu.edu> writes:
Toggle quote (3 lines)> I tried using this patch and it still fails. Could I be missing> something?
I’m not sure, but I got the shadowing to work. In fact, you don’t needshadowing at all. You can just pass “--with-hsc2hs=/gnu/store/...” as aconfigure flag:
(arguments `(#:configure-flags (let ((hsc2hs (assoc-ref %build-inputs "ghc-hsc2hs"))) (list (string-append "--with-hsc2hs=" hsc2hs "/bin/hsc2hs")))))
Unfortunately, it doesn’t help. Looking at the source code, “hsc2hs”*is* calling GCC with a response file. AIUI, GCC is supposed tocontinue to use response files for all of its subprograms. Hence,everything should work. I’m stumped. :/
I’ll take another look with a fresh mind sometime, and see if I can makeany progress.

-- Tim
T
T
Timothy Sample wrote on 16 Feb 2020 02:56
Re: [bug#39309] [PATCH WIP] gnu: add stack.
(name . John Soo)(address . jsoo1@asu.edu)(address . 39309@debbugs.gnu.org)
875zg78fcm.fsf@ngyro.com
Hello again,
Timothy Sample <samplet@ngyro.com> writes:
Toggle quote (5 lines)> [...]>> I’ll take another look with a fresh mind sometime, and see if I can make> any progress.
I don’t have a solution, but I have a bit more info. Cabal generatesextremely long argument lists for GCC. For whatever reason, it repeatsthe same flags many times (maybe once for each Haskell dependency).When building Stack, it passes Gawk as an include path 164 times. Infact, there are only a handful of distinct include paths, each passed164 times. The linker flags are similar but much worse.
This should be fine since everything is using a response file, right?Nope. Like the bug you linked discusses, GCC writes all of itsarguments into an environment variable, the length of which is limitedby “MAX_ARG_STRLEN” (which is 128K). It would be nice to fix GCC here,and it’s almost a very small fix, but there is minor complication. Thenormal response file handling in GCC expects “argc” and “argv”parameters, but the environment variable doesn’t come with an “argc”.Rather, it has to be parsed (in the same way the shell would do it).It’s still doable, but a it would be a larger change. Not to mentionthat patching GCC is even less fun than patching GHC.
There was some work to deduplicate the flags that Cabal generates:https://github.com/haskell/cabal/pull/5356/. This would actually fixthe build, but the call to “hsc2hs” doesn’t do the same deduplication(see “ppHsc2hs” in “Cabal/Distribution/Simple/PreProcess.hs”).
At this point, it might be worth joining the Nix folks on that issue,and suggesting a patch to Cabal to call “hsc2hs” with deduplicatedflags. It will help that the other deduplication code was written bythe same person who filed the bug you linked to earlier. Once the patchlands, we can apply it to our Cabal and then Stack will build. Yay!

-- Tim
J
J
John Soo wrote on 19 Feb 2020 15:56
(name . Timothy Sample)(address . samplet@ngyro.com)(address . 39309@debbugs.gnu.org)
CAKf5CqVAyYzo1FXoKn5wrd9gyBXb2+GXAYcYG8+CKB29ExOeFQ@mail.gmail.com
Hi Tim,
Toggle quote (6 lines)> At this point, it might be worth joining the Nix folks on that issue,> and suggesting a patch to Cabal to call “hsc2hs” with deduplicated> flags. It will help that the other deduplication code was written by> the same person who filed the bug you linked to earlier. Once the patch> lands, we can apply it to our Cabal and then Stack will build. Yay!
Sorry I'm a bit confused by all this. I guess if we can rely on apatch into cabal that would be the least effort, right?Is there already a patch to deduplicate flags passed to hsc2hs? Do weneed to comment anywhere or express support?
- John
T
T
Timothy Sample wrote on 20 Feb 2020 05:55
(name . John Soo)(address . jsoo1@asu.edu)(address . 39309@debbugs.gnu.org)
8736b57t7v.fsf@ngyro.com
Hi John,
John Soo <jsoo1@asu.edu> writes:
Toggle quote (9 lines)>> At this point, it might be worth joining the Nix folks on that issue,>> and suggesting a patch to Cabal to call “hsc2hs” with deduplicated>> flags. It will help that the other deduplication code was written by>> the same person who filed the bug you linked to earlier. Once the patch>> lands, we can apply it to our Cabal and then Stack will build. Yay!>> Sorry I'm a bit confused by all this. I guess if we can rely on a> patch into cabal that would be the least effort, right?
Exactly. Also, sorry if I’m being a little unclear. I’ve been kind ofthinking out loud with these messages, as you’ll see below. ;)
Toggle quote (3 lines)> Is there already a patch to deduplicate flags passed to hsc2hs? Do we> need to comment anywhere or express support?
I couldn’t find a patch. Expressing support was definitely what I wassuggesting. I managed to find a note saying what I just said:
https://github.com/NixOS/nixpkgs/issues/49206#issuecomment-470324743
I don’t think anything has become of it since then, though.
There is one other thing we could do, but I’m still thinking it through.The reason we hit the limit is because of the way we use the“extra-lib-dirs” and “extra-include-dirs” flags when configuring. Everytime we pass Cabal a list of directories via these flags, Cabal notesthe directories in the package DB, and uses them when calling GCC. Itdoesn’t just use the directories specified when configuring a givenpackage. It uses all the directories specified for all of thatpackage’s dependencies, too.
Right now, we pass in every “lib” and “include” directory from everyinput, including the “standard-packages” from the GNU build system.This means that Gawk’s “lib” directory (for example) is included everytime we configure any package. In turn, when GHC calls GCC as part ofcompiling a Haskell package, Gawk gets included on the command line oncefor every node on that package’s dependency tree. Packages with a largedependency tree hit the 128K limit imposed by the kernel Linux.
What’s funny is that not a single Haskell package even uses sharedlibraries from Gawk!
The other thing that’s funny is that most Haskell packages build justfine without “extra-lib-dirs” and “extra-include-dirs”. Even those thatcall out to C code work, because Guix sets “LIBRARY_PATH” for us.Unfortunately, packages that depend on packages that call out to C codefail. This is because Guix doesn’t set “LIBRARY_PATH” for thetransitive input, but GHC still wants to make use of the shared library.This can be solved by adding back the “extra-lib-dirs” and“extra-include-dirs” flags as-needed.
With this approach, I was able to compile Stack (the tests failed,though).
The part that I’m still thinking through is how to make this wholesystem work. I would really like something that works automatically,but I don’t see a way to do it. This means we would have to add theflags manually to the handful of packages that need them. The part thatI really don’t like is that we don’t know a package needs the flagsuntil a package that depends on it fails to build. Having everythingone step removed like that is not ideal. On the other hand, there areprobably less than a dozen Haskell packages that need flags – it’s notthat common to mix Haskell and C code. I will make a patch that doesthis and see what the damages are.
This feels like a step in the right direction, because we end up with acleaner package graph as a result. The added work and delayed feedbackwill be tricky, but it should only come up infrequently. What do youthink?

-- Tim
T
T
Timothy Sample wrote on 22 Feb 2020 16:34
(name . John Soo)(address . jsoo1@asu.edu)(address . 39309@debbugs.gnu.org)
87mu9ahbz8.fsf@ngyro.com
Hello again,
Timothy Sample <samplet@ngyro.com> writes:
Toggle quote (3 lines)> On the other hand, there are probably less than a dozen Haskell> packages that need flags [...].
Turns out there are thirteen!
Toggle quote (2 lines)> I will make a patch that does this and see what the damages are.
I’ve attached the patch. The name of the keyword is not great, sosuggestions there are welcome. I managed to build all of our Haskellpackages (except for some usual suspects that fail for other reasons).It’s not so bad, but it’s a bit of a hack.
I’m now wondering why Guix’s treatment of “LIBRARY_PATH” is not justsolving this outright without the need for those flags. Before Iconsider pushing the patch, I’m going to answer that question. Ideally,Guix could do more of what it’s good at: understanding the completepackage graph. :)

-- Tim
From 01ff315ee02d033fd5335f4f53405db89fd81c14 Mon Sep 17 00:00:00 2001From: Timothy Sample <samplet@ngyro.com>Date: Sat, 22 Feb 2020 09:56:36 -0500Subject: [PATCH] build-system/haskell: Add 'extra-directories?' keyword.
See https://bugs.gnu.org/39309.
* guix/build-system/haskell.scm (haskell-build): Add'extra-directories?' keyword and pass it through to the builder.* guix/build/haskell-build-system.scm (configure): Use it to togglepassing 'extra-include-dirs' and 'extra-lib-dirs' to Cabal.* gnu/packages/haskell-xyz.scm (ghc-alsa-core, ghc-hmatrix,ghc-hmatrix-gsl, ghc-hslua, ghc-iwlib, ghc-libyaml, ghc-ncurses,ghc-openglraw, ghc-x11, ghc-x11-xft, ghc-zlib): Enable'extra-directories?'.gnu/packages/haskell-crypto.scm (ghc-digest, ghc-hsopenssl): Likewise.--- gnu/packages/haskell-crypto.scm | 4 ++++ gnu/packages/haskell-xyz.scm | 26 ++++++++++++++++++++++---- guix/build-system/haskell.scm | 2 ++ guix/build/haskell-build-system.scm | 17 +++++++++-------- 4 files changed, 37 insertions(+), 12 deletions(-)
Toggle diff (193 lines)diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scmindex 4170ec82f0..637a5d421e 100644--- a/gnu/packages/haskell-crypto.scm+++ b/gnu/packages/haskell-crypto.scm@@ -343,6 +343,8 @@ generators, and more.") (base32 "04gy2zp8yzvv7j9bdfvmfzcz3sqyqa6rwslqcn4vyair2vmif5v4")))) (build-system haskell-build-system)+ (arguments+ `(#:extra-directories? #t)) (inputs `(("zlib" ,zlib))) (home-page@@ -790,6 +792,8 @@ extensions.") (base32 "0qivl9clmybfglwxqp2sq308rv4ia4rhwshcsc8b029bvpp0mpsi")))) (build-system haskell-build-system)+ (arguments+ `(#:extra-directories? #t)) (inputs `(("ghc-network" ,ghc-network) ("openssl" ,openssl)))diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scmindex e368082c03..9992744245 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -327,6 +327,8 @@ tool lex or flex for C/C++.") (base32 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b")))) (build-system haskell-build-system)+ (arguments+ `(#:extra-directories? #t)) (inputs `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions) ("alsa-lib" ,alsa-lib)))@@ -5352,6 +5354,8 @@ accessed or modified.") (sha256 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg")))) (build-system haskell-build-system)+ (arguments+ `(#:extra-directories? #t)) (inputs `(("ghc-random" ,ghc-random) ("ghc-split" ,ghc-split)@@ -5383,6 +5387,8 @@ numerical computations based on BLAS and LAPACK.") (sha256 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm")))) (build-system haskell-build-system)+ (arguments+ `(#:extra-directories? #t)) (inputs `(("ghc-hmatrix" ,ghc-hmatrix) ("ghc-vector" ,ghc-vector)@@ -5600,7 +5606,8 @@ handler built in.") "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j")))) (build-system haskell-build-system) (arguments- `(#:configure-flags '("-fsystem-lua")))+ `(#:configure-flags '("-fsystem-lua")+ #:extra-directories? #t)) (inputs `(("lua" ,lua) ("ghc-exceptions" ,ghc-exceptions)@@ -6210,6 +6217,8 @@ instances for conversion to and from JSON .ipynb files.") (sha256 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz")))) (build-system haskell-build-system)+ (arguments+ `(#:extra-directories? #t)) (inputs `(("wireless-tools" ,wireless-tools))) (home-page "https://github.com/jaor/iwlib")@@ -6556,7 +6565,8 @@ compiler versions.") #t)))) (build-system haskell-build-system) (arguments- `(#:configure-flags `("--flags=system-libyaml")))+ `(#:configure-flags `("--flags=system-libyaml")+ #:extra-directories? #t)) (inputs `(("ghc-conduit" ,ghc-conduit) ("ghc-resourcet" ,ghc-resourcet)@@ -7698,7 +7708,8 @@ between 2 and 3 times faster than the Mersenne Twister.") "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5")))) (build-system haskell-build-system) (arguments- '(#:phases+ '(#:extra-directories? #t+ #:phases (modify-phases %standard-phases (add-before 'build 'fix-includes (lambda _@@ -8036,6 +8047,8 @@ version 1.3).") (base32 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx")))) (build-system haskell-build-system)+ (arguments+ `(#:extra-directories? #t)) (inputs `(("ghc-half" ,ghc-half) ("ghc-fixed" ,ghc-fixed)@@ -13150,6 +13163,8 @@ modernized interface.") (sha256 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm")))) (build-system haskell-build-system)+ (arguments+ `(#:extra-directories? #t)) (inputs `(("libx11" ,libx11) ("libxrandr" ,libxrandr)@@ -13174,6 +13189,8 @@ bindings are a direct translation of the C bindings.") "X11-xft-" version ".tar.gz")) (sha256 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))+ (arguments+ `(#:extra-directories? #t)) (inputs `(("ghc-x11" ,ghc-x11) ("ghc-utf8-string" ,ghc-utf8-string)@@ -13374,7 +13391,8 @@ modifying, and extracting files from zip archives in Haskell.") "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h")))) (build-system haskell-build-system) (arguments- `(#:phases+ `(#:extra-directories? #t+ #:phases (modify-phases %standard-phases (add-before 'configure 'strip-test-framework-constraints (lambda _diff --git a/guix/build-system/haskell.scm b/guix/build-system/haskell.scmindex 1ec11c71d8..25f4797d16 100644--- a/guix/build-system/haskell.scm+++ b/guix/build-system/haskell.scm@@ -106,6 +106,7 @@ version REVISION." (tests? #t) (test-target "test") (configure-flags ''())+ extra-directories? (phases '(@ (guix build haskell-build-system) %standard-phases)) (outputs '("out"))@@ -134,6 +135,7 @@ provides a 'Setup.hs' file as its build system." (derivation->output-path revision)) (revision revision)) #:configure-flags ,configure-flags+ #:extra-directories? ,extra-directories? #:haddock-flags ,haddock-flags #:system ,system #:test-target ,test-targetdiff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scmindex 91f62138d0..f69e16582a 100644--- a/guix/build/haskell-build-system.scm+++ b/guix/build/haskell-build-system.scm@@ -72,8 +72,8 @@ and parameters ~s~%" (apply invoke "runhaskell" setup-file command params)) (error "no Setup.hs nor Setup.lhs found")))) -(define* (configure #:key outputs inputs tests? (configure-flags '())- #:allow-other-keys)+(define* (configure #:key outputs inputs tests? extra-directories?+ (configure-flags '()) #:allow-other-keys) "Configure a given Haskell package." (let* ((out (assoc-ref outputs "out")) (doc (assoc-ref outputs "doc"))@@ -84,6 +84,10 @@ and parameters ~s~%" (((_ . dir) ...) dir) (_ '())))+ (include-dirs (map (cut string-append "--extra-include-dirs=" <>)+ (search-path-as-list '("include") input-dirs)))+ (lib-dirs (map (cut string-append "--extra-lib-dirs=" <>)+ (search-path-as-list '("lib") input-dirs))) (ghc-path (getenv "GHC_PACKAGE_PATH")) (params (append `(,(string-append "--prefix=" out)) `(,(string-append "--libdir=" (or lib out) "/lib"))@@ -94,12 +98,9 @@ and parameters ~s~%" '("--libsubdir=$compiler/$pkg-$version") `(,(string-append "--package-db=" %tmp-db-dir)) '("--global")- `(,@(map- (cut string-append "--extra-include-dirs=" <>)- (search-path-as-list '("include") input-dirs)))- `(,@(map- (cut string-append "--extra-lib-dirs=" <>)- (search-path-as-list '("lib") input-dirs)))+ (if extra-directories?+ (append include-dirs lib-dirs)+ '()) (if tests? '("--enable-tests") '())-- 2.25.0
J
J
John Soo wrote on 11 Mar 2020 10:17
(name . Timothy Sample)(address . samplet@ngyro.com)(address . 39309@debbugs.gnu.org)
2FD91328-10FF-41C7-AFDF-E14F66916116@asu.edu
Hi Tim,
Sorry for my delay. I think I’m finally starting to understand your patch.

Toggle quote (5 lines)> I’m now wondering why Guix’s treatment of “LIBRARY_PATH” is not just> solving this outright without the need for those flags. Before I consider pushing the patch, I’m going to answer that question. > Ideally, Guix could do more of what it’s good at: understanding the complete> package graph. :)
Yeah it would be nice if it were automatically tracked or if the env vars were respected.
I like the idea of offering more cabal file semantics to package authors. In that regards I have no issues with your patches. My only thought is we should make the flags lists instead of booleans. Not only would lists match the cabal file specification, but I think having the extra detail would be a nice way to verify against existing cabal files. I can’t imagine just yet how but I could see wanting to be able to specify which paths were being used and their order.
I am not opposed to the names of the fields either, I like that they match the cabal fields.
Thanks again!
John
T
T
Timothy Sample wrote on 11 Mar 2020 15:18
(name . John Soo)(address . jsoo1@asu.edu)(address . 39309@debbugs.gnu.org)
87lfo72cwt.fsf@ngyro.com
Hi John,
John Soo <jsoo1@asu.edu> writes:
Toggle quote (8 lines)> I like the idea of offering more cabal file semantics to package> authors. In that regards I have no issues with your patches. My only> thought is we should make the flags lists instead of booleans. Not> only would lists match the cabal file specification, but I think> having the extra detail would be a nice way to verify against existing> cabal files. I can’t imagine just yet how but I could see wanting to> be able to specify which paths were being used and their order.
My first attempt did exactly that, but I ran into some problems with it.IIRC, I had to worry about paths for transitive dependencies, which madeit really hard to get working (and would make it really hard tomaintain). This patch was take two. :) It’s a little less specificbut much easier to work with.
Toggle quote (3 lines)> I am not opposed to the names of the fields either, I like that they> match the cabal fields.
Good to hear. Maybe they’re not so bad.
Toggle quote (2 lines)> Thanks again!
I still need to take another look at this, but I’m not sure when I’llget the chance. I’ll try to carve out some time soon. Thanks again toyou for the patches. :)

-- Tim
J
J
John Soo wrote on 13 Mar 2020 16:05
(name . Timothy Sample)(address . samplet@ngyro.com)(address . 39309@debbugs.gnu.org)
CAKf5CqXWr+ATOPiM4H4YFoh_hS__oEx3cgxEnhZyvLs=k37NBQ@mail.gmail.com
Hi Tim,
Toggle quote (2 lines)> Good to hear. Maybe they’re not so bad.
Seem totally reasonable to me.
Then for the gio package problems with gi-gtk and custom Setup.hs? :D
Toggle quote (4 lines)> I still need to take another look at this, but I’m not sure when I’ll> get the chance. I’ll try to carve out some time soon. Thanks again to> you for the patches. :)
Ok no rush. My pleasure :)
- John
J
J
John Soo wrote on 1 Jan 19:04 +0100
Re: bug#39309: .[PATCH] WIP gnu: add stack.
(name . Timothy Sample)(address . samplet@ngyro.com)(address . 39309@debbugs.gnu.org)
87zh1s3554.fsf_-_@asu.edu
Hi Tim and Guix!
Stack now builds but some tests fail!
Here are the updated patches :)
- John
From 9cf8a2c645ba01db01304570146372700dfa563d Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:48:54 -0800Subject: [PATCH 01/31] 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.scmindex d6c50ade71..d9f0cd8351 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -13424,6 +13424,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.29.2
From bd405bde2d8d734d9d53804726bb5a6f4fd96a43 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:49:21 -0800Subject: [PATCH 02/31] 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.scmindex d9f0cd8351..1bab723d85 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -12170,6 +12170,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.29.2
From b312dc9c92fd683d4d7f128fa6abdef75350d66b Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:51:19 -0800Subject: [PATCH 03/31] 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.scmindex 1bab723d85..dc8016a443 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -13597,6 +13597,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+ `(("hspec-discover" ,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.29.2
From 40f18a956e4cf67dc8c45ec0eb078f355e47fe1f Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:52:08 -0800Subject: [PATCH 04/31] 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.scmindex dc8016a443..b518e39b5b 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -11393,6 +11393,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)+ ("hspec-discover" ,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.29.2
From 05f77db4b73fa387d8347ef054218e1848152a1b Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:52:39 -0800Subject: [PATCH 05/31] 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.scmindex b518e39b5b..a7639cea07 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -15486,6 +15486,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-xml-hamlet (package (name "ghc-xml-hamlet")-- 2.29.2
From 6570bb97ffd7bd115df9f49285ede990bc3d7421 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:53:38 -0800Subject: [PATCH 06/31] 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.scmindex a7639cea07..f0317323d4 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -2804,6 +2804,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-csv (package (name "ghc-csv")-- 2.29.2
From c8be7b9cc1cb2f7adaf3c6da247c775b0acce703 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:46:31 -0800Subject: [PATCH 07/31] 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.scmindex f0317323d4..a6a5524ff2 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -6367,6 +6367,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.29.2
From 3460852fbca524af2ccabec0ebdfc3a0047e6699 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:14:31 -0800Subject: [PATCH 08/31] 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.scmindex a6a5524ff2..991fba0684 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -2110,6 +2110,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.29.2
From cbaadadb21389f07dad58062223c9967a7fc5f51 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:14:59 -0800Subject: [PATCH 09/31] 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.scmindex 991fba0684..9df70fa613 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -2870,6 +2870,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-csv (package (name "ghc-csv")-- 2.29.2
From 29f9804b6b699bbe6d9afab8313ff55177581785 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:15:31 -0800Subject: [PATCH 10/31] 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.scmindex 9df70fa613..87ff73c200 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -3728,6 +3728,47 @@ monadic interface for building graphs.") 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.29.2
From 1eacc256d03793ecbe13a093e0c3d4384644814e Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:55:04 -0800Subject: [PATCH 11/31] 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.scmindex 87ff73c200..54f16496a5 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -11619,6 +11619,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.29.2
From 6c959ce7b413ead9c2eb306b859c370e1463028b Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 10:56:10 -0800Subject: [PATCH 12/31] 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.scmindex 54f16496a5..43f484b75f 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -2897,6 +2897,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-csv (package (name "ghc-csv")-- 2.29.2
From 239c9729befe2cb6b397c98104e9846494b5264c Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:01:05 -0800Subject: [PATCH 13/31] 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.scmindex 43f484b75f..714354f1fa 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -7258,6 +7258,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)+ ("cabal-doctest" ,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-lens-family-core (package (name "ghc-lens-family-core")-- 2.29.2
From cc79d60b837613cace65035abb61b4ef1b00f3cc Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:01:36 -0800Subject: [PATCH 14/31] 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.scmindex 714354f1fa..6e79fad406 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -665,6 +665,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.29.2
From f35cc786355f328db5c6ced47350ac0c5bffbb69 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:02:18 -0800Subject: [PATCH 15/31] 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.scmindex 6e79fad406..bb1f852fa7 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -15656,6 +15656,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+ `(("cabal-doctest" ,cabal-doctest)+ ("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)))+ (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.29.2
From e92c4ede18f2e8be05a2501e01d9fe0aa14cffb3 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:05:32 -0800Subject: [PATCH 16/31] 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.scmindex bb1f852fa7..d53e808863 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -9328,6 +9328,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.29.2
From 21ed23819a2a5c17fa61bd7cbd21974514762712 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:06:19 -0800Subject: [PATCH 17/31] 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.scmindex d53e808863..15f5aed88d 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -9540,6 +9540,33 @@ with several features not present in pretty-printing libraries designed for code. It was designed for use in @code{Pandoc}.") (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.29.2
From 5adee3812543b093b9e877672447a3ba7060a838 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:06:57 -0800Subject: [PATCH 18/31] 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.scmindex 15f5aed88d..a77fc2cf9f 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -66,6 +66,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)@@ -5118,6 +5119,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)+ ("hspec-discover" ,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.29.2
From a7f93319d6eba2872a8042ff7b90779cb8a9f148 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:07:43 -0800Subject: [PATCH 19/31] 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.scmindex a77fc2cf9f..b00fcf3173 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -11824,6 +11824,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.29.2
From 0a1dc5a358adaecfe3cf60a4e913affa38b1115f Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:08:10 -0800Subject: [PATCH 20/31] 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.scmindex b00fcf3173..b687b384d1 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -11339,6 +11339,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.29.2
From 2f9757133528dab74c82e56ee6ceccc30ba0743b Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:09:18 -0800Subject: [PATCH 21/31] gnu: Add ghc-pantry.
* gnu/packages/haskell-xyz.scm (ghc-pantry): New variable.--- gnu/packages/haskell-xyz.scm | 109 ++++++++++++++++++ .../ghc-pantry-ghc8.8-compatibility.patch | 16 +++ 2 files changed, 125 insertions(+) create mode 100644 gnu/packages/patches/ghc-pantry-ghc8.8-compatibility.patch
Toggle diff (144 lines)diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scmindex b687b384d1..5d4b700b64 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -10026,6 +10026,115 @@ 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"))+ (patches+ (search-patches "ghc-pantry-ghc8.8-compatibility.patch"))))+ (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)+ ("hspec-discover" ,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")diff --git a/gnu/packages/patches/ghc-pantry-ghc8.8-compatibility.patch b/gnu/packages/patches/ghc-pantry-ghc8.8-compatibility.patchnew file mode 100644index 0000000000..051b3f60dc--- /dev/null+++ b/gnu/packages/patches/ghc-pantry-ghc8.8-compatibility.patch@@ -0,0 +1,16 @@+This version of pantry uses some language features that changed from 8.6 to+8.8.++diff --git a/src/Pantry/Storage.hs.old b/src/Pantry/Storage.hs+index 8ad03b9..2d0481b 100644+--- a/src/Pantry/Storage.hs++++ b/src/Pantry/Storage.hs+@@ -13,6 +13,8 @@+ {-# LANGUAGE ViewPatterns #-}+ {-# LANGUAGE LambdaCase #-}+ {-# LANGUAGE UndecidableInstances #-}++{-# LANGUAGE DerivingStrategies #-}++{-# LANGUAGE StandaloneDeriving #-}+ module Pantry.Storage+ ( SqlBackend+ , initStorage-- 2.29.2
From 6eacbecc63873a7220f7669ee5471b89a2949acf Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:09:42 -0800Subject: [PATCH 22/31] 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.scmindex 5d4b700b64..e41f654630 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -9204,6 +9204,29 @@ native tuples; whereas the primary purpose of @code{Only} is to provide the traditionally so named type-wrapper 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.29.2
From cc4984a46065e49020d24ed969d3f52b686b2279 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:10:09 -0800Subject: [PATCH 23/31] 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.scmindex e41f654630..a2a80748ef 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -8841,6 +8841,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.29.2
From 18960423b5e465ca7e4fea12724bc493ca7b2475 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:10:38 -0800Subject: [PATCH 24/31] 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.scmindex a2a80748ef..c0204e373c 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -8733,6 +8733,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.29.2
From 8808849f3950a9acd7e63740031ec2eb276718f4 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:11:02 -0800Subject: [PATCH 25/31] 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.scmindex c0204e373c..33a607d781 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -8295,6 +8295,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.29.2
From 8dce95a1218bcba01e97de5f1b7fc7bc5ce658de Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:11:22 -0800Subject: [PATCH 26/31] 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.scmindex 33a607d781..5eb008cec9 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -6663,6 +6663,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)+ ("hspec-discover" ,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.29.2
From d8e1d80bd441049e08f631d590a1f79220a9fd17 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:11:51 -0800Subject: [PATCH 27/31] 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.scmindex 5eb008cec9..14dcf15d9b 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -6102,6 +6102,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+ `(("hspec-discover" ,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-hledger-lib (package (name "ghc-hledger-lib")-- 2.29.2
From c9f8cef9ee92a49255cd9640554a45e13aab412f Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:12:14 -0800Subject: [PATCH 28/31] 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.scmindex 14dcf15d9b..b89be8e1ab 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -4607,6 +4607,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.29.2
From d45799c2f1ee27c0460c80f5e6c6a553614c9145 Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:12:44 -0800Subject: [PATCH 29/31] 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.scmindex b89be8e1ab..928d6ab029 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -2956,6 +2956,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-csv (package (name "ghc-csv")-- 2.29.2
From cec7473939e12da5722ba38b343a3554b844d6df Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Wed, 12 Feb 2020 08:58:55 -0800Subject: [PATCH 30/31] gnu: Add ghc-hsc2hs.
* gnu/packages/haskell-xyz.scm (ghc-hsc2hs): New variable.--- gnu/packages/haskell-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)
Toggle diff (44 lines)diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scmindex 928d6ab029..ee7ef2f8a4 100644--- a/gnu/packages/haskell-xyz.scm+++ b/gnu/packages/haskell-xyz.scm@@ -6519,6 +6519,37 @@ that interconverts between various bibliography formats using a common MODS-format XML intermediate.") (license license:gpl2+))) +(define-public ghc-hsc2hs+ (package+ (name "ghc-hsc2hs")+ (version "0.68.6")+ (source+ (origin+ (method url-fetch)+ (uri (string-append+ "https://hackage.haskell.org/package/hsc2hs/hsc2hs-"+ version+ ".tar.gz"))+ (sha256+ (base32+ "1clj6bgs9vmiv3mjzp82lvyyik5zr5411nxab7hydbrgq94pbk70"))))+ (build-system haskell-build-system)+ (native-inputs+ `(("ghc-tasty" ,ghc-tasty)+ ("ghc-tasty-hspec" ,ghc-tasty-hspec)))+ (home-page+ "http://hackage.haskell.org/package/hsc2hs")+ (synopsis+ "Preprocessor that helps with writing Haskell bindings to C code.")+ (description+ "The hsc2hs program can be used to automate some parts of the process of+writing Haskell bindings to C code. It reads an almost-Haskell source file+with embedded special constructs, and outputs a real Haskell file with these+constructs processed, based on information taken from some C headers. The+extra constructs provide Haskell counterparts of C types, values of C+constants, including sizes of C types, and access to fields of C structs.")+ (license license:bsd-3)))+ (define-public ghc-hslogger (package (name "ghc-hslogger")-- 2.29.2
From 4085284414b279b064a9ac756bfaefe92c33e0de Mon Sep 17 00:00:00 2001From: John Soo <jsoo1@asu.edu>Date: Sun, 26 Jan 2020 11:19:47 -0800Subject: [PATCH 31/31] gnu: Add stack.
* gnu/packages/haskell-xyz.scm (stack): New variable.--- gnu/packages/haskell-apps.scm | 115 ++++++++++++++++++ .../patches/stack-ghc8.8-compatibility.patch | 27 ++++ 2 files changed, 142 insertions(+) create mode 100644 gnu/packages/patches/stack-ghc8.8-compatibility.patch
Toggle diff (168 lines)diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scmindex 19a0fc8a44..b7eb0380bf 100644--- a/gnu/packages/haskell-apps.scm+++ b/gnu/packages/haskell-apps.scm@@ -37,6 +37,8 @@ #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system haskell)+ #:use-module (guix utils)+ #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages curl) #:use-module (gnu packages gl)@@ -864,6 +866,119 @@ test specifications defining a command to run, some input, and the expected output, stderr, and exit status.") (license license:gpl3+))) +(define-public stack+ (package+ (name "stack")+ (version "2.1.3.1")+ (source+ (origin+ (method url-fetch)+ (uri (string-append+ "https://hackage.haskell.org/package/stack/stack-"+ version+ ".tar.gz"))+ (sha256+ (base32+ "1q2nagnc24fvyj3hwnpgyp3rqhxswhscyw4pw2dazqx34ad3d0zr"))+ (patches (search-patches "stack-ghc8.8-compatibility.patch"))))+ (build-system haskell-build-system)+ ;; FIXME: Some tests fail to access root directory+ (arguments `(#:tests? #f))+ (inputs+ `(("ghc-aeson" ,ghc-aeson)+ ("ghc-annotated-wl-pprint" ,ghc-annotated-wl-pprint)+ ("ghc-ansi-terminal" ,ghc-ansi-terminal)+ ("ghc-async" ,ghc-async)+ ("ghc-attoparsec" ,ghc-attoparsec)+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)+ ("ghc-colour" ,ghc-colour)+ ("ghc-conduit" ,ghc-conduit)+ ("ghc-conduit-extra" ,ghc-conduit-extra)+ ("ghc-cryptonite" ,ghc-cryptonite)+ ("ghc-cryptonite-conduit" ,ghc-cryptonite-conduit)+ ("ghc-echo" ,ghc-echo)+ ("ghc-exceptions" ,ghc-exceptions)+ ("ghc-extra" ,ghc-extra)+ ("ghc-file-embed" ,ghc-file-embed)+ ("ghc-filelock" ,ghc-filelock)+ ("ghc-fsnotify" ,ghc-fsnotify)+ ("ghc-generic-deriving" ,ghc-generic-deriving)+ ("ghc-hackage-security" ,ghc-hackage-security)+ ("ghc-hashable" ,ghc-hashable)+ ("ghc-hi-file-parser" ,ghc-hi-file-parser)+ ("ghc-hpack" ,ghc-hpack)+ ("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-microlens" ,ghc-microlens)+ ("ghc-mintty" ,ghc-mintty)+ ("ghc-mono-traversable" ,ghc-mono-traversable)+ ("ghc-mustache" ,ghc-mustache)+ ("ghc-neat-interpolation" ,ghc-neat-interpolation)+ ("ghc-network-uri" ,ghc-network-uri)+ ("ghc-open-browser" ,ghc-open-browser)+ ("ghc-optparse-applicative" ,ghc-optparse-applicative)+ ("ghc-pantry" ,ghc-pantry)+ ("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-project-template" ,ghc-project-template)+ ("ghc-regex-applicative-text" ,ghc-regex-applicative-text)+ ("ghc-resource-pool" ,ghc-resource-pool)+ ("ghc-resourcet" ,ghc-resourcet)+ ("ghc-retry" ,ghc-retry)+ ("ghc-rio" ,ghc-rio)+ ("ghc-rio-prettyprint" ,ghc-rio-prettyprint)+ ("ghc-semigroups" ,ghc-semigroups)+ ("ghc-split" ,ghc-split)+ ("ghc-streaming-commons" ,ghc-streaming-commons)+ ("ghc-tar" ,ghc-tar)+ ("ghc-temporary" ,ghc-temporary)+ ("ghc-terminal-size" ,ghc-terminal-size)+ ("ghc-text-metrics" ,ghc-text-metrics)+ ("ghc-th-reify-many" ,ghc-th-reify-many)+ ("ghc-tls" ,ghc-tls)+ ("ghc-typed-process" ,ghc-typed-process)+ ("ghc-unicode-transforms" ,ghc-unicode-transforms)+ ("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)+ ("ghc-zlib" ,ghc-zlib)+ ("ghc-githash" ,ghc-githash)+ ("ghc-optparse-simple" ,ghc-optparse-simple)+ ("ghc-hspec" ,ghc-hspec)+ ("ghc-optparse-generic" ,ghc-optparse-generic)))+ (native-inputs+ `(("ghc-quickcheck" ,ghc-quickcheck)+ ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)+ ("ghc-smallcheck" ,ghc-smallcheck)+ ("hspec-discover" ,hspec-discover)))+ (home-page "http://haskellstack.org")+ (synopsis "Haskell Tool Stack")+ (description+ "Stack is a cross-platform program for developing Haskell projects. It+is aimed at Haskellers both new and experienced.++It features:++@itemize+@item Installing GHC automatically, in an isolated location.+@item Installing packages needed for your project.+@item Building your project.+@item Testing your project.+@item Benchmarking your project.+@end itemize")+ (license license:bsd-3)))+ (define-public stylish-haskell (package (name "stylish-haskell")diff --git a/gnu/packages/patches/stack-ghc8.8-compatibility.patch b/gnu/packages/patches/stack-ghc8.8-compatibility.patchnew file mode 100644index 0000000000..1bfaa14b8b--- /dev/null+++ b/gnu/packages/patches/stack-ghc8.8-compatibility.patch@@ -0,0 +1,27 @@+This version of stack uses some language features that changed from 8.6 to+8.8.++diff --git a/src/Stack/Storage/User.hs.old b/src/Stack/Storage/User.hs+index 3845b09..cfc17d5 100644+--- a/src/Stack/Storage/User.hs++++ b/src/Stack/Storage/User.hs+@@ -10,6 +10,8 @@+ {-# LANGUAGE TupleSections #-}+ {-# LANGUAGE TypeFamilies #-}+ {-# LANGUAGE UndecidableInstances #-}++{-# LANGUAGE DerivingStrategies #-}++{-# LANGUAGE StandaloneDeriving #-}+ {-# OPTIONS_GHC -Wno-unused-top-binds -Wno-identities #-}++ -- | Work with SQLite database used for caches across an entire user account.+--- a/src/Stack/Storage/Project.hs.old++++ b/src/Stack/Storage/Project.hs+@@ -10,4 +10,6 @@+ {-# LANGUAGE TupleSections #-}+ {-# LANGUAGE TypeFamilies #-}+ {-# LANGUAGE UndecidableInstances #-}++{-# LANGUAGE DerivingStrategies #-}++{-# LANGUAGE StandaloneDeriving #-}+ {-# OPTIONS_GHC -Wno-unused-top-binds -Wno-identities #-}++ -- | Work with SQLite database used for caches across a single project.-- 2.29.2
J
J
John Soo wrote on 1 Jan 19:18 +0100
(name . Timothy Sample)(address . samplet@ngyro.com)(address . 39309@debbugs.gnu.org)
87wnww34id.fsf_-_@asu.edu
Well it looks like cryptonite-conduit was added since the last time Iworked on stack. The patch that adds it should be ignored.
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send email to 39309@debbugs.gnu.org