JavaScript files by stripping out extraneous whitespace and other
syntactic elements, without changing the semantics.")
(license license:bsd-3)))
+
+(define-public ghc-yesod-static
+ (package
+ (name "ghc-yesod-static")
+ (version "1.6.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "yesod-static/yesod-static-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jd0ryfr2vyrwasyvbqmc6j4ngv1lgz78w427f169l7gyl1firxb"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-async" ,ghc-async)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-cryptonite" ,ghc-cryptonite)
+ ("ghc-cryptonite-conduit" ,ghc-cryptonite-conduit)
+ ("ghc-css-text" ,ghc-css-text)
+ ("ghc-data-default" ,ghc-data-default)
+ ("ghc-file-embed" ,ghc-file-embed)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-hjsmin" ,ghc-hjsmin)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-memory" ,ghc-memory)
+ ("ghc-mime-types" ,ghc-mime-types)
+ ("ghc-unix-compat" ,ghc-unix-compat)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-wai" ,ghc-wai)
+ ("ghc-wai-app-static" ,ghc-wai-app-static)
+ ("ghc-yesod-core" ,ghc-yesod-core)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-yesod-test" ,ghc-yesod-test)
+ ("ghc-wai-extra" ,ghc-wai-extra)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-rio" ,ghc-rio)))
+ (home-page "https://www.yesodweb.com/")
+ (synopsis "Static file serving subsite for Yesod")
+ (description "This package provides a static file serving subsite
+for the Yesod Web Framework.")
+ (license license:expat)))
+
+(define-public ghc-wai-handler-launch
+ (package
+ (name "ghc-wai-handler-launch")
+ (version "3.0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "wai-handler-launch/wai-handler-launch-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1ifqgyc1ccig5angh5l1iq7vyms4lvi8wzvysg5dw82nml49n02m"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-wai" ,ghc-wai)
+ ("ghc-warp" ,ghc-warp)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-streaming-commons" ,ghc-streaming-commons)
+ ("ghc-async" ,ghc-async)))
+ (home-page "https://hackage.haskell.org/package/wai-handler-launch")
+ (synopsis "Launch a Web application in the default browser")
+ (description "This package handles cross-platform Web browser
+launching and inserts JavaScript code to ping the server. When the
+server no longer receives pings, it shuts down.")
+ (license license:expat)))
+
+(define-public ghc-wai-cors
+ (package
+ (name "ghc-wai-cors")
+ (version "0.2.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "wai-cors/wai-cors-" version ".tar.gz"))
+ (sha256
+ (base32
+ "10gv3jjlkcb13031frr818p56v2s0qf6dqjsfpwlhwdxdssvx5r5"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; As of version 0.2.7, there are two test suites: "unit-tests"
+ ;; and "phantomjs". Since we do not have a PhantomJS package,
+ ;; we only run the unit tests.
+ (replace 'check
+ (lambda _
+ (invoke "runhaskell" "Setup.hs" "test" "unit-tests"))))))
+ (inputs
+ `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-base-unicode-symbols" ,ghc-base-unicode-symbols)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-wai" ,ghc-wai)))
+ (native-inputs
+ `(("ghc-network" ,ghc-network)
+ ("ghc-wai-websockets" ,ghc-wai-websockets)
+ ("ghc-warp" ,ghc-warp)
+ ("ghc-websockets" ,ghc-websockets)
+ ("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+ ("ghc-wai-extra" ,ghc-wai-extra)
+ ("ghc-wai-websockets" ,ghc-wai-websockets)
+ ("ghc-warp" ,ghc-warp)
+ ("ghc-websockets" ,ghc-websockets)))
+ (home-page "https://github.com/larskuhtz/wai-cors")
+ (synopsis "Cross-Origin Resource Sharing (CORS) for WAI")
+ (description "This package provides an implementation of Cross-Origin
+Resource Sharing (CORS) for the Web Application Framework (WAI) that
+aims to be compliant with @url{https://www.w3.org/TR/cors}.")
+ (license license:expat)))