summary refs log tree commit diff
diff options
context:
space:
mode:
authorTimothy Sample <samplet@ngyro.com>2019-10-31 13:25:18 -0400
committerTimothy Sample <samplet@ngyro.com>2019-11-20 20:48:43 -0500
commit841f19541a386c4c149f53e682fa9ee6aa37852b (patch)
tree765289a564753ea9a9a0388ea57b3fc09efab5e0
parentb4e26067d649b0efcc3b7d00d5dbe599e395da13 (diff)
downloadguix-841f19541a386c4c149f53e682fa9ee6aa37852b.tar.gz
gnu: cabal-install: Update to 2.4.0.0.
* gnu/packages/haskell-apps.scm (cabal-install): Update to 2.4.0.0.
[arguments]: Set Cabal file to r2, enable tests, and add a phase to
update the Cabal file to allow a newer version of 'zip-archive'.
[inputs]: Add 'ghc-zip-archive'.
-rw-r--r--gnu/packages/haskell-apps.scm21
1 files changed, 18 insertions, 3 deletions
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index 00c4c27c4d..2192c1c8ff 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -49,10 +49,14 @@
   #:use-module (gnu packages rsync)
   #:use-module (gnu packages version-control))
 
+;; In Stackage LTS 14, this package is at 2.4.1.0.  However, that
+;; version requires version 2.4.1.0 of the 'Cabal' package, which is
+;; provided by GHC 8.6.5 at version 2.4.0.1.  Hence, we use an older
+;; version to match the compiler's library.
 (define-public cabal-install
  (package
   (name "cabal-install")
-   (version "2.2.0.0")
+   (version "2.4.0.0")
    (source
     (origin
      (method url-fetch)
@@ -61,9 +65,19 @@
             version
             ".tar.gz"))
       (sha256
-       (base32 "1nd3ch7qr4dpfxhgkcq2lnhvszx2kjgnn1kwb44vk9y5jgfs4mn8"))))
-   (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
+       (base32 "1xmyl0x8wqfrnray6ky5wy0g0samv4264fbdlzxhqsvk9dbfja8k"))))
    (build-system haskell-build-system)
+   (arguments
+    `(#:cabal-revision
+      ("2" "1xil5pim6j1ckqj61zz6l7xpfxxr3rkw2hvpws2f7pr9shk645dl")
+      #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'update-constraints
+           (lambda _
+             (substitute* "cabal-install.cabal"
+               (("zip-archive >= 0\\.3\\.2\\.5 && < 0\\.4,")
+                "zip-archive >= 0.3.2.5 && <= 0.4.1,"))
+             #t)))))
    (inputs
     `(("ghc-async" ,ghc-async)
       ("ghc-base16-bytestring" ,ghc-base16-bytestring)
@@ -78,6 +92,7 @@
       ("ghc-random" ,ghc-random)
       ("ghc-resolv" ,ghc-resolv)
       ("ghc-tar" ,ghc-tar)
+      ("ghc-zip-archive" ,ghc-zip-archive)
       ("ghc-zlib" ,ghc-zlib)))
    (home-page "https://www.haskell.org/cabal/")
    (synopsis "Command-line interface for Cabal and Hackage")