Subject: Re: [bug#30741] [PATCH] fix idris (was "Re: Incomplete work to upgrade Idris to 1.2.0")

From: Alex ter Weele <[email-masked]>
Date: Mon, 12 Mar 2018 21:08:28 -0500

Reposting a properly-formatted patch series here.

>From 2486f55a177b3f62509fd999e5d5cbd072d5ce17 Mon Sep 17 00:00:00 2001
From: Alex ter Weele <[email-masked]>
Date: Wed, 7 Mar 2018 18:28:24 -0600
Subject: [PATCH 1/4] gnu: Add ghc-aeson-1.1.2.0.

* gnu/packages/idris.scm (ghc-aeson-1.1.2.0): New variable.
---
 gnu/packages/idris.scm | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm
index 6eb940c9d..ae90676d5 100644
--- a/gnu/packages/idris.scm
+++ b/gnu/packages/idris.scm
@@ -30,6 +30,20 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages))
 
+(define ghc-aeson-1.1.2.0
+  (package (inherit ghc-aeson)
+    (version "1.1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/aeson/aeson-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1zy5z8pzvh53qkjm0nm3f4rwqfqg3867ck8ncd6mrxpcyvxqqj1p"))))))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.16.2

>From 477d5f85747501c5b78597f76713fa6f87eedd6f Mon Sep 17 00:00:00 2001
From: Alex ter Weele <[email-masked]>
Date: Wed, 7 Mar 2018 18:29:23 -0600
Subject: [PATCH 2/4] gnu: Add ghc-trifecta-1.6.2.1.

* gnu/packages/idris.scm (ghc-trifecta-1.6.2.1): New variable.
---
 gnu/packages/idris.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm
index ae90676d5..b67fcbccf 100644
--- a/gnu/packages/idris.scm
+++ b/gnu/packages/idris.scm
@@ -44,6 +44,19 @@
         (base32
          "1zy5z8pzvh53qkjm0nm3f4rwqfqg3867ck8ncd6mrxpcyvxqqj1p"))))))
 
+(define ghc-trifecta-1.6.2.1
+  (package (inherit ghc-trifecta)
+    (version "1.6.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/trifecta/"
+             "trifecta-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1rgv62dlmm4vkdymx5rw5jg3w8ifpzg1745rvs1m4kzdx16p5cxs"))))))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.16.2

>From ef0dcd5a84c4f8e4331fb8f07a4e1709a577eb31 Mon Sep 17 00:00:00 2001
From: Alex ter Weele <[email-masked]>
Date: Wed, 7 Mar 2018 18:31:22 -0600
Subject: [PATCH 3/4] gnu: Add ghc-cheapskate-0.1.0.5.

* gnu/packages/idris.scm (ghc-cheapskate-0.1.0.5): New variable.
---
 gnu/packages/idris.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm
index b67fcbccf..c103055f5 100644
--- a/gnu/packages/idris.scm
+++ b/gnu/packages/idris.scm
@@ -57,6 +57,25 @@
         (base32
          "1rgv62dlmm4vkdymx5rw5jg3w8ifpzg1745rvs1m4kzdx16p5cxs"))))))
 
+;; ghc-cheapskate appeared too new. This follows LTS Haskell.
+(define ghc-cheapskate-0.1.0.5
+  (package
+    (inherit ghc-cheapskate)
+    (version "0.1.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/cheapskate/cheapskate-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0cpsmfx5z2xykg71sv8j7pl8ga6pzyjnjdb9bxn00vcpqkzvfqvs"))))
+    (arguments
+     ;; LTS Haskell says data-default >=0.5 && <0.8
+     `(#:configure-flags (list "--allow-newer=data-default")))))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.16.2

>From c19d3fc198afdddefc4feeb9151b57e7f72d8303 Mon Sep 17 00:00:00 2001
From: Alex ter Weele <[email-masked]>
Date: Wed, 7 Mar 2018 18:32:19 -0600
Subject: [PATCH 4/4] gnu: Fix idris.

* gnu/packages/idris.scm (idris)[inputs]: alphebetize
  ghc-vector-binary-instances and ghc-async. Use ghc-aeson-1.1.2.0,
  ghc-cheapskate-0.1.0.5, and ghc-trifecta-1.6.2.1. Remove ghc-aeson,
  ghc-cheapskate, ghc-parsers, ghc-tasty, ghc-tasty-golden, ghc-tasty-rerun,
  ghc-trifecta, and ghc-zlib.
---
 gnu/packages/idris.scm | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm
index c103055f5..633b8b9d5 100644
--- a/gnu/packages/idris.scm
+++ b/gnu/packages/idris.scm
@@ -92,15 +92,15 @@
     (inputs
      `(("gmp" ,gmp)
        ("ncurses" ,ncurses)
-       ("ghc-aeson" ,ghc-aeson)
-       ("ghc-async" ,ghc-async)
+       ("ghc-aeson" ,ghc-aeson-1.1.2.0)
        ("ghc-annotated-wl-pprint" ,ghc-annotated-wl-pprint)
        ("ghc-ansi-terminal" ,ghc-ansi-terminal)
        ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
+       ("ghc-async" ,ghc-async)
        ("ghc-base64-bytestring" ,ghc-base64-bytestring)
        ("ghc-blaze-html" ,ghc-blaze-html)
        ("ghc-blaze-markup" ,ghc-blaze-markup)
-       ("ghc-cheapskate" ,ghc-cheapskate)
+       ("ghc-cheapskate" ,ghc-cheapskate-0.1.0.5)
        ("ghc-code-page" ,ghc-code-page)
        ("ghc-fingertree" ,ghc-fingertree)
        ("ghc-fsnotify" ,ghc-fsnotify)
@@ -108,23 +108,18 @@
        ("ghc-mtl" ,ghc-mtl)
        ("ghc-network" ,ghc-network)
        ("ghc-optparse-applicative" ,ghc-optparse-applicative)
-       ("ghc-parsers" ,ghc-parsers)
        ("ghc-regex-tdfa" ,ghc-regex-tdfa)
        ("ghc-safe" ,ghc-safe)
        ("ghc-split" ,ghc-split)
-       ("ghc-tasty" ,ghc-tasty)
-       ("ghc-tasty-golden" ,ghc-tasty-golden)
-       ("ghc-tasty-rerun" ,ghc-tasty-rerun)
        ("ghc-terminal-size" ,ghc-terminal-size)
        ("ghc-text" ,ghc-text)
-       ("ghc-trifecta" ,ghc-trifecta)
+       ("ghc-trifecta" ,ghc-trifecta-1.6.2.1)
        ("ghc-uniplate" ,ghc-uniplate)
        ("ghc-unordered-containers" ,ghc-unordered-containers)
        ("ghc-utf8-string" ,ghc-utf8-string)
-       ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)
        ("ghc-vector" ,ghc-vector)
-       ("ghc-zip-archive" ,ghc-zip-archive)
-       ("ghc-zlib" ,ghc-zlib)))
+       ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)
+       ("ghc-zip-archive" ,ghc-zip-archive)))
     (arguments
      `(#:tests? #f ; FIXME: Test suite doesn't run in a sandbox.
        #:configure-flags
-- 
2.16.2