diff options
Diffstat (limited to 'gnu/packages/haskell-web.scm')
-rw-r--r-- | gnu/packages/haskell-web.scm | 1454 |
1 files changed, 673 insertions, 781 deletions
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index d2f706f222..75b84b10a7 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -49,12 +49,12 @@ (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/tagsoup/" - "tagsoup-" version ".tar.gz")) + (uri (hackage-uri "tagsoup" version)) (sha256 (base32 "1m9sx6gr9y9yxvkmcap8xsks8cnhznvma1mrfl39zljkv005azms")))) (build-system haskell-build-system) + (properties '((upstream-name . "tagsoup"))) (native-inputs (list ghc-quickcheck)) (home-page "https://github.com/ndmitchell/tagsoup") @@ -76,14 +76,12 @@ for screen-scraping.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/cookie/cookie-" - version - ".tar.gz")) + (uri (hackage-uri "cookie" version)) (sha256 (base32 "10rmdasb7mypbwxdj2mhr810vqhkakpik7hyd8fvj60hng8r8zvh")))) (build-system haskell-build-system) + (properties '((upstream-name . "cookie"))) (inputs (list ghc-old-locale ghc-blaze-builder @@ -104,12 +102,12 @@ for screen-scraping.") (version "1.3.8") (source (origin (method url-fetch) - (uri (string-append "mirror://hackage/package/curl/curl-" - version ".tar.gz")) + (uri (hackage-uri "curl" version)) (sha256 (base32 "0vj4hpaa30jz7c702xpsfvqaqdxz28zslsqnsfx6bf6dpwvck1wh")))) (build-system haskell-build-system) + (properties '((upstream-name . "curl"))) (inputs (list curl)) (home-page "https://hackage.haskell.org/package/curl") @@ -126,12 +124,12 @@ This package provides a Haskell binding to libcurl.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/httpd-shed/" - "httpd-shed-" version ".tar.gz")) + (uri (hackage-uri "httpd-shed" version)) (sha256 (base32 "19dgdimpzr7pxk7pqvyin6j87gmvnf0rm35gzhmna8qr835wy3sr")))) (build-system haskell-build-system) + (properties '((upstream-name . "httpd-shed"))) (inputs (list ghc-network-bsd ghc-network-uri ghc-network)) (home-page "https://hackage.haskell.org/package/httpd-shed") @@ -149,12 +147,12 @@ requests, and the library is intended for implementing Ajax APIs.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/http-types/" - "http-types-" version ".tar.gz")) + (uri (hackage-uri "http-types" version)) (sha256 (base32 "05j00b9nqmwh9zaq9y9x50k81v2pd3j7a71kd91zlnbl8xk4m2jf")))) (build-system haskell-build-system) + (properties '((upstream-name . "http-types"))) (native-inputs (list ghc-doctest ghc-hspec ghc-quickcheck ghc-quickcheck-instances hspec-discover)) @@ -169,48 +167,26 @@ both client and server code).") (define-public ghc-http (package (name "ghc-http") - (version "4000.3.16") - (outputs '("out" "static" "doc")) - (source - (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/HTTP/" - "HTTP-" version ".tar.gz")) - (sha256 - (base32 - "0bgyj3ahqlyg0jw6qsm2sncp8mklc4h0dj91s043vb3ig01iq2fn")))) + (version "4000.4.1") + (source (origin + (method url-fetch) + (uri (hackage-uri "HTTP" version)) + (sha256 + (base32 + "0lyl5lpkk51xn3dfndh8ksgvwcdsviyigmsnp3d28lbpxkpxhcfz")))) (build-system haskell-build-system) - (native-inputs - (list ghc-httpd-shed ghc-hunit ghc-test-framework - ghc-test-framework-hunit)) - (inputs - (list ghc-case-insensitive - ghc-conduit - ghc-conduit-extra - ghc-http-types - ghc-old-time - ghc-puremd5 - ghc-network - ghc-network-uri - ghc-split)) + (properties '((upstream-name . "HTTP"))) + (inputs (list ghc-network ghc-network-uri)) + (native-inputs (list ghc-httpd-shed + ghc-hunit + ghc-puremd5 + ghc-split + ghc-test-framework + ghc-test-framework-hunit)) (arguments - `(#:tests? #f ; FIXME: currently missing libraries used for tests. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'create-simple-paths-module - (lambda _ - (call-with-output-file "Paths_HTTP.hs" - (lambda (port) - (format port "\ -{-# LANGUAGE CPP #-} -{-# LANGUAGE NoRebindableSyntax #-} -{-# OPTIONS_GHC -fno-warn-missing-import-lists #-} -module Paths_HTTP (version) where -import Data.Version (Version(..)) -version :: Version -version = Version [~a] [] -" (string-map (lambda (chr) (if (eq? chr #\.) #\, chr)) ,version)))) - #t))))) + `(#:tests? #f ; Tests fail due to missing /etc/protocols? + #:cabal-revision ("1" + "04y04vbxbnblpmqqmpl8km4bkcjaj96nbxkssdr1zgbhqisxay5q"))) (home-page "https://github.com/haskell/HTTP") (synopsis "Library for client-side HTTP") (description @@ -222,38 +198,35 @@ responses coming back.") (define-public ghc-http-client (package (name "ghc-http-client") - (version "0.7.11") + (version "0.7.13.1") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "http-client/http-client-" - version ".tar.gz")) + (uri (hackage-uri "http-client" version)) (sha256 (base32 - "12j7vkpkm2djws6ny7vm2324c7916d0iaf1mbvf4mfjxzy2w7imv")))) + "09qfmakjk285jz2rnb53c1m9c764fg8vngfq43ipga1g72h8d3n9")))) (build-system haskell-build-system) - ;; Tests require access to the web. - (arguments `(#:tests? #f)) - (inputs - (list ghc-async - ghc-base64-bytestring - ghc-blaze-builder - ghc-case-insensitive - ghc-cookie - ghc-data-default-class - ghc-exceptions - ghc-http-types - ghc-iproute - ghc-memory - ghc-mime-types - ghc-monad-control - ghc-network - ghc-network-uri - ghc-random - ghc-streaming-commons - ghc-zlib)) - (native-inputs - (list ghc-hspec)) + (properties '((upstream-name . "http-client"))) + (inputs (list ghc-http-types + ghc-blaze-builder + ghc-network + ghc-streaming-commons + ghc-case-insensitive + ghc-base64-bytestring + ghc-cookie + ghc-random + ghc-mime-types + ghc-iproute + ghc-async + ghc-network-uri)) + (native-inputs (list ghc-hspec + ghc-monad-control + ghc-zlib + ghc-hspec + ghc-monad-control + ghc-zlib + hspec-discover)) + (arguments (list #:tests? #f)) ; Tests try to access httpbin.org. (home-page "https://github.com/snoyberg/http-client") (synopsis "HTTP client engine") (description @@ -267,13 +240,12 @@ for more user-friendly packages.") (version "0.3.6.1") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "http-client-tls/http-client-tls-" - version ".tar.gz")) + (uri (hackage-uri "http-client-tls" version)) (sha256 (base32 "03f8p9gxdzl6slyw1r6vpv2dqhsyjvbaawbjv75kaq0vlj3gz7xi")))) (build-system haskell-build-system) + (properties '((upstream-name . "http-client-tls"))) ;; Tests require Internet access (arguments `(#:tests? #f)) (inputs @@ -304,6 +276,7 @@ libraries, such as http-conduit.") (sha256 (base32 "1vfm9qc3zr0rmq2ddgyg13i67020cdk8xqhyzfc2zcn1km2p6r85")))) (build-system haskell-build-system) + (properties '((upstream-name . "http-client-restricted"))) (inputs (list ghc-http-client ghc-http-client-tls @@ -312,7 +285,7 @@ libraries, such as http-conduit.") ghc-network ghc-network-bsd ghc-utf8-string)) - (home-page "http://hackage.haskell.org/package/http-client-restricted") + (home-page "https://hackage.haskell.org/package/http-client-restricted") (synopsis "Restrict the servers used by http-client") (description "This library makes it possible to restrict the HTTP servers that can be @@ -328,13 +301,12 @@ servers on localhost or only allow connections to a specific server.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "http-date-" version "/" - "http-date-" version ".tar.gz")) + (uri (hackage-uri "http-date" version)) (sha256 (base32 "1lzlrj2flcnz3k5kfhf11nk5n8m6kcya0lkwrsnzxgfr3an27y9j")))) (build-system haskell-build-system) + (properties '((upstream-name . "http-date"))) (inputs (list ghc-attoparsec)) (native-inputs @@ -348,43 +320,44 @@ Date in Haskell.") (define-public ghc-http2 (package (name "ghc-http2") - (version "3.0.2") - (source - (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "http2-" version "/" - "http2-" version ".tar.gz")) - (sha256 - (base32 - "13c2z35gdimncgpyg5dn5cpjvd83rbrigc8b40crg36678m0k0d1")))) + (version "3.0.3") + (source (origin + (method url-fetch) + (uri (hackage-uri "http2" version)) + (sha256 + (base32 + "1kv99i3pnnx31xndlkaczrpd2j5mvzbqlfz1kaw6cwlwkdnl5bhv")))) (build-system haskell-build-system) - (inputs - (list ghc-aeson - ghc-aeson-pretty - ghc-base16-bytestring - ghc-case-insensitive - ghc-cryptonite - ghc-http-types - ghc-network-byte-order - ghc-network - ghc-network-run - ghc-psqueues - ghc-time-manager - ghc-unix-time - ghc-unordered-containers - ghc-vector - ghc-word8)) - (native-inputs - (list ghc-async - ghc-doctest - ghc-glob - ghc-hspec - hspec-discover - ghc-typed-process)) + (properties '((upstream-name . "http2"))) + (inputs (list ghc-async + ghc-case-insensitive + ghc-http-types + ghc-network + ghc-network-byte-order + ghc-psqueues + ghc-time-manager + ghc-unix-time + ghc-network-run + ghc-cryptonite + ghc-aeson + ghc-aeson-pretty + ghc-base16-bytestring + ghc-unordered-containers + ghc-vector + ghc-word8)) + (native-inputs (list ghc-doctest + ghc-hspec + ghc-typed-process + ghc-hspec + ghc-typed-process + ghc-hspec + ghc-glob + ghc-hspec + hspec-discover)) (home-page "https://github.com/kazu-yamamoto/http2") (synopsis "HTTP/2 library including frames, priority queues and HPACK") - (description "This package provides a HTTP/2.0 library including frames + (description + "This package provides a HTTP/2.0 library including frames and HPACK. Currently HTTP/2 16 framing and HPACK 10 is supported.") (license license:bsd-3))) @@ -395,13 +368,12 @@ and HPACK. Currently HTTP/2 16 framing and HPACK 10 is supported.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "http-conduit-" version "/" "http-conduit-" - version ".tar.gz")) + (uri (hackage-uri "http-conduit" version)) (sha256 (base32 "1bj24phbcb7s3k6v48l5gk82m3m23j8zy9l7c5ccxp3ghn9z5gng")))) (build-system haskell-build-system) + (properties '((upstream-name . "http-conduit"))) ;; FIXME: `httpLbs TLS` in test-suite `test` fails with ;; ConnectionFailure getProtocolByName: does not exist (no such protocol ;; name: tcp) @@ -450,35 +422,30 @@ which allow you to avoid direct usage of conduits.") (define-public ghc-http-reverse-proxy (package (name "ghc-http-reverse-proxy") - (version "0.6.0") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/http-reverse-proxy/" - "http-reverse-proxy-" version ".tar.gz")) - (sha256 - (base32 - "1a6i5njf85b2lhg8m83njagcf09wih5q2irnyb2890s724qr277v")))) + (version "0.6.0.1") + (source (origin + (method url-fetch) + (uri (hackage-uri "http-reverse-proxy" version)) + (sha256 + (base32 + "0a0fc9rqr1crbb1sbq3gzbkwjcfff662d4bgmy3vzspk7ky697ld")))) (build-system haskell-build-system) - (inputs - (list ghc-case-insensitive - ghc-http-types - ghc-word8 - ghc-blaze-builder - ghc-http-client - ghc-wai - ghc-network - ghc-conduit - ghc-conduit-extra - ghc-wai-logger - ghc-resourcet - ghc-unliftio - ghc-streaming-commons)) - (native-inputs - (list ghc-hspec ghc-warp ghc-http-conduit)) - (home-page - "https://github.com/fpco/http-reverse-proxy") + (properties '((upstream-name . "http-reverse-proxy"))) + (inputs (list ghc-case-insensitive + ghc-http-types + ghc-word8 + ghc-blaze-builder + ghc-http-client + ghc-wai + ghc-network + ghc-conduit + ghc-conduit-extra + ghc-wai-logger + ghc-resourcet + ghc-unliftio + ghc-streaming-commons)) + (native-inputs (list ghc-hspec ghc-warp ghc-http-conduit)) + (home-page "https://github.com/fpco/http-reverse-proxy") (synopsis "Reverse proxy HTTP requests, either over raw sockets or with WAI") (description @@ -494,14 +461,12 @@ approach performs full request/response parsing via WAI and http-conduit.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/wai/wai-" - version - ".tar.gz")) + (uri (hackage-uri "wai" version)) (sha256 (base32 "1y19h9v0cq1fl17ywcyyvd6419fhgyw2s0yk0ki8z60021adcx2m")))) (build-system haskell-build-system) + (properties '((upstream-name . "wai"))) (inputs (list ghc-bytestring-builder ghc-unix-compat @@ -521,18 +486,16 @@ communication between web applications and web servers.") (define-public ghc-wai-logger (package (name "ghc-wai-logger") - (version "2.3.6") + (version "2.4.0") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/wai-logger/wai-logger-" - version - ".tar.gz")) + (uri (hackage-uri "wai-logger" version)) (sha256 (base32 - "0hbm7if28p6qa36cgpyq6i569275si53z9gsl2g1z8x09z3xiyz2")))) + "02i9jsy5gdglqwwk5gcvax8y498lz9flrfp4v9nrv8rmrmd66zh5")))) (build-system haskell-build-system) + (properties '((upstream-name . "wai-logger"))) (arguments `(#:tests? #f)) ; FIXME: Tests cannot find libraries exported ; by propagated-inputs. (inputs @@ -554,40 +517,39 @@ communication between web applications and web servers.") (define-public ghc-wai-extra (package (name "ghc-wai-extra") - (version "3.1.7") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/wai-extra/wai-extra-" - version - ".tar.gz")) - (sha256 - (base32 - "1avf7bjcsbs8l6klp5kkd0cd2dc5n0j0a2yf8813pnwfn5b7qyd4")))) + (version "3.1.13.0") + (source (origin + (method url-fetch) + (uri (hackage-uri "wai-extra" version)) + (sha256 + (base32 + "1h4cqd5akrq0vhv3l0fzryy7qw0c2jb58lngx7x8ij63bckjs3fz")))) (build-system haskell-build-system) - (inputs - (list ghc-ansi-terminal - ghc-base64-bytestring - ghc-call-stack - ghc-cookie - ghc-network - ghc-streaming-commons - ghc-resourcet - ghc-fast-logger - ghc-wai-logger - ghc-word8 - ghc-iproute - ghc-wai - ghc-http-types - ghc-http2 - ghc-case-insensitive - ghc-data-default-class - ghc-vault - ghc-aeson)) - (native-inputs - (list hspec-discover ghc-hspec ghc-hunit ghc-zlib)) - (home-page "https://github.com/yesodweb/wai") + (properties '((upstream-name . "wai-extra"))) + (inputs (list ghc-aeson + ghc-ansi-terminal + ghc-base64-bytestring + ghc-call-stack + ghc-case-insensitive + ghc-cookie + ghc-data-default-class + ghc-fast-logger + ghc-http-types + ghc-hunit + ghc-iproute + ghc-network + ghc-resourcet + ghc-streaming-commons + ghc-vault + ghc-wai + ghc-wai-logger + ghc-warp + ghc-word8)) + (native-inputs (list ghc-hspec ghc-temporary ghc-zlib hspec-discover)) + (arguments + `(#:cabal-revision ("1" + "0dyvg2bb37im790757khncxpnf45451dd8575p736ry4g8rpqgpw"))) + (home-page "http://github.com/yesodweb/wai") (synopsis "Some basic WAI handlers and middleware") (description "This library provides basic WAI handlers and middleware functionality.") @@ -600,13 +562,12 @@ functionality.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "wai-conduit-" version "/" - "wai-conduit-" version ".tar.gz")) + (uri (hackage-uri "wai-conduit" version)) (sha256 (base32 "07yn41rn2skd5p3wqqa09wa761vj7ibl8l19gh4bi4i8slxhk417")))) (build-system haskell-build-system) + (properties '((upstream-name . "wai-conduit"))) (inputs (list ghc-conduit ghc-http-types ghc-wai ghc-blaze-builder)) (home-page "https://github.com/yesodweb/wai") @@ -622,20 +583,14 @@ Haskell's Web Application Interface (WAI).") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "bsb-http-chunked/bsb-http-chunked-" - version ".tar.gz")) + (uri (hackage-uri "bsb-http-chunked" version)) (sha256 (base32 "0z0f18yc6zlwh29c6175ivfcin325lvi4irpvv0n3cmq7vi0k0ql")))) (build-system haskell-build-system) + (properties '((upstream-name . "bsb-http-chunked"))) (arguments - `(;; XXX: As of 0.0.4, one property test ("Identical output as Blaze") - ;; fails on i686-linux. - #:tests? ,(and (not (%current-target-system)) - (not (string-prefix? "i686" (or (%current-target-system) - (%current-system))))) + `(#:tests? #f ; Tests fail: Variable not in scope. #:cabal-revision ("3" "15hg352id2f4x0dnvv47bdiz6gv5hp5a2mki9yzmhc7ajpk31mdd"))) (native-inputs @@ -656,16 +611,15 @@ transfers.") (define-public ghc-warp (package (name "ghc-warp") - (version "3.3.17") + (version "3.3.23") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "warp-" version "/" "warp-" version - ".tar.gz")) + (uri (hackage-uri "warp" version)) (sha256 - (base32 "0v54ca3wpa79gdyiikwhbv9h8b5vr3d60piq3ndb2v7s7fi1qpm0")))) + (base32 "0y1r7czq5zrgklqrx1b9pmxn5lhmf7zpqdjz7hfmnzsmr3vndmms")))) (build-system haskell-build-system) + (properties '((upstream-name . "warp"))) (inputs (list ghc-async ghc-auto-update @@ -685,7 +639,8 @@ transfers.") ghc-simple-sendfile ghc-unliftio ghc-x509 - ghc-http2)) + ghc-http2 + ghc-recv)) (native-inputs (list curl ghc-silently @@ -709,14 +664,12 @@ based WAI (Web Application Interface in Haskell).") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "tls-session-manager/tls-session-manager-" - version ".tar.gz")) + (uri (hackage-uri "tls-session-manager" version)) (sha256 (base32 "134kb5nz668f4xrr5g98g7fc1bwb3ri6q433a1i6asjkniwpy85s")))) (build-system haskell-build-system) + (properties '((upstream-name . "tls-session-manager"))) (inputs (list ghc-auto-update ghc-clock ghc-psqueues ghc-tls)) (home-page "https://hackage.haskell.org/package/tls-session-manager") @@ -728,28 +681,25 @@ limitation, automatic pruning, energy saving and replay resistance.") (define-public ghc-warp-tls (package (name "ghc-warp-tls") - (version "3.3.2") - (source - (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "warp-tls-" version "/" - "warp-tls-" version ".tar.gz")) - (sha256 - (base32 - "0b9viw26ymzq4q8snfddz3w59sqcf5ankxnw6f99iacxjhk6zs6m")))) + (version "3.3.4") + (source (origin + (method url-fetch) + (uri (hackage-uri "warp-tls" version)) + (sha256 + (base32 + "00vgs9v7k0fapl05knqii9g47svf4lapb7ixkll7xr4zvmkk0r0m")))) (build-system haskell-build-system) - (inputs - (list ghc-cryptonite - ghc-data-default-class - ghc-network - ghc-streaming-commons - ghc-tls - ghc-tls-session-manager - ghc-unliftio - ghc-wai - ghc-warp)) - (home-page "https://github.com/yesodweb/wai") + (properties '((upstream-name . "warp-tls"))) + (inputs (list ghc-wai + ghc-warp + ghc-data-default-class + ghc-tls + ghc-cryptonite + ghc-network + ghc-streaming-commons + ghc-tls-session-manager + ghc-unliftio)) + (home-page "http://github.com/yesodweb/wai") (synopsis "SSL/TLS support for Warp") (description "This package provides SSL/TLS support for Warp, a WAI handler, via the native Haskell TLS implementation.") @@ -758,36 +708,34 @@ a WAI handler, via the native Haskell TLS implementation.") (define-public ghc-websockets (package (name "ghc-websockets") - (version "0.12.7.2") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/websockets/websockets-" - version - ".tar.gz")) - (sha256 - (base32 - "1b92a41l2var1ccg350mh2bjmb2plb6d79yzvmlwkd41nifmmi44")))) + (version "0.12.7.3") + (source (origin + (method url-fetch) + (uri (hackage-uri "websockets" version)) + (sha256 + (base32 + "0g3z0n4irf3gvbdf9p97jq05ybdg0gwjy5bj4nfc7ivsvyhaic6k")))) (build-system haskell-build-system) - (inputs - (list ghc-attoparsec - ghc-base64-bytestring - ghc-bytestring-builder - ghc-case-insensitive - ghc-network - ghc-random - ghc-sha - ghc-clock - ghc-async - ghc-streaming-commons - ghc-entropy)) - (native-inputs - (list ghc-hunit ghc-quickcheck ghc-test-framework - ghc-test-framework-hunit ghc-test-framework-quickcheck2)) - (home-page "https://jaspervdj.be/websockets/") - (synopsis - "Write WebSocket-capable servers in Haskell") + (properties '((upstream-name . "websockets"))) + (inputs (list ghc-async + ghc-attoparsec + ghc-base64-bytestring + ghc-bytestring-builder + ghc-case-insensitive + ghc-clock + ghc-network + ghc-random + ghc-sha + ghc-streaming-commons + ghc-entropy)) + (native-inputs (list ghc-hunit ghc-quickcheck ghc-test-framework + ghc-test-framework-hunit + ghc-test-framework-quickcheck2)) + (arguments + `(#:cabal-revision ("1" + "1yx97y6jl74vy200y43vjxfyzx338kh10dx8vxkjhr0mfh36wldq"))) + (home-page "http://jaspervdj.be/websockets") + (synopsis "Write WebSocket-capable servers in Haskell") (description "This library allows you to write WebSocket-capable servers. @@ -812,14 +760,12 @@ See also: (source (origin (method url-fetch) - (uri (string-append - "mirror://hackage/package/wai-websockets/wai-websockets-" - version - ".tar.gz")) + (uri (hackage-uri "wai-websockets" version)) (sha256 (base32 "0b2xmdsrsqpssyib53wbr6r8hf75789ndyyanv37sv99iyqcwz4i")))) (build-system haskell-build-system) + (properties '((upstream-name . "wai-websockets"))) (inputs (list ghc-wai ghc-case-insensitive ghc-network ghc-websockets ghc-http-types)) @@ -835,27 +781,25 @@ See also: (define-public ghc-xss-sanitize (package (name "ghc-xss-sanitize") - (version "0.3.6") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/xss-sanitize/xss-sanitize-" - version ".tar.gz")) - (sha256 - (base32 - "1d72s3a6520iwwc1wbn9v2znqgbw6a5wwzb23iq8ny9ccnjyx1dk")))) + (version "0.3.7.1") + (source (origin + (method url-fetch) + (uri (hackage-uri "xss-sanitize" version)) + (sha256 + (base32 + "1lmmyh28mb1k44m63m7qx6iy4x2fgqq5srmky47dsm0fby9iag1h")))) (build-system haskell-build-system) - (inputs - (list ghc-tagsoup ghc-utf8-string ghc-css-text ghc-network-uri)) - (native-inputs - (list ghc-attoparsec ghc-hspec ghc-hunit)) - (home-page "https://github.com/yesodweb/haskell-xss-sanitize") + (properties '((upstream-name . "xss-sanitize"))) + (inputs (list ghc-attoparsec ghc-css-text ghc-network-uri ghc-tagsoup + ghc-utf8-string)) + (native-inputs (list ghc-hunit ghc-hspec)) + (home-page "https://github.com/yesodweb/haskell-xss-sanitize#readme") (synopsis "Sanitize untrusted HTML to prevent XSS attacks") - (description "This library provides @code{sanitizeXSS}. Run untrusted + (description + "This library provides @code{sanitizeXSS}. Run untrusted HTML through @code{Text.HTML.SanitizeXSS.sanitizeXSS} to prevent XSS attacks.") - (license license:bsd-3))) + (license license:bsd-2))) (define-public ghc-css-text (package @@ -864,14 +808,12 @@ attacks.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/css-text/css-text-" - version - ".tar.gz")) + (uri (hackage-uri "css-text" version)) (sha256 (base32 "0ynd9f4hn2sfwqzbsa0y7phmxq8za7jiblpjwx0ry8b372zhgxaz")))) (build-system haskell-build-system) + (properties '((upstream-name . "css-text"))) (inputs (list ghc-attoparsec ghc-hspec ghc-quickcheck)) (home-page "https://www.yesodweb.com/") @@ -886,13 +828,12 @@ Haskell.") (version "0.1.0.9") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "mime-types/mime-types-" - version ".tar.gz")) + (uri (hackage-uri "mime-types" version)) (sha256 (base32 "1lkipa4v73z3l5lqs6sdhl898iq41kyxv2jb9agsajzgd58l6cha")))) (build-system haskell-build-system) + (properties '((upstream-name . "mime-types"))) (home-page "https://github.com/yesodweb/wai") (synopsis "Basic MIME type handling types and functions") (description @@ -906,14 +847,12 @@ Haskell.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/html/html-" - version - ".tar.gz")) + (uri (hackage-uri "html" version)) (sha256 (base32 "0q9hmfii62kc82ijlg238fxrzxhsivn42x5wd6ffcr9xldg4jd8c")))) (build-system haskell-build-system) + (properties '((upstream-name . "html"))) (home-page "https://hackage.haskell.org/package/html") (synopsis "HTML combinator library") @@ -929,13 +868,12 @@ documents.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/html-conduit/" - "html-conduit-" version ".tar.gz")) + (uri (hackage-uri "html-conduit" version)) (sha256 (base32 "09bwrdam3y47kqllgg6w098ghqb8jb10dp4wxirsvx5ddpx9zpi6")))) (build-system haskell-build-system) + (properties '((upstream-name . "html-conduit"))) (inputs (list ghc-resourcet ghc-conduit @@ -963,13 +901,12 @@ entity decoding bugfixes applied.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "blaze-html/blaze-html-" - version ".tar.gz")) + (uri (hackage-uri "blaze-html" version)) (sha256 (base32 "0k1r1hddjgqighazcazxrx6xfhvy2gm8il8l82ainv3cai13yl30")))) (build-system haskell-build-system) + (properties '((upstream-name . "blaze-html"))) (arguments `(#:tests? #f ; TODO: Depends on quickcheck<2.14 #:cabal-revision @@ -979,7 +916,7 @@ entity decoding bugfixes applied.") (native-inputs (list ghc-hunit ghc-quickcheck ghc-test-framework ghc-test-framework-hunit ghc-test-framework-quickcheck2)) - (home-page "http://jaspervdj.be/blaze") + (home-page "https://jaspervdj.be/blaze") (synopsis "Fast HTML combinator library") (description "This library provides HTML combinators for Haskell.") (license license:bsd-3))) @@ -987,56 +924,54 @@ entity decoding bugfixes applied.") (define-public ghc-aeson (package (name "ghc-aeson") - (version "1.5.6.0") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/aeson/aeson-" - version - ".tar.gz")) - (sha256 - (base32 - "1s5z4bgb5150h6a4cjf5vh8dmyrn6ilh29gh05999v6jwd5w6q83")))) - (build-system haskell-build-system) + (version "2.0.3.0") + (source (origin + (method url-fetch) + (uri (hackage-uri "aeson" version)) + (sha256 + (base32 + "09dk0j33n262dm75vff3y3i9fm6lh06dyqswwv7a6kvnhhmhlxhr")))) + (build-system haskell-build-system) + (properties '((upstream-name . "aeson"))) + (inputs (list ghc-base-compat-batteries + ghc-time-compat + ghc-attoparsec + ghc-data-fix + ghc-dlist + ghc-hashable + ghc-indexed-traversable + ghc-onetuple + ghc-primitive + ghc-quickcheck + ghc-scientific + ghc-semialign + ghc-strict + ghc-tagged + ghc-text-short + ghc-th-abstraction + ghc-these + ghc-unordered-containers + ghc-uuid-types + ghc-vector + ghc-witherable)) + (native-inputs (list ghc-base-compat + ghc-base-orphans + ghc-base16-bytestring + ghc-diff + ghc-generic-deriving + ghc-integer-logarithms + ghc-quickcheck-instances + ghc-tasty + ghc-tasty-golden + ghc-tasty-hunit + ghc-tasty-quickcheck)) (arguments - `(#:tests? #f ; FIXME: testing libraries are missing. - #:cabal-revision - ("2" "1zxkarvmbgc2cpcc9sx1rlqm7nfh473052898ypiwk8azawp1hbj"))) - (outputs '("out" "static" "doc")) - (inputs - (list ghc-attoparsec - ghc-base-compat-batteries - ghc-data-fix - ghc-dlist - ghc-hashable - ghc-primitive - ghc-scientific - ghc-strict - ghc-tagged - ghc-th-abstraction - ghc-these - ghc-time-compat - ghc-unordered-containers - ghc-uuid-types - ghc-vector)) -; (native-inputs -; `(("ghc-base16-bytestring" ,ghc-base16-bytestring) -; ("ghc-base-compat" ,ghc-base-compat) -; ("ghc-base-orphans" ,ghc-base-orphans) -; ("ghc-diff" ,ghc-diff) -; ("ghc-generic-deriving" ,ghc-generic-deriving) -; ("ghc-hashable-time" ,ghc-hashable-time) -; ("ghc-integer-logarithms" ,ghc-integer-logarithms) -; ("ghc-quickcheck" ,ghc-quickcheck) -; ("ghc-quickcheck-instances" ,ghc-quickcheck-instances) -; ("ghc-tasty" ,ghc-tasty) -; ("ghc-tasty-golden" ,ghc-tasty-golden) -; ("ghc-tasty-hunit" ,ghc-tasty-hunit) -; ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) - (home-page "https://github.com/bos/aeson") + `(#:cabal-revision ("1" + "1zrgn63jzrpk3n3vd44zkzgw7kb5qxlvhx4nk6g3sswwrsz5j32i"))) + (home-page "https://github.com/haskell/aeson") (synopsis "Fast JSON parsing and encoding") - (description "This package provides a JSON parsing and encoding library + (description + "This package provides a JSON parsing and encoding library for Haskell, optimized for ease of use and high performance. (A note on naming: in Greek mythology, Aeson was the father of Jason.)") (license license:bsd-3))) @@ -1047,13 +982,12 @@ naming: in Greek mythology, Aeson was the father of Jason.)") (version "0.8.9") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/aeson-pretty/aeson-pretty-" - version ".tar.gz")) + (uri (hackage-uri "aeson-pretty" version)) (sha256 (base32 "021az9az6xik9c9s3rnar5fr1lgy2h3igibf5ixnc7ps3m2lzg2x")))) (build-system haskell-build-system) + (properties '((upstream-name . "aeson-pretty"))) (inputs (list ghc-aeson ghc-base-compat @@ -1080,12 +1014,12 @@ essentially the opposite of pretty-printing.") (version "0.8.4") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "aeson-qq/aeson-qq-" version ".tar.gz")) + (uri (hackage-uri "aeson-qq" version)) (sha256 (base32 "0dpklq2xdhrkg1rdc7zfdjnzm6c3qxx2i1xskrqdxpqi84ffnlyh")))) (build-system haskell-build-system) + (properties '((upstream-name . "aeson-qq"))) (inputs (list ghc-base-compat ghc-attoparsec @@ -1106,30 +1040,27 @@ of a JSON value into a @code{Data.Aeson.Value}.") (define-public ghc-aeson-better-errors (package (name "ghc-aeson-better-errors") - (version "0.9.1.0") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://hackage/package/aeson-better-errors/aeson-better-errors-" - version - ".tar.gz")) - (sha256 - (base32 - "09vkyrhwak3bmpfsqcd2az8hfqqkxyhg468hv5avgisy0nzh3w38")))) + (version "0.9.1.1") + (source (origin + (method url-fetch) + (uri (hackage-uri "aeson-better-errors" version)) + (sha256 + (base32 + "05yibq9kqbjb8rh84n12sbax05amvd8jccpja0hyadz58pjy4jnk")))) (build-system haskell-build-system) - (inputs - (list ghc-aeson - ghc-unordered-containers - ghc-dlist - ghc-scientific - ghc-vector - ghc-transformers-compat - ghc-void)) - (home-page - "https://github.com/hdgarrood/aeson-better-errors") - (synopsis - "Better error messages when decoding JSON values in Haskell") + (properties '((upstream-name . "aeson-better-errors"))) + (inputs (list ghc-aeson + ghc-unordered-containers + ghc-dlist + ghc-scientific + ghc-vector + ghc-transformers-compat + ghc-void)) + (arguments + `(#:cabal-revision ("1" + "0wzvrmhn5q2x1mcv43cyxhlck815ldkhx7c7gz5ijjyva1iicgn2"))) + (home-page "https://github.com/hdgarrood/aeson-better-errors") + (synopsis "Better error messages when decoding JSON values in Haskell") (description "Gives you the tools to build parsers to decode JSON values, and gives good error messages when parsing fails. See also @@ -1143,16 +1074,17 @@ good error messages when parsing fails. See also (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/multipart/multipart-" - version - ".tar.gz")) + (uri (hackage-uri "multipart" version)) (sha256 (base32 "0p6n4knxpjv70nbl6cmd6x7gkdjsjqp4ya7fz00bfrqp7jvhlivn")))) (build-system haskell-build-system) + (properties '((upstream-name . "multipart"))) (inputs (list ghc-stringsearch)) + (arguments + `(#:cabal-revision ("1" + "03gaapwnvn843hpm5qwdci9df1wf383msd42p8w9ghilpfjj4qy9"))) (home-page "http://www.github.com/silkapp/multipart") (synopsis @@ -1168,15 +1100,17 @@ good error messages when parsing fails. See also (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/uri-encode/uri-encode-" - version ".tar.gz")) + (uri (hackage-uri "uri-encode" version)) (sha256 (base32 "0lj2h701af12539p957rw24bxr07mfqd5r4h52i42f43ax165767")))) (build-system haskell-build-system) + (properties '((upstream-name . "uri-encode"))) (inputs (list ghc-utf8-string ghc-network-uri)) + (arguments + `(#:cabal-revision ("2" + "03pmvbi56gmg1z2wr3glncc7dbyh666bqp565inh31qzsp9zwmgj"))) (home-page "https://hackage.haskell.org/package/uri-encode") (synopsis "Unicode aware uri-encoding") (description "Unicode aware uri-encoding for Haskell.") @@ -1189,13 +1123,12 @@ good error messages when parsing fails. See also (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "path-pieces-" version "/" - "path-pieces-" version ".tar.gz")) + (uri (hackage-uri "path-pieces" version)) (sha256 (base32 "0vx3sivcsld76058925hym2j6hm3g71f0qjr7v59f1g2afgx82q8")))) (build-system haskell-build-system) + (properties '((upstream-name . "path-pieces"))) (native-inputs (list ghc-hunit ghc-hspec ghc-quickcheck)) (home-page "https://github.com/yesodweb/path-pieces") (synopsis "Used in Yesod to automatically marshall data in the request path") @@ -1210,13 +1143,12 @@ Haskell data types to and from route pieces.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "skein-" version "/" - "skein-" version ".tar.gz")) + (uri (hackage-uri "skein" version)) (sha256 (base32 "1jdqdk0rz2wnvw735clnj8jh0a9rkrbqjg7vk3w6wczdql6cm0pq")))) (build-system haskell-build-system) + (properties '((upstream-name . "skein"))) (inputs (list ghc-cereal ghc-tagged ghc-crypto-api)) (native-inputs (list ghc-hspec)) (home-page "https://github.com/yesodweb/path-pieces") @@ -1236,13 +1168,12 @@ This Haskell package uses bindings to the optimized C implementation of Skein.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "clientsession-" version "/" - "clientsession-" version ".tar.gz")) + (uri (hackage-uri "clientsession" version)) (sha256 (base32 "0s6h4ykj16mpf7nlw2iqn2ji0p8g1fn5ni0s7yqaili6vv2as5ar")))) (build-system haskell-build-system) + (properties '((upstream-name . "clientsession"))) (inputs (list ghc-cereal ghc-tagged ghc-crypto-api @@ -1265,68 +1196,58 @@ avoid any issues with characters.") (define-public ghc-yesod-core (package (name "ghc-yesod-core") - (version "1.6.21.0") - (source - (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "yesod-core-" version "/" - "yesod-core-" version ".tar.gz")) - (sha256 - (base32 - "0wmh7ip318p89lyy6k5mvxkkpq43knp41wlq9iaf3icz0ahqdmb7")))) + (version "1.6.24.0") + (source (origin + (method url-fetch) + (uri (hackage-uri "yesod-core" version)) + (sha256 + (base32 + "19ilgm73108ki1hvqc86kir0yrx36vp9g45na6g8dmfsvk9izr10")))) (build-system haskell-build-system) - (inputs (list ghc-wai - ghc-extra - ghc-shakespeare - ghc-blaze-builder + (properties '((upstream-name . "yesod-core"))) + (inputs (list ghc-aeson + ghc-auto-update + ghc-blaze-html + ghc-blaze-markup + ghc-case-insensitive + ghc-cereal ghc-clientsession + ghc-conduit + ghc-conduit-extra + ghc-cookie + ghc-entropy + ghc-fast-logger + ghc-http-types + ghc-memory + ghc-monad-logger + ghc-path-pieces + ghc-primitive ghc-random - ghc-cereal - ghc-old-locale + ghc-resourcet + ghc-shakespeare + ghc-unix-compat ghc-unliftio ghc-unordered-containers - ghc-monad-control - ghc-transformers-base - ghc-cookie - ghc-http-types - ghc-case-insensitive ghc-vector - ghc-aeson - ghc-fast-logger + ghc-wai + ghc-wai-extra ghc-wai-logger - ghc-monad-logger - ghc-conduit - ghc-resourcet - ghc-rio - ghc-lifted-base - ghc-blaze-html - ghc-blaze-markup - ghc-data-default - ghc-safe ghc-warp - ghc-unix-compat - ghc-conduit-extra - ghc-exceptions - ghc-deepseq-generics - ghc-mwc-random - ghc-primitive - ghc-word8 - ghc-auto-update - ghc-semigroups - ghc-byteable)) + ghc-word8)) (native-inputs (list ghc-hspec - ghc-path-pieces ghc-hunit + ghc-async + ghc-hspec ghc-hspec-expectations - ghc-quickcheck ghc-network - ghc-async - ghc-streaming-commons - ghc-wai-extra)) - (home-page "https://www.yesodweb.com") + ghc-streaming-commons)) + (arguments + `(#:cabal-revision ("1" + "1406s7is60ji6nn3h1mafkdh7729ipq3i06cqsq77hz2ilj264jl"))) + (home-page "http://www.yesodweb.com/") (synopsis "Core package for the Yesod web framework") - (description "This Haskell package provides all core functionality, for + (description + "This Haskell package provides all core functionality, for Yesod, on which other packages can be built. It provides dispatch, handler functions, widgets, etc.") (license license:expat))) @@ -1334,18 +1255,15 @@ functions, widgets, etc.") (define-public ghc-yesod-persistent (package (name "ghc-yesod-persistent") - (version "1.6.0.7") - (source - (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "yesod-persistent-" version "/" - "yesod-persistent-" version ".tar.gz")) - (sha256 - (base32 - "102xmp7n08sk1g5rv31jpln2v9kqf1zsqsnmi83mnhmgggcbj1k4")))) + (version "1.6.0.8") + (source (origin + (method url-fetch) + (uri (hackage-uri "yesod-persistent" version)) + (sha256 + (base32 + "02vm0qm0yxqn6x61iir81wf6ibwnf8gkia8lw71fgpxgav154ig6")))) (build-system haskell-build-system) - (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH. + (properties '((upstream-name . "yesod-persistent"))) (inputs (list ghc-yesod-core ghc-persistent ghc-persistent-template @@ -1353,9 +1271,9 @@ functions, widgets, etc.") ghc-conduit ghc-resourcet ghc-resource-pool)) - (native-inputs (list ghc-hspec ghc-wai-extra ghc-yesod-core - ghc-persistent-sqlite)) - (home-page "https://www.yesodweb.com/") + (native-inputs (list ghc-hspec ghc-wai-extra ghc-persistent-sqlite + hspec-discover)) + (home-page "http://www.yesodweb.com/") (synopsis "Helpers for using Persistent from Yesod") (description "This Haskell package provides helpers for using Persistent from Yesod.") @@ -1363,81 +1281,75 @@ from Yesod.") (define-public ghc-yesod-form (package - (name "ghc-yesod-form") - (version "1.7.0") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/yesod-form/yesod-form-" - version - ".tar.gz")) - (sha256 - (base32 - "170gby381h5pg9njn908cyx2931yiv79x3rc5npg2rd74kif06vi")))) - (build-system haskell-build-system) - (inputs - (list ghc-yesod-core - ghc-yesod-persistent - ghc-shakespeare - ghc-persistent - ghc-data-default - ghc-xss-sanitize - ghc-blaze-builder - ghc-email-validate - ghc-wai - ghc-blaze-html - ghc-blaze-markup - ghc-attoparsec - ghc-byteable - ghc-aeson - ghc-resourcet - ghc-semigroups - ghc-network-uri - ghc-hspec)) - (home-page "https://www.yesodweb.com") - (synopsis "Form handling support for Yesod Web Framework") - (description "This Haskell package provides a set of basic form inputs such + (name "ghc-yesod-form") + (version "1.7.3") + (source (origin + (method url-fetch) + (uri (hackage-uri "yesod-form" version)) + (sha256 + (base32 + "10y3mfh96sicqyzngvl7f4wrjgkvl3znqnh71s8gx1vf7158sjww")))) + (build-system haskell-build-system) + (properties '((upstream-name . "yesod-form"))) + (inputs (list ghc-aeson + ghc-attoparsec + ghc-blaze-builder + ghc-blaze-html + ghc-blaze-markup + ghc-byteable + ghc-data-default + ghc-email-validate + ghc-persistent + ghc-resourcet + ghc-shakespeare + ghc-wai + ghc-xss-sanitize + ghc-yesod-core + ghc-yesod-persistent + ghc-network-uri)) + (native-inputs (list ghc-hspec)) + (home-page "http://www.yesodweb.com/") + (synopsis "Form handling support for Yesod Web Framework") + (description + "This Haskell package provides a set of basic form inputs such as text, number, time, checkbox, select, textarea, etc through the @code{Yesod.Form.Fields} module. Also, there is @code{Yesod.Form.Nic} module providing richtext field using Nic editor.") - (license license:expat))) + (license license:expat))) (define-public ghc-yesod (package (name "ghc-yesod") - (version "1.6.1.2") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/yesod/yesod-" - version ".tar.gz")) - (sha256 - (base32 - "13r0ispprj41kgn2rkc7zhy1rxfmgpjbmdlnys15h0ihhh3zhw2f")))) + (version "1.6.2.1") + (source (origin + (method url-fetch) + (uri (hackage-uri "yesod" version)) + (sha256 + (base32 + "1qglaxqx96c7wi4817ff67c9g2fxlnjzdpgic458i80khpdlmb5c")))) (build-system haskell-build-system) - (inputs - (list ghc-yesod-core - ghc-yesod-persistent - ghc-yesod-form - ghc-wai - ghc-wai-extra - ghc-warp - ghc-aeson - ghc-file-embed - ghc-data-default-class - ghc-unordered-containers - ghc-yaml - ghc-monad-logger - ghc-fast-logger - ghc-conduit - ghc-shakespeare - ghc-streaming-commons - ghc-wai-logger)) - (home-page "https://www.yesodweb.com") + (properties '((upstream-name . "yesod"))) + (inputs (list ghc-aeson + ghc-conduit + ghc-data-default-class + ghc-fast-logger + ghc-file-embed + ghc-monad-logger + ghc-shakespeare + ghc-streaming-commons + ghc-unordered-containers + ghc-wai + ghc-wai-extra + ghc-wai-logger + ghc-warp + ghc-yaml + ghc-yesod-core + ghc-yesod-form + ghc-yesod-persistent)) + (home-page "http://www.yesodweb.com/") (synopsis "Framework for creating type-safe, RESTful web applications") - (description "The Haskell package package groups together the various + (description + "The Haskell package package groups together the various Yesod related packages into one cohesive whole. This is the version of Yesod, whereas most of the core code lives in @code{ghc-yesod-core}.") (license license:expat))) @@ -1449,13 +1361,12 @@ whereas most of the core code lives in @code{ghc-yesod-core}.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "hxt-charproperties/hxt-charproperties-" - version ".tar.gz")) + (uri (hackage-uri "hxt-charproperties" version)) (sha256 (base32 "0jm98jddbsd60jc2bz8wa71rslagbaqf00ia7fvfsaiaa54nk0r8")))) (build-system haskell-build-system) + (properties '((upstream-name . "hxt-charproperties"))) (home-page "https://github.com/UweSchmidt/hxt") (synopsis "Character properties and classes for XML and Unicode") (description @@ -1471,14 +1382,12 @@ supported Unicode version is 7.0.0") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hxt-unicode/hxt-unicode-" - version - ".tar.gz")) + (uri (hackage-uri "hxt-unicode" version)) (sha256 (base32 "0rj48cy8z4fl3zpg5bpa458kqr83adav6jnqv4i71dclpprj6n3v")))) (build-system haskell-build-system) + (properties '((upstream-name . "hxt-unicode"))) (inputs (list ghc-hxt-charproperties)) (home-page @@ -1499,13 +1408,12 @@ ignored.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "hxt-regex-xmlschema/hxt-regex-xmlschema-" - version ".tar.gz")) + (uri (hackage-uri "hxt-regex-xmlschema" version)) (sha256 (base32 "0ynrf65m7abq2fjnarlwq6i1r99pl89npibxx05rlplcgpybrdmr")))) (build-system haskell-build-system) + (properties '((upstream-name . "hxt-regex-xmlschema"))) (inputs (list ghc-hxt-charproperties ghc-hunit)) (home-page "https://wiki.haskell.org/Regular_expressions_for_XML_Schema") @@ -1523,14 +1431,12 @@ derivations of regular expressions.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hxt/hxt-" - version - ".tar.gz")) + (uri (hackage-uri "hxt" version)) (sha256 (base32 "1n9snbdl46x23ka7bbsls1vsn0plpmfmbpbl0msjfm92fkk2yq7g")))) (build-system haskell-build-system) + (properties '((upstream-name . "hxt"))) (outputs '("out" "static" "doc")) (inputs (list ghc-hxt-charproperties ghc-hxt-unicode ghc-hxt-regex-xmlschema @@ -1553,6 +1459,7 @@ introduces a more general approach for processing XML with Haskell.") (base32 "0wlq9s01icalnvjkkilx5zaqp3ff4v5limj1xy8i18qpzjspqdsh")))) (build-system haskell-build-system) + (properties '((upstream-name . "hxt-xpath"))) (inputs (list ghc-hxt)) (home-page "https://github.com/UweSchmidt/hxt") (synopsis "The XPath modules for HXT") @@ -1569,12 +1476,12 @@ from them. Some primitives have both a functional and an arrow interface.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "http-common/http-common-" version ".tar.gz")) + (uri (hackage-uri "http-common" version)) (sha256 (base32 "1xpbnfac0fqa5r670ggwm4kq3cmz9jpaw9bx40j9w9qiw6xi4i28")))) (build-system haskell-build-system) + (properties '((upstream-name . "http-common"))) (inputs (list ghc-base64-bytestring ghc-blaze-builder @@ -1594,56 +1501,69 @@ pipes-http re-export this package's types and functions.") (define-public ghc-http-streams (package (name "ghc-http-streams") - (version "0.8.9.4") - (source - (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "http-streams/http-streams-" version ".tar.gz")) - (sha256 - (base32 - "03xdcb0v735xdrkjlm1w56mskh3x08cbsjrcd7wn4li65ixc20xa")))) + (version "0.8.9.6") + (source (origin + (method url-fetch) + (uri (hackage-uri "http-streams" version)) + (sha256 + (base32 + "1h8nnp1y4ngv6mwr3fxv428kcvrd3ming179sza8fkn49pcwdlxs")))) (build-system haskell-build-system) - (inputs - (list ghc-attoparsec - ghc-base64-bytestring - ghc-blaze-builder - ghc-case-insensitive - ghc-io-streams - ghc-hsopenssl - ghc-openssl-streams - ghc-unordered-containers - ghc-aeson - ghc-http-common - ghc-network-uri - ghc-network)) - (arguments - `(#:tests? #f)) ; tests rely on an outdated version of snap-server - (home-page "https://github.com/afcowie/http-streams/") + (properties '((upstream-name . "http-streams"))) + (inputs (list ghc-attoparsec + ghc-base64-bytestring + ghc-blaze-builder + ghc-case-insensitive + ghc-io-streams + ghc-hsopenssl + ghc-openssl-streams + ghc-unordered-containers + ghc-aeson + ghc-http-common + ghc-network-uri + ghc-network)) + (native-inputs (list ghc-hunit + ghc-lifted-base + ghc-aeson-pretty + ghc-hspec + ghc-hspec-expectations + ghc-random + ghc-snap-core + ghc-snap-server)) + (home-page "https://github.com/aesiniath/http-streams/") (synopsis "HTTP client using io-streams") - (description "An HTTP client using the Snap Framework's io-streams + (description + "An HTTP client using the Snap Framework's io-streams library to handle the streaming IO. The API is optimized for ease of use for the rather common case of code needing to query web services and deal with the result.") (license license:bsd-3))) +;; Breaks cycle between ghc-http-streams and ghc-snap-server +(define-public ghc-http-streams-bootstrap + (package + (inherit ghc-http-streams) + (name "ghc-http-streams-bootstrap") + (arguments `(#:tests? #f)) + (native-inputs '()) + (properties '((hidden? #t))))) + (define-public ghc-snap-core (package (name "ghc-snap-core") - (version "1.0.4.2") + (version "1.0.5.0") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "snap-core/snap-core-" version ".tar.gz")) + (uri (hackage-uri "snap-core" version)) (sha256 (base32 - "0zxdhx4wk70bkn71574lyz3zhq79yy98rv05r4564rd100xw3fqs")))) + "0hf671g7h4nikfvi05q3mmcxhfcsh874dkansssn0mc68k9fsak4")))) (build-system haskell-build-system) + (properties '((upstream-name . "snap-core"))) (arguments - `(#:tests? #f ; TODO: Fail to compile. - #:cabal-revision - ("1" "065v61clskzikywv0gy9n4fjaszi2fnjklal83kqbzhzzgkf83ng"))) + `(#:cabal-revision + ("3" "02r6plphl4vqig3xap9amdib0qjd98nqpn5jhy6hsbiwh3p7cy9b"))) (inputs (list ghc-old-locale ghc-hunit @@ -1685,12 +1605,12 @@ contains the core definitions and types for the Snap framework.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "snap-server/snap-server-" version ".tar.gz")) + (uri (hackage-uri "snap-server" version)) (sha256 (base32 "0w4yv9a5ilpma0335ariwap2iscmdbaaif88lq3cm7px910nyc4j")))) (build-system haskell-build-system) + (properties '((upstream-name . "snap-server"))) (inputs (list ghc-attoparsec ghc-blaze-builder @@ -1712,12 +1632,20 @@ contains the core definitions and types for the Snap framework.") ghc-threads ghc-hunit ghc-quickcheck - ghc-http-streams + ghc-http-streams-bootstrap ghc-http-common ghc-parallel ghc-test-framework ghc-test-framework-hunit ghc-test-framework-quickcheck2)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'update-constraints + (lambda _ + (substitute* "snap-server.cabal" + (("\\b(attoparsec|base|bytestring|time)\\s+[^,]+" all dep) + dep))))))) (home-page "http://snapframework.com/") (synopsis "Web server for the Snap Framework") (description "Snap is a simple and fast web development framework @@ -1737,13 +1665,12 @@ protocol.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/js-jquery/js-jquery-" - version ".tar.gz")) + (hackage-uri "js-jquery" version)) (sha256 (base32 "16q68jzbs7kp07dnq8cprdcc8fd41rim38039vg0w4x11lgniq70")))) (build-system haskell-build-system) + (properties '((upstream-name . "js-jquery"))) (arguments `(#:tests? #f)) ; tests do network IO (home-page "https://github.com/ndmitchell/js-jquery") (synopsis "Obtain minified jQuery code") @@ -1763,13 +1690,12 @@ users (e.g. Debian).") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/js-flot/js-flot-" - version ".tar.gz")) + (hackage-uri "js-flot" version)) (sha256 (base32 "0yjyzqh3qzhy5h3nql1fckw0gcfb0f4wj9pm85nafpfqp2kg58hv")))) (build-system haskell-build-system) + (properties '((upstream-name . "js-flot"))) (inputs (list ghc-http)) (home-page "https://github.com/ndmitchell/js-flot") @@ -1785,40 +1711,35 @@ requirements of downstream users (e.g. Debian).") (define-public ghc-happstack-server (package (name "ghc-happstack-server") - (version "7.7.1.1") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/happstack-server/happstack-server-" - version ".tar.gz")) - (sha256 - (base32 - "0nc5rnvrzl9m3pinmdq234m80qkf4jszbdqnd567f7lh09yiqw9n")))) + (version "7.7.2") + (source (origin + (method url-fetch) + (uri (hackage-uri "happstack-server" version)) + (sha256 + (base32 + "175aal1l4g558y89skck3s04db0bjblkxp77bijf1s9iyc07n669")))) (build-system haskell-build-system) - (inputs - (list ghc-network - ghc-network-bsd - ghc-network-uri - ghc-base64-bytestring - ghc-blaze-html - ghc-exceptions - ghc-extensible-exceptions - ghc-hslogger - ghc-html - ghc-monad-control - ghc-old-locale - ghc-semigroups - ghc-sendfile - ghc-system-filepath - ghc-syb - ghc-threads - ghc-transformers-base - ghc-transformers-compat - ghc-utf8-string - ghc-zlib)) + (properties '((upstream-name . "happstack-server"))) + (inputs (list ghc-network + ghc-network-uri + ghc-base64-bytestring + ghc-blaze-html + ghc-extensible-exceptions + ghc-hslogger + ghc-html + ghc-monad-control + ghc-old-locale + ghc-semigroups + ghc-sendfile + ghc-system-filepath + ghc-syb + ghc-threads + ghc-transformers-base + ghc-transformers-compat + ghc-utf8-string + ghc-zlib)) (native-inputs (list ghc-hunit)) - (home-page "http://happstack.com") + (home-page "https://happstack.com") (synopsis "Web related tools and services for Haskell") (description "Happstack Server provides an HTTP server and a rich set of functions for @@ -1829,20 +1750,17 @@ cookies, serving files, and more.") (define-public ghc-sendfile (package (name "ghc-sendfile") - (version "0.7.11.1") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/sendfile/sendfile-" - version ".tar.gz")) - (sha256 - (base32 - "0988snmx3bylpw3kcq8hsgji8idc6xcrcfp275qjv3apfdgc9rp0")))) + (version "0.7.11.4") + (source (origin + (method url-fetch) + (uri (hackage-uri "sendfile" version)) + (sha256 + (base32 + "1i2i0w18l2ysambyylv93jzy0adiiqwwnhg7zagqb7p2srybxc3k")))) (build-system haskell-build-system) + (properties '((upstream-name . "sendfile"))) (inputs (list ghc-network)) - (home-page - "https://hub.darcs.net/stepcut/sendfile") + (home-page "https://github.com/Happstack/sendfile") (synopsis "Portable sendfile library for Haskell") (description "Haskell library which exposes zero-copy sendfile functionality in a portable way.") @@ -1851,29 +1769,25 @@ cookies, serving files, and more.") (define-public ghc-scalpel-core (package (name "ghc-scalpel-core") - (version "0.6.2") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/scalpel-core/" - "scalpel-core-" version ".tar.gz")) - (sha256 - (base32 - "07mjff8aqwabx8yhq8bd7jpnarkkrjqss8h8s2wkfmfj808fllmf")))) - (build-system haskell-build-system) - (inputs - (list ghc-data-default - ghc-fail - ghc-pointedlist - ghc-regex-base - ghc-regex-tdfa - ghc-tagsoup - ghc-vector)) + (version "0.6.2.1") + (source (origin + (method url-fetch) + (uri (hackage-uri "scalpel-core" version)) + (sha256 + (base32 + "1yl1lsi5xm3qdlww2sb6vyppjiisj54f4yzvffv3qg8dgkfjfdra")))) + (build-system haskell-build-system) + (properties '((upstream-name . "scalpel-core"))) + (inputs (list ghc-data-default + ghc-fail + ghc-pointedlist + ghc-regex-base + ghc-regex-tdfa + ghc-tagsoup + ghc-vector)) (native-inputs (list ghc-hunit)) (home-page "https://github.com/fimad/scalpel") - (synopsis - "High level web scraping library for Haskell") + (synopsis "High level web scraping library for Haskell") (description "Scalpel core provides a subset of the scalpel web scraping library that is intended to have lightweight dependencies and to be free of all @@ -1883,27 +1797,23 @@ non-Haskell dependencies.") (define-public ghc-scalpel (package (name "ghc-scalpel") - (version "0.6.2") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/scalpel/" - "scalpel-" version ".tar.gz")) - (sha256 - (base32 - "04hhvk0yjxha3yg6n9fxivrz97hpjjiiblnj0bvs5myax1ggkjch")))) + (version "0.6.2.1") + (source (origin + (method url-fetch) + (uri (hackage-uri "scalpel" version)) + (sha256 + (base32 + "0w3l38czfsgbyd3x6yir7qw9bl8nmhclrbpbwfyhs39728jlscnc")))) (build-system haskell-build-system) - (inputs - (list ghc-scalpel-core - ghc-case-insensitive - ghc-data-default - ghc-http-client - ghc-http-client-tls - ghc-tagsoup)) + (properties '((upstream-name . "scalpel"))) + (inputs (list ghc-scalpel-core + ghc-case-insensitive + ghc-data-default + ghc-http-client + ghc-http-client-tls + ghc-tagsoup)) (home-page "https://github.com/fimad/scalpel") - (synopsis - "High level web scraping library for Haskell") + (synopsis "High level web scraping library for Haskell") (description "Scalpel is a web scraping library inspired by libraries like Parsec and Perl's @code{Web::Scraper}. Scalpel builds on top of TagSoup to provide a @@ -1913,27 +1823,21 @@ declarative and monadic interface.") (define-public ghc-sourcemap (package (name "ghc-sourcemap") - (version "0.1.6.1") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/sourcemap/sourcemap-" - version - ".tar.gz")) - (sha256 - (base32 - "0kz8xpcd5syg5s4qa2qq8ylaxjhabj127w42may46vv6i0q1bf8a")))) + (version "0.1.7") + (source (origin + (method url-fetch) + (uri (hackage-uri "sourcemap" version)) + (sha256 + (base32 + "09i340mhzlfi5ayy9cb0378glnygdmpdhhsgikm3zrvwf2wmwr2h")))) (build-system haskell-build-system) - (inputs - (list ghc-aeson ghc-unordered-containers ghc-attoparsec - ghc-utf8-string)) - (arguments - `(#:tests? #f ; FIXME: Fail to compile - #:cabal-revision - ("1" "1f7q44ar6qfip8fsllg43jyn7r15ifn2r0vz32cbmx0sb0d38dax"))) + (properties '((upstream-name . "sourcemap"))) + (inputs (list ghc-aeson ghc-unordered-containers ghc-attoparsec + ghc-utf8-string)) + ;(native-inputs (list node)) + (arguments (list #:tests? #f)) ; Needs node and module source-map. (home-page - "http://hackage.haskell.org/package/sourcemap") + "https://hackage.haskell.org/package/sourcemap") (synopsis "Implementation of source maps as proposed by Google and Mozilla") (description @@ -1949,14 +1853,12 @@ proposed by Google and Mozilla here (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/language-javascript/language-javascript-" - version - ".tar.gz")) + (uri (hackage-uri "language-javascript" version)) (sha256 (base32 "0s6igb54cxm2jywgc3sq53f52gcsc39wd3g78yisfzvl9jm3d86i")))) (build-system haskell-build-system) + (properties '((upstream-name . "language-javascript"))) (inputs (list ghc-blaze-builder ghc-utf8-string)) (native-inputs @@ -1972,18 +1874,16 @@ as frontend to hjsmin.") (define-public ghc-bower-json (package (name "ghc-bower-json") - (version "1.0.0.1") + (version "1.1.0.0") (source (origin (method url-fetch) - (uri (string-append - "mirror://hackage/package/bower-json/bower-json-" - version - ".tar.gz")) + (uri (hackage-uri "bower-json" version)) (sha256 (base32 - "0wvygg3rdbxzrmr61a9w6ddv9pfric85ih8hnxyk0ydzn7i59abs")))) + "0lnhcgivg38nicncb6czkkk3z2mk3jbifv1b4r51lk3p9blzydfl")))) (build-system haskell-build-system) + (properties '((upstream-name . "bower-json"))) (inputs (list ghc-aeson ghc-aeson-better-errors ghc-scientific ghc-transformers ghc-unordered-containers)) @@ -2003,11 +1903,11 @@ Bower's package manifest file, bower.json.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/DAV/DAV-" - version ".tar.gz")) + (uri (hackage-uri "DAV" version)) (sha256 (base32 "1isvi4fahq70lzxfz23as7qzkc01g7kba568l6flrgd0j1984fsy")))) (build-system haskell-build-system) + (properties '((upstream-name . "DAV"))) (inputs (list ghc-case-insensitive ghc-data-default @@ -2034,42 +1934,41 @@ Authoring and Versioning (WebDAV) extensions to HTTP as well an executable, (define-public ghc-yesod-test (package (name "ghc-yesod-test") - (version "1.6.12") - (source - (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "yesod-test/yesod-test-" version ".tar.gz")) - (sha256 - (base32 - "1xgy7dzhqjgllqcpyyxs0spdg6vlz2c1sjvni7w7qnsf0ckyw2l8")))) + (version "1.6.15") + (source (origin + (method url-fetch) + (uri (hackage-uri "yesod-test" version)) + (sha256 + (base32 + "16q4f1l3m4l8iy5vmaa8c0vm2iiqhpghf3kykymlh41xy96mqpn3")))) (build-system haskell-build-system) - (inputs - (list ghc-hunit - ghc-aeson - ghc-attoparsec - ghc-blaze-builder - ghc-blaze-html - ghc-case-insensitive - ghc-conduit - ghc-cookie - ghc-hspec-core - ghc-html-conduit - ghc-http-types - ghc-network - ghc-memory - ghc-pretty-show - ghc-semigroups - ghc-wai - ghc-wai-extra - ghc-xml-conduit - ghc-xml-types - ghc-yesod-core)) - (native-inputs - (list ghc-hspec ghc-yesod-form ghc-unliftio ghc-unliftio-core)) - (home-page "https://www.yesodweb.com") + (properties '((upstream-name . "yesod-test"))) + (inputs (list ghc-hunit + ghc-aeson + ghc-attoparsec + ghc-blaze-builder + ghc-blaze-html + ghc-case-insensitive + ghc-conduit + ghc-cookie + ghc-hspec-core + ghc-html-conduit + ghc-http-types + ghc-network + ghc-memory + ghc-pretty-show + ghc-wai + ghc-wai-extra + ghc-xml-conduit + ghc-xml-types + ghc-yesod-core + ghc-blaze-markup)) + (native-inputs (list ghc-hspec ghc-yesod-form ghc-unliftio + ghc-unliftio-core)) + (home-page "http://www.yesodweb.com") (synopsis "Integration testing for WAI/Yesod Applications") - (description "This package's main goal is to encourage integration + (description + "This package's main goal is to encourage integration and system testing of web applications by making everything easy to test. Tests are like browser sessions that keep track of cookies and the last visited page. You can perform assertions on the content of @@ -2079,42 +1978,36 @@ HTML responses using CSS selectors.") (define-public ghc-wai-app-static (package (name "ghc-wai-app-static") - (version "3.1.7.2") - (source - (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "wai-app-static/wai-app-static-" - version ".tar.gz")) - (sha256 - (base32 - "138gd5482psq0wbm8s1az672lksi7vbavq6ayiyjkliivf6xpry8")))) + (version "3.1.7.4") + (source (origin + (method url-fetch) + (uri (hackage-uri "wai-app-static" version)) + (sha256 + (base32 + "1h8zy3dprqjxvlqxrids65yg5qf1h4f63ddspwxrbp0r9d28hwb4")))) (build-system haskell-build-system) - (inputs - (list ghc-wai - ghc-http-types - ghc-unix-compat - ghc-old-locale - ghc-file-embed - ghc-cryptonite - ghc-memory - ghc-http-date - ghc-blaze-html - ghc-blaze-markup - ghc-mime-types - ghc-unordered-containers - ghc-zlib - ghc-wai-extra - ghc-optparse-applicative - ghc-warp)) - (native-inputs - (list ghc-hspec ghc-network ghc-temporary ghc-mockery)) - (arguments - `(#:cabal-revision - ("1" "1q7zwjasysgbp9rdp75535igd7s6mhi2bnl4pzsn6vbyfw3qnsxd"))) - (home-page "https://www.yesodweb.com/book/web-application-interface") + (properties '((upstream-name . "wai-app-static"))) + (inputs (list ghc-wai + ghc-http-types + ghc-unix-compat + ghc-old-locale + ghc-file-embed + ghc-http-date + ghc-blaze-html + ghc-blaze-markup + ghc-mime-types + ghc-unordered-containers + ghc-zlib + ghc-wai-extra + ghc-optparse-applicative + ghc-warp + ghc-cryptonite + ghc-memory)) + (native-inputs (list ghc-hspec ghc-network ghc-temporary ghc-mockery)) + (home-page "http://www.yesodweb.com/book/web-application-interface") (synopsis "WAI application for static serving") - (description "This package provides a Web Application + (description + "This package provides a Web Application Interface (WAI) application for static serving. It also provides some helper functions and datatypes for use outside of WAI.") (license license:expat))) @@ -2126,14 +2019,16 @@ helper functions and datatypes for use outside of WAI.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "hjsmin/hjsmin-" version ".tar.gz")) + (uri (hackage-uri "hjsmin" version)) (sha256 (base32 "1r2p5rjdjr25j3w4s57q5hxw2c3ymw12x7ms18yvglnq2ivr9fc1")))) (build-system haskell-build-system) + (properties '((upstream-name . "hjsmin"))) (arguments - `(#:phases + `(#:cabal-revision ("2" + "184g49wsj2sfm8d75kgr7ylfw29gbyrqbqp4syyz30ch047jd0af") + #:phases (modify-phases %standard-phases (add-before 'build 'fix-dist-directory-for-tests (lambda _ @@ -2157,12 +2052,12 @@ syntactic elements, without changing the semantics.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "yesod-static/yesod-static-" version ".tar.gz")) + (uri (hackage-uri "yesod-static" version)) (sha256 (base32 "18f5hm9ncvkzl8bkn39cg841z0k5iqs5w45afsyk9y6k98pjd54p")))) (build-system haskell-build-system) + (properties '((upstream-name . "yesod-static"))) (inputs (list ghc-async ghc-attoparsec @@ -2199,13 +2094,12 @@ for the Yesod Web Framework.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "wai-handler-launch/wai-handler-launch-" - version ".tar.gz")) + (uri (hackage-uri "wai-handler-launch" version)) (sha256 (base32 "1ifqgyc1ccig5angh5l1iq7vyms4lvi8wzvysg5dw82nml49n02m")))) (build-system haskell-build-system) + (properties '((upstream-name . "wai-handler-launch"))) (inputs (list ghc-wai ghc-warp ghc-http-types ghc-streaming-commons ghc-async)) @@ -2223,12 +2117,12 @@ server no longer receives pings, it shuts down.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "wai-cors/wai-cors-" version ".tar.gz")) + (uri (hackage-uri "wai-cors" version)) (sha256 (base32 "10gv3jjlkcb13031frr818p56v2s0qf6dqjsfpwlhwdxdssvx5r5")))) (build-system haskell-build-system) + (properties '((upstream-name . "wai-cors"))) (arguments `(#:phases (modify-phases %standard-phases @@ -2266,13 +2160,11 @@ aims to be compliant with @url{https://www.w3.org/TR/cors}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/network-run/network-run-" - version - ".tar.gz")) + (uri (hackage-uri "network-run" version)) (sha256 (base32 "0w3dmwk03j4n01xkiq8m4sqa27bskh239mpw7m4ihjmkxqcwc5gl")))) (build-system haskell-build-system) + (properties '((upstream-name . "network-run"))) (inputs (list ghc-network)) (home-page "https://hackage.haskell.org/package/network-run") (synopsis "Simple network runner library") |