unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#36126] [PATCH] Add ghc-validation.
@ 2019-06-07 11:51 Jacob MacDonald
  2019-06-22  9:18 ` [bug#36126] Followup Jacob MacDonald
  2019-07-02 15:57 ` bug#36126: [PATCH] Add ghc-validation Ludovic Courtès
  0 siblings, 2 replies; 4+ messages in thread
From: Jacob MacDonald @ 2019-06-07 11:51 UTC (permalink / raw)
  To: 36126

[-- Attachment #1: Type: text/plain, Size: 442 bytes --]

Hello all,

The version bump pushes guix refresh over the 300-package line. Given
that and the fact that there are dependencies on older versions in the
tree, would it be better to give the newer version a special name
instead, or did I make the correct choice here?

Guix packages are a new foray for me, so I imagine something will be
wrong. Did my best to split into proper dependency order though, and
ready to touch up.

Cheers,

Jacob.

[-- Attachment #2: 0004-gnu-ghc-ansi-terminal-Update-to-0.9.1.patch --]
[-- Type: text/x-patch, Size: 1082 bytes --]

From 884fcb744ae239e733debc45f5da25225e8079eb Mon Sep 17 00:00:00 2001
From: Jacob MacDonald <jaccarmac@gmail.com>
Date: Fri, 7 Jun 2019 05:28:36 -0500
Subject: [PATCH 4/7] gnu: ghc-ansi-terminal: Update to 0.9.1.

* gnu/packages/haskell.scm (ghc-ansi-terminal): Update to 0.9.1.
---
 gnu/packages/haskell.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 16f319f621..ddbb2ae6ef 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -4362,7 +4362,7 @@ interface.")
 (define-public ghc-ansi-terminal
   (package
     (name "ghc-ansi-terminal")
-    (version "0.8.0.4")
+    (version "0.9.1")
     (source
      (origin
        (method url-fetch)
@@ -4372,7 +4372,7 @@ interface.")
              ".tar.gz"))
        (sha256
         (base32
-         "0428gq8m3fdnb7ldcsyk97qcch76hcxbgh2666p6f76fs2qbhg7b"))))
+         "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
     (build-system haskell-build-system)
     (inputs
      `(("ghc-colour" ,ghc-colour)))
-- 
2.21.0


[-- Attachment #3: 0003-gnu-ghc-ansi-wl-pprint-Use-ghc-ansi-terminal-0.8.patch --]
[-- Type: text/x-patch, Size: 1078 bytes --]

From 1c7b95f74448a407d428a6ac55c9f1720d582f51 Mon Sep 17 00:00:00 2001
From: Jacob MacDonald <jaccarmac@gmail.com>
Date: Fri, 7 Jun 2019 06:09:24 -0500
Subject: [PATCH 3/7] gnu: ghc-ansi-wl-pprint: Use ghc-ansi-terminal-0.8.

* gnu/packages/haskell.scm (ghc-ansi-wl-pprint)[inputs]: Use ghc-ansi-terminal-0.8.
---
 gnu/packages/haskell.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 3f7d57a397..16f319f621 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -4085,7 +4085,7 @@ instances of the @code{Pretty} class.")
          "0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
+     `(("ghc-ansi-terminal" ,ghc-ansi-terminal-0.8)))
     (home-page "https://github.com/ekmett/ansi-wl-pprint")
     (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
     (description "This is a pretty printing library based on Wadler's paper
-- 
2.21.0


[-- Attachment #4: 0002-gnu-Add-ghc-ansi-terminal-0.8.patch --]
[-- Type: text/x-patch, Size: 1298 bytes --]

From 01932914b4fdce120f5490ac14c330038376a60e Mon Sep 17 00:00:00 2001
From: Jacob MacDonald <jaccarmac@gmail.com>
Date: Fri, 7 Jun 2019 06:00:26 -0500
Subject: [PATCH 2/7] gnu: Add ghc-ansi-terminal-0.8.

* gnu/packages/haskell.scm (ghc-ansi-terminal-0.8): New variable.
---
 gnu/packages/haskell.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 9f1fa9a535..3f7d57a397 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -4383,6 +4383,21 @@ allows cursor movement, screen clearing, color output showing or hiding the
 cursor, and changing the title.")
     (license license:bsd-3)))
 
+(define-public ghc-ansi-terminal-0.8
+  (package (inherit ghc-ansi-terminal)
+           (name "ghc-ansi-terminal")
+           (version "0.8.0.4")
+           (source
+            (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
+                    version
+                    ".tar.gz"))
+              (sha256
+               (base32
+                "0428gq8m3fdnb7ldcsyk97qcch76hcxbgh2666p6f76fs2qbhg7b"))))))
+
 (define-public ghc-vault
   (package
     (name "ghc-vault")
-- 
2.21.0


[-- Attachment #5: 0005-gnu-Add-ghc-concurrent-output.patch --]
[-- Type: text/x-patch, Size: 1948 bytes --]

From 32b0a69cf86b313f6dbdf384892874f2758adb04 Mon Sep 17 00:00:00 2001
From: Jacob MacDonald <jaccarmac@gmail.com>
Date: Fri, 7 Jun 2019 05:36:25 -0500
Subject: [PATCH 5/7] gnu: Add ghc-concurrent-output.

* gnu/packages/haskell.scm (ghc-concurrent-output): New variable.
---
 gnu/packages/haskell.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index ddbb2ae6ef..5c4756a077 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -11649,6 +11649,40 @@ default)
 @end itemize")
     (license license:bsd-3)))
 
+(define-public ghc-concurrent-output
+  (package
+    (name "ghc-concurrent-output")
+    (version "1.10.10")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://hackage/package/concurrent-output/concurrent-output-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1wnjxnwbc3l853kiiijagzjyb6fmhz3lmkwls24plbximl1qrr22"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-async" ,ghc-async)
+       ("ghc-stm" ,ghc-stm)
+       ("ghc-exceptions" ,ghc-exceptions)
+       ("ghc-ansi-terminal" ,ghc-ansi-terminal)
+       ("ghc-terminal-size" ,ghc-terminal-size)))
+    (home-page
+     "https://hackage.haskell.org/package/concurrent-output")
+    (synopsis
+     "Ungarble output from several threads or commands")
+    (description
+     "Lets multiple threads and external processes concurrently output to the
+console, without it getting all garbled up.
+
+Built on top of that is a way of defining multiple output regions, which are
+automatically laid out on the screen and can be individually updated by
+concurrent threads.  Can be used for progress displays etc.")
+    (license license:bsd-2)))
+
 (define-public ghc-wl-pprint-annotated
   (package
     (name "ghc-wl-pprint-annotated")
-- 
2.21.0


[-- Attachment #6: 0001-gnu-Add-ghc-wl-pprint-annotated.patch --]
[-- Type: text/x-patch, Size: 1837 bytes --]

From 07c56958758c4ce21fb020c596d06bdeaa937ae8 Mon Sep 17 00:00:00 2001
From: Jacob MacDonald <jaccarmac@gmail.com>
Date: Fri, 7 Jun 2019 05:24:12 -0500
Subject: [PATCH 1/7] gnu: Add ghc-wl-pprint-annotated.

* gnu/packages/haskell.scm (ghc-wl-pprint-annotated): New variable.
---
 gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 97b4fd9a55..9f1fa9a535 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -11633,4 +11633,34 @@ Replace some ASCII sequences by their Unicode equivalent (turned off by
 default)
 @end itemize")
     (license license:bsd-3)))
+
+(define-public ghc-wl-pprint-annotated
+  (package
+    (name "ghc-wl-pprint-annotated")
+    (version "0.1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
+    (build-system haskell-build-system)
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
+    (home-page
+     "https://github.com/minad/wl-pprint-annotated#readme")
+    (synopsis
+     "Wadler/Leijen pretty printer with annotation support")
+    (description
+     "Annotations are useful for coloring.  This is a limited version of
+@code{wl-pprint-extras} without support for point effects and without the free
+monad.  Like in @code{annotated-wl-pprint}, only annotations are supported.
+Compared to @code{annotated-wl-pprint} this library provides a slightly
+modernized interface.")
+    (license license:bsd-3)))
 ;;; haskell.scm ends here
-- 
2.21.0


[-- Attachment #7: 0006-gnu-Add-ghc-hedgehog.patch --]
[-- Type: text/x-patch, Size: 2397 bytes --]

From 735cc83bd2e0f3c56e31b302e934a24d3151ec04 Mon Sep 17 00:00:00 2001
From: Jacob MacDonald <jaccarmac@gmail.com>
Date: Fri, 7 Jun 2019 05:42:59 -0500
Subject: [PATCH 6/7] gnu: Add ghc-hedgehog.

* gnu/packages/haskell-check.scm (ghc-hedgehog): New variable.
---
 gnu/packages/haskell-check.scm | 44 ++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index 550bb13a65..9b010fd5eb 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -822,3 +822,47 @@ minimal dependencies.")
 cryptographic ciphers, and is used by the test runners of various Haskell
 implementations of cryptographic ciphers.")
     (license license:bsd-3)))
+
+(define-public ghc-hedgehog
+  (package
+    (name "ghc-hedgehog")
+    (version "0.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://hackage/package/hedgehog/hedgehog-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0xz10ycdm5vk9nrcym1fi83k19frfwqz18bz8bnpzwvaj0j41yfj"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-ansi-terminal" ,ghc-ansi-terminal-0.8)
+       ("ghc-async" ,ghc-async)
+       ("ghc-concurrent-output" ,ghc-concurrent-output)
+       ("ghc-exceptions" ,ghc-exceptions)
+       ("ghc-lifted-async" ,ghc-lifted-async)
+       ("ghc-mmorph" ,ghc-mmorph)
+       ("ghc-monad-control" ,ghc-monad-control)
+       ("ghc-pretty-show" ,ghc-pretty-show)
+       ("ghc-primitive" ,ghc-primitive)
+       ("ghc-random" ,ghc-random)
+       ("ghc-resourcet" ,ghc-resourcet)
+       ("ghc-semigroups" ,ghc-semigroups)
+       ("ghc-stm" ,ghc-stm)
+       ("ghc-th-lift" ,ghc-th-lift)
+       ("ghc-transformers-base" ,ghc-transformers-base)
+       ("ghc-wl-pprint-annotated"
+        ,ghc-wl-pprint-annotated)))
+    (home-page "https://hedgehog.qa")
+    (synopsis "Property-based testing in the spirt of QuickCheck")
+    (description
+     "Hedgehog is a property-based testing system, in the spirit of
+QuickCheck.  Hedgehog uses integrated shrinking, so shrinks obey the invariants
+of generated values by construction.
+
+To get started quickly, see the examples:
+@uref{https://github.com/hedgehogqa/haskell-hedgehog/tree/master/hedgehog-example}")
+    (license license:bsd-3)))
-- 
2.21.0


[-- Attachment #8: 0007-gnu-Add-ghc-validation.patch --]
[-- Type: text/x-patch, Size: 2746 bytes --]

From 870736088fe74aca3902fb4d3884c88fdec84d52 Mon Sep 17 00:00:00 2001
From: Jacob MacDonald <jaccarmac@gmail.com>
Date: Fri, 7 Jun 2019 05:48:14 -0500
Subject: [PATCH 7/7] gnu: Add ghc-validation.

* gnu/packages/haskell.scm (ghc-validation): New variable.
---
 gnu/packages/haskell.scm | 54 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 5c4756a077..7d7568afe2 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -11649,6 +11649,60 @@ default)
 @end itemize")
     (license license:bsd-3)))
 
+(define-public ghc-validation
+  (package
+    (name "ghc-validation")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://hackage/package/validation/validation-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
+    (build-system haskell-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'add-setup-script
+           (lambda _
+             ;; The usual "Setup.hs" script is missing from the source.
+             (with-output-to-file "Setup.hs"
+               (lambda ()
+                 (format #t "import Distribution.Simple~%")
+                 (format #t "main = defaultMain~%"))))))))
+    (inputs
+     `(("ghc-semigroups" ,ghc-semigroups)
+       ("ghc-semigroupoids" ,ghc-semigroupoids)
+       ("ghc-bifunctors" ,ghc-bifunctors)
+       ("ghc-lens" ,ghc-lens)))
+    (native-inputs
+     `(("ghc-hedgehog" ,ghc-hedgehog)
+       ("ghc-hunit" ,ghc-hunit)))
+    (home-page "https://github.com/qfpl/validation")
+    (synopsis
+     "Data-type like Either but with an accumulating Applicative")
+    (description
+     "A data-type like Either but with differing properties and type-class
+instances.
+
+Library support is provided for this different representation, including
+@code{lens}-related functions for converting between each and abstracting over
+their similarities.
+
+The @code{Validation} data type is isomorphic to @code{Either}, but has an
+instance of @code{Applicative} that accumulates on the error side.  That is to
+say, if two (or more) errors are encountered, they are appended using a
+@{Semigroup} operation.
+
+As a consequence of this @code{Applicative} instance, there is no
+corresponding @code{Bind} or @code{Monad} instance.  @code{Validation} is an
+example of, \"An applicative functor that is not a monad.\"")
+    (license license:bsd-3)))
+
 (define-public ghc-concurrent-output
   (package
     (name "ghc-concurrent-output")
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#36126] Followup.
  2019-06-07 11:51 [bug#36126] [PATCH] Add ghc-validation Jacob MacDonald
@ 2019-06-22  9:18 ` Jacob MacDonald
  2019-06-22 18:20   ` Tobias Geerinckx-Rice
  2019-07-02 15:57 ` bug#36126: [PATCH] Add ghc-validation Ludovic Courtès
  1 sibling, 1 reply; 4+ messages in thread
From: Jacob MacDonald @ 2019-06-22  9:18 UTC (permalink / raw)
  To: 36126

Got no response for this, and as I haven't contributed before I'm not
sure how to proceed outside of bumping the bug after a couple weeks.

Should I fix something about the patch, close this ticket and reopen a
new one, sit and wait, or something I have not considered?

Thanks,

Jacob.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug#36126] Followup.
  2019-06-22  9:18 ` [bug#36126] Followup Jacob MacDonald
@ 2019-06-22 18:20   ` Tobias Geerinckx-Rice
  0 siblings, 0 replies; 4+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-06-22 18:20 UTC (permalink / raw)
  To: Jacob MacDonald; +Cc: 36126

[-- Attachment #1: Type: text/plain, Size: 703 bytes --]

Jacob!

Jacob MacDonald wrote:
> Got no response for this, and as I haven't contributed before 
> I'm not
> sure how to proceed outside of bumping the bug after a couple 
> weeks.

This is absolutely fine!  Sorry about that.  We have too few 
active reviewers (I plead guilty here, too) and those who grok 
Haskell are even rarer (not me, not really…).

Sending a friendly ping after a fortnight or so certainly isn't 
frowned upon.

> Should I fix something about the patch, close this ticket and 
> reopen a
> new one, sit and wait, or something I have not considered?
           ^^^^^^^^^^^^

Let's hope your new message attracts a curious Haskeller.

Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#36126: [PATCH] Add ghc-validation.
  2019-06-07 11:51 [bug#36126] [PATCH] Add ghc-validation Jacob MacDonald
  2019-06-22  9:18 ` [bug#36126] Followup Jacob MacDonald
@ 2019-07-02 15:57 ` Ludovic Courtès
  1 sibling, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2019-07-02 15:57 UTC (permalink / raw)
  To: Jacob MacDonald; +Cc: 36126-done

Hello Jacob,

Jacob MacDonald <jaccarmac@gmail.com> skribis:

> The version bump pushes guix refresh over the 300-package line. Given
> that and the fact that there are dependencies on older versions in the
> tree, would it be better to give the newer version a special name
> instead, or did I make the correct choice here?

I think you did it right.  :-)

> Guix packages are a new foray for me, so I imagine something will be
> wrong. Did my best to split into proper dependency order though, and
> ready to touch up.

I applied all 7 patches to ‘master’ (I added a copyright line for you).
It’s above the 300-package line as you write, but these packages build
fairly quickly, so I think it’s OK.

Thanks for the patch set, and apologies for the delay!

Ludo’.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-07-02 15:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-07 11:51 [bug#36126] [PATCH] Add ghc-validation Jacob MacDonald
2019-06-22  9:18 ` [bug#36126] Followup Jacob MacDonald
2019-06-22 18:20   ` Tobias Geerinckx-Rice
2019-07-02 15:57 ` bug#36126: [PATCH] Add ghc-validation Ludovic Courtès

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).