;; (C) Copyright Collin J. Doering 2021 ;; ;; This program is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;; File: haskell-web.scm ;; Author: Collin J. Doering ;; Date: Nov 24, 2021 (define-module (rekahsoft-gnu packages haskell-web) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system haskell) #:use-module (gnu packages linux) #:use-module (gnu packages haskell-web) #:use-module (gnu packages haskell-apps) #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages haskell-crypto) #:use-module (gnu packages haskell-check)) (define-public ghc-lrucache (package (name "ghc-lrucache") (version "1.2.0.1") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/lrucache/lrucache-" version ".tar.gz")) (sha256 (base32 "11avhnjnb89rvn2s41jhh5r40zgp7r6kb5c0hcfiibpabqvv46pw")))) (build-system haskell-build-system) (inputs `(("ghc-contravariant" ,ghc-contravariant))) (home-page "http://github.com/chowells79/lrucache") (synopsis "a simple, pure LRU cache") (description "This package contains a simple, pure LRU cache, implemented in terms of \"Data.Map\". . It also contains a mutable IO wrapper providing atomic updates to an LRU cache.") (license license:bsd-3))) (define-public ghc-hakyll (package (name "ghc-hakyll") (version "4.15.1.1") (source (origin (method url-fetch) (uri (hackage-uri "hakyll" version)) (sha256 (base32 "0b3bw275q1xbx8qs9a6gzzs3c9z3qdj7skqhpp09jkchi5kdvhvi")))) (build-system haskell-build-system) (inputs (list ghc-aeson ghc-blaze-html ghc-blaze-markup ghc-data-default ghc-file-embed ghc-hashable ghc-lifted-async ghc-lrucache ghc-network-uri ghc-optparse-applicative ghc-random ghc-regex-tdfa ghc-resourcet ghc-scientific ghc-tagsoup ghc-time-locale-compat ghc-unordered-containers ghc-vector ghc-yaml ghc-wai ghc-warp ghc-wai-app-static ghc-http-types ghc-fsnotify ghc-http-conduit ghc-pandoc)) (native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-golden ghc-tasty-hunit ghc-tasty-quickcheck util-linux)) (arguments `(#:cabal-revision ("9" "11zdqxmmykw2nbd8isc638cj03vrz8nkicyv35sn7jdw2p690ybh"))) (home-page "http://jaspervdj.be/hakyll") (synopsis "A static website compiler library") (description "Hakyll is a static website compiler library. It provides you with the tools to create a simple or advanced static website using a Haskell DSL and formats such as markdown or RST. You can find more information, including a tutorial, on the website: . * . If you seek assistance, there's: . * A google group: . * An IRC channel, @#hakyll@ on irc.libera.chat (we *do not* have a channel on Freenode anymore) . Additionally, there's the Haddock documentation in the different modules, meant as a reference.") (license license:bsd-3))) (define-public ghc-clay ;; Temporarily use tip-of-master as 0.14.0 requires older versions of ghc (let ((commit "0504045fd7a3e6eb19fec2eac92fb3e81daf84aa") (revision "1")) (package (name "ghc-clay") (version (git-version "0.14.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/sebastiaanvisser/clay") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0f9kl7iqh70nl0lwvpb1mh4r2i1y8x7waaxfqzl7lma84aivkfzd")))) (build-system haskell-build-system) (native-inputs (list ghc-hspec ghc-hspec-discover)) (home-page "http://fvisser.nl/clay") (synopsis "CSS preprocessor as embedded Haskell.") (description "Clay is a CSS preprocessor like LESS and Sass, but implemented as an embedded domain specific language (EDSL) in Haskell. This means that all CSS selectors and style rules are first class Haskell functions, which makes reuse and composability easy. . The project is described on . . The API documentation can be found in the top level module \"Clay\".") (license license:bsd-3))))