Subject: [PATCH v2 07/24] gnu: Add ghc-gnuidn.

From: Stephen Paul Weber <[email-masked]>
Date: Thu, 13 Jan 2022 21:45:29 -0500

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

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index d8b1218d69..a206e8cabb 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -61,6 +61,7 @@
   #:use-module (gnu packages haskell-crypto)
   #:use-module (gnu packages haskell-web)
   #:use-module (gnu packages libffi)
+  #:use-module (gnu packages libidn)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages lua)
@@ -16229,3 +16230,38 @@ SAX parser.")
     (description
       "This library provides Low-level bindings for using gnutls from Haskell.")
     (license license:gpl3)))
+
+(define-public ghc-gnuidn
+  (package
+    (name "ghc-gnuidn")
+    (version "0.2.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "https://hackage.haskell.org/package/gnuidn/gnuidn-"
+               version
+               ".tar.gz"))
+        (sha256
+          (base32 "0vxrcp9xz5gsvx60k12991zn5c9nk3fgg0yw7dixbsjcfqgnnd31"))))
+    (build-system haskell-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'less-strict-dependencies
+           (lambda _
+             (substitute* "gnuidn.cabal"
+               (("chell >= 0.4 && < 0.5") "chell <0.6")))))))
+    (inputs (list libidn))
+    (native-inputs
+      (list
+        ghc-chell
+        ghc-c2hs
+        ghc-chell-quickcheck
+        ghc-quickcheck
+        pkg-config))
+    (home-page "https://hackage.haskell.org/package/gnuidn")
+    (synopsis "Bindings for GNU IDN")
+    (description
+      "This library provides low-level bindings for using libidn in Haskell.")
+    (license license:gpl3)))
-- 
2.30.2