;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
+;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@gmail.com>
+;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
(build-system haskell-build-system)
(native-inputs
`(("ghc-quickcheck" ,ghc-quickcheck)))
- (home-page "http://community.haskell.org/~ndm/tagsoup/")
+ (home-page "https://github.com/ndmitchell/tagsoup")
(synopsis
"Parsing and extracting information from (possibly malformed) HTML/XML
documents")
(description "HTTP cookie parsing and rendering library for Haskell.")
(license license:bsd-3)))
+(define-public ghc-curl
+ (package
+ (name "ghc-curl")
+ (version "1.3.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://hackage/package/curl/curl-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0vj4hpaa30jz7c702xpsfvqaqdxz28zslsqnsfx6bf6dpwvck1wh"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("curl" ,curl)))
+ (home-page "https://hackage.haskell.org/package/curl")
+ (synopsis "Haskell bindings for libcurl")
+ (description
+ "@code{libcurl} is a versatile client-side URL transfer library.
+This package provides a Haskell binding to libcurl.")
+ (license license:bsd-3)))
+
(define-public ghc-httpd-shed
(package
(name "ghc-httpd-shed")
(define-public ghc-http
(package
(name "ghc-http")
- (version "4000.3.12")
+ (version "4000.3.14")
(outputs '("out" "doc"))
(source
(origin
"HTTP-" version ".tar.gz"))
(sha256
(base32
- "140r6qy1ay25piv0z3hih11zhigyi08nkwc32097j43pjff6mzx3"))))
+ "0yv8mbjicpl7l2017c4dhm49117lblgwpy1llv368wci1vrxf0m6"))))
(build-system haskell-build-system)
(native-inputs
`(("ghc-httpd-shed" ,ghc-httpd-shed)
(define-public ghc-http-conduit
(package
(name "ghc-http-conduit")
- (version "2.3.2")
+ (version "2.3.7.3")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "1iay4hr0mj8brkxvgkv1liqa8irl9axfc3qhn8qsvcyq4n1l95km"))))
+ "00rshi1y0h8y4rvsnnad0bppxgpvp40sk7lw1kxmdwy8pi8xrvbs"))))
(build-system haskell-build-system)
;; FIXME: `httpLbs TLS` in test-suite `test` fails with
;; ConnectionFailure getProtocolByName: does not exist (no such protocol
(define-public ghc-wai-logger
(package
(name "ghc-wai-logger")
- (version "2.3.2")
+ (version "2.3.5")
(source
(origin
(method url-fetch)
".tar.gz"))
(sha256
(base32
- "0w5ldq4gplc16zzk5ikmbbjw79imaqvw8p6lylaw3hlsbn3zzm4d"))))
+ "05gbipyw0672irynsc3wqvvgzqixhmq69ay2mxh2phb734r8bcmm"))))
(build-system haskell-build-system)
(arguments `(#:tests? #f)) ; FIXME: Tests cannot find libraries exported
; by propagated-inputs.
(define-public ghc-wai-extra
(package
(name "ghc-wai-extra")
- (version "3.0.24.2")
+ (version "3.0.28")
(source
(origin
(method url-fetch)
".tar.gz"))
(sha256
(base32
- "07gcgq59dki5drkjci9ka34xjsy3bqilbsx0lsc4905w9jlyfbci"))))
+ "0iky7k4kirngvk1p2nz19zgzffb5hppfaxdjan80v06ikc8w1wm7"))))
(build-system haskell-build-system)
(inputs
`(("ghc-ansi-terminal" ,ghc-ansi-terminal)
("ghc-base64-bytestring" ,ghc-base64-bytestring)
("ghc-cookie" ,ghc-cookie)
- ("ghc-blaze-builder" ,ghc-blaze-builder)
("ghc-network" ,ghc-network)
("ghc-lifted-base" ,ghc-lifted-base)
("ghc-streaming-commons" ,ghc-streaming-commons)
("ghc-void" ,ghc-void)
("ghc-wai" ,ghc-wai)
("ghc-http-types" ,ghc-http-types)
+ ("ghc-http2" ,ghc-http2)
("ghc-case-insensitive" ,ghc-case-insensitive)
("ghc-data-default-class" ,ghc-data-default-class)
("ghc-unix-compat" ,ghc-unix-compat)
(base32
"0z0f18yc6zlwh29c6175ivfcin325lvi4irpvv0n3cmq7vi0k0ql"))))
(build-system haskell-build-system)
+ (arguments
+ `(;; XXX: As of 0.0.4, one property test ("Identical output as Blaze")
+ ;; fails on i686-linux.
+ #:tests? ,(not (string-prefix? "i686" (or (%current-target-system)
+ (%current-system))))))
(native-inputs
`(("ghc-attoparsec" ,ghc-attoparsec)
("ghc-blaze-builder" ,ghc-blaze-builder)
("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
("ghc-tasty-hunit" ,ghc-tasty-hunit)
("ghc-doctest" ,ghc-doctest)))
- (home-page "http://github.com/sjakobi/bsb-http-chunked")
+ (home-page "https://github.com/sjakobi/bsb-http-chunked")
(synopsis "Chunked HTTP transfer encoding for bytestring builders")
(description "This Haskell library contains functions for encoding
bytestring builders for chunked Hypertext Transfer Protocol (HTTP) 1.1
(define-public ghc-warp
(package
(name "ghc-warp")
- (version "3.2.27")
+ (version "3.2.28")
(source
(origin
(method url-fetch)
"warp-" version "/" "warp-" version
".tar.gz"))
(sha256
- (base32 "0p2w88q0zd55ms20qylipbi0qzbf324i9r8b9qqxyds5yc1anq76"))))
+ (base32 "0w2w3aiccpb2f8zssqiszcxzqdysihqi5xply23lwif5arz4saw7"))))
(build-system haskell-build-system)
(inputs
`(("ghc-async" ,ghc-async)
("ghc-iproute" ,ghc-iproute)
("ghc-network" ,ghc-network)
("ghc-streaming-commons" ,ghc-streaming-commons)
+ ("ghc-time-manager" ,ghc-time-manager)
("ghc-unix-compat" ,ghc-unix-compat)
("ghc-vault" ,ghc-vault)
("ghc-wai" ,ghc-wai)
("ghc-hunit" ,ghc-hunit)
("ghc-http-client" ,ghc-http-client)
("hspec-discover" ,hspec-discover)))
- (home-page "http://github.com/yesodweb/wai")
+ (home-page "https://github.com/yesodweb/wai")
(synopsis "HTTP server library for Haskell's WAI")
(description "Warp is a server library for HTTP/1.x and HTTP/2
based WAI (Web Application Interface in Haskell).")
("ghc-clock" ,ghc-clock)
("ghc-psqueues" ,ghc-psqueues)
("ghc-tls" ,ghc-tls)))
- (home-page "http://hackage.haskell.org/package/tls-session-manager")
+ (home-page "https://hackage.haskell.org/package/tls-session-manager")
(synopsis "In-memory TLS session manager")
(description "This Haskell library provides a TLS session manager with
limitation, automatic pruning, energy saving and replay resistance.")
(define-public ghc-warp-tls
(package
(name "ghc-warp-tls")
- (version "3.2.4.3")
+ (version "3.2.8")
(source
(origin
(method url-fetch)
"warp-tls-" version ".tar.gz"))
(sha256
(base32
- "17gj295fr98l7mkz2gdz6kahdnmja0sql3kvy2zab6q168g53kc4"))))
+ "1z5jzl40x1gp249fk8h51gkw6m3hzxchm2bp3kbpqdgmw8r5im8y"))))
(build-system haskell-build-system)
(inputs
`(("ghc-cryptonite" ,ghc-cryptonite)
("ghc-tls-session-manager" ,ghc-tls-session-manager)
("ghc-wai" ,ghc-wai)
("ghc-warp" ,ghc-warp)))
- (home-page "http://github.com/yesodweb/wai")
+ (home-page "https://github.com/yesodweb/wai")
(synopsis "SSL/TLS support for Warp")
(description "This package provides SSL/TLS support for Warp,
a WAI handler, via the native Haskell TLS implementation.")
(license license:expat)))
+(define-public ghc-websockets
+ (package
+ (name "ghc-websockets")
+ (version "0.12.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/websockets/websockets-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1vp3790w3hmr6v96314vdx74f7sg2c7hvnc93gafq0xhbxnr7nvx"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-bytestring-builder" ,ghc-bytestring-builder)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-network" ,ghc-network)
+ ("ghc-random" ,ghc-random)
+ ("ghc-sha" ,ghc-sha)
+ ("ghc-streaming-commons" ,ghc-streaming-commons)
+ ("ghc-entropy" ,ghc-entropy)))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
+ (home-page "https://jaspervdj.be/websockets/")
+ (synopsis
+ "Write WebSocket-capable servers in Haskell")
+ (description
+ "This library allows you to write WebSocket-capable servers.
+
+An example server:
+@url{https://github.com/jaspervdj/websockets/blob/master/example/server.lhs}
+An example client:
+@url{https://github.com/jaspervdj/websockets/blob/master/example/client.hs}
+
+See also:
+@itemize
+@item The specification of the WebSocket protocol:
+@url{http://www.whatwg.org/specs/web-socket-protocol/}
+@item The JavaScript API for dealing with WebSockets:
+@url{http://www.w3.org/TR/websockets/}
+@end itemize")
+ (license license:bsd-3)))
+
+(define-public ghc-wai-websockets
+ (package
+ (name "ghc-wai-websockets")
+ (version "3.0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/wai-websockets/wai-websockets-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0b2xmdsrsqpssyib53wbr6r8hf75789ndyyanv37sv99iyqcwz4i"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-wai" ,ghc-wai)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-network" ,ghc-network)
+ ("ghc-websockets" ,ghc-websockets)
+ ("ghc-http-types" ,ghc-http-types)))
+ (arguments
+ `(#:configure-flags '("--flags=-example")))
+ (home-page "https://github.com/yesodweb/wai")
+ (synopsis
+ "Provide a bridge between WAI and the websockets package")
+ (description
+ "Use websockets with WAI applications, primarily those hosted via Warp.")
+ (license license:expat)))
+
(define-public ghc-xss-sanitize
(package
(name "ghc-xss-sanitize")
`(("ghc-attoparsec" ,ghc-attoparsec)
("ghc-hspec" ,ghc-hspec)
("ghc-quickcheck" ,ghc-quickcheck)))
- (home-page "http://www.yesodweb.com/")
+ (home-page "https://www.yesodweb.com/")
(synopsis "CSS parser and renderer")
(description "This package provides a CSS parser and renderer for
Haskell.")
documents.")
(license license:bsd-3)))
+(define-public ghc-html-conduit
+ (package
+ (name "ghc-html-conduit")
+ (version "1.3.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/html-conduit/"
+ "html-conduit-" version ".tar.gz"))
+ (sha256
+ (base32
+ "196c8zcnjp1pc5qvqxd8arx3xkw0a90rvg9mmiw2l4zwnx65709n"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-xml-conduit" ,ghc-xml-conduit)
+ ("ghc-xml-types" ,ghc-xml-types)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-hunit" ,ghc-hunit)))
+ (home-page "https://github.com/snoyberg/xml")
+ (synopsis "Parse HTML documents using xml-conduit datatypes")
+ (description
+ "This package provides a parser for HTML documents that uses
+tagstream-conduit. It automatically balances mismatched tags, so that
+there shouldn't be any parse failures. It does not handle a full HTML
+document rendering, such as adding missing html and head tags. Note that,
+since version 1.3.1, it uses an inlined copy of tagstream-conduit with
+entity decoding bugfixes applied.")
+ (license license:expat)))
+
(define-public ghc-blaze-html
(package
(name "ghc-blaze-html")
of a JSON value into a @code{Data.Aeson.Value}.")
(license license:expat)))
+(define-public ghc-aeson-better-errors
+ (package
+ (name "ghc-aeson-better-errors")
+ (version "0.9.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/aeson-better-errors/aeson-better-errors-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "09vkyrhwak3bmpfsqcd2az8hfqqkxyhg468hv5avgisy0nzh3w38"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-aeson" ,ghc-aeson)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-dlist" ,ghc-dlist)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-transformers-compat" ,ghc-transformers-compat)
+ ("ghc-void" ,ghc-void)))
+ (home-page
+ "https://github.com/hdgarrood/aeson-better-errors")
+ (synopsis
+ "Better error messages when decoding JSON values in Haskell")
+ (description
+ "Gives you the tools to build parsers to decode JSON values, and gives
+good error messages when parsing fails. See also
+@url{http://harry.garrood.me/blog/aeson-better-errors/}.")
+ (license license:expat)))
+
(define-public ghc-multipart
(package
(name "ghc-multipart")
(define-public ghc-yesod-core
(package
(name "ghc-yesod-core")
- (version "1.6.6")
+ (version "1.6.16.1")
(source
(origin
(method url-fetch)
"yesod-core-" version ".tar.gz"))
(sha256
(base32
- "0xahf6m5c7mkl74p0gimy4wb5w4s3lh92wwxmk517fbq666c92kb"))))
+ "0a0yv7wkwvb0n6iia532y9nzrirgnm09pjc8hpm0lx4ff609pgd2"))))
(build-system haskell-build-system)
(inputs `(("ghc-wai" ,ghc-wai)
("ghc-extra" ,ghc-extra)
(define-public ghc-yesod-persistent
(package
(name "ghc-yesod-persistent")
- (version "1.6.0")
+ (version "1.6.0.4")
(source
(origin
(method url-fetch)
"yesod-persistent-" version ".tar.gz"))
(sha256
(base32
- "1gd59xf7b6v3cald58mzwnfbdzjr49cz60rm4wc5w9pvfx12pgj2"))))
+ "1gsiw2zx6z7za7a164h0fxfggkrdqz6fn0qyb2zn9qr7r2jbg1c0"))))
(build-system haskell-build-system)
(arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH.
(inputs `(("ghc-yesod-core" ,ghc-yesod-core)
("ghc-wai-extra" ,ghc-wai-extra)
("ghc-yesod-core" ,ghc-yesod-core)
("ghc-persistent-sqlite" ,ghc-persistent-sqlite)))
- (home-page "http://www.yesodweb.com/")
+ (home-page "https://www.yesodweb.com/")
(synopsis "Helpers for using Persistent from Yesod")
(description "This Haskell package provides helpers for using Persistent
from Yesod.")
(define-public ghc-yesod-form
(package
(name "ghc-yesod-form")
- (version "1.6.2")
+ (version "1.6.7")
(source
(origin
(method url-fetch)
".tar.gz"))
(sha256
(base32
- "1p1x1hffvarplc82ykdk7rm6p5isqgqf78bvxzpfhncxs4kwx057"))))
+ "0mny71dyp6cp5akyp5wvmrhmip5rkqi8ibdn3lipvmajx9h58r5d"))))
(build-system haskell-build-system)
(inputs
`(("ghc-yesod-core" ,ghc-yesod-core)
(inputs
`(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
("ghc-hunit" ,ghc-hunit)))
- (home-page "http://www.haskell.org/haskellwiki/Regular_expressions_for_XML_Schema")
+ (home-page "https://wiki.haskell.org/Regular_expressions_for_XML_Schema")
(synopsis "Regular expression library for W3C XML Schema regular expressions")
(description
"This library supports full W3C XML Schema regular expressions inclusive
version. The package is designed to meet the redistribution
requirements of downstream users (e.g. Debian).")
(license license:expat)))
+
+(define-public ghc-happstack-server
+ (package
+ (name "ghc-happstack-server")
+ (version "7.5.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/happstack-server/happstack-server-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0i7csvmwv7n68gkwqzi985p2mjdgzipjnlj873sdiknhx9pfmq70"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-network" ,ghc-network)
+ ("ghc-network-bsd" ,ghc-network-bsd)
+ ("ghc-network-uri" ,ghc-network-uri)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-extensible-exceptions"
+ ,ghc-extensible-exceptions)
+ ("ghc-hslogger" ,ghc-hslogger)
+ ("ghc-html" ,ghc-html)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-sendfile" ,ghc-sendfile)
+ ("ghc-system-filepath" ,ghc-system-filepath)
+ ("ghc-syb" ,ghc-syb)
+ ("ghc-threads" ,ghc-threads)
+ ("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-transformers-compat"
+ ,ghc-transformers-compat)
+ ("ghc-utf8-string" ,ghc-utf8-string)
+ ("ghc-zlib" ,ghc-zlib)))
+ (native-inputs `(("ghc-hunit" ,ghc-hunit)))
+ (home-page "http://happstack.com")
+ (synopsis "Web related tools and services for Haskell")
+ (description
+ "Happstack Server provides an HTTP server and a rich set of functions for
+routing requests, handling query parameters, generating responses, working with
+cookies, serving files, and more.")
+ (license license:bsd-3)))
+
+(define-public ghc-sendfile
+ (package
+ (name "ghc-sendfile")
+ (version "0.7.11.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/sendfile/sendfile-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0988snmx3bylpw3kcq8hsgji8idc6xcrcfp275qjv3apfdgc9rp0"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-network" ,ghc-network)))
+ (home-page
+ "https://hub.darcs.net/stepcut/sendfile")
+ (synopsis "Portable sendfile library for Haskell")
+ (description
+ "Haskell library which exposes zero-copy sendfile functionality in a portable way.")
+ (license license:bsd-3)))
+
+(define-public ghc-scalpel-core
+ (package
+ (name "ghc-scalpel-core")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/scalpel-core/"
+ "scalpel-core-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1qf0gnidyh8zk0acj99vn6hsj37m410lrm50sqpiv1i36rpmmsqh"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-data-default" ,ghc-data-default)
+ ("ghc-fail" ,ghc-fail)
+ ("ghc-pointedlist" ,ghc-pointedlist)
+ ("ghc-regex-base" ,ghc-regex-base)
+ ("ghc-regex-tdfa" ,ghc-regex-tdfa)
+ ("ghc-tagsoup" ,ghc-tagsoup)
+ ("ghc-vector" ,ghc-vector)))
+ (native-inputs `(("ghc-hunit" ,ghc-hunit)))
+ (home-page "https://github.com/fimad/scalpel")
+ (synopsis
+ "High level web scraping library for Haskell")
+ (description
+ "Scalpel core provides a subset of the scalpel web scraping library
+that is intended to have lightweight dependencies and to be free of all
+non-Haskell dependencies.")
+ (license license:asl2.0)))
+
+(define-public ghc-scalpel
+ (package
+ (name "ghc-scalpel")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/scalpel/"
+ "scalpel-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0jbrfcgljl8kbcwi2zqx1jp3c3dpxrkc94za44x56kcz68n89hlz"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-scalpel-core" ,ghc-scalpel-core)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-data-default" ,ghc-data-default)
+ ("ghc-http-client" ,ghc-http-client)
+ ("ghc-http-client-tls" ,ghc-http-client-tls)
+ ("ghc-tagsoup" ,ghc-tagsoup)))
+ (home-page "https://github.com/fimad/scalpel")
+ (synopsis
+ "High level web scraping library for Haskell")
+ (description
+ "Scalpel is a web scraping library inspired by libraries like Parsec
+and Perl's @code{Web::Scraper}. Scalpel builds on top of TagSoup to provide a
+declarative and monadic interface.")
+ (license license:asl2.0)))
+
+(define-public ghc-sourcemap
+ (package
+ (name "ghc-sourcemap")
+ (version "0.1.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/sourcemap/sourcemap-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0ynfm44ym8y592wnzdwa0d05dbkffyyg5sm26y5ylzpynk64r85r"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-aeson" ,ghc-aeson)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-utf8-string" ,ghc-utf8-string)))
+ (arguments
+ `(#:tests? #f ; FIXME: Fail to compile
+ #:cabal-revision
+ ("1" "1f7q44ar6qfip8fsllg43jyn7r15ifn2r0vz32cbmx0sb0d38dax")))
+ (home-page
+ "http://hackage.haskell.org/package/sourcemap")
+ (synopsis
+ "Implementation of source maps as proposed by Google and Mozilla")
+ (description
+ "Sourcemap provides an implementation of source maps, revision 3,
+proposed by Google and Mozilla here
+@url{https://wiki.mozilla.org/DevTools/Features/SourceMap}.")
+ (license license:bsd-3)))
+
+(define-public ghc-language-javascript
+ (package
+ (name "ghc-language-javascript")
+ (version "0.7.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/language-javascript/language-javascript-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "15bpqpkjf2y3fk8wff9zlnkpsjc63bnbvhlkxrs9alj0bikq17nk"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-utf8-string" ,ghc-utf8-string)))
+ (native-inputs
+ `(("ghc-alex" ,ghc-alex)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-happy" ,ghc-happy)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-utf8-light" ,ghc-utf8-light)))
+ (home-page
+ "https://github.com/erikd/language-javascript")
+ (synopsis "Parser for JavaScript")
+ (description
+ "Parses Javascript into an Abstract Syntax Tree (AST). Initially intended
+as frontend to hjsmin.")
+ (license license:bsd-3)))
+
+(define-public ghc-bower-json
+ (package
+ (name "ghc-bower-json")
+ (version "1.0.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/bower-json/bower-json-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0wvygg3rdbxzrmr61a9w6ddv9pfric85ih8hnxyk0ydzn7i59abs"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-aeson" ,ghc-aeson)
+ ("ghc-aeson-better-errors" ,ghc-aeson-better-errors)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-transformers" ,ghc-transformers)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)))
+ (native-inputs
+ `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
+ (home-page "https://github.com/hdgarrood/bower-json")
+ (synopsis "Read bower.json from Haskell")
+ (description
+ "This package provides a data type and ToJSON/FromJSON instances for
+Bower's package manifest file, bower.json.")
+ (license license:expat)))