haskell-web.scm 84 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
  3. ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
  4. ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
  5. ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
  6. ;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
  7. ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
  8. ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
  9. ;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
  10. ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@gmail.com>
  11. ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
  12. ;;; Copyright © 2020 Kyle Meyer <kyle@kyleam.com>
  13. ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
  14. ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
  15. ;;;
  16. ;;; This file is part of GNU Guix.
  17. ;;;
  18. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  19. ;;; under the terms of the GNU General Public License as published by
  20. ;;; the Free Software Foundation; either version 3 of the License, or (at
  21. ;;; your option) any later version.
  22. ;;;
  23. ;;; GNU Guix is distributed in the hope that it will be useful, but
  24. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  25. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  26. ;;; GNU General Public License for more details.
  27. ;;;
  28. ;;; You should have received a copy of the GNU General Public License
  29. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  30. (define-module (gnu packages haskell-web)
  31. #:use-module (gnu packages)
  32. #:use-module (gnu packages curl)
  33. #:use-module (gnu packages haskell)
  34. #:use-module (gnu packages haskell-check)
  35. #:use-module (gnu packages haskell-crypto)
  36. #:use-module (gnu packages haskell-xyz)
  37. #:use-module (guix build-system haskell)
  38. #:use-module (guix download)
  39. #:use-module ((guix licenses) #:prefix license:)
  40. #:use-module (guix packages)
  41. #:use-module (guix utils))
  42. (define-public ghc-tagsoup
  43. (package
  44. (name "ghc-tagsoup")
  45. (version "0.14.8")
  46. (source
  47. (origin
  48. (method url-fetch)
  49. (uri (string-append "https://hackage.haskell.org/package/tagsoup/"
  50. "tagsoup-" version ".tar.gz"))
  51. (sha256
  52. (base32
  53. "1m9sx6gr9y9yxvkmcap8xsks8cnhznvma1mrfl39zljkv005azms"))))
  54. (build-system haskell-build-system)
  55. (native-inputs
  56. `(("ghc-quickcheck" ,ghc-quickcheck)))
  57. (home-page "https://github.com/ndmitchell/tagsoup")
  58. (synopsis
  59. "Parsing and extracting information from (possibly malformed) HTML/XML
  60. documents")
  61. (description
  62. "TagSoup is a library for parsing HTML/XML. It supports the HTML 5
  63. specification, and can be used to parse either well-formed XML, or
  64. unstructured and malformed HTML from the web. The library also provides
  65. useful functions to extract information from an HTML document, making it ideal
  66. for screen-scraping.")
  67. (license license:bsd-3)))
  68. (define-public ghc-cookie
  69. (package
  70. (name "ghc-cookie")
  71. (version "0.4.4")
  72. (source
  73. (origin
  74. (method url-fetch)
  75. (uri (string-append
  76. "https://hackage.haskell.org/package/cookie/cookie-"
  77. version
  78. ".tar.gz"))
  79. (sha256
  80. (base32
  81. "1qy09i0jh2z9i9avy2khf8a8afq4fqgnv0fyrszgfg4kmq2fsi9j"))))
  82. (build-system haskell-build-system)
  83. (inputs
  84. `(("ghc-old-locale" ,ghc-old-locale)
  85. ("ghc-blaze-builder" ,ghc-blaze-builder)
  86. ("ghc-data-default-class" ,ghc-data-default-class)
  87. ("ghc-hunit" ,ghc-hunit)
  88. ("ghc-quickcheck" ,ghc-quickcheck)
  89. ("ghc-tasty" ,ghc-tasty)
  90. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  91. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  92. (home-page "https://github.com/snoyberg/cookie")
  93. (synopsis "HTTP cookie parsing and rendering")
  94. (description "HTTP cookie parsing and rendering library for Haskell.")
  95. (license license:bsd-3)))
  96. (define-public ghc-curl
  97. (package
  98. (name "ghc-curl")
  99. (version "1.3.8")
  100. (source (origin
  101. (method url-fetch)
  102. (uri (string-append "mirror://hackage/package/curl/curl-"
  103. version ".tar.gz"))
  104. (sha256
  105. (base32
  106. "0vj4hpaa30jz7c702xpsfvqaqdxz28zslsqnsfx6bf6dpwvck1wh"))))
  107. (build-system haskell-build-system)
  108. (inputs
  109. `(("curl" ,curl)))
  110. (home-page "https://hackage.haskell.org/package/curl")
  111. (synopsis "Haskell bindings for libcurl")
  112. (description
  113. "@code{libcurl} is a versatile client-side URL transfer library.
  114. This package provides a Haskell binding to libcurl.")
  115. (license license:bsd-3)))
  116. (define-public ghc-httpd-shed
  117. (package
  118. (name "ghc-httpd-shed")
  119. (version "0.4.1.1")
  120. (source
  121. (origin
  122. (method url-fetch)
  123. (uri (string-append "https://hackage.haskell.org/package/httpd-shed/"
  124. "httpd-shed-" version ".tar.gz"))
  125. (sha256
  126. (base32
  127. "19dgdimpzr7pxk7pqvyin6j87gmvnf0rm35gzhmna8qr835wy3sr"))))
  128. (build-system haskell-build-system)
  129. (inputs
  130. `(("ghc-network-bsd" ,ghc-network-bsd)
  131. ("ghc-network-uri" ,ghc-network-uri)
  132. ("ghc-network" ,ghc-network)))
  133. (home-page "https://hackage.haskell.org/package/httpd-shed")
  134. (synopsis "Simple web-server with an interact style API")
  135. (description
  136. "This web server promotes a function from @code{Request} to @code{IO
  137. Response} into a local web server. The user can decide how to interpret the
  138. requests, and the library is intended for implementing Ajax APIs.")
  139. (license license:bsd-3)))
  140. (define-public ghc-http-types
  141. (package
  142. (name "ghc-http-types")
  143. (version "0.12.3")
  144. (source
  145. (origin
  146. (method url-fetch)
  147. (uri (string-append "https://hackage.haskell.org/package/http-types/"
  148. "http-types-" version ".tar.gz"))
  149. (sha256
  150. (base32
  151. "05j00b9nqmwh9zaq9y9x50k81v2pd3j7a71kd91zlnbl8xk4m2jf"))))
  152. (build-system haskell-build-system)
  153. (native-inputs
  154. `(("ghc-doctest" ,ghc-doctest)
  155. ("ghc-hspec" ,ghc-hspec)
  156. ("ghc-quickcheck" ,ghc-quickcheck)
  157. ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
  158. ("hspec-discover" ,hspec-discover)))
  159. (inputs
  160. `(("ghc-case-insensitive" ,ghc-case-insensitive)))
  161. (home-page "https://github.com/aristidb/http-types")
  162. (synopsis "Generic HTTP types for Haskell")
  163. (description "This package provides generic HTTP types for Haskell (for
  164. both client and server code).")
  165. (license license:bsd-3)))
  166. (define-public ghc-http
  167. (package
  168. (name "ghc-http")
  169. (version "4000.3.14")
  170. (outputs '("out" "static" "doc"))
  171. (source
  172. (origin
  173. (method url-fetch)
  174. (uri (string-append "https://hackage.haskell.org/package/HTTP/"
  175. "HTTP-" version ".tar.gz"))
  176. (sha256
  177. (base32
  178. "0yv8mbjicpl7l2017c4dhm49117lblgwpy1llv368wci1vrxf0m6"))))
  179. (build-system haskell-build-system)
  180. (native-inputs
  181. `(("ghc-httpd-shed" ,ghc-httpd-shed)
  182. ("ghc-hunit" ,ghc-hunit)
  183. ("ghc-test-framework" ,ghc-test-framework)
  184. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
  185. (inputs
  186. `(("ghc-case-insensitive" ,ghc-case-insensitive)
  187. ("ghc-conduit" ,ghc-conduit)
  188. ("ghc-conduit-extra" ,ghc-conduit-extra)
  189. ("ghc-http-types" ,ghc-http-types)
  190. ("ghc-old-time" ,ghc-old-time)
  191. ("ghc-puremd5" ,ghc-puremd5)
  192. ("ghc-network" ,ghc-network)
  193. ("ghc-network-uri" ,ghc-network-uri)
  194. ("ghc-split" ,ghc-split)))
  195. (arguments
  196. `(#:tests? #f ; FIXME: currently missing libraries used for tests.
  197. #:phases
  198. (modify-phases %standard-phases
  199. (add-after 'unpack 'create-simple-paths-module
  200. (lambda _
  201. (call-with-output-file "Paths_HTTP.hs"
  202. (lambda (port)
  203. (format port "\
  204. {-# LANGUAGE CPP #-}
  205. {-# LANGUAGE NoRebindableSyntax #-}
  206. {-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
  207. module Paths_HTTP (version) where
  208. import Data.Version (Version(..))
  209. version :: Version
  210. version = Version [~a] []
  211. " (string-map (lambda (chr) (if (eq? chr #\.) #\, chr)) ,version))))
  212. #t)))))
  213. (home-page "https://github.com/haskell/HTTP")
  214. (synopsis "Library for client-side HTTP")
  215. (description
  216. "The HTTP package supports client-side web programming in Haskell. It
  217. lets you set up HTTP connections, transmitting requests and processing the
  218. responses coming back.")
  219. (license license:bsd-3)))
  220. (define-public ghc-http-client
  221. (package
  222. (name "ghc-http-client")
  223. (version "0.6.4")
  224. (source (origin
  225. (method url-fetch)
  226. (uri (string-append "https://hackage.haskell.org/package/"
  227. "http-client/http-client-"
  228. version ".tar.gz"))
  229. (sha256
  230. (base32
  231. "1n9rnbp8lwkd4whi2anniywi4y1bn9kx6nzfigfvz28d7pn7i4in"))))
  232. (build-system haskell-build-system)
  233. ;; Tests require access to the web.
  234. (arguments `(#:tests? #f))
  235. (inputs
  236. `(("ghc-async" ,ghc-async)
  237. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  238. ("ghc-blaze-builder" ,ghc-blaze-builder)
  239. ("ghc-case-insensitive" ,ghc-case-insensitive)
  240. ("ghc-cookie" ,ghc-cookie)
  241. ("ghc-data-default-class" ,ghc-data-default-class)
  242. ("ghc-exceptions" ,ghc-exceptions)
  243. ("ghc-http-types" ,ghc-http-types)
  244. ("ghc-memory" ,ghc-memory)
  245. ("ghc-mime-types" ,ghc-mime-types)
  246. ("ghc-monad-control" ,ghc-monad-control)
  247. ("ghc-network" ,ghc-network)
  248. ("ghc-network-uri" ,ghc-network-uri)
  249. ("ghc-random" ,ghc-random)
  250. ("ghc-streaming-commons" ,ghc-streaming-commons)
  251. ("ghc-zlib" ,ghc-zlib)))
  252. (native-inputs
  253. `(("ghc-hspec" ,ghc-hspec)))
  254. (home-page "https://github.com/snoyberg/http-client")
  255. (synopsis "HTTP client engine")
  256. (description
  257. "This package provides an HTTP client engine, intended as a base layer
  258. for more user-friendly packages.")
  259. (license license:expat)))
  260. (define-public ghc-http-client-tls
  261. (package
  262. (name "ghc-http-client-tls")
  263. (version "0.3.5.3")
  264. (source (origin
  265. (method url-fetch)
  266. (uri (string-append "https://hackage.haskell.org/package/"
  267. "http-client-tls/http-client-tls-"
  268. version ".tar.gz"))
  269. (sha256
  270. (base32
  271. "0qj3pcpgbsfsc4m52dz35khhl4hf1i0nmcpa445z82d9567vy6j7"))))
  272. (build-system haskell-build-system)
  273. ;; Tests require Internet access
  274. (arguments `(#:tests? #f))
  275. (inputs
  276. `(("ghc-data-default-class" ,ghc-data-default-class)
  277. ("ghc-http-client" ,ghc-http-client)
  278. ("ghc-connection" ,ghc-connection)
  279. ("ghc-network" ,ghc-network)
  280. ("ghc-tls" ,ghc-tls)
  281. ("ghc-http-types" ,ghc-http-types)))
  282. (native-inputs
  283. `(("ghc-hspec" ,ghc-hspec)))
  284. (home-page "https://github.com/snoyberg/http-client")
  285. (synopsis "Backend for http-client using the TLS library")
  286. (description
  287. "This package provides a backend for the http-client package using the
  288. connection and TLS libraries. It is intended for use by higher-level
  289. libraries, such as http-conduit.")
  290. (license license:expat)))
  291. (define-public ghc-http-date
  292. (package
  293. (name "ghc-http-date")
  294. (version "0.0.8")
  295. (source
  296. (origin
  297. (method url-fetch)
  298. (uri (string-append "https://hackage.haskell.org/package/"
  299. "http-date-" version "/"
  300. "http-date-" version ".tar.gz"))
  301. (sha256
  302. (base32
  303. "09slbzqayjnqqz9zybk7slgzvizgplikqgg4b2flzgks91466k0g"))))
  304. (build-system haskell-build-system)
  305. (inputs
  306. `(("ghc-attoparsec" ,ghc-attoparsec)))
  307. (native-inputs
  308. `(("ghc-doctest" ,ghc-doctest)
  309. ("ghc-hspec" ,ghc-hspec)
  310. ("hspec-discover" ,hspec-discover)
  311. ("ghc-old-locale" ,ghc-old-locale)))
  312. (home-page "https://github.com/kazu-yamamoto/http-date")
  313. (synopsis "HTTP Date parser/formatter")
  314. (description "Library for Parsing and formatting HTTP
  315. Date in Haskell.")
  316. (license license:bsd-3)))
  317. (define-public ghc-http2
  318. (package
  319. (name "ghc-http2")
  320. (version "1.6.5")
  321. (source
  322. (origin
  323. (method url-fetch)
  324. (uri (string-append "https://hackage.haskell.org/package/"
  325. "http2-" version "/"
  326. "http2-" version ".tar.gz"))
  327. (sha256
  328. (base32
  329. "1vlmy8vnp6ml2n2pr11aa5fzigldsscgzmibrni64ykgfvpd3sqn"))))
  330. (build-system haskell-build-system)
  331. (inputs
  332. `(("ghc-case-insensitive" ,ghc-case-insensitive)
  333. ("ghc-network-byte-order" ,ghc-network-byte-order)
  334. ("ghc-aeson" ,ghc-aeson)
  335. ("ghc-aeson-pretty" ,ghc-aeson-pretty)
  336. ("ghc-base16-bytestring" ,ghc-base16-bytestring)
  337. ("ghc-unordered-containers" ,ghc-unordered-containers)
  338. ("ghc-vector" ,ghc-vector)
  339. ("ghc-word8" ,ghc-word8)
  340. ("ghc-psqueues" ,ghc-psqueues)))
  341. (native-inputs
  342. `(("ghc-glob" ,ghc-glob)
  343. ("ghc-hspec" ,ghc-hspec)
  344. ("ghc-doctest" ,ghc-doctest)
  345. ("hspec-discover" ,hspec-discover)))
  346. (home-page "https://github.com/kazu-yamamoto/http2")
  347. (synopsis "HTTP/2 library including frames, priority queues and HPACK")
  348. (description "This package provides a HTTP/2.0 library including frames
  349. and HPACK. Currently HTTP/2 16 framing and HPACK 10 is supported.")
  350. (license license:bsd-3)))
  351. (define-public ghc-http-conduit
  352. (package
  353. (name "ghc-http-conduit")
  354. (version "2.3.7.3")
  355. (source
  356. (origin
  357. (method url-fetch)
  358. (uri (string-append "https://hackage.haskell.org/package/"
  359. "http-conduit-" version "/" "http-conduit-"
  360. version ".tar.gz"))
  361. (sha256
  362. (base32
  363. "00rshi1y0h8y4rvsnnad0bppxgpvp40sk7lw1kxmdwy8pi8xrvbs"))))
  364. (build-system haskell-build-system)
  365. ;; FIXME: `httpLbs TLS` in test-suite `test` fails with
  366. ;; ConnectionFailure getProtocolByName: does not exist (no such protocol
  367. ;; name: tcp)
  368. (arguments `(#:tests? #f))
  369. (inputs
  370. `(("ghc-aeson" ,ghc-aeson)
  371. ("ghc-resourcet" ,ghc-resourcet)
  372. ("ghc-conduit" ,ghc-conduit)
  373. ("ghc-conduit-extra" ,ghc-conduit-extra)
  374. ("ghc-http-types" ,ghc-http-types)
  375. ("ghc-lifted-base" ,ghc-lifted-base)
  376. ("ghc-http-client" ,ghc-http-client)
  377. ("ghc-http-client-tls" ,ghc-http-client-tls)
  378. ("ghc-monad-control" ,ghc-monad-control)
  379. ("ghc-exceptions" ,ghc-exceptions)
  380. ("ghc-unliftio" ,ghc-unliftio)))
  381. (native-inputs
  382. `(("ghc-hunit" ,ghc-hunit)
  383. ("ghc-hspec" ,ghc-hspec)
  384. ("ghc-data-default-class" ,ghc-data-default-class)
  385. ("ghc-connection" ,ghc-connection)
  386. ("ghc-warp-tls" ,ghc-warp-tls)
  387. ("ghc-blaze-builder" ,ghc-blaze-builder)
  388. ("ghc-conduit" ,ghc-conduit)
  389. ("ghc-utf8-string" ,ghc-utf8-string)
  390. ("ghc-case-insensitive" ,ghc-case-insensitive)
  391. ("ghc-lifted-base" ,ghc-lifted-base)
  392. ("ghc-network" ,ghc-network)
  393. ("ghc-wai" ,ghc-wai)
  394. ("ghc-warp" ,ghc-warp)
  395. ("ghc-wai-conduit" ,ghc-wai-conduit)
  396. ("ghc-http-types" ,ghc-http-types)
  397. ("ghc-cookie" ,ghc-cookie)
  398. ("ghc-conduit-extra" ,ghc-conduit-extra)
  399. ("ghc-streaming-commons" ,ghc-streaming-commons)
  400. ("ghc-aeson" ,ghc-aeson)
  401. ("ghc-temporary" ,ghc-temporary)
  402. ("ghc-resourcet" ,ghc-resourcet)))
  403. (home-page "https://hackage.haskell.org/package/http-conduit")
  404. (synopsis "HTTP/HTTPS client with conduit interface")
  405. (description "This library uses attoparsec for parsing the actual
  406. contents of the HTTP connection. It also provides higher-level functions
  407. which allow you to avoid direct usage of conduits.")
  408. (license license:bsd-3)))
  409. (define-public ghc-http-reverse-proxy
  410. (package
  411. (name "ghc-http-reverse-proxy")
  412. (version "0.6.0")
  413. (source
  414. (origin
  415. (method url-fetch)
  416. (uri (string-append
  417. "https://hackage.haskell.org/package/http-reverse-proxy/"
  418. "http-reverse-proxy-" version ".tar.gz"))
  419. (sha256
  420. (base32
  421. "1a6i5njf85b2lhg8m83njagcf09wih5q2irnyb2890s724qr277v"))))
  422. (build-system haskell-build-system)
  423. (inputs
  424. `(("ghc-case-insensitive" ,ghc-case-insensitive)
  425. ("ghc-http-types" ,ghc-http-types)
  426. ("ghc-word8" ,ghc-word8)
  427. ("ghc-blaze-builder" ,ghc-blaze-builder)
  428. ("ghc-http-client" ,ghc-http-client)
  429. ("ghc-wai" ,ghc-wai)
  430. ("ghc-network" ,ghc-network)
  431. ("ghc-conduit" ,ghc-conduit)
  432. ("ghc-conduit-extra" ,ghc-conduit-extra)
  433. ("ghc-wai-logger" ,ghc-wai-logger)
  434. ("ghc-resourcet" ,ghc-resourcet)
  435. ("ghc-unliftio" ,ghc-unliftio)
  436. ("ghc-streaming-commons" ,ghc-streaming-commons)))
  437. (native-inputs
  438. `(("ghc-hspec" ,ghc-hspec)
  439. ("ghc-warp" ,ghc-warp)
  440. ("ghc-http-conduit" ,ghc-http-conduit)))
  441. (home-page
  442. "https://github.com/fpco/http-reverse-proxy")
  443. (synopsis
  444. "Reverse proxy HTTP requests, either over raw sockets or with WAI")
  445. (description
  446. "Provides a simple means of reverse-proxying HTTP requests. The raw
  447. approach uses the same technique as leveraged by keter, whereas the WAI
  448. approach performs full request/response parsing via WAI and http-conduit.")
  449. (license license:bsd-3)))
  450. (define-public ghc-wai
  451. (package
  452. (name "ghc-wai")
  453. (version "3.2.2.1")
  454. (source
  455. (origin
  456. (method url-fetch)
  457. (uri (string-append
  458. "https://hackage.haskell.org/package/wai/wai-"
  459. version
  460. ".tar.gz"))
  461. (sha256
  462. (base32
  463. "058871axlq6r0gcqxbjw37w57df9xbv81dmz99b1zq59wf329xzy"))))
  464. (build-system haskell-build-system)
  465. (inputs
  466. `(("ghc-bytestring-builder" ,ghc-bytestring-builder)
  467. ("ghc-unix-compat" ,ghc-unix-compat)
  468. ("ghc-vault" ,ghc-vault)
  469. ("ghc-blaze-builder" ,ghc-blaze-builder)
  470. ("ghc-network" ,ghc-network)
  471. ("ghc-http-types" ,ghc-http-types)))
  472. (native-inputs
  473. `(("hspec-discover" ,hspec-discover)
  474. ("ghc-quickcheck" ,ghc-quickcheck)
  475. ("ghc-hunit" ,ghc-hunit)
  476. ("ghc-hspec" ,ghc-hspec)))
  477. (home-page "https://hackage.haskell.org/package/wai")
  478. (synopsis "Web application interface for Haskell")
  479. (description "This package provides a Web Application Interface (WAI)
  480. library for the Haskell language. It defines a common protocol for
  481. communication between web applications and web servers.")
  482. (license license:bsd-3)))
  483. (define-public ghc-wai-logger
  484. (package
  485. (name "ghc-wai-logger")
  486. (version "2.3.5")
  487. (source
  488. (origin
  489. (method url-fetch)
  490. (uri (string-append
  491. "https://hackage.haskell.org/package/wai-logger/wai-logger-"
  492. version
  493. ".tar.gz"))
  494. (sha256
  495. (base32
  496. "05gbipyw0672irynsc3wqvvgzqixhmq69ay2mxh2phb734r8bcmm"))))
  497. (build-system haskell-build-system)
  498. (arguments `(#:tests? #f)) ; FIXME: Tests cannot find libraries exported
  499. ; by propagated-inputs.
  500. (inputs
  501. `(("ghc-auto-update" ,ghc-auto-update)
  502. ("ghc-byteorder" ,ghc-byteorder)
  503. ("ghc-easy-file" ,ghc-easy-file)
  504. ("ghc-unix-time" ,ghc-unix-time)
  505. ("ghc-blaze-builder" ,ghc-blaze-builder)
  506. ("ghc-case-insensitive" ,ghc-case-insensitive)
  507. ("ghc-fast-logger" ,ghc-fast-logger)
  508. ("ghc-http-types" ,ghc-http-types)
  509. ("ghc-network" ,ghc-network)
  510. ("ghc-wai" ,ghc-wai)))
  511. (home-page "https://hackage.haskell.org/package/wai-logger")
  512. (synopsis "Logging system for WAI")
  513. (description "This package provides the logging system for WAI.")
  514. (license license:bsd-3)))
  515. (define-public ghc-wai-extra
  516. (package
  517. (name "ghc-wai-extra")
  518. (version "3.0.28")
  519. (source
  520. (origin
  521. (method url-fetch)
  522. (uri (string-append
  523. "https://hackage.haskell.org/package/wai-extra/wai-extra-"
  524. version
  525. ".tar.gz"))
  526. (sha256
  527. (base32
  528. "0iky7k4kirngvk1p2nz19zgzffb5hppfaxdjan80v06ikc8w1wm7"))))
  529. (build-system haskell-build-system)
  530. (inputs
  531. `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
  532. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  533. ("ghc-cookie" ,ghc-cookie)
  534. ("ghc-network" ,ghc-network)
  535. ("ghc-lifted-base" ,ghc-lifted-base)
  536. ("ghc-streaming-commons" ,ghc-streaming-commons)
  537. ("ghc-stringsearch" ,ghc-stringsearch)
  538. ("ghc-resourcet" ,ghc-resourcet)
  539. ("ghc-fast-logger" ,ghc-fast-logger)
  540. ("ghc-wai-logger" ,ghc-wai-logger)
  541. ("ghc-zlib" ,ghc-zlib)
  542. ("ghc-word8" ,ghc-word8)
  543. ("ghc-iproute" ,ghc-iproute)
  544. ("ghc-void" ,ghc-void)
  545. ("ghc-wai" ,ghc-wai)
  546. ("ghc-http-types" ,ghc-http-types)
  547. ("ghc-http2" ,ghc-http2)
  548. ("ghc-case-insensitive" ,ghc-case-insensitive)
  549. ("ghc-data-default-class" ,ghc-data-default-class)
  550. ("ghc-unix-compat" ,ghc-unix-compat)
  551. ("ghc-vault" ,ghc-vault)
  552. ("ghc-aeson" ,ghc-aeson)))
  553. (native-inputs
  554. `(("hspec-discover" ,hspec-discover)
  555. ("ghc-hspec" ,ghc-hspec)
  556. ("ghc-hunit" ,ghc-hunit)))
  557. (home-page "https://github.com/yesodweb/wai")
  558. (synopsis "Some basic WAI handlers and middleware")
  559. (description "This library provides basic WAI handlers and middleware
  560. functionality.")
  561. (license license:expat)))
  562. (define-public ghc-wai-conduit
  563. (package
  564. (name "ghc-wai-conduit")
  565. (version "3.0.0.4")
  566. (source
  567. (origin
  568. (method url-fetch)
  569. (uri (string-append "https://hackage.haskell.org/package/"
  570. "wai-conduit-" version "/"
  571. "wai-conduit-" version ".tar.gz"))
  572. (sha256
  573. (base32
  574. "07yn41rn2skd5p3wqqa09wa761vj7ibl8l19gh4bi4i8slxhk417"))))
  575. (build-system haskell-build-system)
  576. (inputs
  577. `(("ghc-conduit" ,ghc-conduit)
  578. ("ghc-http-types" ,ghc-http-types)
  579. ("ghc-wai" ,ghc-wai)
  580. ("ghc-blaze-builder" ,ghc-blaze-builder)))
  581. (home-page "https://github.com/yesodweb/wai")
  582. (synopsis "Conduit wrappers for Haskell's WAI")
  583. (description "This package provides data streaming abstraction for
  584. Haskell's Web Application Interface (WAI).")
  585. (license license:expat)))
  586. (define-public ghc-bsb-http-chunked
  587. (package
  588. (name "ghc-bsb-http-chunked")
  589. (version "0.0.0.4")
  590. (source
  591. (origin
  592. (method url-fetch)
  593. (uri (string-append
  594. "https://hackage.haskell.org/package/"
  595. "bsb-http-chunked/bsb-http-chunked-"
  596. version ".tar.gz"))
  597. (sha256
  598. (base32
  599. "0z0f18yc6zlwh29c6175ivfcin325lvi4irpvv0n3cmq7vi0k0ql"))))
  600. (build-system haskell-build-system)
  601. (arguments
  602. `(;; XXX: As of 0.0.4, one property test ("Identical output as Blaze")
  603. ;; fails on i686-linux.
  604. #:tests? ,(not (string-prefix? "i686" (or (%current-target-system)
  605. (%current-system))))))
  606. (native-inputs
  607. `(("ghc-attoparsec" ,ghc-attoparsec)
  608. ("ghc-blaze-builder" ,ghc-blaze-builder)
  609. ("ghc-hedgehog" ,ghc-hedgehog)
  610. ("ghc-tasty" ,ghc-tasty)
  611. ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
  612. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  613. ("ghc-doctest" ,ghc-doctest)))
  614. (home-page "https://github.com/sjakobi/bsb-http-chunked")
  615. (synopsis "Chunked HTTP transfer encoding for bytestring builders")
  616. (description "This Haskell library contains functions for encoding
  617. bytestring builders for chunked Hypertext Transfer Protocol (HTTP) 1.1
  618. transfers.")
  619. (license license:bsd-3)))
  620. (define-public ghc-warp
  621. (package
  622. (name "ghc-warp")
  623. (version "3.2.28")
  624. (source
  625. (origin
  626. (method url-fetch)
  627. (uri (string-append "https://hackage.haskell.org/package/"
  628. "warp-" version "/" "warp-" version
  629. ".tar.gz"))
  630. (sha256
  631. (base32 "0w2w3aiccpb2f8zssqiszcxzqdysihqi5xply23lwif5arz4saw7"))))
  632. (build-system haskell-build-system)
  633. (inputs
  634. `(("ghc-async" ,ghc-async)
  635. ("ghc-auto-update" ,ghc-auto-update)
  636. ("ghc-bsb-http-chunked" ,ghc-bsb-http-chunked)
  637. ("ghc-case-insensitive" ,ghc-case-insensitive)
  638. ("ghc-hashable" ,ghc-hashable)
  639. ("ghc-http-types" ,ghc-http-types)
  640. ("ghc-iproute" ,ghc-iproute)
  641. ("ghc-network" ,ghc-network)
  642. ("ghc-streaming-commons" ,ghc-streaming-commons)
  643. ("ghc-time-manager" ,ghc-time-manager)
  644. ("ghc-unix-compat" ,ghc-unix-compat)
  645. ("ghc-vault" ,ghc-vault)
  646. ("ghc-wai" ,ghc-wai)
  647. ("ghc-word8" ,ghc-word8)
  648. ("ghc-http-date" ,ghc-http-date)
  649. ("ghc-simple-sendfile" ,ghc-simple-sendfile)
  650. ("ghc-http2" ,ghc-http2)))
  651. (native-inputs
  652. `(("curl" ,curl)
  653. ("ghc-silently" ,ghc-silently)
  654. ("ghc-hspec" ,ghc-hspec)
  655. ("ghc-doctest" ,ghc-doctest)
  656. ("ghc-lifted-base" ,ghc-lifted-base)
  657. ("ghc-quickcheck" ,ghc-quickcheck)
  658. ("ghc-hunit" ,ghc-hunit)
  659. ("ghc-http-client" ,ghc-http-client)
  660. ("hspec-discover" ,hspec-discover)))
  661. (home-page "https://github.com/yesodweb/wai")
  662. (synopsis "HTTP server library for Haskell's WAI")
  663. (description "Warp is a server library for HTTP/1.x and HTTP/2
  664. based WAI (Web Application Interface in Haskell).")
  665. (license license:expat)))
  666. (define-public ghc-tls-session-manager
  667. (package
  668. (name "ghc-tls-session-manager")
  669. (version "0.0.3")
  670. (source
  671. (origin
  672. (method url-fetch)
  673. (uri (string-append
  674. "https://hackage.haskell.org/package/"
  675. "tls-session-manager/tls-session-manager-"
  676. version ".tar.gz"))
  677. (sha256
  678. (base32
  679. "0k57flqp2b4bipafiyfipnqmdqv04ky39yr4s4s9sx577zz2j2yi"))))
  680. (build-system haskell-build-system)
  681. (inputs
  682. `(("ghc-auto-update" ,ghc-auto-update)
  683. ("ghc-clock" ,ghc-clock)
  684. ("ghc-psqueues" ,ghc-psqueues)
  685. ("ghc-tls" ,ghc-tls)))
  686. (home-page "https://hackage.haskell.org/package/tls-session-manager")
  687. (synopsis "In-memory TLS session manager")
  688. (description "This Haskell library provides a TLS session manager with
  689. limitation, automatic pruning, energy saving and replay resistance.")
  690. (license license:bsd-3)))
  691. (define-public ghc-warp-tls
  692. (package
  693. (name "ghc-warp-tls")
  694. (version "3.2.8")
  695. (source
  696. (origin
  697. (method url-fetch)
  698. (uri (string-append "https://hackage.haskell.org/package/"
  699. "warp-tls-" version "/"
  700. "warp-tls-" version ".tar.gz"))
  701. (sha256
  702. (base32
  703. "1z5jzl40x1gp249fk8h51gkw6m3hzxchm2bp3kbpqdgmw8r5im8y"))))
  704. (build-system haskell-build-system)
  705. (inputs
  706. `(("ghc-cryptonite" ,ghc-cryptonite)
  707. ("ghc-data-default-class" ,ghc-data-default-class)
  708. ("ghc-network" ,ghc-network)
  709. ("ghc-streaming-commons" ,ghc-streaming-commons)
  710. ("ghc-tls" ,ghc-tls)
  711. ("ghc-tls-session-manager" ,ghc-tls-session-manager)
  712. ("ghc-wai" ,ghc-wai)
  713. ("ghc-warp" ,ghc-warp)))
  714. (home-page "https://github.com/yesodweb/wai")
  715. (synopsis "SSL/TLS support for Warp")
  716. (description "This package provides SSL/TLS support for Warp,
  717. a WAI handler, via the native Haskell TLS implementation.")
  718. (license license:expat)))
  719. (define-public ghc-websockets
  720. (package
  721. (name "ghc-websockets")
  722. (version "0.12.6.1")
  723. (source
  724. (origin
  725. (method url-fetch)
  726. (uri (string-append
  727. "mirror://hackage/package/websockets/websockets-"
  728. version
  729. ".tar.gz"))
  730. (sha256
  731. (base32
  732. "1vp3790w3hmr6v96314vdx74f7sg2c7hvnc93gafq0xhbxnr7nvx"))))
  733. (build-system haskell-build-system)
  734. (inputs
  735. `(("ghc-attoparsec" ,ghc-attoparsec)
  736. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  737. ("ghc-bytestring-builder" ,ghc-bytestring-builder)
  738. ("ghc-case-insensitive" ,ghc-case-insensitive)
  739. ("ghc-network" ,ghc-network)
  740. ("ghc-random" ,ghc-random)
  741. ("ghc-sha" ,ghc-sha)
  742. ("ghc-streaming-commons" ,ghc-streaming-commons)
  743. ("ghc-entropy" ,ghc-entropy)))
  744. (native-inputs
  745. `(("ghc-hunit" ,ghc-hunit)
  746. ("ghc-quickcheck" ,ghc-quickcheck)
  747. ("ghc-test-framework" ,ghc-test-framework)
  748. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  749. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  750. (home-page "https://jaspervdj.be/websockets/")
  751. (synopsis
  752. "Write WebSocket-capable servers in Haskell")
  753. (description
  754. "This library allows you to write WebSocket-capable servers.
  755. An example server:
  756. @url{https://github.com/jaspervdj/websockets/blob/master/example/server.lhs}
  757. An example client:
  758. @url{https://github.com/jaspervdj/websockets/blob/master/example/client.hs}
  759. See also:
  760. @itemize
  761. @item The specification of the WebSocket protocol:
  762. @url{http://www.whatwg.org/specs/web-socket-protocol/}
  763. @item The JavaScript API for dealing with WebSockets:
  764. @url{http://www.w3.org/TR/websockets/}
  765. @end itemize")
  766. (license license:bsd-3)))
  767. (define-public ghc-wai-websockets
  768. (package
  769. (name "ghc-wai-websockets")
  770. (version "3.0.1.2")
  771. (source
  772. (origin
  773. (method url-fetch)
  774. (uri (string-append
  775. "mirror://hackage/package/wai-websockets/wai-websockets-"
  776. version
  777. ".tar.gz"))
  778. (sha256
  779. (base32
  780. "0b2xmdsrsqpssyib53wbr6r8hf75789ndyyanv37sv99iyqcwz4i"))))
  781. (build-system haskell-build-system)
  782. (inputs
  783. `(("ghc-wai" ,ghc-wai)
  784. ("ghc-case-insensitive" ,ghc-case-insensitive)
  785. ("ghc-network" ,ghc-network)
  786. ("ghc-websockets" ,ghc-websockets)
  787. ("ghc-http-types" ,ghc-http-types)))
  788. (arguments
  789. `(#:configure-flags '("--flags=-example")))
  790. (home-page "https://github.com/yesodweb/wai")
  791. (synopsis
  792. "Provide a bridge between WAI and the websockets package")
  793. (description
  794. "Use websockets with WAI applications, primarily those hosted via Warp.")
  795. (license license:expat)))
  796. (define-public ghc-xss-sanitize
  797. (package
  798. (name "ghc-xss-sanitize")
  799. (version "0.3.6")
  800. (source
  801. (origin
  802. (method url-fetch)
  803. (uri (string-append
  804. "https://hackage.haskell.org/package/xss-sanitize/xss-sanitize-"
  805. version ".tar.gz"))
  806. (sha256
  807. (base32
  808. "1d72s3a6520iwwc1wbn9v2znqgbw6a5wwzb23iq8ny9ccnjyx1dk"))))
  809. (build-system haskell-build-system)
  810. (inputs
  811. `(("ghc-tagsoup" ,ghc-tagsoup)
  812. ("ghc-utf8-string" ,ghc-utf8-string)
  813. ("ghc-css-text" ,ghc-css-text)
  814. ("ghc-network-uri" ,ghc-network-uri)))
  815. (native-inputs
  816. `(("ghc-attoparsec" ,ghc-attoparsec)
  817. ("ghc-hspec" ,ghc-hspec)
  818. ("ghc-hunit" ,ghc-hunit)))
  819. (home-page "https://github.com/yesodweb/haskell-xss-sanitize")
  820. (synopsis "Sanitize untrusted HTML to prevent XSS attacks")
  821. (description "This library provides @code{sanitizeXSS}. Run untrusted
  822. HTML through @code{Text.HTML.SanitizeXSS.sanitizeXSS} to prevent XSS
  823. attacks.")
  824. (license license:bsd-3)))
  825. (define-public ghc-css-text
  826. (package
  827. (name "ghc-css-text")
  828. (version "0.1.3.0")
  829. (source
  830. (origin
  831. (method url-fetch)
  832. (uri (string-append
  833. "https://hackage.haskell.org/package/css-text/css-text-"
  834. version
  835. ".tar.gz"))
  836. (sha256
  837. (base32
  838. "0ynd9f4hn2sfwqzbsa0y7phmxq8za7jiblpjwx0ry8b372zhgxaz"))))
  839. (build-system haskell-build-system)
  840. (inputs
  841. `(("ghc-attoparsec" ,ghc-attoparsec)
  842. ("ghc-hspec" ,ghc-hspec)
  843. ("ghc-quickcheck" ,ghc-quickcheck)))
  844. (home-page "https://www.yesodweb.com/")
  845. (synopsis "CSS parser and renderer")
  846. (description "This package provides a CSS parser and renderer for
  847. Haskell.")
  848. (license license:bsd-3)))
  849. (define-public ghc-mime-types
  850. (package
  851. (name "ghc-mime-types")
  852. (version "0.1.0.9")
  853. (source (origin
  854. (method url-fetch)
  855. (uri (string-append "https://hackage.haskell.org/package/"
  856. "mime-types/mime-types-"
  857. version ".tar.gz"))
  858. (sha256
  859. (base32
  860. "1lkipa4v73z3l5lqs6sdhl898iq41kyxv2jb9agsajzgd58l6cha"))))
  861. (build-system haskell-build-system)
  862. (home-page "https://github.com/yesodweb/wai")
  863. (synopsis "Basic MIME type handling types and functions")
  864. (description
  865. "This library provides basic MIME type handling types and functions.")
  866. (license license:expat)))
  867. (define-public ghc-html
  868. (package
  869. (name "ghc-html")
  870. (version "1.0.1.2")
  871. (source
  872. (origin
  873. (method url-fetch)
  874. (uri (string-append
  875. "https://hackage.haskell.org/package/html/html-"
  876. version
  877. ".tar.gz"))
  878. (sha256
  879. (base32
  880. "0q9hmfii62kc82ijlg238fxrzxhsivn42x5wd6ffcr9xldg4jd8c"))))
  881. (build-system haskell-build-system)
  882. (home-page
  883. "https://hackage.haskell.org/package/html")
  884. (synopsis "HTML combinator library")
  885. (description
  886. "This package contains a combinator library for constructing HTML
  887. documents.")
  888. (license license:bsd-3)))
  889. (define-public ghc-html-conduit
  890. (package
  891. (name "ghc-html-conduit")
  892. (version "1.3.2.1")
  893. (source
  894. (origin
  895. (method url-fetch)
  896. (uri (string-append
  897. "https://hackage.haskell.org/package/html-conduit/"
  898. "html-conduit-" version ".tar.gz"))
  899. (sha256
  900. (base32
  901. "196c8zcnjp1pc5qvqxd8arx3xkw0a90rvg9mmiw2l4zwnx65709n"))))
  902. (build-system haskell-build-system)
  903. (inputs
  904. `(("ghc-resourcet" ,ghc-resourcet)
  905. ("ghc-conduit" ,ghc-conduit)
  906. ("ghc-xml-conduit" ,ghc-xml-conduit)
  907. ("ghc-xml-types" ,ghc-xml-types)
  908. ("ghc-attoparsec" ,ghc-attoparsec)
  909. ("ghc-conduit-extra" ,ghc-conduit-extra)))
  910. (native-inputs
  911. `(("ghc-hspec" ,ghc-hspec)
  912. ("ghc-hunit" ,ghc-hunit)))
  913. (home-page "https://github.com/snoyberg/xml")
  914. (synopsis "Parse HTML documents using xml-conduit datatypes")
  915. (description
  916. "This package provides a parser for HTML documents that uses
  917. tagstream-conduit. It automatically balances mismatched tags, so that
  918. there shouldn't be any parse failures. It does not handle a full HTML
  919. document rendering, such as adding missing html and head tags. Note that,
  920. since version 1.3.1, it uses an inlined copy of tagstream-conduit with
  921. entity decoding bugfixes applied.")
  922. (license license:expat)))
  923. (define-public ghc-blaze-html
  924. (package
  925. (name "ghc-blaze-html")
  926. (version "0.9.1.2")
  927. (source
  928. (origin
  929. (method url-fetch)
  930. (uri (string-append "https://hackage.haskell.org/package/"
  931. "blaze-html/blaze-html-"
  932. version ".tar.gz"))
  933. (sha256
  934. (base32
  935. "0k1r1hddjgqighazcazxrx6xfhvy2gm8il8l82ainv3cai13yl30"))))
  936. (build-system haskell-build-system)
  937. (outputs '("out" "static" "doc"))
  938. (inputs
  939. `(("ghc-blaze-builder" ,ghc-blaze-builder)
  940. ("ghc-blaze-markup" ,ghc-blaze-markup)))
  941. (native-inputs
  942. `(("ghc-hunit" ,ghc-hunit)
  943. ("ghc-quickcheck" ,ghc-quickcheck)
  944. ("ghc-test-framework" ,ghc-test-framework)
  945. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  946. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  947. (home-page "http://jaspervdj.be/blaze")
  948. (synopsis "Fast HTML combinator library")
  949. (description "This library provides HTML combinators for Haskell.")
  950. (license license:bsd-3)))
  951. (define-public ghc-aeson
  952. (package
  953. (name "ghc-aeson")
  954. (version "1.4.5.0")
  955. (source
  956. (origin
  957. (method url-fetch)
  958. (uri (string-append
  959. "https://hackage.haskell.org/package/aeson/aeson-"
  960. version
  961. ".tar.gz"))
  962. (sha256
  963. (base32
  964. "1jhabz1lbbv6yqxqiybifi86cb5xlsadrn368n5dd0wzzc7ja4iz"))))
  965. (build-system haskell-build-system)
  966. (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
  967. (outputs '("out" "static" "doc"))
  968. (inputs
  969. `(("ghc-attoparsec" ,ghc-attoparsec)
  970. ("ghc-base-compat" ,ghc-base-compat)
  971. ("ghc-dlist" ,ghc-dlist)
  972. ("ghc-hashable" ,ghc-hashable)
  973. ("ghc-scientific" ,ghc-scientific)
  974. ("ghc-tagged" ,ghc-tagged)
  975. ("ghc-th-abstraction" ,ghc-th-abstraction)
  976. ("ghc-time-locale-compat" ,ghc-time-locale-compat)
  977. ("ghc-unordered-containers" ,ghc-unordered-containers)
  978. ("ghc-uuid-types" ,ghc-uuid-types)
  979. ("ghc-vector" ,ghc-vector)
  980. ("ghc-hunit" ,ghc-hunit)
  981. ("ghc-quickcheck" ,ghc-quickcheck)
  982. ("ghc-integer-logarithms" ,ghc-integer-logarithms)
  983. ("ghc-base-orphans" ,ghc-base-orphans)
  984. ("ghc-base16-bytestring" ,ghc-base16-bytestring)
  985. ("ghc-generic-deriving" ,ghc-generic-deriving)
  986. ("ghc-test-framework" ,ghc-test-framework)
  987. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  988. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
  989. ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
  990. ("ghc-hashable-time" ,ghc-hashable-time)))
  991. (home-page "https://github.com/bos/aeson")
  992. (synopsis "Fast JSON parsing and encoding")
  993. (description "This package provides a JSON parsing and encoding library
  994. for Haskell, optimized for ease of use and high performance. (A note on
  995. naming: in Greek mythology, Aeson was the father of Jason.)")
  996. (license license:bsd-3)))
  997. (define-public ghc-aeson-pretty
  998. (package
  999. (name "ghc-aeson-pretty")
  1000. (version "0.8.8")
  1001. (source (origin
  1002. (method url-fetch)
  1003. (uri (string-append
  1004. "https://hackage.haskell.org/package/aeson-pretty/aeson-pretty-"
  1005. version ".tar.gz"))
  1006. (sha256
  1007. (base32
  1008. "09n7gs91y1fbw6gjszrd2na3isnvk3y5rsi90lzjrwywnqfadkl1"))))
  1009. (build-system haskell-build-system)
  1010. (inputs
  1011. `(("ghc-aeson" ,ghc-aeson)
  1012. ("ghc-base-compat" ,ghc-base-compat)
  1013. ("ghc-scientific" ,ghc-scientific)
  1014. ("ghc-vector" ,ghc-vector)
  1015. ("ghc-unordered-containers" ,ghc-unordered-containers)
  1016. ("ghc-attoparsec" ,ghc-attoparsec)
  1017. ("ghc-cmdargs" ,ghc-cmdargs)))
  1018. (home-page "https://github.com/informatikr/aeson-pretty")
  1019. (synopsis "JSON pretty-printing library and command-line tool")
  1020. (description
  1021. "This package provides a JSON pretty-printing library compatible with aeson
  1022. as well as a command-line tool to improve readability of streams of JSON data.
  1023. The library provides the function @code{encodePretty}. It is a drop-in
  1024. replacement for aeson's @code{encode} function, producing JSON-ByteStrings for
  1025. human readers. The command-line tool reads JSON from stdin and writes
  1026. prettified JSON to stdout. It also offers a complementary \"compact\"-mode,
  1027. essentially the opposite of pretty-printing.")
  1028. (license license:bsd-3)))
  1029. (define-public ghc-aeson-qq
  1030. (package
  1031. (name "ghc-aeson-qq")
  1032. (version "0.8.2")
  1033. (source (origin
  1034. (method url-fetch)
  1035. (uri (string-append "https://hackage.haskell.org/package/"
  1036. "aeson-qq/aeson-qq-" version ".tar.gz"))
  1037. (sha256
  1038. (base32
  1039. "0ln13jqyfh5726hdrk1rad9a6cgrrj201plmwcfcpvq18v4m5ckd"))))
  1040. (build-system haskell-build-system)
  1041. (inputs
  1042. `(("ghc-base-compat" ,ghc-base-compat)
  1043. ("ghc-attoparsec" ,ghc-attoparsec)
  1044. ("ghc-scientific" ,ghc-scientific)
  1045. ("ghc-vector" ,ghc-vector)
  1046. ("ghc-aeson" ,ghc-aeson)
  1047. ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
  1048. (native-inputs
  1049. `(("ghc-hspec" ,ghc-hspec)
  1050. ("hspec-discover" ,hspec-discover)))
  1051. (home-page "https://github.com/zalora/aeson-qq")
  1052. (synopsis "JSON quasiquoter for Haskell")
  1053. (description
  1054. "aeson-qq provides a JSON quasiquoter for Haskell. This package exposes
  1055. the function @code{aesonQQ} that compile-time converts a string representation
  1056. of a JSON value into a @code{Data.Aeson.Value}.")
  1057. (license license:expat)))
  1058. (define-public ghc-aeson-better-errors
  1059. (package
  1060. (name "ghc-aeson-better-errors")
  1061. (version "0.9.1.0")
  1062. (source
  1063. (origin
  1064. (method url-fetch)
  1065. (uri (string-append
  1066. "mirror://hackage/package/aeson-better-errors/aeson-better-errors-"
  1067. version
  1068. ".tar.gz"))
  1069. (sha256
  1070. (base32
  1071. "09vkyrhwak3bmpfsqcd2az8hfqqkxyhg468hv5avgisy0nzh3w38"))))
  1072. (build-system haskell-build-system)
  1073. (inputs
  1074. `(("ghc-aeson" ,ghc-aeson)
  1075. ("ghc-unordered-containers" ,ghc-unordered-containers)
  1076. ("ghc-dlist" ,ghc-dlist)
  1077. ("ghc-scientific" ,ghc-scientific)
  1078. ("ghc-vector" ,ghc-vector)
  1079. ("ghc-transformers-compat" ,ghc-transformers-compat)
  1080. ("ghc-void" ,ghc-void)))
  1081. (home-page
  1082. "https://github.com/hdgarrood/aeson-better-errors")
  1083. (synopsis
  1084. "Better error messages when decoding JSON values in Haskell")
  1085. (description
  1086. "Gives you the tools to build parsers to decode JSON values, and gives
  1087. good error messages when parsing fails. See also
  1088. @url{http://harry.garrood.me/blog/aeson-better-errors/}.")
  1089. (license license:expat)))
  1090. (define-public ghc-multipart
  1091. (package
  1092. (name "ghc-multipart")
  1093. (version "0.1.3")
  1094. (source
  1095. (origin
  1096. (method url-fetch)
  1097. (uri (string-append
  1098. "https://hackage.haskell.org/package/multipart/multipart-"
  1099. version
  1100. ".tar.gz"))
  1101. (sha256
  1102. (base32
  1103. "1x4n4yyva22dhfr1pg5ki112qvvzb4hyd7bwpm189iq4gcp52q4z"))))
  1104. (build-system haskell-build-system)
  1105. (inputs
  1106. `(("ghc-stringsearch" ,ghc-stringsearch)))
  1107. (home-page
  1108. "http://www.github.com/silkapp/multipart")
  1109. (synopsis
  1110. "HTTP multipart library")
  1111. (description
  1112. "HTTP multipart split out of the cgi package, for Haskell.")
  1113. (license license:bsd-3)))
  1114. (define-public ghc-uri-encode
  1115. (package
  1116. (name "ghc-uri-encode")
  1117. (version "1.5.0.5")
  1118. (source
  1119. (origin
  1120. (method url-fetch)
  1121. (uri (string-append
  1122. "https://hackage.haskell.org/package/uri-encode/uri-encode-"
  1123. version ".tar.gz"))
  1124. (sha256
  1125. (base32
  1126. "11miwb5vvnn17m92ykz1pzg9x6s8fbpz3mmsyqs2s4b3mn55haz8"))))
  1127. (build-system haskell-build-system)
  1128. (inputs
  1129. `(("ghc-utf8-string" ,ghc-utf8-string)
  1130. ("ghc-network-uri" ,ghc-network-uri)))
  1131. (home-page "https://hackage.haskell.org/package/uri-encode")
  1132. (synopsis "Unicode aware uri-encoding")
  1133. (description "Unicode aware uri-encoding for Haskell.")
  1134. (license license:bsd-3)))
  1135. (define-public ghc-path-pieces
  1136. (package
  1137. (name "ghc-path-pieces")
  1138. (version "0.2.1")
  1139. (source
  1140. (origin
  1141. (method url-fetch)
  1142. (uri (string-append "https://hackage.haskell.org/package/"
  1143. "path-pieces-" version "/"
  1144. "path-pieces-" version ".tar.gz"))
  1145. (sha256
  1146. (base32
  1147. "0vx3sivcsld76058925hym2j6hm3g71f0qjr7v59f1g2afgx82q8"))))
  1148. (build-system haskell-build-system)
  1149. (native-inputs `(("ghc-hunit" ,ghc-hunit)
  1150. ("ghc-hspec" ,ghc-hspec)
  1151. ("ghc-quickcheck" ,ghc-quickcheck)))
  1152. (home-page "https://github.com/yesodweb/path-pieces")
  1153. (synopsis "Used in Yesod to automatically marshall data in the request path")
  1154. (description "This Haskell package provides two typeclasses for converting
  1155. Haskell data types to and from route pieces.")
  1156. (license license:bsd-3)))
  1157. (define-public ghc-skein
  1158. (package
  1159. (name "ghc-skein")
  1160. (version "1.0.9.4")
  1161. (source
  1162. (origin
  1163. (method url-fetch)
  1164. (uri (string-append "https://hackage.haskell.org/package/"
  1165. "skein-" version "/"
  1166. "skein-" version ".tar.gz"))
  1167. (sha256
  1168. (base32
  1169. "1jdqdk0rz2wnvw735clnj8jh0a9rkrbqjg7vk3w6wczdql6cm0pq"))))
  1170. (build-system haskell-build-system)
  1171. (inputs `(("ghc-cereal" ,ghc-cereal)
  1172. ("ghc-tagged" ,ghc-tagged)
  1173. ("ghc-crpto-api" ,ghc-crypto-api)))
  1174. (native-inputs `(("ghc-hspec" ,ghc-hspec)))
  1175. (home-page "https://github.com/yesodweb/path-pieces")
  1176. (synopsis "Skein family of cryptographic hash functions for Haskell")
  1177. (description "@uref{(http://www.skein-hash.info, Skein} is a family of
  1178. fast secure cryptographic hash functions designed by Niels Ferguson, Stefan
  1179. Lucks, Bruce Schneier, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon
  1180. Callas and Jesse Walker.
  1181. This Haskell package uses bindings to the optimized C implementation of Skein.")
  1182. (license license:bsd-3)))
  1183. (define-public ghc-clientsession
  1184. (package
  1185. (name "ghc-clientsession")
  1186. (version "0.9.1.2")
  1187. (source
  1188. (origin
  1189. (method url-fetch)
  1190. (uri (string-append "https://hackage.haskell.org/package/"
  1191. "clientsession-" version "/"
  1192. "clientsession-" version ".tar.gz"))
  1193. (sha256
  1194. (base32
  1195. "0s6h4ykj16mpf7nlw2iqn2ji0p8g1fn5ni0s7yqaili6vv2as5ar"))))
  1196. (build-system haskell-build-system)
  1197. (inputs `(("ghc-cereal" ,ghc-cereal)
  1198. ("ghc-tagged" ,ghc-tagged)
  1199. ("ghc-crypto-api" ,ghc-crypto-api)
  1200. ("ghc-skein" ,ghc-skein)
  1201. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  1202. ("ghc-entropy" ,ghc-entropy)
  1203. ("ghc-cprng-aes" ,ghc-cprng-aes)
  1204. ("ghc-cipher-aes" ,ghc-cipher-aes)
  1205. ("ghc-crypto-random" ,ghc-crypto-random)
  1206. ("ghc-setenv" ,ghc-setenv)))
  1207. (native-inputs `(("ghc-hunit" ,ghc-hunit)
  1208. ("ghc-hspec" ,ghc-hspec)
  1209. ("ghc-quickcheck" ,ghc-quickcheck)))
  1210. (home-page "https://github.com/yesodweb/clientsession/tree/master")
  1211. (synopsis "Haskell library for securely store session data in a
  1212. client-side cookie")
  1213. (description "This Haskell package achieves security through AES-CTR
  1214. encryption and Skein-MAC-512-256 authentication. Uses Base64 encoding to
  1215. avoid any issues with characters.")
  1216. (license license:expat)))
  1217. (define-public ghc-yesod-core
  1218. (package
  1219. (name "ghc-yesod-core")
  1220. (version "1.6.17.2")
  1221. (source
  1222. (origin
  1223. (method url-fetch)
  1224. (uri (string-append "https://hackage.haskell.org/package/"
  1225. "yesod-core-" version "/"
  1226. "yesod-core-" version ".tar.gz"))
  1227. (sha256
  1228. (base32
  1229. "0rcfksbxnwcpg5qh9vjkddv39q95mx4nxzgix51bbwa128hhzcwf"))))
  1230. (build-system haskell-build-system)
  1231. (inputs `(("ghc-wai" ,ghc-wai)
  1232. ("ghc-extra" ,ghc-extra)
  1233. ("ghc-shakespeare" ,ghc-shakespeare)
  1234. ("ghc-blaze-builder" ,ghc-blaze-builder)
  1235. ("ghc-clientsession" ,ghc-clientsession)
  1236. ("ghc-random" ,ghc-random)
  1237. ("ghc-cereal" ,ghc-cereal)
  1238. ("ghc-old-locale" ,ghc-old-locale)
  1239. ("ghc-unliftio" ,ghc-unliftio)
  1240. ("ghc-unordered-containers" ,ghc-unordered-containers)
  1241. ("ghc-monad-control" ,ghc-monad-control)
  1242. ("ghc-transformers-base" ,ghc-transformers-base)
  1243. ("ghc-cookie" ,ghc-cookie)
  1244. ("ghc-http-types" ,ghc-http-types)
  1245. ("ghc-case-insensitive" ,ghc-case-insensitive)
  1246. ("ghc-vector" ,ghc-vector)
  1247. ("ghc-aeson" ,ghc-aeson)
  1248. ("ghc-fast-logger" ,ghc-fast-logger)
  1249. ("ghc-wai-logger" ,ghc-wai-logger)
  1250. ("ghc-monad-logger" ,ghc-monad-logger)
  1251. ("ghc-conduit" ,ghc-conduit)
  1252. ("ghc-resourcet" ,ghc-resourcet)
  1253. ("ghc-rio" ,ghc-rio)
  1254. ("ghc-lifted-base" ,ghc-lifted-base)
  1255. ("ghc-blaze-html" ,ghc-blaze-html)
  1256. ("ghc-blaze-markup" ,ghc-blaze-markup)
  1257. ("ghc-data-default" ,ghc-data-default)
  1258. ("ghc-safe" ,ghc-safe)
  1259. ("ghc-warp" ,ghc-warp)
  1260. ("ghc-unix-compat" ,ghc-unix-compat)
  1261. ("ghc-conduit-extra" ,ghc-conduit-extra)
  1262. ("ghc-exceptions" ,ghc-exceptions)
  1263. ("ghc-deepseq-generics" ,ghc-deepseq-generics)
  1264. ("ghc-mwc-random" ,ghc-mwc-random)
  1265. ("ghc-primitive" ,ghc-primitive)
  1266. ("ghc-word8" ,ghc-word8)
  1267. ("ghc-auto-update" ,ghc-auto-update)
  1268. ("ghc-semigroups" ,ghc-semigroups)
  1269. ("ghc-byteable" ,ghc-byteable)))
  1270. (native-inputs `(("ghc-hspec" ,ghc-hspec)
  1271. ("ghc-path-pieces" ,ghc-path-pieces)
  1272. ("ghc-hunit" ,ghc-hunit)
  1273. ("ghc-hspec-expectations" ,ghc-hspec-expectations)
  1274. ("ghc-quickcheck" ,ghc-quickcheck)
  1275. ("ghc-network" ,ghc-network)
  1276. ("ghc-async" ,ghc-async)
  1277. ("ghc-streaming-commons" ,ghc-streaming-commons)
  1278. ("ghc-wai-extra" ,ghc-wai-extra)))
  1279. (home-page "https://www.yesodweb.com")
  1280. (synopsis "Core package for the Yesod web framework")
  1281. (description "This Haskell package provides all core functionality, for
  1282. Yesod, on which other packages can be built. It provides dispatch, handler
  1283. functions, widgets, etc.")
  1284. (license license:expat)))
  1285. (define-public ghc-yesod-persistent
  1286. (package
  1287. (name "ghc-yesod-persistent")
  1288. (version "1.6.0.4")
  1289. (source
  1290. (origin
  1291. (method url-fetch)
  1292. (uri (string-append "https://hackage.haskell.org/package/"
  1293. "yesod-persistent-" version "/"
  1294. "yesod-persistent-" version ".tar.gz"))
  1295. (sha256
  1296. (base32
  1297. "1gsiw2zx6z7za7a164h0fxfggkrdqz6fn0qyb2zn9qr7r2jbg1c0"))))
  1298. (build-system haskell-build-system)
  1299. (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH.
  1300. (inputs `(("ghc-yesod-core" ,ghc-yesod-core)
  1301. ("ghc-persistent" ,ghc-persistent)
  1302. ("ghc-persistent-template" ,ghc-persistent-template)
  1303. ("ghc-blaze-builder" ,ghc-blaze-builder)
  1304. ("ghc-conduit" ,ghc-conduit)
  1305. ("ghc-resourcet" ,ghc-resourcet)
  1306. ("ghc-resource-pool" ,ghc-resource-pool)))
  1307. (native-inputs `(("ghc-hspec" ,ghc-hspec)
  1308. ("ghc-wai-extra" ,ghc-wai-extra)
  1309. ("ghc-yesod-core" ,ghc-yesod-core)
  1310. ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)))
  1311. (home-page "https://www.yesodweb.com/")
  1312. (synopsis "Helpers for using Persistent from Yesod")
  1313. (description "This Haskell package provides helpers for using Persistent
  1314. from Yesod.")
  1315. (license license:expat)))
  1316. (define-public ghc-yesod-form
  1317. (package
  1318. (name "ghc-yesod-form")
  1319. (version "1.6.7")
  1320. (source
  1321. (origin
  1322. (method url-fetch)
  1323. (uri (string-append
  1324. "https://hackage.haskell.org/package/yesod-form/yesod-form-"
  1325. version
  1326. ".tar.gz"))
  1327. (sha256
  1328. (base32
  1329. "0mny71dyp6cp5akyp5wvmrhmip5rkqi8ibdn3lipvmajx9h58r5d"))))
  1330. (build-system haskell-build-system)
  1331. (inputs
  1332. `(("ghc-yesod-core" ,ghc-yesod-core)
  1333. ("ghc-yesod-persistent" ,ghc-yesod-persistent)
  1334. ("ghc-shakespeare" ,ghc-shakespeare)
  1335. ("ghc-persistent" ,ghc-persistent)
  1336. ("ghc-data-default" ,ghc-data-default)
  1337. ("ghc-xss-sanitize" ,ghc-xss-sanitize)
  1338. ("ghc-blaze-builder" ,ghc-blaze-builder)
  1339. ("ghc-email-validate" ,ghc-email-validate)
  1340. ("ghc-wai" ,ghc-wai)
  1341. ("ghc-blaze-html" ,ghc-blaze-html)
  1342. ("ghc-blaze-markup" ,ghc-blaze-markup)
  1343. ("ghc-attoparsec" ,ghc-attoparsec)
  1344. ("ghc-byteable" ,ghc-byteable)
  1345. ("ghc-aeson" ,ghc-aeson)
  1346. ("ghc-resourcet" ,ghc-resourcet)
  1347. ("ghc-semigroups" ,ghc-semigroups)
  1348. ("ghc-network-uri" ,ghc-network-uri)
  1349. ("ghc-hspec" ,ghc-hspec)))
  1350. (home-page "https://www.yesodweb.com")
  1351. (synopsis "Form handling support for Yesod Web Framework")
  1352. (description "This Haskell package provides a set of basic form inputs such
  1353. as text, number, time, checkbox, select, textarea, etc through the
  1354. @code{Yesod.Form.Fields} module. Also, there is @code{Yesod.Form.Nic} module
  1355. providing richtext field using Nic editor. ")
  1356. (license license:expat)))
  1357. (define-public ghc-yesod
  1358. (package
  1359. (name "ghc-yesod")
  1360. (version "1.6.0")
  1361. (source
  1362. (origin
  1363. (method url-fetch)
  1364. (uri (string-append
  1365. "https://hackage.haskell.org/package/yesod/yesod-"
  1366. version ".tar.gz"))
  1367. (sha256
  1368. (base32
  1369. "0wx77nbpzdh40p1bm527kimfj48vs9d2avpvvz2w42zi3pz2y94a"))))
  1370. (build-system haskell-build-system)
  1371. (inputs
  1372. `(("ghc-yesod-core" ,ghc-yesod-core)
  1373. ("ghc-yesod-persistent" ,ghc-yesod-persistent)
  1374. ("ghc-yesod-form" ,ghc-yesod-form)
  1375. ("ghc-monad-control" ,ghc-monad-control)
  1376. ("ghc-wai" ,ghc-wai)
  1377. ("ghc-wai-extra" ,ghc-wai-extra)
  1378. ("ghc-warp" ,ghc-warp)
  1379. ("ghc-blaze-html" ,ghc-blaze-html)
  1380. ("ghc-blaze-markup" ,ghc-blaze-markup)
  1381. ("ghc-aeson" ,ghc-aeson)
  1382. ("ghc-data-default-class" ,ghc-data-default-class)
  1383. ("ghc-unordered-containers" ,ghc-unordered-containers)
  1384. ("ghc-yaml" ,ghc-yaml)
  1385. ("ghc-monad-logger" ,ghc-monad-logger)
  1386. ("ghc-fast-logger" ,ghc-fast-logger)
  1387. ("ghc-conduit" ,ghc-conduit)
  1388. ("ghc-conduit-extra" ,ghc-conduit-extra)
  1389. ("ghc-resourcet" ,ghc-resourcet)
  1390. ("ghc-shakespeare" ,ghc-shakespeare)
  1391. ("ghc-streaming-commons" ,ghc-streaming-commons)
  1392. ("ghc-wai-logger" ,ghc-wai-logger)
  1393. ("ghc-semigroups" ,ghc-semigroups)))
  1394. (home-page "https://www.yesodweb.com")
  1395. (synopsis "Framework for creating type-safe, RESTful web applications")
  1396. (description "The Haskell package package groups together the various
  1397. Yesod related packages into one cohesive whole. This is the version of Yesod,
  1398. whereas most of the core code lives in @code{ghc-yesod-core}.")
  1399. (license license:expat)))
  1400. (define-public ghc-hxt-charproperties
  1401. (package
  1402. (name "ghc-hxt-charproperties")
  1403. (version "9.4.0.0")
  1404. (source
  1405. (origin
  1406. (method url-fetch)
  1407. (uri (string-append "https://hackage.haskell.org/package/"
  1408. "hxt-charproperties/hxt-charproperties-"
  1409. version ".tar.gz"))
  1410. (sha256
  1411. (base32
  1412. "1bk88hj2pqlvcnyfncqyb9j7w9vvdxcq3cgr0w2l09c0abas23pm"))))
  1413. (build-system haskell-build-system)
  1414. (home-page "https://github.com/UweSchmidt/hxt")
  1415. (synopsis "Character properties and classes for XML and Unicode")
  1416. (description
  1417. "The modules provided by this package contain predicates for Unicode
  1418. blocks and char properties and character predicates defined by XML. The
  1419. supported Unicode version is 7.0.0")
  1420. (license license:expat)))
  1421. (define-public ghc-hxt-unicode
  1422. (package
  1423. (name "ghc-hxt-unicode")
  1424. (version "9.0.2.4")
  1425. (source
  1426. (origin
  1427. (method url-fetch)
  1428. (uri (string-append
  1429. "https://hackage.haskell.org/package/hxt-unicode/hxt-unicode-"
  1430. version
  1431. ".tar.gz"))
  1432. (sha256
  1433. (base32
  1434. "0rj48cy8z4fl3zpg5bpa458kqr83adav6jnqv4i71dclpprj6n3v"))))
  1435. (build-system haskell-build-system)
  1436. (inputs
  1437. `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)))
  1438. (home-page
  1439. "http://www.fh-wedel.de/~si/HXmlToolbox/index.html https://github.com/UweSchmidt/hxt")
  1440. (synopsis
  1441. "Unicode en-/decoding functions for utf8, iso-latin-* and other encodings")
  1442. (description
  1443. "This package provides Unicode encoding and decoding functions for
  1444. encodings used in the Haskell XML Toolbox. ISO Latin 1-16, utf8, utf16, ASCII
  1445. are supported. Decoding is done with lazy functions, errors may be detected or
  1446. ignored.")
  1447. (license license:expat)))
  1448. (define-public ghc-hxt-regex-xmlschema
  1449. (package
  1450. (name "ghc-hxt-regex-xmlschema")
  1451. (version "9.2.0.3")
  1452. (source
  1453. (origin
  1454. (method url-fetch)
  1455. (uri (string-append "https://hackage.haskell.org/package/"
  1456. "hxt-regex-xmlschema/hxt-regex-xmlschema-"
  1457. version ".tar.gz"))
  1458. (sha256
  1459. (base32
  1460. "1c4jr0439f5yc05h7iz53fa47g6l2wrvqp6gvwf01mlqajk3nx7l"))))
  1461. (build-system haskell-build-system)
  1462. (inputs
  1463. `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
  1464. ("ghc-hunit" ,ghc-hunit)))
  1465. (home-page "https://wiki.haskell.org/Regular_expressions_for_XML_Schema")
  1466. (synopsis "Regular expression library for W3C XML Schema regular expressions")
  1467. (description
  1468. "This library supports full W3C XML Schema regular expressions inclusive
  1469. all Unicode character sets and blocks. It is implemented by the technique of
  1470. derivations of regular expressions.")
  1471. (license license:expat)))
  1472. (define-public ghc-hxt
  1473. (package
  1474. (name "ghc-hxt")
  1475. (version "9.3.1.18")
  1476. (source
  1477. (origin
  1478. (method url-fetch)
  1479. (uri (string-append
  1480. "https://hackage.haskell.org/package/hxt/hxt-"
  1481. version
  1482. ".tar.gz"))
  1483. (sha256
  1484. (base32
  1485. "0836k65px3w9c5h1h2bmzq5a7mp6ajxwvfg3pfr2kbxwkgc0j63j"))))
  1486. (build-system haskell-build-system)
  1487. (outputs '("out" "static" "doc"))
  1488. (inputs
  1489. `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
  1490. ("ghc-hxt-unicode" ,ghc-hxt-unicode)
  1491. ("ghc-hxt-regex-xmlschema" ,ghc-hxt-regex-xmlschema)
  1492. ("ghc-network-uri" ,ghc-network-uri)))
  1493. (home-page "https://github.com/UweSchmidt/hxt")
  1494. (synopsis "Collection of tools for processing XML with Haskell")
  1495. (description
  1496. "The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but
  1497. introduces a more general approach for processing XML with Haskell.")
  1498. (license license:expat)))
  1499. (define-public ghc-http-common
  1500. (package
  1501. (name "ghc-http-common")
  1502. (version "0.8.2.0")
  1503. (source
  1504. (origin
  1505. (method url-fetch)
  1506. (uri (string-append "https://hackage.haskell.org/package/"
  1507. "http-common/http-common-" version ".tar.gz"))
  1508. (sha256
  1509. (base32
  1510. "14s5a178sb2vm5k00rs21760mds5dz2gs10k9iyn22h01mxyf599"))))
  1511. (build-system haskell-build-system)
  1512. (inputs
  1513. `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
  1514. ("ghc-blaze-builder" ,ghc-blaze-builder)
  1515. ("ghc-case-insensitive" ,ghc-case-insensitive)
  1516. ("ghc-network" ,ghc-network)
  1517. ("ghc-unordered-containers" ,ghc-unordered-containers)))
  1518. (home-page "https://github.com/afcowie/http-streams/")
  1519. (synopsis "Common types for HTTP clients and servers")
  1520. (description "Base types used by a variety of HTTP clients and
  1521. servers. See http-streams @code{Network.Http.Client} or pipes-http
  1522. @code{Pipes.Http.Client} for full documentation. You can import
  1523. @code{Network.Http.Types} if you like, but both http-streams and
  1524. pipes-http re-export this package's types and functions.")
  1525. (license license:bsd-3)))
  1526. (define-public ghc-http-streams
  1527. (package
  1528. (name "ghc-http-streams")
  1529. (version "0.8.6.1")
  1530. (source
  1531. (origin
  1532. (method url-fetch)
  1533. (uri (string-append "https://hackage.haskell.org/package/"
  1534. "http-streams/http-streams-" version ".tar.gz"))
  1535. (sha256
  1536. (base32
  1537. "18vxd35n7s3z4gjvad94bknc8z1w9d7ccgphnhsxlz5cackizmxq"))))
  1538. (build-system haskell-build-system)
  1539. (inputs
  1540. `(("ghc-attoparsec" ,ghc-attoparsec)
  1541. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  1542. ("ghc-blaze-builder" ,ghc-blaze-builder)
  1543. ("ghc-case-insensitive" ,ghc-case-insensitive)
  1544. ("ghc-io-streams" ,ghc-io-streams)
  1545. ("ghc-hsopenssl" ,ghc-hsopenssl)
  1546. ("ghc-openssl-streams" ,ghc-openssl-streams)
  1547. ("ghc-unordered-containers" ,ghc-unordered-containers)
  1548. ("ghc-aeson" ,ghc-aeson)
  1549. ("ghc-http-common" ,ghc-http-common)
  1550. ("ghc-network-uri" ,ghc-network-uri)
  1551. ("ghc-network" ,ghc-network)))
  1552. (arguments
  1553. `(#:tests? #f)) ; tests rely on an outdated version of snap-server
  1554. (home-page "https://github.com/afcowie/http-streams/")
  1555. (synopsis "HTTP client using io-streams")
  1556. (description "An HTTP client using the Snap Framework's io-streams
  1557. library to handle the streaming IO. The API is optimized for ease of
  1558. use for the rather common case of code needing to query web services and
  1559. deal with the result.")
  1560. (license license:bsd-3)))
  1561. (define-public ghc-snap-core
  1562. (package
  1563. (name "ghc-snap-core")
  1564. (version "1.0.4.0")
  1565. (source
  1566. (origin
  1567. (method url-fetch)
  1568. (uri (string-append "https://hackage.haskell.org/package/"
  1569. "snap-core/snap-core-" version ".tar.gz"))
  1570. (sha256
  1571. (base32
  1572. "0dklxgrbqhnb6bc4ic358g4fyj11ywmjrkxxhqcjmci2hhpn00mr"))))
  1573. (build-system haskell-build-system)
  1574. (inputs
  1575. `(("ghc-old-locale" ,ghc-old-locale)
  1576. ("ghc-hunit" ,ghc-hunit)
  1577. ("ghc-attoparsec" ,ghc-attoparsec)
  1578. ("ghc-bytestring-builder" ,ghc-bytestring-builder)
  1579. ("ghc-case-insensitive" ,ghc-case-insensitive)
  1580. ("ghc-lifted-base" ,ghc-lifted-base)
  1581. ("ghc-io-streams" ,ghc-io-streams)
  1582. ("ghc-hashable" ,ghc-hashable)
  1583. ("ghc-monad-control" ,ghc-monad-control)
  1584. ("ghc-random" ,ghc-random)
  1585. ("ghc-readable" ,ghc-readable)
  1586. ("ghc-regex-posix" ,ghc-regex-posix)
  1587. ("ghc-transformers-base" ,ghc-transformers-base)
  1588. ("ghc-unix-compat" ,ghc-unix-compat)
  1589. ("ghc-unordered-containers" ,ghc-unordered-containers)
  1590. ("ghc-vector" ,ghc-vector)
  1591. ("ghc-network-uri" ,ghc-network-uri)
  1592. ("ghc-network" ,ghc-network)))
  1593. (native-inputs
  1594. `(("ghc-quickcheck" ,ghc-quickcheck)
  1595. ("ghc-parallel" ,ghc-parallel)
  1596. ("ghc-test-framework" ,ghc-test-framework)
  1597. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  1598. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
  1599. ("ghc-zlib" ,ghc-zlib)))
  1600. (home-page "http://snapframework.com/")
  1601. (synopsis "Haskell Web Framework (core interfaces and types)")
  1602. (description "Snap is a simple and fast web development framework
  1603. and server written in Haskell. For more information, you can visit the
  1604. Snap project website at @uref{http://snapframework.com/}. This library
  1605. contains the core definitions and types for the Snap framework.")
  1606. (license license:bsd-3)))
  1607. (define-public ghc-snap-server
  1608. (package
  1609. (name "ghc-snap-server")
  1610. (version "1.1.1.1")
  1611. (source
  1612. (origin
  1613. (method url-fetch)
  1614. (uri (string-append "https://hackage.haskell.org/package/"
  1615. "snap-server/snap-server-" version ".tar.gz"))
  1616. (sha256
  1617. (base32
  1618. "0lw475wp0lnrbgc3jcfif3qjjc3pmrh2k74d8cgpnc1304g6a2s5"))))
  1619. (build-system haskell-build-system)
  1620. (inputs
  1621. `(("ghc-attoparsec" ,ghc-attoparsec)
  1622. ("ghc-blaze-builder" ,ghc-blaze-builder)
  1623. ("ghc-bytestring-builder" ,ghc-bytestring-builder)
  1624. ("ghc-case-insensitive" ,ghc-case-insensitive)
  1625. ("ghc-clock" ,ghc-clock)
  1626. ("ghc-io-streams" ,ghc-io-streams)
  1627. ("ghc-io-streams-haproxy" ,ghc-io-streams-haproxy)
  1628. ("ghc-lifted-base" ,ghc-lifted-base)
  1629. ("ghc-network" ,ghc-network)
  1630. ("ghc-old-locale" ,ghc-old-locale)
  1631. ("ghc-snap-core" ,ghc-snap-core)
  1632. ("ghc-unix-compat" ,ghc-unix-compat)
  1633. ("ghc-vector" ,ghc-vector)))
  1634. (native-inputs
  1635. `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
  1636. ("ghc-monad-control" ,ghc-monad-control)
  1637. ("ghc-random" ,ghc-random)
  1638. ("ghc-threads" ,ghc-threads)
  1639. ("ghc-hunit" ,ghc-hunit)
  1640. ("ghc-quickcheck" ,ghc-quickcheck)
  1641. ("ghc-http-streams" ,ghc-http-streams)
  1642. ("ghc-http-common" ,ghc-http-common)
  1643. ("ghc-parallel" ,ghc-parallel)
  1644. ("ghc-test-framework" ,ghc-test-framework)
  1645. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  1646. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  1647. (arguments
  1648. `(#:cabal-revision
  1649. ("1" "094b7ll47lxd4lvr6kd59jyw0vz686gw5cx16w758d6fli0cy3x3")))
  1650. (home-page "http://snapframework.com/")
  1651. (synopsis "Web server for the Snap Framework")
  1652. (description "Snap is a simple and fast web development framework
  1653. and server written in Haskell. For more information, you can visit the
  1654. Snap project website at @uref{http://snapframework.com/}. The Snap HTTP
  1655. server is a high performance web server library written in Haskell.
  1656. Together with the snap-core library upon which it depends, it provides a
  1657. clean and efficient Haskell programming interface to the HTTP
  1658. protocol.")
  1659. (license license:bsd-3)))
  1660. (define-public ghc-js-jquery
  1661. (package
  1662. (name "ghc-js-jquery")
  1663. (version "3.3.1")
  1664. (source
  1665. (origin
  1666. (method url-fetch)
  1667. (uri
  1668. (string-append
  1669. "https://hackage.haskell.org/package/js-jquery/js-jquery-"
  1670. version ".tar.gz"))
  1671. (sha256
  1672. (base32
  1673. "16q68jzbs7kp07dnq8cprdcc8fd41rim38039vg0w4x11lgniq70"))))
  1674. (build-system haskell-build-system)
  1675. (arguments `(#:tests? #f)) ; tests do network IO
  1676. (home-page "https://github.com/ndmitchell/js-jquery")
  1677. (synopsis "Obtain minified jQuery code")
  1678. (description "This package bundles the minified
  1679. @url{http://jquery.com/, jQuery} code into a Haskell package, so it can
  1680. be depended upon by Cabal packages. The first three components of the
  1681. version number match the upstream jQuery version. The package is
  1682. designed to meet the redistribution requirements of downstream
  1683. users (e.g. Debian).")
  1684. (license license:expat)))
  1685. (define-public ghc-js-flot
  1686. (package
  1687. (name "ghc-js-flot")
  1688. (version "0.8.3")
  1689. (source
  1690. (origin
  1691. (method url-fetch)
  1692. (uri
  1693. (string-append
  1694. "https://hackage.haskell.org/package/js-flot/js-flot-"
  1695. version ".tar.gz"))
  1696. (sha256
  1697. (base32
  1698. "0yjyzqh3qzhy5h3nql1fckw0gcfb0f4wj9pm85nafpfqp2kg58hv"))))
  1699. (build-system haskell-build-system)
  1700. (inputs
  1701. `(("ghc-http" ,ghc-http)))
  1702. (home-page "https://github.com/ndmitchell/js-flot")
  1703. (synopsis "Obtain minified flot code")
  1704. (description "This package bundles the minified
  1705. @url{http://www.flotcharts.org/, Flot} code (a jQuery plotting library)
  1706. into a Haskell package, so it can be depended upon by Cabal packages.
  1707. The first three components of the version number match the upstream flot
  1708. version. The package is designed to meet the redistribution
  1709. requirements of downstream users (e.g. Debian).")
  1710. (license license:expat)))
  1711. (define-public ghc-happstack-server
  1712. (package
  1713. (name "ghc-happstack-server")
  1714. (version "7.5.4")
  1715. (source
  1716. (origin
  1717. (method url-fetch)
  1718. (uri (string-append
  1719. "https://hackage.haskell.org/package/happstack-server/happstack-server-"
  1720. version ".tar.gz"))
  1721. (sha256
  1722. (base32
  1723. "0i7csvmwv7n68gkwqzi985p2mjdgzipjnlj873sdiknhx9pfmq70"))))
  1724. (build-system haskell-build-system)
  1725. (inputs
  1726. `(("ghc-network" ,ghc-network)
  1727. ("ghc-network-bsd" ,ghc-network-bsd)
  1728. ("ghc-network-uri" ,ghc-network-uri)
  1729. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  1730. ("ghc-blaze-html" ,ghc-blaze-html)
  1731. ("ghc-exceptions" ,ghc-exceptions)
  1732. ("ghc-extensible-exceptions"
  1733. ,ghc-extensible-exceptions)
  1734. ("ghc-hslogger" ,ghc-hslogger)
  1735. ("ghc-html" ,ghc-html)
  1736. ("ghc-monad-control" ,ghc-monad-control)
  1737. ("ghc-old-locale" ,ghc-old-locale)
  1738. ("ghc-semigroups" ,ghc-semigroups)
  1739. ("ghc-sendfile" ,ghc-sendfile)
  1740. ("ghc-system-filepath" ,ghc-system-filepath)
  1741. ("ghc-syb" ,ghc-syb)
  1742. ("ghc-threads" ,ghc-threads)
  1743. ("ghc-transformers-base" ,ghc-transformers-base)
  1744. ("ghc-transformers-compat"
  1745. ,ghc-transformers-compat)
  1746. ("ghc-utf8-string" ,ghc-utf8-string)
  1747. ("ghc-zlib" ,ghc-zlib)))
  1748. (native-inputs `(("ghc-hunit" ,ghc-hunit)))
  1749. (home-page "http://happstack.com")
  1750. (synopsis "Web related tools and services for Haskell")
  1751. (description
  1752. "Happstack Server provides an HTTP server and a rich set of functions for
  1753. routing requests, handling query parameters, generating responses, working with
  1754. cookies, serving files, and more.")
  1755. (license license:bsd-3)))
  1756. (define-public ghc-sendfile
  1757. (package
  1758. (name "ghc-sendfile")
  1759. (version "0.7.11.1")
  1760. (source
  1761. (origin
  1762. (method url-fetch)
  1763. (uri (string-append
  1764. "https://hackage.haskell.org/package/sendfile/sendfile-"
  1765. version ".tar.gz"))
  1766. (sha256
  1767. (base32
  1768. "0988snmx3bylpw3kcq8hsgji8idc6xcrcfp275qjv3apfdgc9rp0"))))
  1769. (build-system haskell-build-system)
  1770. (inputs `(("ghc-network" ,ghc-network)))
  1771. (home-page
  1772. "https://hub.darcs.net/stepcut/sendfile")
  1773. (synopsis "Portable sendfile library for Haskell")
  1774. (description
  1775. "Haskell library which exposes zero-copy sendfile functionality in a portable way.")
  1776. (license license:bsd-3)))
  1777. (define-public ghc-scalpel-core
  1778. (package
  1779. (name "ghc-scalpel-core")
  1780. (version "0.6.0")
  1781. (source
  1782. (origin
  1783. (method url-fetch)
  1784. (uri (string-append
  1785. "https://hackage.haskell.org/package/scalpel-core/"
  1786. "scalpel-core-" version ".tar.gz"))
  1787. (sha256
  1788. (base32
  1789. "1qf0gnidyh8zk0acj99vn6hsj37m410lrm50sqpiv1i36rpmmsqh"))))
  1790. (build-system haskell-build-system)
  1791. (inputs
  1792. `(("ghc-data-default" ,ghc-data-default)
  1793. ("ghc-fail" ,ghc-fail)
  1794. ("ghc-pointedlist" ,ghc-pointedlist)
  1795. ("ghc-regex-base" ,ghc-regex-base)
  1796. ("ghc-regex-tdfa" ,ghc-regex-tdfa)
  1797. ("ghc-tagsoup" ,ghc-tagsoup)
  1798. ("ghc-vector" ,ghc-vector)))
  1799. (native-inputs `(("ghc-hunit" ,ghc-hunit)))
  1800. (home-page "https://github.com/fimad/scalpel")
  1801. (synopsis
  1802. "High level web scraping library for Haskell")
  1803. (description
  1804. "Scalpel core provides a subset of the scalpel web scraping library
  1805. that is intended to have lightweight dependencies and to be free of all
  1806. non-Haskell dependencies.")
  1807. (license license:asl2.0)))
  1808. (define-public ghc-scalpel
  1809. (package
  1810. (name "ghc-scalpel")
  1811. (version "0.6.0")
  1812. (source
  1813. (origin
  1814. (method url-fetch)
  1815. (uri (string-append
  1816. "https://hackage.haskell.org/package/scalpel/"
  1817. "scalpel-" version ".tar.gz"))
  1818. (sha256
  1819. (base32
  1820. "0jbrfcgljl8kbcwi2zqx1jp3c3dpxrkc94za44x56kcz68n89hlz"))))
  1821. (build-system haskell-build-system)
  1822. (inputs
  1823. `(("ghc-scalpel-core" ,ghc-scalpel-core)
  1824. ("ghc-case-insensitive" ,ghc-case-insensitive)
  1825. ("ghc-data-default" ,ghc-data-default)
  1826. ("ghc-http-client" ,ghc-http-client)
  1827. ("ghc-http-client-tls" ,ghc-http-client-tls)
  1828. ("ghc-tagsoup" ,ghc-tagsoup)))
  1829. (home-page "https://github.com/fimad/scalpel")
  1830. (synopsis
  1831. "High level web scraping library for Haskell")
  1832. (description
  1833. "Scalpel is a web scraping library inspired by libraries like Parsec
  1834. and Perl's @code{Web::Scraper}. Scalpel builds on top of TagSoup to provide a
  1835. declarative and monadic interface.")
  1836. (license license:asl2.0)))
  1837. (define-public ghc-sourcemap
  1838. (package
  1839. (name "ghc-sourcemap")
  1840. (version "0.1.6")
  1841. (source
  1842. (origin
  1843. (method url-fetch)
  1844. (uri (string-append
  1845. "mirror://hackage/package/sourcemap/sourcemap-"
  1846. version
  1847. ".tar.gz"))
  1848. (sha256
  1849. (base32
  1850. "0ynfm44ym8y592wnzdwa0d05dbkffyyg5sm26y5ylzpynk64r85r"))))
  1851. (build-system haskell-build-system)
  1852. (inputs
  1853. `(("ghc-aeson" ,ghc-aeson)
  1854. ("ghc-unordered-containers" ,ghc-unordered-containers)
  1855. ("ghc-attoparsec" ,ghc-attoparsec)
  1856. ("ghc-utf8-string" ,ghc-utf8-string)))
  1857. (arguments
  1858. `(#:tests? #f ; FIXME: Fail to compile
  1859. #:cabal-revision
  1860. ("1" "1f7q44ar6qfip8fsllg43jyn7r15ifn2r0vz32cbmx0sb0d38dax")))
  1861. (home-page
  1862. "http://hackage.haskell.org/package/sourcemap")
  1863. (synopsis
  1864. "Implementation of source maps as proposed by Google and Mozilla")
  1865. (description
  1866. "Sourcemap provides an implementation of source maps, revision 3,
  1867. proposed by Google and Mozilla here
  1868. @url{https://wiki.mozilla.org/DevTools/Features/SourceMap}.")
  1869. (license license:bsd-3)))
  1870. (define-public ghc-language-javascript
  1871. (package
  1872. (name "ghc-language-javascript")
  1873. (version "0.7.0.0")
  1874. (source
  1875. (origin
  1876. (method url-fetch)
  1877. (uri (string-append
  1878. "mirror://hackage/package/language-javascript/language-javascript-"
  1879. version
  1880. ".tar.gz"))
  1881. (sha256
  1882. (base32
  1883. "15bpqpkjf2y3fk8wff9zlnkpsjc63bnbvhlkxrs9alj0bikq17nk"))))
  1884. (build-system haskell-build-system)
  1885. (inputs
  1886. `(("ghc-blaze-builder" ,ghc-blaze-builder)
  1887. ("ghc-utf8-string" ,ghc-utf8-string)))
  1888. (native-inputs
  1889. `(("ghc-alex" ,ghc-alex)
  1890. ("ghc-quickcheck" ,ghc-quickcheck)
  1891. ("ghc-happy" ,ghc-happy)
  1892. ("ghc-hspec" ,ghc-hspec)
  1893. ("ghc-utf8-light" ,ghc-utf8-light)))
  1894. (home-page
  1895. "https://github.com/erikd/language-javascript")
  1896. (synopsis "Parser for JavaScript")
  1897. (description
  1898. "Parses Javascript into an Abstract Syntax Tree (AST). Initially intended
  1899. as frontend to hjsmin.")
  1900. (license license:bsd-3)))
  1901. (define-public ghc-bower-json
  1902. (package
  1903. (name "ghc-bower-json")
  1904. (version "1.0.0.1")
  1905. (source
  1906. (origin
  1907. (method url-fetch)
  1908. (uri (string-append
  1909. "mirror://hackage/package/bower-json/bower-json-"
  1910. version
  1911. ".tar.gz"))
  1912. (sha256
  1913. (base32
  1914. "0wvygg3rdbxzrmr61a9w6ddv9pfric85ih8hnxyk0ydzn7i59abs"))))
  1915. (build-system haskell-build-system)
  1916. (inputs
  1917. `(("ghc-aeson" ,ghc-aeson)
  1918. ("ghc-aeson-better-errors" ,ghc-aeson-better-errors)
  1919. ("ghc-scientific" ,ghc-scientific)
  1920. ("ghc-transformers" ,ghc-transformers)
  1921. ("ghc-unordered-containers" ,ghc-unordered-containers)))
  1922. (native-inputs
  1923. `(("ghc-tasty" ,ghc-tasty)
  1924. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  1925. (home-page "https://github.com/hdgarrood/bower-json")
  1926. (synopsis "Read bower.json from Haskell")
  1927. (description
  1928. "This package provides a data type and ToJSON/FromJSON instances for
  1929. Bower's package manifest file, bower.json.")
  1930. (license license:expat)))
  1931. (define-public ghc-dav
  1932. (package
  1933. (name "ghc-dav")
  1934. (version "1.3.4")
  1935. (source
  1936. (origin
  1937. (method url-fetch)
  1938. (uri (string-append "https://hackage.haskell.org/package/DAV/DAV-"
  1939. version ".tar.gz"))
  1940. (sha256
  1941. (base32 "1isvi4fahq70lzxfz23as7qzkc01g7kba568l6flrgd0j1984fsy"))))
  1942. (build-system haskell-build-system)
  1943. (inputs
  1944. `(("ghc-case-insensitive" ,ghc-case-insensitive)
  1945. ("ghc-data-default" ,ghc-data-default)
  1946. ("ghc-exceptions" ,ghc-exceptions)
  1947. ("ghc-http-client" ,ghc-http-client)
  1948. ("ghc-http-client-tls" ,ghc-http-client-tls)
  1949. ("ghc-http-types" ,ghc-http-types)
  1950. ("ghc-lens" ,ghc-lens)
  1951. ("ghc-transformers-base" ,ghc-transformers-base)
  1952. ("ghc-transformers-compat" ,ghc-transformers-compat)
  1953. ("ghc-utf8-string" ,ghc-utf8-string)
  1954. ("ghc-xml-conduit" ,ghc-xml-conduit)
  1955. ("ghc-xml-hamlet" ,ghc-xml-hamlet)
  1956. ("ghc-network" ,ghc-network)
  1957. ("ghc-network-uri" ,ghc-network-uri)
  1958. ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
  1959. (home-page "http://floss.scru.org/hDAV")
  1960. (synopsis "RFC 4918 WebDAV support")
  1961. (description "This package provides a library for the Web Distributed
  1962. Authoring and Versioning (WebDAV) extensions to HTTP as well an executable,
  1963. @command{hdav}, for command-line operation.")
  1964. (license license:gpl3)))
  1965. (define-public ghc-yesod-test
  1966. (package
  1967. (name "ghc-yesod-test")
  1968. (version "1.6.9")
  1969. (source
  1970. (origin
  1971. (method url-fetch)
  1972. (uri (string-append "https://hackage.haskell.org/package/"
  1973. "yesod-test/yesod-test-" version ".tar.gz"))
  1974. (sha256
  1975. (base32
  1976. "0v25lqq7hgd5lggnyfd9kamkzd4126rd7vlhc131n253n4by4yak"))))
  1977. (build-system haskell-build-system)
  1978. (inputs
  1979. `(("ghc-hunit" ,ghc-hunit)
  1980. ("ghc-aeson" ,ghc-aeson)
  1981. ("ghc-attoparsec" ,ghc-attoparsec)
  1982. ("ghc-blaze-builder" ,ghc-blaze-builder)
  1983. ("ghc-blaze-html" ,ghc-blaze-html)
  1984. ("ghc-case-insensitive" ,ghc-case-insensitive)
  1985. ("ghc-conduit" ,ghc-conduit)
  1986. ("ghc-cookie" ,ghc-cookie)
  1987. ("ghc-hspec-core" ,ghc-hspec-core)
  1988. ("ghc-html-conduit" ,ghc-html-conduit)
  1989. ("ghc-http-types" ,ghc-http-types)
  1990. ("ghc-network" ,ghc-network)
  1991. ("ghc-memory" ,ghc-memory)
  1992. ("ghc-pretty-show" ,ghc-pretty-show)
  1993. ("ghc-semigroups" ,ghc-semigroups)
  1994. ("ghc-wai" ,ghc-wai)
  1995. ("ghc-wai-extra" ,ghc-wai-extra)
  1996. ("ghc-xml-conduit" ,ghc-xml-conduit)
  1997. ("ghc-xml-types" ,ghc-xml-types)
  1998. ("ghc-yesod-core" ,ghc-yesod-core)))
  1999. (native-inputs
  2000. `(("ghc-hspec" ,ghc-hspec)
  2001. ("ghc-yesod-form" ,ghc-yesod-form)
  2002. ("ghc-unliftio" ,ghc-unliftio)
  2003. ("ghc-unliftio-core" ,ghc-unliftio-core)))
  2004. (home-page "https://www.yesodweb.com")
  2005. (synopsis "Integration testing for WAI/Yesod Applications")
  2006. (description "This package's main goal is to encourage integration
  2007. and system testing of web applications by making everything easy to
  2008. test. Tests are like browser sessions that keep track of cookies and
  2009. the last visited page. You can perform assertions on the content of
  2010. HTML responses using CSS selectors.")
  2011. (license license:expat)))
  2012. (define-public ghc-wai-app-static
  2013. (package
  2014. (name "ghc-wai-app-static")
  2015. (version "3.1.7.1")
  2016. (source
  2017. (origin
  2018. (method url-fetch)
  2019. (uri (string-append "https://hackage.haskell.org/package/"
  2020. "wai-app-static/wai-app-static-"
  2021. version ".tar.gz"))
  2022. (sha256
  2023. (base32
  2024. "10k6jb450p89r6dgpnwh428gg0wfw2qbx9n126jkvbchcjr1f4v8"))))
  2025. (build-system haskell-build-system)
  2026. (inputs
  2027. `(("ghc-wai" ,ghc-wai)
  2028. ("ghc-http-types" ,ghc-http-types)
  2029. ("ghc-unix-compat" ,ghc-unix-compat)
  2030. ("ghc-old-locale" ,ghc-old-locale)
  2031. ("ghc-file-embed" ,ghc-file-embed)
  2032. ("ghc-cryptonite" ,ghc-cryptonite)
  2033. ("ghc-memory" ,ghc-memory)
  2034. ("ghc-http-date" ,ghc-http-date)
  2035. ("ghc-blaze-html" ,ghc-blaze-html)
  2036. ("ghc-blaze-markup" ,ghc-blaze-markup)
  2037. ("ghc-mime-types" ,ghc-mime-types)
  2038. ("ghc-unordered-containers" ,ghc-unordered-containers)
  2039. ("ghc-zlib" ,ghc-zlib)
  2040. ("ghc-wai-extra" ,ghc-wai-extra)
  2041. ("ghc-optparse-applicative" ,ghc-optparse-applicative)
  2042. ("ghc-warp" ,ghc-warp)))
  2043. (native-inputs
  2044. `(("ghc-hspec" ,ghc-hspec)
  2045. ("ghc-network" ,ghc-network)
  2046. ("ghc-temporary" ,ghc-temporary)
  2047. ("ghc-mockery" ,ghc-mockery)))
  2048. (arguments
  2049. `(#:cabal-revision
  2050. ("1" "0bkmml30rzifvb7nxddj3pxczk0kniahra19mjn0qrkzy1n5752p")))
  2051. (home-page "https://www.yesodweb.com/book/web-application-interface")
  2052. (synopsis "WAI application for static serving")
  2053. (description "This package provides a Web Application
  2054. Interface (WAI) application for static serving. It also provides some
  2055. helper functions and datatypes for use outside of WAI.")
  2056. (license license:expat)))
  2057. (define-public ghc-hjsmin
  2058. (package
  2059. (name "ghc-hjsmin")
  2060. (version "0.2.0.4")
  2061. (source
  2062. (origin
  2063. (method url-fetch)
  2064. (uri (string-append "https://hackage.haskell.org/package/"
  2065. "hjsmin/hjsmin-" version ".tar.gz"))
  2066. (sha256
  2067. (base32
  2068. "1r2p5rjdjr25j3w4s57q5hxw2c3ymw12x7ms18yvglnq2ivr9fc1"))))
  2069. (build-system haskell-build-system)
  2070. (arguments
  2071. `(#:phases
  2072. (modify-phases %standard-phases
  2073. (add-before 'build 'fix-dist-directory-for-tests
  2074. (lambda _
  2075. (substitute* '("test/test-cli.hs" "test/cli/core/runner")
  2076. (("dist-newstyle") "dist")))))))
  2077. (inputs
  2078. `(("ghc-language-javascript" ,ghc-language-javascript)
  2079. ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
  2080. (native-inputs
  2081. `(("ghc-extra" ,ghc-extra)))
  2082. (home-page "https://github.com/erikd/hjsmin")
  2083. (synopsis "Haskell implementation of a JavaScript minifier")
  2084. (description "This library provides tools reduce the size of
  2085. JavaScript files by stripping out extraneous whitespace and other
  2086. syntactic elements, without changing the semantics.")
  2087. (license license:bsd-3)))
  2088. (define-public ghc-yesod-static
  2089. (package
  2090. (name "ghc-yesod-static")
  2091. (version "1.6.0.1")
  2092. (source
  2093. (origin
  2094. (method url-fetch)
  2095. (uri (string-append "https://hackage.haskell.org/package/"
  2096. "yesod-static/yesod-static-" version ".tar.gz"))
  2097. (sha256
  2098. (base32
  2099. "1jd0ryfr2vyrwasyvbqmc6j4ngv1lgz78w427f169l7gyl1firxb"))))
  2100. (build-system haskell-build-system)
  2101. (inputs
  2102. `(("ghc-async" ,ghc-async)
  2103. ("ghc-attoparsec" ,ghc-attoparsec)
  2104. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  2105. ("ghc-blaze-builder" ,ghc-blaze-builder)
  2106. ("ghc-conduit" ,ghc-conduit)
  2107. ("ghc-cryptonite" ,ghc-cryptonite)
  2108. ("ghc-cryptonite-conduit" ,ghc-cryptonite-conduit)
  2109. ("ghc-css-text" ,ghc-css-text)
  2110. ("ghc-data-default" ,ghc-data-default)
  2111. ("ghc-file-embed" ,ghc-file-embed)
  2112. ("ghc-hashable" ,ghc-hashable)
  2113. ("ghc-hjsmin" ,ghc-hjsmin)
  2114. ("ghc-http-types" ,ghc-http-types)
  2115. ("ghc-memory" ,ghc-memory)
  2116. ("ghc-mime-types" ,ghc-mime-types)
  2117. ("ghc-unix-compat" ,ghc-unix-compat)
  2118. ("ghc-unordered-containers" ,ghc-unordered-containers)
  2119. ("ghc-wai" ,ghc-wai)
  2120. ("ghc-wai-app-static" ,ghc-wai-app-static)
  2121. ("ghc-yesod-core" ,ghc-yesod-core)))
  2122. (native-inputs
  2123. `(("ghc-hspec" ,ghc-hspec)
  2124. ("ghc-yesod-test" ,ghc-yesod-test)
  2125. ("ghc-wai-extra" ,ghc-wai-extra)
  2126. ("ghc-hunit" ,ghc-hunit)
  2127. ("ghc-rio" ,ghc-rio)))
  2128. (home-page "https://www.yesodweb.com/")
  2129. (synopsis "Static file serving subsite for Yesod")
  2130. (description "This package provides a static file serving subsite
  2131. for the Yesod Web Framework.")
  2132. (license license:expat)))
  2133. (define-public ghc-wai-handler-launch
  2134. (package
  2135. (name "ghc-wai-handler-launch")
  2136. (version "3.0.3.1")
  2137. (source
  2138. (origin
  2139. (method url-fetch)
  2140. (uri (string-append "https://hackage.haskell.org/package/"
  2141. "wai-handler-launch/wai-handler-launch-"
  2142. version ".tar.gz"))
  2143. (sha256
  2144. (base32
  2145. "1ifqgyc1ccig5angh5l1iq7vyms4lvi8wzvysg5dw82nml49n02m"))))
  2146. (build-system haskell-build-system)
  2147. (inputs
  2148. `(("ghc-wai" ,ghc-wai)
  2149. ("ghc-warp" ,ghc-warp)
  2150. ("ghc-http-types" ,ghc-http-types)
  2151. ("ghc-streaming-commons" ,ghc-streaming-commons)
  2152. ("ghc-async" ,ghc-async)))
  2153. (home-page "https://hackage.haskell.org/package/wai-handler-launch")
  2154. (synopsis "Launch a Web application in the default browser")
  2155. (description "This package handles cross-platform Web browser
  2156. launching and inserts JavaScript code to ping the server. When the
  2157. server no longer receives pings, it shuts down.")
  2158. (license license:expat)))
  2159. (define-public ghc-wai-cors
  2160. (package
  2161. (name "ghc-wai-cors")
  2162. (version "0.2.7")
  2163. (source
  2164. (origin
  2165. (method url-fetch)
  2166. (uri (string-append "https://hackage.haskell.org/package/"
  2167. "wai-cors/wai-cors-" version ".tar.gz"))
  2168. (sha256
  2169. (base32
  2170. "10gv3jjlkcb13031frr818p56v2s0qf6dqjsfpwlhwdxdssvx5r5"))))
  2171. (build-system haskell-build-system)
  2172. (arguments
  2173. `(#:phases
  2174. (modify-phases %standard-phases
  2175. ;; As of version 0.2.7, there are two test suites: "unit-tests"
  2176. ;; and "phantomjs". Since we do not have a PhantomJS package,
  2177. ;; we only run the unit tests.
  2178. (replace 'check
  2179. (lambda _
  2180. (invoke "runhaskell" "Setup.hs" "test" "unit-tests"))))))
  2181. (inputs
  2182. `(("ghc-attoparsec" ,ghc-attoparsec)
  2183. ("ghc-base-unicode-symbols" ,ghc-base-unicode-symbols)
  2184. ("ghc-case-insensitive" ,ghc-case-insensitive)
  2185. ("ghc-http-types" ,ghc-http-types)
  2186. ("ghc-wai" ,ghc-wai)))
  2187. (native-inputs
  2188. `(("ghc-network" ,ghc-network)
  2189. ("ghc-wai-websockets" ,ghc-wai-websockets)
  2190. ("ghc-warp" ,ghc-warp)
  2191. ("ghc-websockets" ,ghc-websockets)
  2192. ("ghc-tasty" ,ghc-tasty)
  2193. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  2194. ("ghc-wai-extra" ,ghc-wai-extra)
  2195. ("ghc-wai-websockets" ,ghc-wai-websockets)
  2196. ("ghc-warp" ,ghc-warp)
  2197. ("ghc-websockets" ,ghc-websockets)))
  2198. (home-page "https://github.com/larskuhtz/wai-cors")
  2199. (synopsis "Cross-Origin Resource Sharing (CORS) for WAI")
  2200. (description "This package provides an implementation of Cross-Origin
  2201. Resource Sharing (CORS) for the Web Application Framework (WAI) that
  2202. aims to be compliant with @url{https://www.w3.org/TR/cors}.")
  2203. (license license:expat)))