guix_mirror_bot pushed a commit to branch master
in repository guix.

commit abfe0525fe8e815d60b2e51b7b3cdf803f3a7ce0
Author: Sören Tempel <[email protected]>
AuthorDate: Sun Oct 19 17:49:05 2025 +0200

    gnu: Add ghc-hakyll.
    
    * gnu/packages/haskell-xyz.scm (ghc-hakyll): New variable.
    
    Signed-off-by: Efraim Flashner <[email protected]>
---
 gnu/packages/haskell-xyz.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index f21e3850ed..34ad88de27 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -4930,6 +4930,70 @@ the ‘haddock’ package.")
     (license license:bsd-3)
     (properties '((hidden? #t)))))
 
+(define-public ghc-hakyll
+  (package
+    (name "ghc-hakyll")
+    ;; XXX: Stackage LTS version is incompatible with our packaged
+    ;; version of optparse-applicative and template-haskell.
+    (version "4.16.7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "hakyll" version))
+       (sha256
+        (base32 "18wg5ay6l3ngsmqq00g6y7djmg4f8285kwdi47g0rg70mq6sn0py"))))
+    (build-system haskell-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'fix-paths
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "tests/Hakyll/Core/UnixFilter/Tests.hs"
+                (("unixFilter \"([^\"]+)\"" all cmd)
+                 (string-append
+                   "unixFilter "
+                   "\""
+                   (search-input-file inputs (string-append "/bin/" cmd))
+                   "\""))))))))
+    (properties '((upstream-name . "hakyll")))
+    (inputs (list ghc-aeson
+                  ghc-blaze-html
+                  ghc-data-default
+                  ghc-file-embed
+                  ghc-hashable
+                  ghc-lrucache
+                  ghc-network-uri
+                  ghc-optparse-applicative
+                  ghc-random
+                  ghc-regex-tdfa
+                  ghc-resourcet
+                  ghc-scientific
+                  ghc-tagsoup
+                  ghc-time-locale-compat
+                  ghc-vector
+                  ghc-wai-app-static
+                  ghc-yaml
+                  ghc-xml-conduit
+                  ghc-wai
+                  ghc-warp
+                  ghc-http-types
+                  ghc-fsnotify
+                  ghc-http-conduit
+                  ghc-pandoc
+                  ghc-pandoc-types))
+    (native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-golden
+                         ghc-tasty-hunit ghc-tasty-quickcheck util-linux))
+    (home-page "https://jaspervdj.be/hakyll/";)
+    (synopsis
+     "This package provides a Haskell-based static website compiler library")
+    (description
+     "Hakyll is a static website compiler library.  That is, it provides you
+with the tools to create a simple or advanced static website using a Haskell
+@acronym{EDSL, Embedded Domain Specific Language} and input formats such as
+Markdown or @acronym{RST, reStructuredText}.")
+    (license license:bsd-3)))
+
 (define-public ghc-half
   (package
     (name "ghc-half")

Reply via email to