From: John Soo <jsoo1@asu.edu>
To: Christopher Baines <mail@cbaines.net>
Cc: 38596@debbugs.gnu.org
Subject: [bug#38596] [PATCH] gnu: Add PureScript.
Date: Sat, 18 Apr 2020 15:31:43 -0700 [thread overview]
Message-ID: <87k12cifxs.fsf@asu.edu> (raw)
In-Reply-To: <87imhx6hpl.fsf@cbaines.net> (Christopher Baines's message of "Fri, 17 Apr 2020 20:21:58 +0100")
[-- Attachment #1: Type: text/plain, Size: 1836 bytes --]
Hi,
Christopher Baines <mail@cbaines.net> writes:
> I've had an initial look through these now, sorry it's taken so long!
No problem. I was thinking I ought to do some qa and review, myself.
> ghc-utf8-light could do with a better description, something a little
> more informative.
I think I made this better as well as fixing some other descriptions
lacking full sentences.
> The ghc-sourcemap and ghc-mtl-compat tests are disabled, it would be
> good to at least add a comments as to why.
I added a comment for sourcemap. I realized mtl-compat's tests and
haddocks worked just fine so those are re-enabled.
> The ghc-protolude synopsis could potentially be more informative.
I think I added some more commentary there. It's a bit tricky since I
have not used protolude myself so I am not sure what to provide aside
from their stated description.
> I think adding specific versions of dependencies for purescript is OK,
> but only if they're justified, like if the package only builds with that
> version. The justification should also be noted in the purescript
> package description.
Ah, thanks. Would a comment above the dependencies suffice? The packages
won't be searchable since they are not define-public (yet?).
> I don't think it's necessary to go through all the custom versions of
> packages you've added, but it would be good to at least see if there's
> one case where the upstream specification is overly strict, and the
> slightly different version from Guix would work. That at least would
> provide an example of how to override versions going forward.
Ah thanks for the suggestion here. I found one that could be taken from
the existing package in (gnu packages haskell-xyz). The rest seemed to
be either pinned exactly or too strict to take from guix packages.
Thanks for your help and tools!
John
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-ghc-utf8-light.patch --]
[-- Type: text/x-patch, Size: 1693 bytes --]
From 033c04ecc06751668ee2b8b24fa3880d570c0cbb Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 07:00:31 -0800
Subject: [PATCH 01/21] gnu: Add ghc-utf8-light.
* gnu/packages/haskell-xyz.scm (ghc-utf8-light): New variable.
---
gnu/packages/haskell-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index c9119efd69..1ff6f30141 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -12671,6 +12671,31 @@ a style ready for qualification, that is, you should import them by
parser that uses ByteStrings for parsing and representing the URI data.")
(license license:bsd-3)))
+(define-public ghc-utf8-light
+ (package
+ (name "ghc-utf8-light")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/utf8-light/utf8-light-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
+ (build-system haskell-build-system)
+ (home-page
+ "http://hackage.haskell.org/package/utf8-light")
+ (synopsis "Lightweight unicode support for Haskell")
+ (description
+ "This package profides a class for encoding and decoding UTF8 strings
+with instances for several common types. It also includes several functions
+for working with UTF8. It aims to be lightweight, depending only on Base and
+including only one module.")
+ (license license:bsd-3)))
+
(define-public ghc-utf8-string
(package
(name "ghc-utf8-string")
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-Add-ghc-transformers.patch --]
[-- Type: text/x-patch, Size: 2398 bytes --]
From e9602b697112b1bff24c75b594fcd9f6aad0ff4a Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 07:04:13 -0800
Subject: [PATCH 02/21] gnu: Add ghc-transformers.
* gnu/packages/haskell-xyz.scm (ghc-transformers): New variable.
---
gnu/packages/haskell-xyz.scm | 43 ++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 1ff6f30141..5fcf87f7ea 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -12127,6 +12127,49 @@ from a shell. The @code{tldr} pages are a community effort to simplify the
man pages with practical examples.")
(license license:bsd-3)))
+(define-public ghc-transformers
+ (package
+ (name "ghc-transformers")
+ (version "0.5.6.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/transformers/transformers-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
+ (build-system haskell-build-system)
+ (home-page
+ "http://hackage.haskell.org/package/transformers")
+ (synopsis "Concrete functor and monad transformers")
+ (description
+ "A portable library of functor and monad transformers, inspired
+by the paper \"Functional Programming with Overloading and
+Higher-Order Polymorphism\", by Mark P Jones, in Advanced School of
+Functional Programming, 1995
+http://web.cecs.pdx.edu/~mpj/pubs/springschool.html.
+
+This package contains:
+@itemize
+@item
+the monad transformer class (in \"Control.Monad.Trans.Class\")
+@item
+concrete functor and monad
+transformers, each with associated operations and functions to lift
+operations associated with other transformers.
+@end itemize
+The package can be used on its own in portable Haskell code, in which
+case operations need to be manually lifted through transformer
+stacks (see \"Control.Monad.Trans.Class\" for some
+examples). Alternatively, it can be used with the non-portable monad
+classes in the mtl or monads-tf packages, which automatically lift
+operations introduced by monad transformers through other
+transformers.")
+ (license license:bsd-3)))
+
(define-public ghc-transformers-base
(package
(name "ghc-transformers-base")
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-gnu-Add-ghc-tasty-hspec.patch --]
[-- Type: text/x-patch, Size: 1866 bytes --]
From 5bb6b8429cbb02b8936686db94ec074fc3ea8034 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 07:06:52 -0800
Subject: [PATCH 03/21] gnu: Add ghc-tasty-hspec.
* gnu/packages/haskell-check.scm (ghc-tasty-hspec): New variable.
---
gnu/packages/haskell-check.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index c6e89460ea..7942f2019a 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -215,6 +215,39 @@ with the @url{https://hackage.haskell.org/package/tasty, tasty testing
framework}.")
(license license:bsd-3)))
+(define-public ghc-tasty-hspec
+ (package
+ (name "ghc-tasty-hspec")
+ (version "1.1.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/tasty-hspec/tasty-hspec-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0i9kdzjpk750sa078jj3iyhp72k0177zk7vxl131r6dkyz09x27y"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-hspec-core" ,ghc-hspec-core)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+ (arguments
+ `(#:cabal-revision
+ ("4" "1yppwhs2r2rlwrzli9ccv5ldgl95h5p7pqhsr898r3das6daf6sk")))
+ (home-page
+ "https://github.com/mitchellwrosen/tasty-hspec")
+ (synopsis
+ "Hspec support for the Tasty test framework")
+ (description
+ "This package provides a Tasty provider for Hspec test suites.")
+ (license license:bsd-3)))
+
(define-public ghc-tasty-hunit
(package
(name "ghc-tasty-hunit")
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: 0004-gnu-Add-ghc-websockets.patch --]
[-- Type: text/x-patch, Size: 2623 bytes --]
From 64e4d356bc37b7a8ef0dd5cb46aba4f282fc9055 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 07:12:42 -0800
Subject: [PATCH 04/21] gnu: Add ghc-websockets.
* gnu/packages/haskell-web.scm (ghc-websockets): New variable.
---
gnu/packages/haskell-web.scm | 53 ++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 05be862a85..67fc68cf3a 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -655,6 +655,59 @@ limitation, automatic pruning, energy saving and replay resistance.")
a WAI handler, via the native Haskell TLS implementation.")
(license license:expat)))
+(define-public ghc-websockets
+ (package
+ (name "ghc-websockets")
+ (version "0.12.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/websockets/websockets-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1vp3790w3hmr6v96314vdx74f7sg2c7hvnc93gafq0xhbxnr7nvx"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-bytestring-builder" ,ghc-bytestring-builder)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-network" ,ghc-network)
+ ("ghc-random" ,ghc-random)
+ ("ghc-sha" ,ghc-sha)
+ ("ghc-streaming-commons" ,ghc-streaming-commons)
+ ("ghc-entropy" ,ghc-entropy)))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
+ (home-page "https://jaspervdj.be/websockets/")
+ (synopsis
+ "Way to write WebSocket-capable servers in Haskell")
+ (description
+ "This library allows you to write WebSocket-capable servers.
+
+An example server:
+https://github.com/jaspervdj/websockets/blob/master/example/server.lhs
+An example client:
+https://github.com/jaspervdj/websockets/blob/master/example/client.hs
+
+See also:
+@itemize
+@item
+The specification of the WebSocket protocol:
+http://www.whatwg.org/specs/web-socket-protocol/.
+@item
+The JavaScript API for dealing with WebSockets:
+http://www.w3.org/TR/websockets/
+@end itemize")
+ (license license:bsd-3)))
+
(define-public ghc-xss-sanitize
(package
(name "ghc-xss-sanitize")
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #6: 0005-gnu-Add-ghc-wai-websockets.patch --]
[-- Type: text/x-patch, Size: 1735 bytes --]
From f01f0f3ecb8ab5f5dea5dc7d09eeaf4a03bf42c0 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 07:37:29 -0800
Subject: [PATCH 05/21] gnu: Add ghc-wai-websockets.
* gnu/packages/haskell-web.scm (ghc-wai-websockets): New variable.
---
gnu/packages/haskell-web.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 67fc68cf3a..55cad25085 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -708,6 +708,36 @@ http://www.w3.org/TR/websockets/
@end itemize")
(license license:bsd-3)))
+(define-public ghc-wai-websockets
+ (package
+ (name "ghc-wai-websockets")
+ (version "3.0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/wai-websockets/wai-websockets-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0b2xmdsrsqpssyib53wbr6r8hf75789ndyyanv37sv99iyqcwz4i"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-wai" ,ghc-wai)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-network" ,ghc-network)
+ ("ghc-websockets" ,ghc-websockets)
+ ("ghc-http-types" ,ghc-http-types)))
+ (arguments
+ `(#:configure-flags '("--flags=-example")))
+ (home-page "https://github.com/yesodweb/wai")
+ (synopsis
+ "Provide a bridge between WAI and the websockets package")
+ (description
+ "Use websockets with WAI applications, primarily those hosted via Warp.")
+ (license license:expat)))
+
(define-public ghc-xss-sanitize
(package
(name "ghc-xss-sanitize")
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #7: 0006-gnu-Add-ghc-sourcemap.patch --]
[-- Type: text/x-patch, Size: 1914 bytes --]
From 8aa79c40d976dfd73b904a72a3becaec362c460a Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 07:39:09 -0800
Subject: [PATCH 06/21] gnu: Add ghc-sourcemap.
gnu/pacakges/haskell-web.scm (ghc-sourcemap): New variable.
---
gnu/packages/haskell-web.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 55cad25085..4ff6c2f32d 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1776,3 +1776,37 @@ non-Haskell dependencies.")
and Perl's @code{Web::Scraper}. Scalpel builds on top of TagSoup to provide a
declarative and monadic interface.")
(license license:asl2.0)))
+
+(define-public ghc-sourcemap
+ (package
+ (name "ghc-sourcemap")
+ (version "0.1.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/sourcemap/sourcemap-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0ynfm44ym8y592wnzdwa0d05dbkffyyg5sm26y5ylzpynk64r85r"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-aeson" ,ghc-aeson)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-utf8-string" ,ghc-utf8-string)))
+ (arguments
+ `(#:tests? #f ; FIXME: Fail to compile
+ #:cabal-revision
+ ("1" "1f7q44ar6qfip8fsllg43jyn7r15ifn2r0vz32cbmx0sb0d38dax")))
+ (home-page
+ "http://hackage.haskell.org/package/sourcemap")
+ (synopsis
+ "Implementation of source maps as proposed by Google and Mozilla")
+ (description
+ "Sourcemap provides an implementation of source maps, revision 3,
+proposed by Google and Mozilla here
+@url{https://wiki.mozilla.org/DevTools/Features/SourceMap}.")
+ (license license:bsd-3)))
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #8: 0007-gnu-Add-ghc-mtl-compat.patch --]
[-- Type: text/x-patch, Size: 2151 bytes --]
From d0789784d71747817617a76b80a827b66a397221 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 09:32:28 -0800
Subject: [PATCH 07/21] gnu: Add ghc-mtl-compat.
* gnu/packages/haskell-xyz.scm (ghc-mtl-compat): New variable.
---
gnu/packages/haskell-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 5fcf87f7ea..2170aade2c 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -7631,6 +7631,41 @@ semi-direct products, \"deletable\" monoids, \"split\" monoids, and
\"cut\" monoids.")
(license license:bsd-3)))
+(define-public ghc-mtl-compat
+ (package
+ (name "ghc-mtl-compat")
+ (version "0.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/mtl-compat/mtl-compat-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
+ (build-system haskell-build-system)
+ (home-page
+ "https://github.com/haskell-compat/mtl-compat")
+ (synopsis
+ "Backported Control.Monad.Except module from mtl")
+ (description
+ "This package backports the Control.Monad.Except module from mtl (if
+using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
+and the MonadError class.
+
+This package should only be used if there is a need to use the
+Control.Monad.Except module specifically. If you just want the mtl class
+instances for ExceptT, use transformers-compat instead, since mtl-compat does
+nothing but reexport the instances from that package.
+
+Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
+module defined in this package exports all of ExceptT's monad class instances.
+Therefore, you may have to declare @code{import Control.Monad.Except ()} at
+the top of your file to get all of the ExceptT instances in scope.")
+ (license license:bsd-3)))
+
(define-public ghc-murmur-hash
(package
(name "ghc-murmur-hash")
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #9: 0008-gnu-Add-ghc-protolude.patch --]
[-- Type: text/x-patch, Size: 1698 bytes --]
From b4586581e759d5a80380651d770fd5871d8fc56a Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 07:40:38 -0800
Subject: [PATCH 08/21] gnu: Add ghc-protolude.
* gnu/packages/haskell-xyz.scm (ghc-protolude): New variable.
---
gnu/packages/haskell-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 2170aade2c..33cd674466 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -9281,6 +9281,33 @@ project-template tries to provide a canonical Haskell library for implementing
the ideal templating system.")
(license license:bsd-3)))
+(define-public ghc-protolude
+ (package
+ (name "ghc-protolude")
+ (version "0.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/protolude/protolude-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-async" ,ghc-async)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-mtl-compat" ,ghc-mtl-compat)
+ ("ghc-transformers-compat" ,ghc-transformers-compat)))
+ (home-page "https://github.com/protolude/protolude")
+ (synopsis "Sensible set of defaults for writing custom Preludes")
+ (description
+ "Protolude gives you sensible defaults for writing custom Preludes to
+replace the standard one provided by GHC.")
+ (license license:expat)))
+
(define-public ghc-psqueues
(package
(name "ghc-psqueues")
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #10: 0009-gnu-Add-ghc-pattern-arrows.patch --]
[-- Type: text/x-patch, Size: 1549 bytes --]
From ebc7a0a353d643fd2f160eced6520941e3166dff Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 07:41:40 -0800
Subject: [PATCH 09/21] gnu: Add ghc-pattern-arrows.
* gnu/packages/haskell-xyz.scm (ghc-pattern-arrows): New variable.
---
gnu/packages/haskell-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 33cd674466..2f4b603059 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -8759,6 +8759,29 @@ of two versions of a source file. It provides a good balance between
performance, nice output for humans, and simplicity of implementation.")
(license license:bsd-3)))
+(define-public ghc-pattern-arrows
+ (package
+ (name "ghc-pattern-arrows")
+ (version "0.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/pattern-arrows/pattern-arrows-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
+ (build-system haskell-build-system)
+ (home-page
+ "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
+ (synopsis "Arrows for Pretty Printing")
+ (description
+ "A library for generating concise pretty printers based on precedence
+rules.")
+ (license license:expat)))
+
(define-public ghc-pcre-light
(package
(name "ghc-pcre-light")
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #11: 0010-gnu-Add-ghc-language-javascript.patch --]
[-- Type: text/x-patch, Size: 1811 bytes --]
From 923fc58684717763fb0b3f9b4a589f75443b7979 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 07:43:44 -0800
Subject: [PATCH 10/21] gnu: Add ghc-language-javascript.
* gnu/packages/haskell-web.scm (ghc-language-javascript): New variable.
---
gnu/packages/haskell-web.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 4ff6c2f32d..64ef299a2c 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1810,3 +1810,35 @@ declarative and monadic interface.")
proposed by Google and Mozilla here
@url{https://wiki.mozilla.org/DevTools/Features/SourceMap}.")
(license license:bsd-3)))
+
+(define-public ghc-language-javascript
+ (package
+ (name "ghc-language-javascript")
+ (version "0.7.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/language-javascript/language-javascript-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "15bpqpkjf2y3fk8wff9zlnkpsjc63bnbvhlkxrs9alj0bikq17nk"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-utf8-string" ,ghc-utf8-string)))
+ (native-inputs
+ `(("ghc-alex" ,ghc-alex)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-happy" ,ghc-happy)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-utf8-light" ,ghc-utf8-light)))
+ (home-page
+ "https://github.com/erikd/language-javascript")
+ (synopsis "Parser for JavaScript")
+ (description
+ "Parses Javascript into an Abstract Syntax Tree (AST). Initially intended
+as frontend to hjsmin.")
+ (license license:bsd-3)))
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #12: 0011-gnu-Add-ghc-bower-json.patch --]
[-- Type: text/x-patch, Size: 1884 bytes --]
From 6d58c61379a83fa82c6555bd9d57d570122a0edc Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 07:44:47 -0800
Subject: [PATCH 11/21] gnu: Add ghc-bower-json.
* gnu/packages/haskell-web.scm (ghc-bower-json): New variable.
---
gnu/packages/haskell-web.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 64ef299a2c..6c5d2ac4e4 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1842,3 +1842,35 @@ proposed by Google and Mozilla here
"Parses Javascript into an Abstract Syntax Tree (AST). Initially intended
as frontend to hjsmin.")
(license license:bsd-3)))
+
+(define-public ghc-bower-json
+ (package
+ (name "ghc-bower-json")
+ (version "1.0.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/bower-json/bower-json-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0wvygg3rdbxzrmr61a9w6ddv9pfric85ih8hnxyk0ydzn7i59abs"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-aeson" ,ghc-aeson)
+ ("ghc-aeson-better-errors" ,ghc-aeson-better-errors)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-transformers" ,ghc-transformers)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)))
+ (native-inputs
+ `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
+ (home-page "https://github.com/hdgarrood/bower-json")
+ (synopsis "Read bower.json from Haskell")
+ (description
+ "Bower is a package manager for the web (see http://bower.io). This
+package provides a data type and ToJSON/FromJSON instances for Bower's package
+manifest file,bower.json.")
+ (license license:expat)))
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #13: 0012-gnu-Add-ghc-aeson-better-errors.patch --]
[-- Type: text/x-patch, Size: 2021 bytes --]
From cfd79b3e95d659efc40e93c1318f3c03bad8378a Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 07:45:59 -0800
Subject: [PATCH 12/21] gnu: Add ghc-aeson-better-errors.
* gnu/packages/haskell-web.scm (ghc-aeson-better-errors): New variable.
---
gnu/packages/haskell-web.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 6c5d2ac4e4..22ef3cdb4c 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1007,6 +1007,39 @@ the function @code{aesonQQ} that compile-time converts a string representation
of a JSON value into a @code{Data.Aeson.Value}.")
(license license:expat)))
+(define-public ghc-aeson-better-errors
+ (package
+ (name "ghc-aeson-better-errors")
+ (version "0.9.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/aeson-better-errors/aeson-better-errors-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "09vkyrhwak3bmpfsqcd2az8hfqqkxyhg468hv5avgisy0nzh3w38"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-aeson" ,ghc-aeson)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-dlist" ,ghc-dlist)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-transformers-compat" ,ghc-transformers-compat)
+ ("ghc-void" ,ghc-void)))
+ (home-page
+ "https://github.com/hdgarrood/aeson-better-errors")
+ (synopsis
+ "Better error messages when decoding JSON values in Haskell")
+ (description
+ "A small package which gives you the tools to build parsers to decode
+JSON values, and gives good error messages when parsing fails. See also
+http://harry.garrood.me/blog/aeson-better-errors/.")
+ (license license:expat)))
+
(define-public ghc-multipart
(package
(name "ghc-multipart")
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #14: 0013-gnu-Add-ghc-assoc.patch --]
[-- Type: text/x-patch, Size: 1620 bytes --]
From a94a80685c8085f2fab0bd8c7c5a8c66a5d580cb Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 08:44:49 -0800
Subject: [PATCH 13/21] gnu: Add ghc-assoc.
* gnu/packages/haskell-xyz.scm (ghc-assoc): New variable.
---
gnu/packages/haskell-xyz.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 2f4b603059..d43b5623f9 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -456,6 +456,34 @@ colored output using the ansi-terminal package.")
style.")
(license license:bsd-3)))
+(define-public ghc-assoc
+ (package
+ (name "ghc-assoc")
+ (version "1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/assoc/assoc-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1m9n4vp190bvn2wcrd4ggfwa9pi93jp0zgx02mdgywn2zfidw020"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-bifunctors" ,ghc-bifunctors)
+ ("ghc-tagged" ,ghc-tagged)))
+ (home-page
+ "http://hackage.haskell.org/package/assoc")
+ (synopsis
+ "Swap and assoc: Symmetric and Semigroupy Bifunctors")
+ (description
+ "Provides generalisations of @code{swap :: (a,b) -> (b,a)} and
+@code{assoc :: ((a,b),c) -> (a,(b,c))} to @code{Bifunctor}s supporting
+similar operations (e.g. @code{Either}, @code{These}).")
+ (license license:bsd-3)))
+
(define-public ghc-async
(package
(name "ghc-async")
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #15: 0014-gnu-Add-ghc-these.patch --]
[-- Type: text/x-patch, Size: 2699 bytes --]
From 6cd563b4e1b3d3bcdf348d3745691a063230d2d8 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 08:45:42 -0800
Subject: [PATCH 14/21] gnu: Add ghc-these.
* gnu/packages/haskell-xyz.scm (ghc-these): New variable.
---
gnu/packages/haskell-xyz.scm | 57 ++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index d43b5623f9..afe0023bdb 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -12000,6 +12000,63 @@ 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-these
+ (package
+ (name "ghc-these")
+ (version "1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/these/these-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1k0pi65g7cm9hzdw6my6bzz2zvddkmj1qs45ymqmi316bpiixk3r"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-base-compat" ,ghc-base-compat)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-assoc" ,ghc-assoc)
+ ("ghc-semigroupoids" ,ghc-semigroupoids)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (arguments
+ `(#:cabal-revision
+ ("1"
+ "0923r86fnmgpx0msm68aszirh2n19nn5bccgjxfh2146jw4z7w3z")))
+ (home-page
+ "https://github.com/isomorphism/these")
+ (synopsis "Either-or-both data type")
+ (description
+ "This package provides a data type @code{These a b} which can
+hold a value of either type or values of each type. This is usually
+thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
+\"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
+as \"inner join\").
+
+@code{data These a b = This a | That b | These a b}
+
+Since version 1, this package was split into parts:
+
+@itemize
+@item
+https://hackage.haskell.org/package/semialign For @code{Align} and
+@code{Zip} type-classes.
+@item
+https://hackage.haskell.org/package/semialign-indexed For
+@code{SemialignWithIndex} class, providing @code{ialignWith} and
+@code{izipWith}
+@item
+https://hackage.haskell.org/package/these-lens For lens combinators.
+@item
+http://hackage.haskell.org/package/monad-chronicle For transformers
+variant of @code{These}.
+@end itemize")
+ (license license:bsd-3)))
+
(define-public ghc-threads
(package
(name "ghc-threads")
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #16: 0015-gnu-Add-ghc-semialign.patch --]
[-- Type: text/x-patch, Size: 2208 bytes --]
From 47fc05d223de2861f25d9acbcc4c9cea1d8736a9 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 08:48:25 -0800
Subject: [PATCH 15/21] gnu: Add ghc-semialign.
* gnu/packages/haskell-xyz.scm (ghc-semialign): New variable.
---
gnu/packages/haskell-xyz.scm | 40 ++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index afe0023bdb..d1d98cb704 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -10519,6 +10519,46 @@ Haskell")
a memory chunk that will be auto-scrubbed after it run out of scope.")
(license license:bsd-3)))
+(define-public ghc-semialign
+ (package
+ (name "ghc-semialign")
+ (version "1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/semialign/semialign-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "004x0a80sqqdgvsyk4z0nasxpi6z3g1d8kgwj804bj9ka8dlc75m"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-these" ,ghc-these)
+ ("ghc-base-compat" ,ghc-base-compat)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-semigroupoids" ,ghc-semigroupoids)))
+ (arguments
+ `(#:cabal-revision
+ ("1"
+ "0qnqnyfng4kwy2h2anrcy5id2ijnawava3zcc5h5b8ri1y6ks6zi")))
+ (home-page
+ "https://github.com/isomorphism/these")
+ (synopsis
+ "Align and Zip type-classes from the common Semialign ancestor ")
+ (description
+ "The major use of @code{These} of this is provided by the
+@code{align} member of @code{Semialign} class, representing a
+generalized notion of \"zipping with padding\" that combines
+structures without truncating to the size of the smaller input. It
+turns out that @code{zip} operation fits well the @code{Semialign}
+class, forming lattice-like structure.")
+ (license license:bsd-3)))
+
(define-public ghc-semigroupoids
(package
(name "ghc-semigroupoids")
--
2.26.0
[-- Attachment #17: 0016-gnu-Add-ghc-happy-1.19.9.patch --]
[-- Type: text/x-patch, Size: 2857 bytes --]
From 68b5d6feb4ed68a1a55d848184505f76879afe6f Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 08:52:48 -0800
Subject: [PATCH 16/21] gnu: Add ghc-happy@1.19.9
* gnu/packages/purescript.scm (ghc-happy-1.19.9): New file, New variable.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add purescript.scm.
---
gnu/local.mk | 1 +
gnu/packages/purescript.scm | 44 +++++++++++++++++++++++++++++++++++++
2 files changed, 45 insertions(+)
create mode 100644 gnu/packages/purescript.scm
diff --git a/gnu/local.mk b/gnu/local.mk
index af79f9afed..001524f7d1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -423,6 +423,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/pretty-print.scm \
%D%/packages/protobuf.scm \
%D%/packages/pure.scm \
+ %D%/packages/purescript.scm \
%D%/packages/pv.scm \
%D%/packages/python.scm \
%D%/packages/python-check.scm \
diff --git a/gnu/packages/purescript.scm b/gnu/packages/purescript.scm
new file mode 100644
index 0000000000..ba90f9c23b
--- /dev/null
+++ b/gnu/packages/purescript.scm
@@ -0,0 +1,44 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages purescript)
+ #:use-module (gnu packages haskell-xyz)
+ #:use-module (gnu packages haskell-check)
+ #:use-module (gnu packages haskell-crypto)
+ #:use-module (gnu packages haskell-web)
+ #:use-module ((gnu packages python) #:select (python))
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
+ #:use-module (guix build-system haskell)
+ #:use-module ((guix licenses) #:prefix license:))
+
+(define ghc-happy-1.19.9
+ (package
+ (inherit ghc-happy)
+ (version "1.19.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/happy/happy-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y"))))))
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #18: 0017-gnu-Add-ghc-clock-0.7.2.patch --]
[-- Type: text/x-patch, Size: 1044 bytes --]
From 1c61c57b8703c312661c08f64653ff2fe9855c29 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 08:53:33 -0800
Subject: [PATCH 17/21] gnu: Add ghc-clock@0.7.2.
* gnu/packages/purescript.scm (ghc-clock-0.7.2): New variable.
---
gnu/packages/purescript.scm | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/gnu/packages/purescript.scm b/gnu/packages/purescript.scm
index ba90f9c23b..d430e62fcd 100644
--- a/gnu/packages/purescript.scm
+++ b/gnu/packages/purescript.scm
@@ -42,3 +42,18 @@
(sha256
(base32
"138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y"))))))
+
+(define ghc-clock-0.7.2
+ (package
+ (inherit ghc-clock)
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/"
+ "clock/"
+ "clock-" version ".tar.gz"))
+ (sha256
+ (base32
+ "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))))))
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #19: 0018-gnu-Add-ghc-glob-0.9.3.patch --]
[-- Type: text/x-patch, Size: 1063 bytes --]
From e16bd1b3d73a076b418a582fc7dd9ef3369e1050 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 08:54:12 -0800
Subject: [PATCH 18/21] gnu: Add ghc-glob@0.9.3.
* gnu/packages/purescript.scm (ghc-glob-0.9.3): New variable.
---
gnu/packages/purescript.scm | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/gnu/packages/purescript.scm b/gnu/packages/purescript.scm
index d430e62fcd..8bfbf5411d 100644
--- a/gnu/packages/purescript.scm
+++ b/gnu/packages/purescript.scm
@@ -57,3 +57,17 @@
(sha256
(base32
"07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))))))
+
+(define ghc-glob-0.9.3
+ (package
+ (inherit ghc-glob)
+ (version "0.9.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "Glob-" version "/"
+ "Glob-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1s69lk3ic6zlkikhvb78ly9wl3g70a1h1m6ndhsca01pp8z8axrs"))))))
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #20: 0019-gnu-Add-ghc-ansi-terminal-0.8.2.patch --]
[-- Type: text/x-patch, Size: 1086 bytes --]
From 924354700f53f7a7a3b5f6f2ed33e8b6cfc38ae7 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 08:54:51 -0800
Subject: [PATCH 19/21] gnu: Add ghc-ansi-terminal@0.8.2.
* gnu/packages/purescript.scm (ghc-ansi-terminal-0.8.2): New variable.
---
gnu/packages/purescript.scm | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/gnu/packages/purescript.scm b/gnu/packages/purescript.scm
index 8bfbf5411d..30abc05c2e 100644
--- a/gnu/packages/purescript.scm
+++ b/gnu/packages/purescript.scm
@@ -71,3 +71,18 @@
(sha256
(base32
"1s69lk3ic6zlkikhvb78ly9wl3g70a1h1m6ndhsca01pp8z8axrs"))))))
+
+(define ghc-ansi-terminal-0.8.2
+ (package
+ (inherit ghc-ansi-terminal)
+ (version "0.8.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "147ss9wz03ww6ypbv6yh5vi1wfrfcaqm8r6nxh50vnp7254359wh"))))))
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #21: 0020-gnu-Add-ghc-network-3.0.1.1.patch --]
[-- Type: text/x-patch, Size: 1066 bytes --]
From ce9c5373fb530a3f49224cace425c04c1582d721 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 08:56:13 -0800
Subject: [PATCH 20/21] gnu: Add ghc-network@3.0.1.1
* gnu/packages/purescript.scm (ghc-network-3.0.1.1): New variable.
---
gnu/packages/purescript.scm | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/gnu/packages/purescript.scm b/gnu/packages/purescript.scm
index 30abc05c2e..75e540e219 100644
--- a/gnu/packages/purescript.scm
+++ b/gnu/packages/purescript.scm
@@ -86,3 +86,18 @@
(sha256
(base32
"147ss9wz03ww6ypbv6yh5vi1wfrfcaqm8r6nxh50vnp7254359wh"))))))
+
+(define ghc-network-3.0.1.1
+ (package
+ (inherit ghc-network)
+ (version "3.0.1.1")
+ (source
+ (origin
+ (inherit (package-source ghc-network))
+ (uri (string-append
+ "mirror://hackage/package/network/network-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1xacvl5wf47cz61igb94zf961b9ks0yhr02myxgjf53clm70dg6j"))))))
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #22: 0021-gnu-Add-purescript.patch --]
[-- Type: text/x-patch, Size: 4145 bytes --]
From 747006cfc8c3739912138d9c3ec5f60f204e8758 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Fri, 13 Dec 2019 09:21:50 -0800
Subject: [PATCH 21/21] gnu: Add purescript.
* gnu/packages/purescript.scm (purescript): New variable.
---
gnu/packages/purescript.scm | 89 +++++++++++++++++++++++++++++++++++++
1 file changed, 89 insertions(+)
diff --git a/gnu/packages/purescript.scm b/gnu/packages/purescript.scm
index 75e540e219..cec530dcdf 100644
--- a/gnu/packages/purescript.scm
+++ b/gnu/packages/purescript.scm
@@ -101,3 +101,92 @@
(sha256
(base32
"1xacvl5wf47cz61igb94zf961b9ks0yhr02myxgjf53clm70dg6j"))))))
+
+(define-public purescript
+ (package
+ (name "purescript")
+ (version "0.13.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/purescript/purescript-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0plqzlcfaw2ik2im7aq8yy1b1y88cnc8qd7wwaayndbdz060s9j4"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-glob" ,ghc-glob-0.9.3)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-aeson-better-errors" ,ghc-aeson-better-errors)
+ ("ghc-aeson-pretty" ,ghc-aeson-pretty)
+ ("ghc-ansi-terminal" ,ghc-ansi-terminal-0.8.2)
+ ("ghc-base-compat" ,ghc-base-compat)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-bower-json" ,ghc-bower-json)
+ ("ghc-boxes" ,ghc-boxes)
+ ("ghc-cheapskate" ,ghc-cheapskate)
+ ("ghc-clock" ,ghc-clock-0.7.2)
+ ("ghc-cryptonite" ,ghc-cryptonite)
+ ("ghc-data-ordlist" ,ghc-data-ordlist)
+ ("ghc-dlist" ,ghc-dlist)
+ ("ghc-edit-distance" ,ghc-edit-distance)
+ ("ghc-file-embed" ,ghc-file-embed)
+ ("ghc-fsnotify" ,ghc-fsnotify)
+ ("ghc-happy" ,ghc-happy)
+ ("ghc-language-javascript" ,ghc-language-javascript)
+ ("ghc-lifted-async" ,ghc-lifted-async)
+ ("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-memory" ,ghc-memory)
+ ("ghc-microlens-platform" ,ghc-microlens-platform)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-monad-logger" ,ghc-monad-logger)
+ ("ghc-network" ,ghc-network-3.0.1.1)
+ ("ghc-parallel" ,ghc-parallel)
+ ("ghc-pattern-arrows" ,ghc-pattern-arrows)
+ ("ghc-protolude" ,ghc-protolude)
+ ("ghc-regex-tdfa" ,ghc-regex-tdfa)
+ ("ghc-safe" ,ghc-safe)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-semialign" ,ghc-semialign)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-sourcemap" ,ghc-sourcemap)
+ ("ghc-split" ,ghc-split)
+ ("ghc-stringsearch" ,ghc-stringsearch)
+ ("ghc-syb" ,ghc-syb)
+ ("ghc-these" ,ghc-these)
+ ("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-transformers-compat" ,ghc-transformers-compat)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-utf8-string" ,ghc-utf8-string)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-network" ,ghc-network)
+ ("ghc-optparse-applicative" ,ghc-optparse-applicative)
+ ("ghc-wai" ,ghc-wai)
+ ("ghc-wai-websockets" ,ghc-wai-websockets)
+ ("ghc-warp" ,ghc-warp)
+ ("ghc-websockets" ,ghc-websockets)
+ ("ghc-gitrev" ,ghc-gitrev)))
+ (native-inputs
+ `(("ghc-happy" ,ghc-happy-1.19.9)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-hspec" ,ghc-hspec)
+ ("hspec-discover" ,hspec-discover)
+ ("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-hspec" ,ghc-tasty-hspec)))
+ (arguments
+ `(;; Tests require npm
+ #:tests? #f
+ ;; Haddock fails
+ #:haddock? #f
+ #:configure-flags '("--flags=release")))
+ (home-page "https://www.purescript.org/")
+ (synopsis "Haskell inspired programming language compiling to JavaScript")
+ (description
+ "A small strongly, statically typed programming language with
+expressive types, inspired by Haskell and compiling to JavaScript.")
+ (license license:bsd-3)))
--
2.26.0
next prev parent reply other threads:[~2020-04-18 22:33 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-13 18:46 [bug#38596] [PATCH] Add PureScript John Soo
2019-12-18 13:50 ` John Soo
2019-12-18 14:30 ` John Soo
2020-04-11 20:12 ` [bug#38596] [PATCH] gnu: " John Soo
2020-04-17 19:21 ` Christopher Baines
2020-04-18 22:31 ` John Soo [this message]
2020-04-21 7:55 ` Christopher Baines
2020-05-08 0:32 ` John Soo
2020-05-08 9:13 ` bug#38596: " Christopher Baines
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87k12cifxs.fsf@asu.edu \
--to=jsoo1@asu.edu \
--cc=38596@debbugs.gnu.org \
--cc=mail@cbaines.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).