diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/agda.scm | 4 | ||||
-rw-r--r-- | gnu/packages/dhall.scm | 3 | ||||
-rw-r--r-- | gnu/packages/finance.scm | 8 | ||||
-rw-r--r-- | gnu/packages/haskell-apps.scm | 58 | ||||
-rw-r--r-- | gnu/packages/haskell-check.scm | 179 | ||||
-rw-r--r-- | gnu/packages/haskell-crypto.scm | 108 | ||||
-rw-r--r-- | gnu/packages/haskell-web.scm | 269 | ||||
-rw-r--r-- | gnu/packages/haskell-xyz.scm | 2270 | ||||
-rw-r--r-- | gnu/packages/purescript.scm | 10 | ||||
-rw-r--r-- | gnu/packages/wm.scm | 15 |
10 files changed, 707 insertions, 2217 deletions
diff --git a/gnu/packages/agda.scm b/gnu/packages/agda.scm index b54ba11721..7128a3f108 100644 --- a/gnu/packages/agda.scm +++ b/gnu/packages/agda.scm @@ -41,9 +41,7 @@ (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/Agda/Agda-" - version ".tar.gz")) + (uri (hackage-uri "Agda" version)) (sha256 (base32 "0yjjbhc593ylrm4mq4j01nkdvh7xqsg5in30wxj4y53vf5hkggp5")))) (build-system haskell-build-system) diff --git a/gnu/packages/dhall.scm b/gnu/packages/dhall.scm index ce933da9a8..9e80abb08a 100644 --- a/gnu/packages/dhall.scm +++ b/gnu/packages/dhall.scm @@ -34,8 +34,7 @@ (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/dhall/dhall-" - version ".tar.gz")) + (uri (hackage-uri "dhall" version)) (sha256 (base32 "1by2d84fbckspczddl4npfsf89q6nprmbg0i5g8yr1psp0fpl4ab")))) (build-system haskell-build-system) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 7f681b5b55..ea3b7c8577 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -221,10 +221,7 @@ line client and a client based on Qt.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hledger/hledger-" - version - ".tar.gz")) + (uri (hackage-uri "hledger" version)) (sha256 (base32 "07fcfkmv4cy92njnf2qc7jh0naz96q962hxldcd7hk4k7ddv0mss")))) @@ -1976,8 +1973,7 @@ generate a variety of reports from them, and provides a web interface.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "hledger-web/hledger-web-" version ".tar.gz")) + (uri (hackage-uri "hledger-web" version)) (sha256 (base32 "0ivszqcypw0j2wn4r7fv7dqm1pvr0b1y6rqpxagzyk8cxn3ic9g2")))) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 4e6a1d00cb..4e680e612b 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -65,9 +65,7 @@ (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/apply-refact/apply-refact-" - version ".tar.gz")) + (uri (hackage-uri "apply-refact" version)) (sha256 (base32 "1sn5g71sx8xa4ggyk49m661iip6zrzl65vb87l16l31kf79bbm7w")))) @@ -101,10 +99,7 @@ library. It is primarily used with HLint's @code{--refactor} flag.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/cabal-install/cabal-install-" - version - ".tar.gz")) + (uri (hackage-uri "cabal-install" version)) (patches (search-patches "cabal-install-base16-bytestring1.0.patch" "cabal-install-ghc8.10.patch")) (sha256 @@ -150,9 +145,7 @@ installation of Haskell libraries and programs.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" name "/" - name "-" version ".tar.gz")) + (uri (hackage-uri "cpphs" version)) (sha256 (base32 "17wi7fma2qaqdm1hwgaam3fd140v9bpa8ky0wg708h1pqc5v2nbz")))) @@ -181,8 +174,7 @@ unlit literate code files; and an option to turn off macro-expansion.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/darcs/" - "darcs-" version ".tar.gz")) + (uri (hackage-uri "darcs" version)) (sha256 (base32 "07dygwh6p4fsrlgxmq6r7yvxmf4n2y04izzd30jzqgs0pi9645p4")) @@ -287,8 +279,7 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}. (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/ghcid/" - "ghcid-" version ".tar.gz")) + (uri (hackage-uri "ghcid" version)) (sha256 (base32 "0yqc1pkfajnr56gnh43sbj50r7c3r41b2jfz07ivgl6phi4frjbq")))) (build-system haskell-build-system) @@ -316,8 +307,7 @@ to @code{cabal repl}).") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "git-annex/git-annex-" version ".tar.gz")) + (uri (hackage-uri "git-annex" version)) (sha256 (base32 "06b5gnj0dxiz7lkc75xmmzi50svwbqhs5az01lfmw27r3ibcicpm")))) (build-system haskell-build-system) @@ -523,9 +513,7 @@ used to keep a folder in sync between computers.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" name - "/" name "-" version ".tar.gz")) + (uri (hackage-uri "hlint" version)) (sha256 (base32 "0z6gxndrh7blzapkdn6fq1pkbkjlmbgjbq9ydnvy2wm00fb3v73g")))) @@ -563,9 +551,7 @@ unwanted suggestions, and to add your own custom suggestions.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/hoogle/hoogle-" - version ".tar.gz")) + (hackage-uri "hoogle" version)) (sha256 (base32 "1xacx2f33x1a4qlv25f8rlmb4wi0cjfzrj22nlnkrd0knghik3m7")))) @@ -615,10 +601,7 @@ or by approximate type signature.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hscolour/hscolour-" - version - ".tar.gz")) + (uri (hackage-uri "hscolour" version)) (sha256 (base32 "079jwph4bwllfp03yfr26s5zc6m6kw3nhb1cggrifh99haq34cr4")))) @@ -700,10 +683,7 @@ Wayland, and Linux console environments alike.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/nixfmt/nixfmt-" - version - ".tar.gz")) + (uri (hackage-uri "nixfmt" version)) (sha256 (base32 "1ispgl8rc2scr6v8bb6sks7px856jf61x74zj2iyddrn5qamkb3n")))) (build-system haskell-build-system) @@ -769,8 +749,7 @@ Haskell.") (source (origin (method url-fetch) - (uri (string-append "mirror://hackage/package/Raincat/" - "Raincat-" version ".tar.gz")) + (uri (hackage-uri "Raincat" version)) (sha256 (base32 "10y9zi22m6hf13c9h8zd9vg7mljpwbw0r3djb6r80bna701fdf6c")))) @@ -812,9 +791,7 @@ is programmed in Haskell.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/scroll/scroll-" - version ".tar.gz")) + (uri (hackage-uri "scroll" version)) (sha256 (base32 "0apzrvf99rskj4dbmn57jjxrsf19j436s8a09m950df5aws3a0wj")))) @@ -858,9 +835,7 @@ too slow and you'll get wound up in the scroll and crushed.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/ShellCheck/ShellCheck-" - version ".tar.gz")) + (uri (hackage-uri "ShellCheck" version)) (sha256 (base32 "071k2gc8rzpg9lwq9g10c9xx0zm1wcgsf8v4n1csj9fm56vy7gmb")) (file-name (string-append name "-" version ".tar.gz")))) @@ -905,8 +880,7 @@ advanced user's otherwise working script to fail under future circumstances. (version "1.9") (source (origin (method url-fetch) - (uri (string-append "mirror://hackage/package/shelltestrunner-" - version "/shelltestrunner-" version ".tar.gz")) + (uri (hackage-uri "shelltestrunner" version)) (sha256 (base32 "1a5kzqbwg6990249ypw0cx6cqj6663as1kbj8nzblcky8j6kbi6b")))) @@ -960,9 +934,7 @@ output, stderr, and exit status.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/stylish-haskell/" - "stylish-haskell-" version ".tar.gz")) + (hackage-uri "stylish-haskell" version)) (sha256 (base32 "0x9w3zh1lzp6l5xj3mynnlr0fzb5mbv0wwpfxp8fr6bk0jcrzjwf")))) diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index 0c5776047a..e00103d2fe 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -48,10 +48,7 @@ (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tasty-ant-xml/tasty-ant-xml-" - version - ".tar.gz")) + (uri (hackage-uri "tasty-ant-xml" version)) (sha256 (base32 "0h9mllhw9cd0rn34xhj8grwmbny7z7hpd8qmp9lfcdj0s4qx9vx8")))) @@ -76,10 +73,7 @@ framework.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tasty-smallcheck/tasty-smallcheck-" - version - ".tar.gz")) + (uri (hackage-uri "tasty-smallcheck" version)) (sha256 (base32 "0csgwn3vch0jnpqyyfnrfjq4z0dpl67imh5a7byll3hhlyidgjym")))) @@ -100,9 +94,7 @@ Haskell test framework.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tasty-quickcheck/" - "tasty-quickcheck-" version ".tar.gz")) + (uri (hackage-uri "tasty-quickcheck" version)) (sha256 (base32 "0i1i78587znqzwps49milyr5n2k388ld2kr9ysz1vw8gcw51qq49")))) @@ -129,10 +121,7 @@ Haskell test framework.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tasty-golden/tasty-golden-" - version - ".tar.gz")) + (uri (hackage-uri "tasty-golden" version)) (sha256 (base32 "1nskavqgfxx1cw7q6c0cmizlwj54rnlv93yhgssaa77gv1nbvwpn")))) @@ -163,10 +152,7 @@ contains the correct result for the test.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tasty/tasty-" - version - ".tar.gz")) + (uri (hackage-uri "tasty" version)) (sha256 (base32 "0574hbqzxzyv6vsk5kzbf04kz58y0iy8x9ydcj4b8fpncgmgy63g")))) @@ -195,8 +181,7 @@ and any other types of tests into a single test suite.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "tasty-hedgehog/tasty-hedgehog-" version ".tar.gz")) + (uri (hackage-uri "tasty-hedgehog" version)) (sha256 (base32 "0cy49z8n124xh2ra2482vfy5if1n6d9lbdjma2zg1mxfj0k0zyfb")))) @@ -221,10 +206,7 @@ framework}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tasty-hspec/tasty-hspec-" - version - ".tar.gz")) + (uri (hackage-uri "tasty-hspec" version)) (sha256 (base32 "02s82ijs2ringqxsqbm7m3vcy5brmwxa617azxv0v2phi3rdkjvl")))) @@ -256,10 +238,7 @@ framework}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tasty-hunit/tasty-hunit-" - version - ".tar.gz")) + (uri (hackage-uri "tasty-hunit" version)) (sha256 (base32 "0gz6zz3w7s44pymw33xcxnawryl27zk33766sab96nz2xh91kvxp")))) @@ -279,8 +258,7 @@ test framework.") (version "0.0.3") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "tasty-kat/tasty-kat-" version ".tar.gz")) + (uri (hackage-uri "tasty-kat" version)) (sha256 (base32 "14yvlpli6cv6bn3kh8mlfp4x1l6ns4fvmfv6hmj75cvxyzq029d7")))) @@ -302,8 +280,7 @@ tasty.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "tasty-lua/tasty-lua-" version ".tar.gz")) + (uri (hackage-uri "tasty-lua" version)) (sha256 (base32 "0wa73ihkjcxi50lgpdzwwdx7s903lqi79hw7hxlvhbcvdly1cq53")))) @@ -326,9 +303,7 @@ from Lua.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tasty-th/tasty-th-" - version ".tar.gz")) + (uri (hackage-uri "tasty-th" version)) (sha256 (base32 "0b2ivrw2257m4cy4rjnkwqlarh83j1y3zywnmaqqqbvy667sqnj3")))) @@ -351,9 +326,7 @@ test-framework.") (version "1.1.18") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tasty-rerun/" - "tasty-rerun-" version ".tar.gz")) + (uri (hackage-uri "tasty-rerun" version)) (sha256 (base32 "0sccp5zx9v2rx741nbmgd8mzjhy5m4v74hk26d23xz93ph8aqx7s")))) @@ -377,9 +350,7 @@ been added since previous test run.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "tasty-expected-failure/tasty-expected-failure-" - version ".tar.gz")) + (uri (hackage-uri "tasty-expected-failure" version)) (sha256 (base32 "0zlgxs24d54byfhvwdg85xk1572zpjs71bjlxxrxcvralrfcq1yb")))) @@ -409,10 +380,7 @@ development.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "quickcheck-instances/quickcheck-instances-" - version ".tar.gz")) + (uri (hackage-uri "quickcheck-instances" version)) (sha256 (base32 "0ihqbarl2ddrfgq3mq09lswwn8213qpw13g49qxs5mjkcm6gbk3h")))) @@ -451,9 +419,7 @@ provided by the Haskell Platform.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/quickcheck-unicode/" - "quickcheck-unicode-" version ".tar.gz")) + (uri (hackage-uri "quickcheck-unicode" version)) (sha256 (base32 "0s43s1bzbg3gwsjgm7fpyksd1339f0m26dlw2famxwyzgvm0a80k")))) @@ -474,10 +440,7 @@ testing Unicode-related software.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/quickcheck-io/quickcheck-io-" - version - ".tar.gz")) + (uri (hackage-uri "quickcheck-io" version)) (sha256 (base32 "08k4v7pkgjf30pv5j2dfv1gqv6hclxlniyq2sps8zq4zswcr2xzv")))) @@ -499,10 +462,7 @@ use HUnit assertions as QuickCheck properties.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/QuickCheck/QuickCheck-" - version - ".tar.gz")) + (uri (hackage-uri "QuickCheck" version)) (sha256 (base32 "1wrnrm9sq4s0bly0q58y80g4153q45iglqa34xsi2q3bd62nqyyq")))) @@ -527,9 +487,7 @@ expressed in Haskell, using combinators defined in the QuickCheck library.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "quickcheck-assertions/" - "quickcheck-assertions-" version ".tar.gz")) + (uri (hackage-uri "quickcheck-assertions" version)) (sha256 (base32 "1kyam4cy7qmnizjwjm8jamq43w7f0fs6ljfplwj0ib6wi2kjh0wv")))) (build-system haskell-build-system) @@ -553,8 +511,7 @@ HUnit.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/test-framework/" - "test-framework-" version ".tar.gz")) + (uri (hackage-uri "test-framework" version)) (sha256 (base32 "1hhacrzam6b8f10hyldmjw8pb7frdxh04rfg3farxcxwbnhwgbpm")))) @@ -593,9 +550,7 @@ reporting and test statistics output.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "test-framework-hunit/test-framework-hunit-" - version ".tar.gz")) + (uri (hackage-uri "test-framework-hunit" version)) (sha256 (base32 "1y0b6vg8nfm43v90lxxcydhi6qlxhfy4vpxbzm5ic2w55bh8xjwm")))) @@ -619,9 +574,7 @@ reporting and test statistics output.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "test-framework-quickcheck2/" - "test-framework-quickcheck2-" version ".tar.gz")) + (uri (hackage-uri "test-framework-quickcheck2" version)) (sha256 (base32 "0ngf9vvby4nrdf1i7dxf5m9jn0g2pkq32w48xdr92n9hxka7ixn9")))) @@ -647,9 +600,7 @@ package.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "test-framework-smallcheck/" - "test-framework-smallcheck-" version ".tar.gz")) + (uri (hackage-uri "test-framework-smallcheck" version)) (sha256 (base32 "1xpgpk1gp4w7w46b4rhj80fa0bcyz8asj2dcjb5x1c37b7rw90b0")))) (build-system haskell-build-system) @@ -670,9 +621,7 @@ test-framework. New projects should use ghc-tasty-smallcheck instead.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "test-framework-th-" version "/" - "test-framework-th-" version ".tar.gz")) + (uri (hackage-uri "test-framework-th" version)) (sha256 (base32 "12lw7yj02jb9s0i7rb98jjam43j2h0gzmnbj9zi933fx7sg0sy4b")))) @@ -704,8 +653,7 @@ using Template Haskell") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/HUnit/" - "HUnit-" version ".tar.gz")) + (uri (hackage-uri "HUnit" version)) (sha256 (base32 "1as4sw5y39c3zrmr6sb8zbw74c9gdn4401y0dx45ih7zf6457dxh")))) @@ -729,9 +677,7 @@ JUnit tool for Java.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "hspec-discover/hspec-discover-" - version ".tar.gz")) + (uri (hackage-uri "hspec-discover" version)) (sha256 (base32 "13yzvd3b679skvs1insk4s0wc4zvmz6hs38kc8q0j6vzqq06smqa")))) @@ -752,8 +698,7 @@ runs Hspec tests.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/hspec-core/" - "hspec-core-" version ".tar.gz")) + (uri (hackage-uri "hspec-core" version)) (sha256 (base32 "12k9yp5gznrda449ir60d5wv3xl7nnyffkb5mhfc0svw9f8lxlv1")))) @@ -783,8 +728,7 @@ be used to extend Hspec's functionality.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/hspec-meta/" - "hspec-meta-" version ".tar.gz")) + (uri (hackage-uri "hspec-meta" version)) (sha256 (base32 "0sfj0n2hy1r8ifysgbcmfdygcd7vyzr13ldkcp0l2ml337f8j0si")))) @@ -812,8 +756,7 @@ used to test the in-development version of Hspec.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/hspec/" - "hspec-" version ".tar.gz")) + (uri (hackage-uri "hspec" version)) (sha256 (base32 "0z0lwrmrqkglr78n6k2c36n4h68142bh785ys0x4jaibjshvs6rw")))) @@ -840,9 +783,7 @@ Haskell, inspired by the Ruby library RSpec.") (version "0.5.1") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "hspec-contrib/hspec-contrib-" - version ".tar.gz")) + (uri (hackage-uri "hspec-contrib" version)) (sha256 (base32 "0hhzxaa3fxz5mk5qcsrnfr98a7bn3szx2ydgr0x9mbqmm1jg06rc")))) @@ -865,9 +806,7 @@ Haskell, inspired by the Ruby library RSpec.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "hspec-expectations/hspec-expectations-" - version ".tar.gz")) + (uri (hackage-uri "hspec-expectations" version)) (sha256 (base32 "1vxl9zazbaapijr6zmcj72j9wf7ka1pirrjbwddwwddg3zm0g5l1")))) @@ -889,9 +828,7 @@ Haskell, inspired by the Ruby library RSpec.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "nanospec/nanospec-" - version ".tar.gz")) + (uri (hackage-uri "nanospec" version)) (sha256 (base32 "1rcmhl9bhyfvanalnf1r86wkx6rq6wdvagnw1h011jcnnb1cq56g")))) @@ -913,9 +850,7 @@ minimal dependencies.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "crypto-cipher-tests-" version "/" - "crypto-cipher-tests-" version ".tar.gz")) + (uri (hackage-uri "crypto-cipher-tests" version)) (sha256 (base32 "19wqignlq90qwpam01hnmmrxaxh5lkax9l1l6rlbi4a07nvp1dnz")))) @@ -943,10 +878,7 @@ implementations of cryptographic ciphers.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hedgehog/hedgehog-" - version - ".tar.gz")) + (uri (hackage-uri "hedgehog" version)) (sha256 (base32 "1qsqs8lmxa3wmw228cwi98vvvh9hqbc9d43i1sy2c9igw9xlhfi6")))) @@ -985,9 +917,7 @@ To get started quickly, see the examples: (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "cabal-doctest/cabal-doctest-" - version ".tar.gz")) + (uri (hackage-uri "cabal-doctest" version)) (sha256 (base32 "03if74imlhhk7m56nci5f1wclniwqdmwl4hl177040j1gnlac9i0")))) @@ -1011,9 +941,7 @@ configuration. This library provides the common bits for writing custom (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "testing-type-modifiers/testing-type-modifiers-" - version ".tar.gz")) + (uri (hackage-uri "testing-type-modifiers" version)) (sha256 (base32 "1wh2n95n39ivv6kbqn42vbzrj8zagsmk6f2al2qj40bg5kgdl2q5")))) @@ -1035,8 +963,7 @@ testing frameworks.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "testing-feat/testing-feat-" version ".tar.gz")) + (uri (hackage-uri "testing-feat" version)) (sha256 (base32 "1v2qzzpf1s008g7q6q67glf7vbm1pkpq4rc3ii74f4g6vhfx610r")))) @@ -1061,9 +988,7 @@ random testing, and hybrids of the two.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/inspection-testing/" - "inspection-testing-" version ".tar.gz")) + (uri (hackage-uri "inspection-testing" version)) (sha256 (base32 "0qz1npyycj4bvyly9xmjbnhw569l52h38gx02rk0r7zhapw83aig")))) @@ -1102,10 +1027,7 @@ examples and more information.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/quickcheck-classes/quickcheck-classes-" - version - ".tar.gz")) + (uri (hackage-uri "quickcheck-classes" version)) (sha256 (base32 "19iw15mvb7gws3ljdxqwsbb4pmfc0sfflf8szgmrhiqr3k82mqv2")))) (build-system haskell-build-system) @@ -1147,10 +1069,7 @@ constraints more cleanly.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/quickcheck-classes-base/quickcheck-classes-base-" - version - ".tar.gz")) + (uri (hackage-uri "quickcheck-classes-base" version)) (sha256 (base32 "16c6gq4cqpkwnq1pzkhm6r7mrwk4an50ha5w77bmiia2qkhla6ch")))) (build-system haskell-build-system) @@ -1189,10 +1108,7 @@ these constraints more cleanly.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/doctest-lib/doctest-lib-" - version - ".tar.gz")) + (uri (hackage-uri "doctest-lib" version)) (sha256 (base32 "1vswam0dhw52dihgnzirh18gqs8rj8h6jd7pl6y1mg2f9f9zmih2")))) (build-system haskell-build-system) @@ -1210,10 +1126,7 @@ these constraints more cleanly.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/doctest-exitcode-stdio/doctest-exitcode-stdio-" - version - ".tar.gz")) + (uri (hackage-uri "doctest-exitcode-stdio" version)) (sha256 (base32 "1g3c7yrqq2mwqbmvs8vkx1a3cf0p0x74b7fnn344dsk7bsfpgv0x")))) (build-system haskell-build-system) @@ -1234,10 +1147,7 @@ environment.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/cabal-doctest/cabal-doctest-" - version - ".tar.gz")) + (uri (hackage-uri "cabal-doctest" version)) (sha256 (base32 "03if74imlhhk7m56nci5f1wclniwqdmwl4hl177040j1gnlac9i0")))) (build-system haskell-build-system) @@ -1258,10 +1168,7 @@ environment.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tasty-silver/tasty-silver-" - version - ".tar.gz")) + (uri (hackage-uri "tasty-silver" version)) (sha256 (base32 "0nvh2k8iqqkanmp7lpwd3asimyarzisly8wavbdahcxryn0j4xb7")))) (build-system haskell-build-system) diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm index fb907dce00..e06ff7058b 100644 --- a/gnu/packages/haskell-crypto.scm +++ b/gnu/packages/haskell-crypto.scm @@ -40,9 +40,7 @@ (version "0.3.4") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "asn1-types/asn1-types-" - version ".tar.gz")) + (uri (hackage-uri "asn1-types" version)) (sha256 (base32 "1a119qxhxhr0yn37r26dkydm6g5kykdkx98ghb59i4ipa6i95vkq")))) @@ -63,9 +61,7 @@ format.") (version "0.9.6") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "asn1-encoding/asn1-encoding-" - version ".tar.gz")) + (uri (hackage-uri "asn1-encoding" version)) (sha256 (base32 "02nsr30h5yic1mk7znf0q4z3n560ip017n60hg7ya25rsfmxxy6r")))) @@ -88,9 +84,7 @@ supports for high level forms of ASN1 (BER, and DER).") (version "0.9.5") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "asn1-parse/asn1-parse-" - version ".tar.gz")) + (uri (hackage-uri "asn1-parse" version)) (sha256 (base32 "17pk8y3nwv9b9i5j15qlmwi7fmq9ab2z4kfpjk2rvcrh9lsf27wg")))) @@ -112,9 +106,7 @@ when ASN1 pattern matching is not convenient.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "crypto-api-" version "/" - "crypto-api-" version ".tar.gz")) + (uri (hackage-uri "crypto-api" version)) (sha256 (base32 "19bsmkqkpnvh01b77pmyarx00fic15j4hvg4pzscrj4prskrx2i9")))) @@ -142,9 +134,7 @@ algorithm (ex: padding) is within scope of this package.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "crypto-api-tests-" version "/" - "crypto-api-tests-" version ".tar.gz")) + (uri (hackage-uri "crypto-api-tests" version)) (sha256 (base32 "0w3j43jdrlj28jryp18hc6q84nkl2yf4vs1hhgrsk7gb9kfyqjpl")))) @@ -172,9 +162,7 @@ for common cryptographic algorithms are included.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/cryptohash/cryptohash-" - version ".tar.gz")) + (uri (hackage-uri "cryptohash" version)) (sha256 (base32 "1yr2iyb779znj79j3fq4ky8l1y8a600a2x1fx9p5pmpwq5zq93y2")))) @@ -205,9 +193,7 @@ that hides the C implementation.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "cryptohash-md5-" version "/" - "cryptohash-md5-" version ".tar.gz")) + (uri (hackage-uri "cryptohash-md5" version)) (sha256 (base32 "018g13hkmq5782i24b4518hcd926fl6x6fh5hd7b9wlxwc5dn21v")))) @@ -227,9 +213,7 @@ that hides the C implementation.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "cryptohash-sha1-" version "/" - "cryptohash-sha1-" version ".tar.gz")) + (uri (hackage-uri "cryptohash-sha1" version)) (sha256 (base32 "1aqdxdhxhl9jldh951djpwxx8z7gzaqspxl7iwpl84i5ahrsyy9w")))) @@ -259,9 +243,7 @@ the C implementation.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "cryptohash-sha256-" version "/" - "cryptohash-sha256-" version ".tar.gz")) + (uri (hackage-uri "cryptohash-sha256" version)) (sha256 (base32 "1xkb7iqplbw4fy1122p79xf1zcb7k44rl0wmfj1q06l7cdqxr9vk")))) @@ -291,9 +273,7 @@ the C implementation.") (version "0.29") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "cryptonite/cryptonite-" - version ".tar.gz")) + (uri (hackage-uri "cryptonite" version)) (sha256 (base32 "13xhp3hshb8x06bw37kp16c9jpjmgfn06nkj9drz745fv8f04fnq")))) @@ -323,10 +303,7 @@ generators, and more.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/digest/digest-" - version - ".tar.gz")) + (uri (hackage-uri "digest" version)) (sha256 (base32 "1l5383l5pvp018rj3vabrppnzcqrr2g0dvgvmsrbjdn02wzab5jm")))) @@ -353,9 +330,7 @@ are implemented as FFI bindings to efficient code from zlib.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "entropy-" version "/" - "entropy-" version ".tar.gz")) + (uri (hackage-uri "entropy" version)) (sha256 (base32 "0qmzz0zgad13zl0kjrxz6cxg8ckn2w8saas2a2j72vbafpzmkixd")))) (build-system haskell-build-system) @@ -372,8 +347,7 @@ to obtain cryptographically strong entropy.") (version "0.2.4") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "pem/pem-" version ".tar.gz")) + (uri (hackage-uri "pem" version)) (sha256 (base32 "1m7qjsxrd8m88cvkqmr8kscril500j2a9y0iynvksjyjkhdlq33p")))) @@ -398,9 +372,7 @@ Mail} (PEM) format.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "pureMD5-" version "/" - "pureMD5-" version ".tar.gz")) + (uri (hackage-uri "pureMD5" version)) (sha256 (base32 "0qwkvxwi9wh6knn69rg2hvc8ngmv1if77kmpcnp0xqr0l30fwavq")))) @@ -423,8 +395,7 @@ interface.") (version "1.6.4.4") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "SHA/SHA-" version ".tar.gz")) + (uri (hackage-uri "SHA" version)) (sha256 (base32 "0i4b2wjisivdy72synal711ywhx05mfqfba5n65rk8qidggm1nbb")))) @@ -450,8 +421,7 @@ libraries, like OpenSSL.") (version "1.7.5") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "x509/x509-" version ".tar.gz")) + (uri (hackage-uri "x509" version)) (sha256 (base32 "1j67c35g8334jx7x32hh6awhr43dplp0qwal5gnlkmx09axzrc5i")))) @@ -479,9 +449,7 @@ libraries, like OpenSSL.") (version "1.6.7") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "x509-store/x509-store-" - version ".tar.gz")) + (uri (hackage-uri "x509-store" version)) (sha256 (base32 "1y8yyr1i95jkllg8k0z54k5v4vachp848clc07m33xpxidn3b1lp")))) @@ -505,9 +473,7 @@ collections, certificates, revocation lists, and exception lists.") (version "1.6.11") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "x509-validation/x509-validation-" - version ".tar.gz")) + (uri (hackage-uri "x509-validation" version)) (sha256 (base32 "16yihzljql3z8w5rgdl95fv3hgk7yd86kbl9b3glllsark5j2hzr")))) @@ -539,9 +505,7 @@ list validation.") (version "1.6.6") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "x509-system/x509-system-" - version ".tar.gz")) + (uri (hackage-uri "x509-system" version)) (sha256 (base32 "06a4m9c7vlr9nhp9gmqbb46arf0yj1dkdm4nip03hzy67spdmp20")))) @@ -563,9 +527,7 @@ for X.509 certificates.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "crypto-cipher-types-" version "/" - "crypto-cipher-types-" version ".tar.gz")) + (uri (hackage-uri "crypto-cipher-types" version)) (sha256 (base32 "03qa1i1kj07pfrxsi7fiaqnnd0vi94jd4jfswbmnm4gp1nvzcwr0")))) @@ -585,9 +547,7 @@ for symmetric ciphers.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "cipher-aes-" version "/" - "cipher-aes-" version ".tar.gz")) + (uri (hackage-uri "cipher-aes" version)) (sha256 (base32 "05ahz6kjq0fl1w66gpiqy0vndli5yx1pbsbw9ni3viwqas4p3cfk")))) @@ -623,9 +583,7 @@ AES-NI available, or you'll need to use a different implementation.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "crypto-random-" version "/" - "crypto-random-" version ".tar.gz")) + (uri (hackage-uri "crypto-random" version)) (sha256 (base32 "0139kbbb2h7vshf68y3fvjda29lhj7jjwl4vq78w4y8k8hc7l2hp")))) @@ -645,9 +603,7 @@ abstraction for CPRNGs.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "cprng-aes-" version "/" - "cprng-aes-" version ".tar.gz")) + (uri (hackage-uri "cprng-aes" version)) (sha256 (base32 "1wr15kbmk1g3l8a75n0iwbzqg24ixv78slwzwb2q6rlcvq0jlnb4")))) @@ -690,9 +646,7 @@ percent. (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/ed25519/ed25519-" - version ".tar.gz")) + (uri (hackage-uri "ed25519" version)) (sha256 (base32 "0v8msqvgzimhs7p5ri25hrb1ni2wvisl5rmdxy89fc59py79b9fq")))) @@ -720,8 +674,7 @@ guidelines.") (version "1.5.5") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "tls/tls-" version ".tar.gz")) + (uri (hackage-uri "tls" version)) (sha256 (base32 "0j1rxxq5lzs584nk19610mk7mmsqqkgfxw2qj74ibb1zsk7baj4a")))) @@ -762,8 +715,7 @@ extensions.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "HsOpenSSL/HsOpenSSL-" version ".tar.gz")) + (uri (hackage-uri "HsOpenSSL" version)) (sha256 (base32 "0ysdfl8ck3nzhx597fa13dqf31jq5gzwajlak6r91jajks9w0dl5")))) @@ -792,9 +744,7 @@ implementation of SSL.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "openssl-streams/openssl-streams-" - version ".tar.gz")) + (uri (hackage-uri "openssl-streams" version)) (sha256 (base32 "10pnnpzgb5xr811kc9qdk7h2cgn6hk2yiyhnzz8f8p0fjzc0pwjm")))) @@ -817,9 +767,7 @@ networking using OpenSSL (by way of HsOpenSSL).") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "cryptonite-conduit/cryptonite-conduit-" - version ".tar.gz")) + (uri (hackage-uri "cryptonite-conduit" version)) (sha256 (base32 "1bldcmda4xh52mw1wfrjljv8crhw3al7v7kv1j0vidvr7ymnjpbh")))) diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index 9d98fed34d..3194bcdf05 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -49,8 +49,7 @@ (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")))) @@ -77,10 +76,7 @@ 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")))) @@ -106,8 +102,7 @@ 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")))) @@ -129,8 +124,7 @@ 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")))) @@ -153,8 +147,7 @@ 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")))) @@ -179,8 +172,7 @@ both client and server code).") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/HTTP/" - "HTTP-" version ".tar.gz")) + (uri (hackage-uri "HTTP" version)) (sha256 (base32 "0bgyj3ahqlyg0jw6qsm2sncp8mklc4h0dj91s043vb3ig01iq2fn")))) @@ -231,9 +223,7 @@ responses coming back.") (version "0.7.11") (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")))) @@ -274,9 +264,7 @@ 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")))) @@ -337,9 +325,7 @@ 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")))) @@ -362,9 +348,7 @@ Date in Haskell.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "http2-" version "/" - "http2-" version ".tar.gz")) + (uri (hackage-uri "http2" version)) (sha256 (base32 "13c2z35gdimncgpyg5dn5cpjvd83rbrigc8b40crg36678m0k0d1")))) @@ -406,9 +390,7 @@ 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")))) @@ -466,9 +448,7 @@ which allow you to avoid direct usage of conduits.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/http-reverse-proxy/" - "http-reverse-proxy-" version ".tar.gz")) + (uri (hackage-uri "http-reverse-proxy" version)) (sha256 (base32 "1a6i5njf85b2lhg8m83njagcf09wih5q2irnyb2890s724qr277v")))) @@ -507,10 +487,7 @@ 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")))) @@ -539,10 +516,7 @@ communication between web applications and web servers.") (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")))) @@ -573,10 +547,7 @@ communication between web applications and web servers.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/wai-extra/wai-extra-" - version - ".tar.gz")) + (uri (hackage-uri "wai-extra" version)) (sha256 (base32 "1avf7bjcsbs8l6klp5kkd0cd2dc5n0j0a2yf8813pnwfn5b7qyd4")))) @@ -616,9 +587,7 @@ 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")))) @@ -639,10 +608,7 @@ 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")))) @@ -678,9 +644,7 @@ transfers.") (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")))) (build-system haskell-build-system) @@ -728,10 +692,7 @@ 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")))) @@ -752,9 +713,7 @@ limitation, automatic pruning, energy saving and replay resistance.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "warp-tls-" version "/" - "warp-tls-" version ".tar.gz")) + (uri (hackage-uri "warp-tls" version)) (sha256 (base32 "0b9viw26ymzq4q8snfddz3w59sqcf5ankxnw6f99iacxjhk6zs6m")))) @@ -783,10 +742,7 @@ a WAI handler, via the native Haskell TLS implementation.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/websockets/websockets-" - version - ".tar.gz")) + (uri (hackage-uri "websockets" version)) (sha256 (base32 "1b92a41l2var1ccg350mh2bjmb2plb6d79yzvmlwkd41nifmmi44")))) @@ -834,10 +790,7 @@ 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")))) @@ -862,9 +815,7 @@ See also: (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/xss-sanitize/xss-sanitize-" - version ".tar.gz")) + (uri (hackage-uri "xss-sanitize" version)) (sha256 (base32 "1d72s3a6520iwwc1wbn9v2znqgbw6a5wwzb23iq8ny9ccnjyx1dk")))) @@ -888,10 +839,7 @@ 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")))) @@ -911,9 +859,7 @@ 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")))) @@ -932,10 +878,7 @@ 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")))) @@ -956,9 +899,7 @@ 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")))) @@ -991,9 +932,7 @@ 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")))) @@ -1020,10 +959,7 @@ entity decoding bugfixes applied.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/aeson/aeson-" - version - ".tar.gz")) + (uri (hackage-uri "aeson" version)) (sha256 (base32 "1s5z4bgb5150h6a4cjf5vh8dmyrn6ilh29gh05999v6jwd5w6q83")))) @@ -1077,9 +1013,7 @@ 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")))) @@ -1111,8 +1045,7 @@ 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")))) @@ -1142,10 +1075,7 @@ of a JSON value into a @code{Data.Aeson.Value}.") (source (origin (method url-fetch) - (uri (string-append - "mirror://hackage/package/aeson-better-errors/aeson-better-errors-" - version - ".tar.gz")) + (uri (hackage-uri "aeson-better-errors" version)) (sha256 (base32 "09vkyrhwak3bmpfsqcd2az8hfqqkxyhg468hv5avgisy0nzh3w38")))) @@ -1176,10 +1106,7 @@ 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")))) @@ -1202,9 +1129,7 @@ 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")))) @@ -1224,9 +1149,7 @@ 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")))) @@ -1246,9 +1169,7 @@ 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")))) @@ -1273,9 +1194,7 @@ 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")))) @@ -1307,9 +1226,7 @@ avoid any issues with characters.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "yesod-core-" version "/" - "yesod-core-" version ".tar.gz")) + (uri (hackage-uri "yesod-core" version)) (sha256 (base32 "0wmh7ip318p89lyy6k5mvxkkpq43knp41wlq9iaf3icz0ahqdmb7")))) @@ -1377,9 +1294,7 @@ functions, widgets, etc.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "yesod-persistent-" version "/" - "yesod-persistent-" version ".tar.gz")) + (uri (hackage-uri "yesod-persistent" version)) (sha256 (base32 "102xmp7n08sk1g5rv31jpln2v9kqf1zsqsnmi83mnhmgggcbj1k4")))) @@ -1408,10 +1323,7 @@ from Yesod.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/yesod-form/yesod-form-" - version - ".tar.gz")) + (uri (hackage-uri "yesod-form" version)) (sha256 (base32 "170gby381h5pg9njn908cyx2931yiv79x3rc5npg2rd74kif06vi")))) @@ -1451,9 +1363,7 @@ providing richtext field using Nic editor.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/yesod/yesod-" - version ".tar.gz")) + (uri (hackage-uri "yesod" version)) (sha256 (base32 "13r0ispprj41kgn2rkc7zhy1rxfmgpjbmdlnys15h0ihhh3zhw2f")))) @@ -1491,9 +1401,7 @@ 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")))) @@ -1514,10 +1422,7 @@ 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")))) @@ -1543,9 +1448,7 @@ 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")))) @@ -1568,10 +1471,7 @@ 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")))) @@ -1616,8 +1516,7 @@ 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")))) @@ -1646,8 +1545,7 @@ pipes-http re-export this package's types and functions.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "http-streams/http-streams-" version ".tar.gz")) + (uri (hackage-uri "http-streams" version)) (sha256 (base32 "03xdcb0v735xdrkjlm1w56mskh3x08cbsjrcd7wn4li65ixc20xa")))) @@ -1683,8 +1581,7 @@ deal with the result.") (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")))) @@ -1735,8 +1632,7 @@ 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")))) @@ -1788,9 +1684,7 @@ 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")))) @@ -1815,9 +1709,7 @@ 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")))) @@ -1842,9 +1734,7 @@ requirements of downstream users (e.g. Debian).") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/happstack-server/happstack-server-" - version ".tar.gz")) + (uri (hackage-uri "happstack-server" version)) (sha256 (base32 "0nc5rnvrzl9m3pinmdq234m80qkf4jszbdqnd567f7lh09yiqw9n")))) @@ -1887,9 +1777,7 @@ cookies, serving files, and more.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/sendfile/sendfile-" - version ".tar.gz")) + (uri (hackage-uri "sendfile" version)) (sha256 (base32 "0988snmx3bylpw3kcq8hsgji8idc6xcrcfp275qjv3apfdgc9rp0")))) @@ -1910,9 +1798,7 @@ cookies, serving files, and more.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/scalpel-core/" - "scalpel-core-" version ".tar.gz")) + (uri (hackage-uri "scalpel-core" version)) (sha256 (base32 "07mjff8aqwabx8yhq8bd7jpnarkkrjqss8h8s2wkfmfj808fllmf")))) @@ -1943,9 +1829,7 @@ non-Haskell dependencies.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/scalpel/" - "scalpel-" version ".tar.gz")) + (uri (hackage-uri "scalpel" version)) (sha256 (base32 "04hhvk0yjxha3yg6n9fxivrz97hpjjiiblnj0bvs5myax1ggkjch")))) @@ -1974,10 +1858,7 @@ declarative and monadic interface.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/sourcemap/sourcemap-" - version - ".tar.gz")) + (uri (hackage-uri "sourcemap" version)) (sha256 (base32 "0kz8xpcd5syg5s4qa2qq8ylaxjhabj127w42may46vv6i0q1bf8a")))) @@ -2007,10 +1888,7 @@ 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")))) @@ -2035,10 +1913,7 @@ as frontend to hjsmin.") (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")))) @@ -2063,8 +1938,7 @@ 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) @@ -2099,8 +1973,7 @@ Authoring and Versioning (WebDAV) extensions to HTTP as well an executable, (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "yesod-test/yesod-test-" version ".tar.gz")) + (uri (hackage-uri "yesod-test" version)) (sha256 (base32 "1xgy7dzhqjgllqcpyyxs0spdg6vlz2c1sjvni7w7qnsf0ckyw2l8")))) @@ -2145,9 +2018,7 @@ HTML responses using CSS selectors.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "wai-app-static/wai-app-static-" - version ".tar.gz")) + (uri (hackage-uri "wai-app-static" version)) (sha256 (base32 "138gd5482psq0wbm8s1az672lksi7vbavq6ayiyjkliivf6xpry8")))) @@ -2189,8 +2060,7 @@ 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")))) @@ -2221,8 +2091,7 @@ 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")))) @@ -2264,9 +2133,7 @@ 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")))) @@ -2289,8 +2156,7 @@ 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")))) @@ -2333,10 +2199,7 @@ 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) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index e626c1f326..aa8be12a88 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -91,9 +91,7 @@ (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "abstract-deque-" version "/" - "abstract-deque-" version ".tar.gz")) + (uri (hackage-uri "abstract-deque" version)) (sha256 (base32 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9")))) @@ -129,9 +127,7 @@ This package also includes a simple reference implementation based on (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "abstract-par-" version "/" - "abstract-par-" version ".tar.gz")) + (uri (hackage-uri "abstract-par" version)) (sha256 (base32 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4")))) @@ -153,8 +149,7 @@ module for more details.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "active/active-" version ".tar.gz")) + (uri (hackage-uri "active" version)) (sha256 (base32 "019xr66pahsssqr2hybs88mga4qshv1vmd22j7624wqafqm57d74")))) @@ -181,10 +176,7 @@ diagrams framework}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/adjunctions/adjunctions-" - version - ".tar.gz")) + (uri (hackage-uri "adjunctions" version)) (sha256 (base32 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h")))) @@ -219,9 +211,7 @@ for Haskell.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "aeson-compat-" version "/" - "aeson-compat-" version ".tar.gz")) + (uri (hackage-uri "aeson-compat" version)) (sha256 (base32 "0ia3qfdpbrzhwwg4ywpdwca0z1m85k081pcz6jh1sx8qjsvcr71w")))) @@ -257,8 +247,7 @@ ghc-aeson.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "aeson-diff/aeson-diff-" version ".tar.gz")) + (uri (hackage-uri "aeson-diff" version)) (sha256 (base32 "18bm4qyjjwgrr6dxc4y0vai0z6qgrh2lcqb4jrr4xqs4cxrlwr92")))) @@ -297,10 +286,7 @@ systems.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/alex/alex-" - version - ".tar.gz")) + (uri (hackage-uri "alex" version)) (sha256 (base32 "042lrkn0dbpjn5ivj6j26jzb1fwrj8c1aj18ykxja89isg0hiali")))) @@ -334,10 +320,7 @@ tool lex or flex for C/C++.") (source (origin (method url-fetch) - (uri (string-append - "mirror://hackage/package/alsa-core/alsa-core-" - version - ".tar.gz")) + (uri (hackage-uri "alsa-core" version)) (sha256 (base32 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b")))) @@ -363,9 +346,7 @@ needed by both alsa-seq and alsa-pcm.") (origin (method url-fetch) (uri - (string-append - "mirror://hackage/package/alsa-mixer/alsa-mixer-" - version ".tar.gz")) + (hackage-uri "alsa-mixer" version)) (sha256 (base32 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb")))) @@ -386,10 +367,7 @@ needed by both alsa-seq and alsa-pcm.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/annotated-wl-pprint" - "/annotated-wl-pprint-" version - ".tar.gz")) + (uri (hackage-uri "annotated-wl-pprint" version)) (sha256 (base32 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc")))) @@ -412,10 +390,7 @@ a variety of ways.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-" - version - ".tar.gz")) + (uri (hackage-uri "ansi-terminal" version)) (sha256 (base32 "14rp62c7y79n9dmmi7m0l9n3mcq6dh331b4yyyrivm5da6g1nqf6")))) @@ -437,9 +412,7 @@ cursor, and changing the title.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "ansi-wl-pprint/ansi-wl-pprint-" - version ".tar.gz")) + (uri (hackage-uri "ansi-wl-pprint" version)) (sha256 (base32 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7")))) @@ -464,10 +437,7 @@ colored output using the ansi-terminal package.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/appar/appar-" - version - ".tar.gz")) + (uri (hackage-uri "appar" version)) (sha256 (base32 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4")))) @@ -487,10 +457,7 @@ style.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/assoc/assoc-" - version - ".tar.gz")) + (uri (hackage-uri "assoc" version)) (sha256 (base32 "0kqlizznjy94fm8zr1ng633yxbinjff7cnsiaqs7m33ix338v66q")))) @@ -515,10 +482,7 @@ similar operations (e.g. @code{Either}, @code{These}).") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/async/async-" - version - ".tar.gz")) + (uri (hackage-uri "async" version)) (sha256 (base32 "09d7w3krfhnmf9dp6yffa9wykinhw541wibnjgnlyv77w1dzhka8")))) @@ -543,8 +507,7 @@ will eventually deliver a value of type @code{a}.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/atomic-primops" - "/atomic-primops-" version ".tar.gz")) + (uri (hackage-uri "atomic-primops" version)) (sha256 (base32 "0gidqyk913vhcz3q4vnpadx3vkkrwb66rqhsxvdba8g2p5z63a12")))) @@ -596,10 +559,7 @@ permissions while atomically writing to a file.") (source (origin (inherit (package-source ghc-atomic-write)) - (uri (string-append - "https://hackage.haskell.org/package/atomic-write/atomic-write-" - version - ".tar.gz")) + (uri (hackage-uri "atomic-write" version)) (sha256 (base32 "03cn3ii74h0w3g4h78xsx9v2sn58r3qsr2dbdwq340xwhiwcgxdm")))))) @@ -611,10 +571,7 @@ permissions while atomically writing to a file.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/attoparsec/attoparsec-" - version - ".tar.gz")) + (uri (hackage-uri "attoparsec" version)) (sha256 (base32 "0vv88m5m7ynjrg114psp4j4s69f1a5va3bvn293vymqrma7g7q11")))) @@ -662,9 +619,7 @@ complicated text/binary file formats.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "attoparsec-iso8601-" version "/" - "attoparsec-iso8601-" version ".tar.gz")) + (uri (hackage-uri "attoparsec-iso8601" version)) (sha256 (base32 "162gc101mwhmjbfhhv1wm3yvk2h4ra34wpw5x87735cfqxvjv582")))) @@ -687,10 +642,7 @@ from aeson.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/auto-update/auto-update-" - version - ".tar.gz")) + (uri (hackage-uri "auto-update" version)) (sha256 (base32 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l")))) @@ -711,8 +663,7 @@ periodic, on-demand actions in Haskell.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "aws-" version "/aws-" version ".tar.gz")) + (uri (hackage-uri "aws" version)) (sha256 (base32 "1l3f94mpih7slz37ikyjkyrwvlf110w87997d8sbnbd8glwlcb8r")))) (build-system haskell-build-system) @@ -781,9 +732,7 @@ Web Services.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/base16-bytestring/" - "base16-bytestring-" version ".tar.gz")) + (uri (hackage-uri "base16-bytestring" version)) (sha256 (base32 "1ynnplw8iz3v5ld0xxgpxgasb0hg62x62wxxf5lx6lxyb15hmiy0")))) @@ -806,10 +755,7 @@ data quickly and efficiently, using the ByteString type.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-" - version - ".tar.gz")) + (uri (hackage-uri "base64-bytestring" version)) (sha256 (base32 "1adcnkcx4nh3d59k94bkndj0wkgbvchz576qwlpaa7148a86q391")))) (build-system haskell-build-system) @@ -828,10 +774,7 @@ Haskell @code{ByteString}s.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/base-compat/base-compat-" - version - ".tar.gz")) + (uri (hackage-uri "base-compat" version)) (sha256 (base32 "1nyvkaij4m01jndw72xl8931czz1xp6jpnynpajabys2ahabb9jk")))) @@ -854,9 +797,7 @@ pragmas in your code.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "base-compat-batteries/base-compat-batteries-" - version ".tar.gz")) + (uri (hackage-uri "base-compat-batteries" version)) (sha256 (base32 "08rh9nlm9ir28fm42xim06ga8qwdqdcvkbb5ckz99bwnmajndq1i")))) @@ -883,8 +824,7 @@ than @code{base-compat}, which has no dependencies.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "basement/basement-" version ".tar.gz")) + (uri (hackage-uri "basement" version)) (sha256 (base32 "12zsnxkgv86im2prslk6ddhy0zwpawwjc1h4ff63kpxp2xdl7i2k")))) @@ -905,10 +845,7 @@ packages.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/base-orphans/base-orphans-" - version - ".tar.gz")) + (uri (hackage-uri "base-orphans" version)) (sha256 (base32 "1lw1jhrrsdq7x9wr2bwkxq9mscidcad0n30kh9gfk8kgifl5xh9k")))) @@ -929,9 +866,7 @@ available in later versions of base to a wider (older) range of compilers.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "base-prelude-" version "/" - "base-prelude-" version ".tar.gz")) + (uri (hackage-uri "base-prelude" version)) (sha256 (base32 "0nn5v2y9kl7i3n21250m7cvn55lvkmzj22wx6q4kaag5ycwwczrs")))) @@ -964,10 +899,7 @@ the bounds of \"base\" as well.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/base-unicode-symbols/base-unicode-symbols-" - version - ".tar.gz")) + (uri (hackage-uri "base-unicode-symbols" version)) (sha256 (base32 "0qkhp4ybmx4nbqqkrmw3hkm47bv61i2wpi20qb09wvk10g2dcr23")))) @@ -993,9 +925,7 @@ stand for certain ASCII character sequences, i.e. → instead of @code{->}, (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/basic-prelude/" - "basic-prelude-" version ".tar.gz")) + (uri (hackage-uri "basic-prelude" version)) (sha256 (base32 "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h")))) @@ -1030,9 +960,7 @@ wishing to create a new prelude should use CorePrelude.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/bencode/bencode-" - version ".tar.gz")) + (uri (hackage-uri "bencode" version)) (sha256 (base32 "0znv0y3b3zm5jvhlvj5f5s7y93db67j9yd59w1bnrw2pqv30gqaq")))) (build-system haskell-build-system) @@ -1056,10 +984,7 @@ storing and transmitting loosely structured data.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/bifunctors/bifunctors-" - version - ".tar.gz")) + (uri (hackage-uri "bifunctors" version)) (sha256 (base32 "070964w7gz578379lyj6xvdbcf367csmz22cryarjr5bz9r9csrb")))) @@ -1086,8 +1011,7 @@ storing and transmitting loosely structured data.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/" - "bindings-DSL-" version ".tar.gz")) + (uri (hackage-uri "bindings-DSL" version)) (sha256 (base32 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3")))) @@ -1112,8 +1036,7 @@ functions.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "bitarray/bitarray-" version ".tar.gz")) + (uri (hackage-uri "bitarray" version)) (sha256 (base32 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj")))) @@ -1134,10 +1057,7 @@ functions.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/blaze-builder/blaze-builder-" - version - ".tar.gz")) + (uri (hackage-uri "blaze-builder" version)) (sha256 (base32 "0rxg6vjr0ji6g1nngrqpl4k1q9w66fwkhld9cqm5yfhx0a69kp1c")))) @@ -1168,9 +1088,7 @@ interoperate with code that uses the new implementation.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "blaze-markup/blaze-markup-" - version ".tar.gz")) + (uri (hackage-uri "blaze-markup" version)) (sha256 (base32 "0jd30wg5yz0a97b36zwqg4hv8faifza1n2gys3l1p3fwf9l3zz23")))) @@ -1202,8 +1120,7 @@ library for Haskell.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "bloomfilter/bloomfilter-" version ".tar.gz")) + (uri (hackage-uri "bloomfilter" version)) (sha256 (base32 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc")))) @@ -1226,8 +1143,7 @@ interface.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-" - version ".tar.gz")) + (uri (hackage-uri "boxes" version)) (sha256 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q")))) (build-system haskell-build-system) @@ -1247,8 +1163,7 @@ using a simple box model.") (version "0.1.1") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "byteable/byteable-" version ".tar.gz")) + (uri (hackage-uri "byteable" version)) (sha256 (base32 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4")))) @@ -1269,10 +1184,7 @@ wrapping a bytestring with stronger and more meaniful name.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/byteorder/byteorder-" - version - ".tar.gz")) + (uri (hackage-uri "byteorder" version)) (sha256 (base32 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x")))) @@ -1295,9 +1207,7 @@ system.") (origin (method url-fetch) (uri - (string-append "https://hackage.haskell.org/package/bytes-" - version "/bytes-" - version ".tar.gz")) + (hackage-uri "bytes" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 @@ -1325,9 +1235,7 @@ serialization code.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/bytestring-builder" - "/bytestring-builder-" version ".tar.gz")) + (uri (hackage-uri "bytestring-builder" version)) (sha256 (base32 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7")))) @@ -1348,9 +1256,7 @@ Compatibility package for older packages.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-" - version ".tar.gz")) + (uri (hackage-uri "bytestring-handle" version)) (sha256 (base32 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y")))) @@ -1374,9 +1280,7 @@ Compatibility package for older packages.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "bytestring-lexing/bytestring-lexing-" - version ".tar.gz")) + (uri (hackage-uri "bytestring-lexing" version)) (sha256 (base32 "1p7i2haix4m11an3djaq65cnd293hzwqy4cd2i8jxzcl248pk6iy")))) @@ -1398,8 +1302,7 @@ from strict or lazy bytestrings.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/" - "bzlib-conduit-" version ".tar.gz")) + (uri (hackage-uri "bzlib-conduit" version)) (sha256 (base32 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b")))) @@ -1424,10 +1327,7 @@ streaming compression and decompression.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/c2hs/c2hs-" - version - ".tar.gz")) + (uri (hackage-uri "c2hs" version)) (sha256 (base32 "0k482wv94jbpwd96a2c2lc7qz9k8072slx7l7943472nzk7k41ir")))) @@ -1482,8 +1382,7 @@ imported with the correct Haskell types.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/cairo/" - "cairo-" version ".tar.gz")) + (uri (hackage-uri "cairo" version)) (sha256 (base32 "1hpkyhrlg1d24s34kq6d379z8l8fvznm98wpq37haqjma4nl25hk")))) @@ -1508,9 +1407,7 @@ documents, amongst others.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "call-stack/call-stack-" - version ".tar.gz")) + (uri (hackage-uri "call-stack" version)) (sha256 (base32 "0ski7ihdxah7x4x07qgkjljg8hzqs9d6aa5k4cmr40bzp3i8s3mq")))) @@ -1540,10 +1437,7 @@ call stacks with different versions of the compiler.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/case-insensitive/case-insensitive-" - version - ".tar.gz")) + (uri (hackage-uri "case-insensitive" version)) (sha256 (base32 "01p40hfjyldfds5jg6vlvvn3ihs4ki63xn6fh8yzngaz1izc2v99")))) @@ -1571,10 +1465,7 @@ the resulting type will be insensitive to cases.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/cassava/cassava-" - version - ".tar.gz")) + (uri (hackage-uri "cassava" version)) (sha256 (base32 "01h1zrdqb313cjd4rqm1107azzx4czqi018c2djf66a5i7ajl3dk")))) @@ -1653,11 +1544,7 @@ very simple example of encoding CSV data: (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/cassava-megaparsec/" - "cassava-megaparsec-" - version - ".tar.gz")) + (uri (hackage-uri "cassava-megaparsec" version)) (sha256 (base32 "0pg9z38jmrylbj683b6pf7psipp7lrdq6mn1hbj8v2gj5lh8yf8n")))) @@ -1681,10 +1568,7 @@ provides for better error messages at the expense of some speed.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/cborg/cborg-" - version - ".tar.gz")) + (uri (hackage-uri "cborg" version)) (sha256 (base32 "08da498bpbnl5c919m45mjm7sr78nn6qs7xyl0smfgd06wwm65xf")))) @@ -1729,10 +1613,7 @@ command-line utility for working with CBOR data.") (source (origin (method url-fetch) - (uri (string-append - "mirror://hackage/package/cborg-json/cborg-json-" - version - ".tar.gz")) + (uri (hackage-uri "cborg-json" version)) (sha256 (base32 "0ysilz7rrjk94sqr3a61s98hr9qfi1xg13bskmlpc6mpgi2s4s5b")))) (build-system haskell-build-system) @@ -1761,10 +1642,7 @@ defined in the CBOR specification, RFC 7049.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/cereal/cereal-" - version - ".tar.gz")) + (uri (hackage-uri "cereal" version)) (sha256 (base32 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id")))) @@ -1787,9 +1665,7 @@ parser isolation, and labeled blocks for better error messages.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "cereal-conduit/cereal-conduit-" - version ".tar.gz")) + (uri (hackage-uri "cereal-conduit" version)) (sha256 (base32 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r")))) @@ -1813,10 +1689,7 @@ parser isolation, and labeled blocks for better error messages.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/cgi/cgi-" - version - ".tar.gz")) + (uri (hackage-uri "cgi" version)) (sha256 (base32 "09wvp9vkqasns4flw9z46nhcy96r4qxjv6h47d5f90drz77pmm8a")))) @@ -1840,10 +1713,7 @@ parser isolation, and labeled blocks for better error messages.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/charset/charset-" - version - ".tar.gz")) + (uri (hackage-uri "charset" version)) (sha256 (base32 "1rw6y2insgljbi5l1nwqwv9v865sswjly9rvwipd8zajkgks7aks")))) @@ -1864,8 +1734,7 @@ Haskell, based on complemented PATRICIA tries.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/Chart/" - "Chart-" version ".tar.gz")) + (uri (hackage-uri "Chart" version)) (sha256 (base32 "0p69kq5kh40gd4y8wqabypmw67pqh42vaaw64zv9sf8j075g85ry")))) @@ -1895,8 +1764,7 @@ backends provided by the @code{Cairo} and @code{Diagrams} libraries.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/" - "Chart-cairo-" version ".tar.gz")) + (uri (hackage-uri "Chart-cairo" version)) (sha256 (base32 "0clm68alzsakkn5m4h49dgx33crajacsykb4hry2fh9zxp9j743f")))) @@ -1927,8 +1795,7 @@ backend for the Charts library.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/" - "ChasingBottoms-" version ".tar.gz")) + (uri (hackage-uri "ChasingBottoms" version)) (sha256 (base32 "1flr56hd8ny0ddlv1agi0ikdjv5wgx0aba6xqdsn3nv6dyw9nbf3")))) @@ -1956,10 +1823,7 @@ Partial and Infinite Values\"}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/cheapskate/cheapskate-" - version - ".tar.gz")) + (uri (hackage-uri "cheapskate" version)) (sha256 (base32 "17n6laihqrjn62l8qw4565nf77zkvrl68bjmc3vzr4ckqfblhdzd")))) @@ -1984,9 +1848,7 @@ cross-site scripting (@dfn{XSS}) attacks.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/chell/chell-" - version ".tar.gz")) + (uri (hackage-uri "chell" version)) (sha256 (base32 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg")))) @@ -2014,9 +1876,7 @@ testing strategies.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/chell-quickcheck/" - "chell-quickcheck-" version ".tar.gz")) + (uri (hackage-uri "chell-quickcheck" version)) (sha256 (base32 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03")))) @@ -2077,9 +1937,7 @@ testing strategies.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "chunked-data-" version "/" - "chunked-data-" version ".tar.gz")) + (uri (hackage-uri "chunked-data" version)) (sha256 (base32 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p")))) @@ -2100,10 +1958,7 @@ classy-prelude.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "clock/" - "clock-" version ".tar.gz")) + (uri (hackage-uri "clock" version)) (sha256 (base32 "0qg4ljwmw28vvxjzr4sknh8220abjcx2b0sq3ljqprh3qw8b2p8b")))) (build-system haskell-build-system) @@ -2134,8 +1989,7 @@ timer functions of different operating systems via a unified API.") (method url-fetch) ;; XXX As of version 0.6, this package bundles libcmark 0.28.0. ;; See cbits/cmark_version.h. - (uri (string-append "https://hackage.haskell.org/package/" - "cmark/cmark-" version ".tar.gz")) + (uri (hackage-uri "cmark" version)) (sha256 (base32 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d")))) @@ -2159,9 +2013,7 @@ sources, and does not require prior installation of the C library.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "cmark-gfm/cmark-gfm-" - version ".tar.gz")) + (uri (hackage-uri "cmark-gfm" version)) (sha256 (base32 "1skzdg1icmhn0zrkhbnba4200ymah8sd5msk4qfgawrk77zilw7f")))) @@ -2186,9 +2038,7 @@ of the C library.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/cmdargs/cmdargs-" - version ".tar.gz")) + (uri (hackage-uri "cmdargs" version)) (sha256 (base32 "0xfabq187n1vqrnnm4ciprpl0dcjq97rksyjnpcniwva9rffmn7p")))) @@ -2209,9 +2059,7 @@ of the C library.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/code-page/code-page-" - version ".tar.gz")) + (uri (hackage-uri "code-page" version)) (sha256 (base32 "1aiavczjk6f2kc1cdwjc1mwkr4d9shiz3xwmfbzsdn0yqqchxydj")))) @@ -2231,9 +2079,7 @@ nothing.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/colour/colour-" - version ".tar.gz")) + (uri (hackage-uri "colour" version)) (sha256 (base32 "0wgqj64mh2y2zk77kv59k3xb3dk4wmgfp988y74sp9a4d76mvlrc")))) @@ -2258,10 +2104,7 @@ supported. A module of colour names (\"Data.Colour.Names\") is provided.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/comonad/comonad-" - version - ".tar.gz")) + (uri (hackage-uri "comonad" version)) (sha256 (base32 "04rxycp2pbkrvhjgpgx08jmsipjz4cdmhv59dbp47k4jq8ndyv7g")))) @@ -2281,9 +2124,7 @@ supported. A module of colour names (\"Data.Colour.Names\") is provided.") (version "1.0.1") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/concatenative/concatenative-" - version ".tar.gz")) + (uri (hackage-uri "concatenative" version)) (sha256 (base32 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd")))) @@ -2305,9 +2146,7 @@ postfix notation. For more information on stack based languages, see (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "concurrent-extra/concurrent-extra-" - version ".tar.gz")) + (uri (hackage-uri "concurrent-extra" version)) (sha256 (base32 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4")))) @@ -2354,10 +2193,7 @@ Python.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/concurrent-output/concurrent-output-" - version - ".tar.gz")) + (uri (hackage-uri "concurrent-output" version)) (sha256 (base32 "081wpag1d5znr0ynrjvkc14xl816m88vz9hgfm3g3sp6ak7s3y47")))) @@ -2384,8 +2220,7 @@ concurrent threads. Can be used for progress displays etc.") (version "1.3.1.1") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "conduit/conduit-" version ".tar.gz")) + (uri (hackage-uri "conduit" version)) (sha256 (base32 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4")))) @@ -2423,9 +2258,7 @@ space as enumerator/iteratee and pipes.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "conduit-algorithms/conduit-algorithms-" - version ".tar.gz")) + (uri (hackage-uri "conduit-algorithms" version)) (sha256 (base32 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i")))) @@ -2464,9 +2297,7 @@ level asynchronous processing and some other utilities.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "conduit-combinators-" version "/" - "conduit-combinators-" version ".tar.gz")) + (uri (hackage-uri "conduit-combinators" version)) (sha256 (base32 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp")))) @@ -2501,9 +2332,7 @@ as well as a convenient Conduit module.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "conduit-extra/conduit-extra-" - version ".tar.gz")) + (uri (hackage-uri "conduit-extra" version)) (sha256 (base32 "1n8js1y1rdswvp0bkjmmz19fag19bdxgwsrqz93yc09w43p8sr4a")))) @@ -2544,8 +2373,7 @@ dependencies. The basic idea is that this package should only depend on (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "conduit-zstd/conduit-zstd-" version ".tar.gz")) + (uri (hackage-uri "conduit-zstd" version)) (sha256 (base32 "0f0ir4zs3skw33c8mfppxhfsyqh1c2cnc4gkf8bvv3bdiikdj1yl")))) @@ -2571,8 +2399,7 @@ interface}.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "config-ini/config-ini-" version ".tar.gz")) + (uri (hackage-uri "config-ini" version)) (sha256 (base32 "0dfm4xb1sd713rcqzplzdgw68fyhj24i6lj8j3q8kldpmkl98lbf")))) (build-system haskell-build-system) @@ -2606,9 +2433,7 @@ human-readable error messages when things go wrong.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "configurator/configurator-" - version ".tar.gz")) + (uri (hackage-uri "configurator" version)) (sha256 (base32 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf")))) @@ -2644,9 +2469,7 @@ and daemons. The features include: (version "0.3.1") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "connection/connection-" - version ".tar.gz")) + (uri (hackage-uri "connection" version)) (sha256 (base32 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax")))) @@ -2677,9 +2500,7 @@ the choice of SSL/TLS, and SOCKS.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/constraints/constraints-" - version ".tar.gz")) + (uri (hackage-uri "constraints" version)) (sha256 (base32 "143558jykvya7y8134dx30g6nh27q5s61nbq369p69igd1aayncj")))) @@ -2705,10 +2526,7 @@ a vocabulary for working with them.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/contravariant/contravariant-" - version - ".tar.gz")) + (uri (hackage-uri "contravariant" version)) (sha256 (base32 "1ynz89vfn7czxpa203zmdqknkvpylzzl9rlkpasx1anph1jxcbq6")))) @@ -2729,9 +2547,7 @@ a vocabulary for working with them.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "contravariant-extras-" version "/" - "contravariant-extras-" version ".tar.gz")) + (uri (hackage-uri "contravariant-extras" version)) (sha256 (base32 "0ikwzg0992j870yp0x2ssf4mv2hw2nml979apg493m72xnvr1jz9")))) @@ -2752,11 +2568,7 @@ a vocabulary for working with them.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/" - "package/control-monad-free/control-monad-free-" - version - ".tar.gz")) + (uri (hackage-uri "control-monad-free" version)) (sha256 (base32 "1habgf7byffqf1rqjkzpihvdhclaafgqsqpfpwp3fgpj5ayk1j33")))) @@ -2783,8 +2595,7 @@ Free Monads, MPC'08} (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/convertible/" - "convertible-" version ".tar.gz")) + (uri (hackage-uri "convertible" version)) (sha256 (base32 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9")))) @@ -2809,10 +2620,7 @@ function performs the conversion you desire.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/csv/csv-" - version - ".tar.gz")) + (uri (hackage-uri "csv" version)) (sha256 (base32 "00767ai09wm7f0yzmpqck3cpgxncpr9djnmmz5l17ajz69139x4c")))) @@ -2842,9 +2650,7 @@ lingua franca for spreadsheets, and for certain web services.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/data-accessor/data-accessor-" - version ".tar.gz")) + (uri (hackage-uri "data-accessor" version)) (sha256 (base32 "0f1yvvzr24qgrx6k2g101s7vp012802iw6kli903n28nig93yn0x")))) (build-system haskell-build-system) @@ -2863,9 +2669,7 @@ manipulating fields of records.") (source (origin (method url-fetch) - (uri (string-append - "mirror://hackage/package/data-accessor-transformers/" - "data-accessor-transformers-" version ".tar.gz")) + (uri (hackage-uri "data-accessor-transformers" version)) (sha256 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10")))) (build-system haskell-build-system) @@ -2884,8 +2688,7 @@ Accessor to access state in transformers State monad.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/data-clist/" - "data-clist-" version ".tar.gz")) + (uri (hackage-uri "data-clist" version)) (sha256 (base32 "1mwfhnmvi3vicyjzl33m6pcipi2v887zazyqxygq258ndd010s9m")))) (build-system haskell-build-system) @@ -2911,10 +2714,7 @@ observed.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/data-default/data-default-" - version - ".tar.gz")) + (uri (hackage-uri "data-default" version)) (sha256 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh")))) (build-system haskell-build-system) @@ -2939,9 +2739,7 @@ packages.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/data-default-class/" - "data-default-class-" version ".tar.gz")) + (uri (hackage-uri "data-default-class" version)) (sha256 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag")))) (build-system haskell-build-system) @@ -2959,10 +2757,7 @@ packages.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "data-default-instances-base/" - "data-default-instances-base-" version ".tar.gz")) + (uri (hackage-uri "data-default-instances-base" version)) (sha256 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4")))) (build-system haskell-build-system) @@ -2983,10 +2778,7 @@ package.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "data-default-instances-containers/" - "data-default-instances-containers-" version ".tar.gz")) + (uri (hackage-uri "data-default-instances-containers" version)) (sha256 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5")))) (build-system haskell-build-system) @@ -3006,10 +2798,7 @@ package.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "data-default-instances-dlist/" - "data-default-instances-dlist-" version ".tar.gz")) + (uri (hackage-uri "data-default-instances-dlist" version)) (sha256 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x")))) (build-system haskell-build-system) @@ -3029,10 +2818,7 @@ package.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "data-default-instances-old-locale/" - "data-default-instances-old-locale-" version ".tar.gz")) + (uri (hackage-uri "data-default-instances-old-locale" version)) (sha256 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0")))) (build-system haskell-build-system) @@ -3053,9 +2839,7 @@ package.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/data-fix/" - "data-fix-" version ".tar.gz")) + (uri (hackage-uri "data-fix" version)) (sha256 (base32 "1k0rcbb6dzv0ggdxqa2bh4jr829y0bczjrg98mrk5733q0xjs5rs")))) (build-system haskell-build-system) @@ -3077,8 +2861,7 @@ Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/data-hash" - "/data-hash-" version ".tar.gz")) + (uri (hackage-uri "data-hash" version)) (sha256 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi")))) (build-system haskell-build-system) @@ -3100,9 +2883,7 @@ It includes hashing functions for all basic Haskell98 types.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/data-ordlist/data-ordlist-" - version ".tar.gz")) + (uri (hackage-uri "data-ordlist" version)) (sha256 (base32 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g")))) @@ -3122,9 +2903,7 @@ It includes hashing functions for all basic Haskell98 types.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/dbus/dbus-" - version ".tar.gz")) + (hackage-uri "dbus" version)) (sha256 (base32 "0iyfnkxcnm1vl379ry88fqxgn2y8q6ilsvpic6ciassnyv5pcbrv")))) @@ -3171,10 +2950,7 @@ interfaces common to foreign bindings.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/Decimal/Decimal-" - version - ".tar.gz")) + (uri (hackage-uri "Decimal" version)) (sha256 (base32 "19w7i9f0lbiyzwa0v3bm95233vi7f1688f0xms6cnjsf88h04ym3")))) @@ -3197,9 +2973,7 @@ value.") (version "0.2.0.0") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "deepseq-generics/deepseq-generics-" - version ".tar.gz")) + (uri (hackage-uri "deepseq-generics" version)) (sha256 (base32 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh")))) @@ -3225,9 +2999,7 @@ providing an @code{rnf} implementation.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "dense-linear-algebra/dense-linear-algebra-" - version ".tar.gz")) + (uri (hackage-uri "dense-linear-algebra" version)) (sha256 (base32 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp")))) @@ -3255,10 +3027,7 @@ related modules split from the statistics library.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/descriptive/descriptive-" - version - ".tar.gz")) + (uri (hackage-uri "descriptive" version)) (sha256 (base32 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237")))) @@ -3284,8 +3053,7 @@ and parsers with useful semantics.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "diagrams-core/diagrams-core-" version ".tar.gz")) + (uri (hackage-uri "diagrams-core" version)) (sha256 (base32 "0y3smp3hiyfdirdak3j4048cgqv7a5q9p2jb6z8na2llys5mrmdn")))) @@ -3315,8 +3083,7 @@ declarative drawing.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "diagrams-lib/diagrams-lib-" version ".tar.gz")) + (uri (hackage-uri "diagrams-lib" version)) (sha256 (base32 "09np7kj8si8kcb854f95a0cq392mgbxif8lnazbpfsa1k87d9vzy")))) @@ -3368,9 +3135,7 @@ primitives and operations for creating diagrams.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "diagrams-solve/diagrams-solve-" - version ".tar.gz")) + (uri (hackage-uri "diagrams-solve" version)) (sha256 (base32 "09qqwcvbvd3a0j5fnp40dbzw0i3py9c7kgizj2aawajwbyjvpd17")))) @@ -3398,8 +3163,7 @@ and cyclic tridiagonal linear systems.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "diagrams-svg/diagrams-svg-" version ".tar.gz")) + (uri (hackage-uri "diagrams-svg" version)) (sha256 (base32 "1ysv6cz0fngrndl4wjmw4hrdj2rik5fxa1dkxzwnlgf1xwpvxgk8")))) @@ -3435,9 +3199,7 @@ language (EDSL) to Scalable Vector Graphics (SVG) files.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "dictionary-sharing/dictionary-sharing-" - version ".tar.gz")) + (uri (hackage-uri "dictionary-sharing" version)) (sha256 (base32 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc")))) @@ -3458,8 +3220,7 @@ members are shared.") (version "0.4.0") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "Diff/Diff-" version ".tar.gz")) + (uri (hackage-uri "Diff" version)) (sha256 (base32 "1is9y5rlqyxacnj6kbi6h9laym5shp699r0hkj5p9d6qi84sr43j")))) @@ -3482,9 +3243,7 @@ and utilities for pretty printing.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "disk-free-space/disk-free-space-" - version ".tar.gz")) + (uri (hackage-uri "disk-free-space" version)) (sha256 (base32 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi")))) @@ -3503,10 +3262,7 @@ disk space usage.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/distributive/distributive-" - version - ".tar.gz")) + (uri (hackage-uri "distributive" version)) (sha256 (base32 "14bb66qyfn43bj688igfvnfjw7iycjf4n2k38sm8rxbqw2916dfp")))) @@ -3530,10 +3286,7 @@ Dual to @code{Traversable}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/dlist/dlist-" - version - ".tar.gz")) + (uri (hackage-uri "dlist" version)) (sha256 (base32 "0581a60xw4gw7pmqlmg5w2hr4hm9yjgx4c2z6v63y5xv51rn6g8p")))) (build-system haskell-build-system) @@ -3555,9 +3308,7 @@ Writer monad), where list append quickly becomes too expensive.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "doctemplates/doctemplates-" - version ".tar.gz")) + (uri (hackage-uri "doctemplates" version)) (sha256 (base32 "048h8ka849h1f0xxwkasjbrrwq03rfz2m7aqg5xc5286kp02w9ns")))) @@ -3588,10 +3339,7 @@ Writer monad), where list append quickly becomes too expensive.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/doctest/doctest-" - version - ".tar.gz")) + (uri (hackage-uri "doctest" version)) (sha256 (base32 "0f0knggq6yjcznyri35fll619q5jr8vcsbiyvdiz4prkawhaa4pz")))) @@ -3623,10 +3371,7 @@ It is modeled after doctest for Python, see (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/dotgen/dotgen-" - version - ".tar.gz")) + (uri (hackage-uri "dotgen" version)) (sha256 (base32 "1jcn5m9342jrdq7jln2v9msf9978ngrx0pq9rrjh8izhvbvph76s")))) @@ -3648,9 +3393,7 @@ monadic interface for building graphs.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "double-conversion/double-conversion-" - version ".tar.gz")) + (uri (hackage-uri "double-conversion" version)) (sha256 (base32 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4")))) @@ -3673,8 +3416,7 @@ between double precision floating point and text.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "dual-tree/dual-tree-" version ".tar.gz")) + (uri (hackage-uri "dual-tree" version)) (sha256 (base32 "0qyn7kb42wvlcvb1wbf1qx3isc2y6k3hzp5iq6ab0r0llw9g6qlg")))) @@ -3705,10 +3447,7 @@ diagrams framework}, but potentially has other applications as well.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/easy-file/easy-file-" - version - ".tar.gz")) + (uri (hackage-uri "easy-file" version)) (sha256 (base32 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj")))) @@ -3727,9 +3466,7 @@ diagrams framework}, but potentially has other applications as well.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/easyplot/easyplot-" - version ".tar.gz")) + (uri (hackage-uri "easyplot" version)) (sha256 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk")))) (build-system haskell-build-system) @@ -3752,9 +3489,7 @@ Haskell, using gnuplot for rendering.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/echo/echo-" - version ".tar.gz")) + (uri (hackage-uri "echo" version)) (sha256 (base32 "0hqfdd4kvpp59cjjv790bkf72yqr9xjfqlbjcrdsc9a8j3r1pzn9")))) @@ -3779,8 +3514,7 @@ MinTTY and other consoles.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/edit-distance" - "/edit-distance-" version ".tar.gz")) + (uri (hackage-uri "edit-distance" version)) (sha256 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y")))) (build-system haskell-build-system) @@ -3807,9 +3541,7 @@ Damerau-Levenshtein algorithms.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "edit-distance-vector/edit-distance-vector-" - version ".tar.gz")) + (uri (hackage-uri "edit-distance-vector" version)) (sha256 (base32 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp")))) @@ -3840,9 +3572,7 @@ but is otherwise agnostic to: (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "either-" version "/" - "either-" version ".tar.gz")) + (uri (hackage-uri "either" version)) (sha256 (base32 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2")))) @@ -3876,11 +3606,7 @@ but is otherwise agnostic to: (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "email-validate/email-validate-" - version - ".tar.gz")) + (uri (hackage-uri "email-validate" version)) (sha256 (base32 "0n67wss6k8lhwfkybkhsa04bbdfdv541sacbxlylkx2hqpj5r5gh")))) @@ -3902,9 +3628,7 @@ address string against RFC 5322.") (version "1.0.3") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "enclosed-exceptions/enclosed-exceptions-" - version ".tar.gz")) + (uri (hackage-uri "enclosed-exceptions" version)) (sha256 (base32 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg")))) @@ -3933,8 +3657,7 @@ asynchronous exceptions.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/equivalence" - "/equivalence-" version ".tar.gz")) + (uri (hackage-uri "equivalence" version)) (sha256 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp")))) (build-system haskell-build-system) @@ -3959,9 +3682,7 @@ monad transformer (instead of the IO monad).") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "erf-" version "/" - "erf-" version ".tar.gz")) + (uri (hackage-uri "erf" version)) (sha256 (base32 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14")))) @@ -3981,9 +3702,7 @@ Double.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "errorcall-eq-instance/errorcall-eq-instance-" - version ".tar.gz")) + (uri (hackage-uri "errorcall-eq-instance" version)) (sha256 (base32 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm")))) @@ -4007,9 +3726,7 @@ This package provides an orphan instance.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "errors-" version "/" - "errors-" version ".tar.gz")) + (uri (hackage-uri "errors" version)) (sha256 (base32 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7")))) @@ -4031,8 +3748,7 @@ directly uses the type system, rather than out-of-band exceptions.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "esqueleto/esqueleto-" version ".tar.gz")) + (uri (hackage-uri "esqueleto" version)) (sha256 (base32 "0z3cf49sha6q965qw2m08jfmb91ki2rsdpnr7l39lka5b4ffxjlz")))) @@ -4079,9 +3795,7 @@ generated SQL and optimize it for your backend.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "ghc-exactprint/ghc-exactprint-" version ".tar.gz")) + (uri (hackage-uri "ghc-exactprint" version)) (sha256 (base32 "0a6baza962d4pz2m02hxmh8234i47zkizmwhsy68namr05dmlgpw")))) @@ -4107,10 +3821,7 @@ excluding @file{.lhs} files.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/exceptions/exceptions-" - version - ".tar.gz")) + (uri (hackage-uri "exceptions" version)) (sha256 (base32 "1kw4pmx7j7zwbdwm0dyn9rcs6kp4byfxy48861yxdz6gam1zn2sd")))) @@ -4136,9 +3847,7 @@ for Haskell.") (version "0.0.3.1") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "executable-path/executable-path-" - version ".tar.gz")) + (uri (hackage-uri "executable-path" version)) (sha256 (base32 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww")))) @@ -4160,9 +3869,7 @@ as invoked.\" This library tries to provide the missing path.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "extensible-exceptions/extensible-exceptions-" - version ".tar.gz")) + (uri (hackage-uri "extensible-exceptions" version)) (sha256 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc")))) (build-system haskell-build-system) @@ -4181,10 +3888,7 @@ versions of GHC (i.e., < 6.10).") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/extra/extra-" - version - ".tar.gz")) + (uri (hackage-uri "extra" version)) (sha256 (base32 "17fzmxwrv0w7inhq7kia36prc2nsx845r9v56sihqvr17fk2cvpn")))) @@ -4208,8 +3912,7 @@ this package makes them available back to GHC 7.2.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/fail/fail-" - version ".tar.gz")) + (uri (hackage-uri "fail" version)) (sha256 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d")))) (build-system haskell-build-system) @@ -4234,10 +3937,7 @@ when used with GHC versions which already provide the (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/fast-logger/fast-logger-" - version - ".tar.gz")) + (uri (hackage-uri "fast-logger" version)) (sha256 (base32 "1mbnah6n8lig494523czcd95dfn01f438qai9pf20wpa2gdbz4x6")))) @@ -4259,8 +3959,7 @@ when used with GHC versions which already provide the (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "feed/feed-" version ".tar.gz")) + (uri (hackage-uri "feed" version)) (sha256 (base32 "0kv3vx3njqlhwvkmf12m1gmwl8jj97kfa60da2362vwdavhcf4dk")))) @@ -4298,10 +3997,7 @@ consuming feeds in both RSS (Really Simple Syndication) and Atom format.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/fgl/fgl-" - version - ".tar.gz")) + (uri (hackage-uri "fgl" version)) (sha256 (base32 "04k5grp5d381wkc7sxgcl0sd3z3nlm6l6mmh103vhzh6p49vhs99")))) @@ -4335,9 +4031,7 @@ encourages inductive, recursive definitions of graph algorithms.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-" - version ".tar.gz")) + (uri (hackage-uri "fgl-arbitrary" version)) (sha256 (base32 "1mykbd1r43gpsn10ys8q3nr0i4wnhn6wq23hcici18mxxji11wkc")))) @@ -4361,8 +4055,7 @@ for generating graph-like data structures.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/file-embed/" - "file-embed-" version ".tar.gz")) + (uri (hackage-uri "file-embed" version)) (sha256 (base32 "1pavxj642phrkq67620g10wqykjfhmm9yj2rm8pja83sadfvhrph")))) @@ -4382,8 +4075,7 @@ embedded in your Haskell code.") (version "0.3.6.3") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "filemanip/filemanip-" version ".tar.gz")) + (uri (hackage-uri "filemanip" version)) (sha256 (base32 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8")))) @@ -4406,9 +4098,7 @@ file contents, and more.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/filepath-bytestring/" - "filepath-bytestring-" version ".tar.gz")) + (uri (hackage-uri "filepath-bytestring" version)) (sha256 (base32 "0qrrvbjpjsk75ghqrdqzwqg7wjgm3rr9kk7p04ax98ilv90pm0ip")))) @@ -4430,9 +4120,7 @@ file contents, and more.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/FindBin/FindBin-" - version ".tar.gz")) + (uri (hackage-uri "FindBin" version)) (sha256 (base32 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717")))) @@ -4454,9 +4142,7 @@ an executable.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/fingertree/fingertree-" - version ".tar.gz")) + (uri (hackage-uri "fingertree" version)) (sha256 (base32 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm")))) @@ -4481,9 +4167,7 @@ simple general-purpose data structure\".") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "finite-typelits/" - "finite-typelits-" version ".tar.gz")) + (uri (hackage-uri "finite-typelits" version)) (sha256 (base32 "0iyp9fyd2ki9qcmk9infz9p6rjhsx9jrs3f5yz0yqs8vj5na81yj")))) (build-system haskell-build-system) @@ -4502,8 +4186,7 @@ and indexed by type-level naturals.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-" - version ".tar.gz")) + (uri (hackage-uri "fixed" version)) (sha256 (base32 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j")))) @@ -4524,9 +4207,7 @@ arithmetic.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/fmlist/fmlist-" - version ".tar.gz")) + (hackage-uri "fmlist" version)) (sha256 (base32 "19h95ph7lh7llw6j1v1rssrdi5k7xw8x0iac9rgzss371s2w3g9d")))) @@ -4548,9 +4229,7 @@ completely unverified though.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "foldl-" version "/" - "foldl-" version ".tar.gz")) + (uri (hackage-uri "foldl" version)) (sha256 (base32 "0zf4yljh3s2ddxa7dhzdglmylj14kfldhkclc44g37zvjq6kcnag")))) @@ -4583,8 +4262,7 @@ and are often as efficient as hand-written folds.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "foundation/foundation-" version ".tar.gz")) + (uri (hackage-uri "foundation" version)) (sha256 (base32 "1hri3raqf6nhh6631gfm2yrkv4039gb0cqfa9cqmjp8bbqv28w5d")))) @@ -4629,10 +4307,7 @@ Foundation has the following goals: (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/free/free-" - version - ".tar.gz")) + (uri (hackage-uri "free" version)) (sha256 (base32 "121b81wxjk30nc27ivwzxjxi1dcwc30y0gy8l6wac3dxwvkx2c5j")))) @@ -4667,9 +4342,7 @@ definition of @code{Monad}.") (version "0.3.0.1") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/fsnotify/" - "fsnotify-" version ".tar.gz")) + (uri (hackage-uri "fsnotify" version)) (sha256 (base32 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny")))) @@ -4698,10 +4371,7 @@ specific Windows, Mac, and Linux file system event notification.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/generic-deriving/generic-deriving-" - version - ".tar.gz")) + (uri (hackage-uri "generic-deriving" version)) (sha256 (base32 "19qpahcfhs9nqqv6na8znybrvpw885cajbdnrfylxbsmm0sys4s7")))) @@ -4766,9 +4436,7 @@ and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/generic-random/" - "generic-random-" version ".tar.gz")) + (uri (hackage-uri "generic-random" version)) (sha256 (base32 "12rvb1dzrfjc46n9vdcw3yv773iih8vwhrac3hpzq70yp2z77jdw")))) (arguments '()))) @@ -4780,9 +4448,7 @@ and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "generics-sop-" version "/" - "generics-sop-" version ".tar.gz")) + (uri (hackage-uri "generics-sop" version)) (sha256 (base32 "1n65wjdbb9fswa43ys5k6c746c905877lw5ij33y66iabj5w7dw1")))) @@ -4806,9 +4472,7 @@ each constructor are represented using an n-ary product.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package" - "/geniplate-mirror" - "/geniplate-mirror-" version ".tar.gz")) + (uri (hackage-uri "geniplate-mirror" version)) (sha256 (base32 "1kw4q7l556sfd82r2p0z3cv4sg8kcr45wb4s2sy996bs3ymn8fjb")))) (build-system haskell-build-system) @@ -4828,10 +4492,7 @@ geniplate} package, written by Lennart Augustsson.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/genvalidity/genvalidity-" - version - ".tar.gz")) + (uri (hackage-uri "genvalidity" version)) (sha256 (base32 "16bd5dx0ngc8z7mij23i2l3a8v3c112x8ksd623alik18zx7pi8j")))) @@ -4857,11 +4518,7 @@ with the @code{Validity} typeclass.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "genvalidity-property/genvalidity-property-" - version - ".tar.gz")) + (uri (hackage-uri "genvalidity-property" version)) (sha256 (base32 "0cvzc4z4771vpycwfgcj0yswyglzl6cl1h2wrfhs224nrcmk5a7z")))) @@ -4891,9 +4548,7 @@ properties for functions operating on them.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "getopt-generics/getopt-generics-" - version ".tar.gz")) + (uri (hackage-uri "getopt-generics" version)) (sha256 (base32 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr")))) @@ -4916,8 +4571,7 @@ interfaces with ease.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-" - version ".tar.gz")) + (uri (hackage-uri "gitrev" version)) (sha256 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8")))) (build-system haskell-build-system) @@ -4939,9 +4593,7 @@ info for more informative bug reports.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "Glob-" version "/" - "Glob-" version ".tar.gz")) + (uri (hackage-uri "Glob" version)) (sha256 (base32 "05fknrb114qvfzv6324ngx0fz43cwgrhrc700l3h2is9jinlgr6a")))) @@ -4965,10 +4617,7 @@ matching patterns against file paths.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/GLURaw/GLURaw-" - version - ".tar.gz")) + (uri (hackage-uri "GLURaw" version)) (sha256 (base32 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq")))) @@ -4990,10 +4639,7 @@ basis for a nicer interface.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/GLUT/GLUT-" - version - ".tar.gz")) + (uri (hackage-uri "GLUT" version)) (sha256 (base32 "0vdkfj4wjzigdpzgr5l001y9wkhwgl00mclr26gf93kps14fkymn")))) @@ -5015,9 +4661,7 @@ programs.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/gnuplot/gnuplot-" - version ".tar.gz")) + (uri (hackage-uri "gnuplot" version)) (sha256 (base32 "1rfq94lnsyjr8y9p5r56jpllv3p8rvh9xxzjji016b6r5adi8cnb")))) (build-system haskell-build-system) @@ -5050,8 +4694,7 @@ programs.") (version "2999.20.1.0") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "graphviz/graphviz-" version ".tar.gz")) + (uri (hackage-uri "graphviz" version)) (sha256 (base32 "0l0zxgb938hh09qirggbaskq79mgj3s081cnr42y5vm1rp1jir2s")))) @@ -5094,8 +4737,7 @@ and edge labels with positional information, etc. (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "groups/groups-" version ".tar.gz")) + (uri (hackage-uri "groups" version)) (sha256 (base32 "0f5c8dg9b74glfw2sdvdcl9c8igs6knz1bayk4gvvzvypsl547nf")))) @@ -5114,9 +4756,7 @@ monoid with invertibility.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "gtk2hs-buildtools/gtk2hs-buildtools-" - version ".tar.gz")) + (uri (hackage-uri "gtk2hs-buildtools" version)) (sha256 (base32 "102x753jbc90lfm9s0ng5kvm0risqwpar331xwsd752as0bms142")))) @@ -5144,9 +4784,7 @@ tools are not needed to actually run Gtk2Hs programs.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "hackage-security/hackage-security-" - version ".tar.gz")) + (uri (hackage-uri "hackage-security" version)) (sha256 (base32 "05rgz31cmp52137j4jk0074z8lfgk8mrf2x56bzw28asmxrv8qli")))) @@ -5193,10 +4831,7 @@ Tor project}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/haddock/haddock-" - version - ".tar.gz")) + (uri (hackage-uri "haddock" version)) (sha256 (base32 "1ha4hrnidwkmwalqwd1ixa2933as5n4sj1lvz0cx89a3png7r930")))) @@ -5229,10 +4864,7 @@ Tor project}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/haddock-api/haddock-api-" - version - ".tar.gz")) + (uri (hackage-uri "haddock-api" version)) (sha256 (base32 "1jj2csi85nlywsyvnbwhclfdz27j2kyfbhrl9cm7av0243br9vg1")))) @@ -5255,10 +4887,7 @@ documentation-generation tool for Haskell libraries.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/haddock-library/haddock-library-" - version - ".tar.gz")) + (uri (hackage-uri "haddock-library" version)) (sha256 (base32 "15ak06q8yp11xz1hwr0sg2jqi3r78p1n89ik05hicqvxl3awf1pq")))) @@ -5322,9 +4951,7 @@ the ‘haddock’ package.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/half/half-" - version ".tar.gz")) + (uri (hackage-uri "half" version)) (sha256 (base32 "1l8m2spqg0ac50qys2jk5b32v6wxklbbk5ypjp3ga6z14hkw7bz2")))) @@ -5346,10 +4973,7 @@ computation library for Haskell.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/happy/happy-" - version - ".tar.gz")) + (uri (hackage-uri "happy" version)) (sha256 (base32 "1346r2x5ravs5fqma65bzjragqbb2g6v41wz9maknwm2jf7kl79v")))) @@ -5379,10 +5003,7 @@ Happy works in a similar way to the yacc tool for C.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hashable/hashable-" - version - ".tar.gz")) + (uri (hackage-uri "hashable" version)) (sha256 (base32 "1d4sn4xjf0swrfg8pl93ipavbj12ch3a9aykhkl6mjnczc9m8bl2")))) @@ -5421,10 +5042,7 @@ combine hash values.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hashable-time/hashable-time-" - version - ".tar.gz")) + (uri (hackage-uri "hashable-time" version)) (sha256 (base32 "1zw2gqagpbwq1hgx5rlvy6mhsnb15cxg3pmhawwv0ylfihmx2yxh")))) @@ -5449,9 +5067,7 @@ combine hash values.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hashtables/hashtables-" - version ".tar.gz")) + (uri (hackage-uri "hashtables" version)) (sha256 (base32 "0vgggm7bqq55zmqj6qji89bfj3k1rdkikkfhyg81vsqf0f3bzhqa")))) (build-system haskell-build-system) @@ -5480,10 +5096,7 @@ a set of wrappers to use the hash tables in the IO monad.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/haskeline/haskeline-" - version - ".tar.gz")) + (uri (hackage-uri "haskeline" version)) (sha256 (base32 "0gqsa5s0drim9m42hv4wrq61mnvcdylxysfxfw3acncwilfrn9pb")))) @@ -5512,9 +5125,7 @@ Haskeline runs both on POSIX-compatible systems and on Windows.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-" - version ".tar.gz")) + (uri (hackage-uri "haskell-lexer" version)) (sha256 (base32 "1mb3np20ig0hbgnfxrzr3lczq7ya4p76g20lvnxch8ikck61afii")))) (build-system haskell-build-system) @@ -5532,10 +5143,7 @@ Haskeline runs both on POSIX-compatible systems and on Windows.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/haskell-src/haskell-src-" - version - ".tar.gz")) + (uri (hackage-uri "haskell-src" version)) (sha256 (base32 "0cjigvshk4b8wqdk0v0hz9ag1kyjjsmqsy4a1m3n28ac008cg746")))) @@ -5564,10 +5172,7 @@ package are to parse or generate Haskell 98 code.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-" - version - ".tar.gz")) + (uri (hackage-uri "haskell-src-exts" version)) (sha256 (base32 "01bcrxs9af4yqpclw43aijmsd1g19qhyzb47blz7vzwz2r3k11b7")))) @@ -5594,9 +5199,7 @@ patterns as per the HaRP extension as well as HSX-style embedded XML syntax.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "haskell-src-exts-util/haskell-src-exts-util-" - version ".tar.gz")) + (uri (hackage-uri "haskell-src-exts-util" version)) (sha256 (base32 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8")))) @@ -5618,9 +5221,7 @@ patterns as per the HaRP extension as well as HSX-style embedded XML syntax.") (version "0.8.7") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "haskell-src-meta/haskell-src-meta-" - version ".tar.gz")) + (uri (hackage-uri "haskell-src-meta" version)) (sha256 (base32 "1yy2dfb1ip1zqx3xh28g92209555abzvxrxiwcl95j27zzqxc6in")))) @@ -5644,10 +5245,7 @@ template-haskell abstract syntax.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hasktags/hasktags-" - version - ".tar.gz")) + (uri (hackage-uri "hasktags" version)) (sha256 (base32 "09p79w16fgpqi6bwq162769xdrnyb7wnmz56k00nz6dj1a0bbbdd")))) @@ -5674,9 +5272,7 @@ Vim.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "hex-" version "/" - "hex-" version ".tar.gz")) + (uri (hackage-uri "hex" version)) (sha256 (base32 "1mc66758254d93m7vab7q6lhn7qphzxd6wyc3v6yq1diy0gji4va")))) @@ -5694,9 +5290,7 @@ hexadecimal string representation.") (version "0.6.4") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "highlighting-kate/highlighting-kate-" - version ".tar.gz")) + (uri (hackage-uri "highlighting-kate" version)) (sha256 (base32 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q")))) @@ -5724,10 +5318,7 @@ descriptions.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hindent/hindent-" - version - ".tar.gz")) + (uri (hackage-uri "hindent" version)) (sha256 (base32 "129gkn8qg68wsd60mq8yk7hrqsc8sd8v56xn41m5ii3hriq1mmv7")))) @@ -5781,9 +5372,7 @@ library and an executable.") (version "0.4.1") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hinotify/" - "hinotify-" version ".tar.gz")) + (uri (hackage-uri "hinotify" version)) (sha256 (base32 "06pqfikfa61i45g92b65br83kplwmizqkm42yp8d0ddgmq0b21qk")))) @@ -5805,10 +5394,7 @@ accessed or modified.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hledger-lib/hledger-lib-" - version - ".tar.gz")) + (uri (hackage-uri "hledger-lib" version)) (sha256 (base32 "00prslqk8vnbyz388cpc0nsamzy8xcjzday5q9n3m9lx4p2dhb5y")))) @@ -5865,9 +5451,7 @@ Accounting.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hmatrix/hmatrix-" - version ".tar.gz")) + (uri (hackage-uri "hmatrix" version)) (sha256 (base32 "05462prqkbqpxfbzsgsp8waf0sirg2qz6lzsk7r1ll752n7gqkbg")))) (build-system haskell-build-system) @@ -5899,9 +5483,7 @@ numerical computations based on BLAS and LAPACK.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-" - version ".tar.gz")) + (uri (hackage-uri "hmatrix-gsl" version)) (sha256 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm")))) (build-system haskell-build-system) @@ -5926,9 +5508,7 @@ using GSL.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-" - version ".tar.gz")) + (hackage-uri "hmatrix-gsl-stats" version)) (sha256 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q")))) (build-system haskell-build-system) @@ -5950,9 +5530,7 @@ interface for statistics based on hmatrix and GSL.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-" - version ".tar.gz")) + (hackage-uri "hmatrix-special" version)) (sha256 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz")))) (build-system haskell-build-system) @@ -5972,8 +5550,7 @@ functions for Haskell.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/hostname/" - "hostname-" version ".tar.gz")) + (uri (hackage-uri "hostname" version)) (sha256 (base32 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv")))) @@ -5991,8 +5568,7 @@ determine the hostname.") (version "0.2.12") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "hourglass/hourglass-" version ".tar.gz")) + (uri (hackage-uri "hourglass" version)) (sha256 (base32 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4")))) @@ -6019,8 +5595,7 @@ representations of current time.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/hpack/" - "hpack-" version ".tar.gz")) + (uri (hackage-uri "hpack" version)) (sha256 (base32 "0gmm6jgi1sgyilphww6apq1x04grqznm7xhyb7g1rj5j7my40ws2")))) @@ -6065,11 +5640,7 @@ are described in a file named @code{package.yaml}. Both @code{cabal2nix} and (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/" - "package/hspec-megaparsec/hspec-megaparsec-" - version - ".tar.gz")) + (uri (hackage-uri "hspec-megaparsec" version)) (sha256 (base32 "0hyf06gzzqd6sqd76crwxycwgx804sd39z7i0c2vmv1qgsxv82gn")))) @@ -6093,9 +5664,7 @@ with Hspec.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-" - version ".tar.gz")) + (uri (hackage-uri "hs-bibutils" version)) (sha256 (base32 "1wnpy1v5rbii2iwlcc9psnww8pkirv9zl21s64cmbi6q7dv15g3n")))) @@ -6117,9 +5686,7 @@ MODS-format XML intermediate.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "hslogger-" version "/" "hslogger-" - version ".tar.gz")) + (uri (hackage-uri "hslogger" version)) (sha256 (base32 "0nyar9xcblx5jwks85y8f4jfy9k1h4ss6rvj4mdbiidrq3v688vz")))) (build-system haskell-build-system) @@ -6145,8 +5712,7 @@ handler built in.") (version "1.3.0.2") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "hslua/hslua-" version ".tar.gz")) + (uri (hackage-uri "hslua" version)) (sha256 (base32 "0p39xm0mmxzs5x6aim11qkb7npn0d9h7li2kwfhry0dijd1vm18i")))) @@ -6179,9 +5745,7 @@ described in @url{https://www.lua.org/}.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "hslua-module-system/hslua-module-system-" - version ".tar.gz")) + (uri (hackage-uri "hslua-module-system" version)) (sha256 (base32 "0hk2splyasbplnggknjhlb423axc5b32xq8aq8zal4vvwlqhzvf1")))) @@ -6207,9 +5771,7 @@ already been loaded before the loader can be added.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "hslua-module-text/hslua-module-text-" - version ".tar.gz")) + (uri (hackage-uri "hslua-module-text" version)) (sha256 (base32 "1vmd15n905i2pcsx748hz3h9kv5nnv74y663rj57q8mp0b40cbfl")))) @@ -6234,8 +5796,7 @@ for Haskell. The functions provided by this module are @code{upper}, (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "HsYAML/HsYAML-" version ".tar.gz")) + (uri (hackage-uri "HsYAML" version)) (sha256 (base32 "10qzhsg789h37q22hm9p27dx4rhbykcbxp7p3pvkws8fr7ajgxv0")))) @@ -6286,9 +5847,7 @@ for user-defined custom schemas). (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "http-api-data-" version "/" - "http-api-data-" version ".tar.gz")) + (uri (hackage-uri "http-api-data" version)) (sha256 (base32 "0xzfvxxh33ivlnrnzmm19cni3jgb5ph18n9hykkw3d6l3rhwzcnl")))) @@ -6324,9 +5883,7 @@ Haskell data types to and from HTTP API data.") (version "0.8.0") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/ieee754/" - "ieee754-" version ".tar.gz")) + (uri (hackage-uri "ieee754" version)) (sha256 (base32 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f")))) @@ -6346,8 +5903,7 @@ for general types.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "IfElse/IfElse-" version ".tar.gz")) + (uri (hackage-uri "IfElse" version)) (sha256 (base32 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa")))) @@ -6366,9 +5922,7 @@ monads with anaphoric variants on @code{if} and @code{when} and a C-like (version "0.5.0.1") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/indents/indents-" - version ".tar.gz")) + (uri (hackage-uri "indents" version)) (sha256 (base32 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51")))) @@ -6395,8 +5949,7 @@ lines continued at an indented level below.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "infer-license/infer-license-" version ".tar.gz")) + (uri (hackage-uri "infer-license" version)) (sha256 (base32 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj")))) @@ -6419,8 +5972,7 @@ license from a given license file.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "ini/ini-" version ".tar.gz")) + (uri (hackage-uri "ini" version)) (sha256 (base32 "0mvwii8jbh2ll54qb9dij5m66c6324s2y4vrwz1qr4wz40m3qa8l")))) (build-system haskell-build-system) @@ -6443,8 +5995,7 @@ read and write configuration files in the simple INI format.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/inline-c/" - "inline-c-" version ".tar.gz")) + (uri (hackage-uri "inline-c" version)) (sha256 (base32 "0a0m3bhh910c5g46cwkxgflsgw5ab7lzymwll9hijyvwgnsw3h7i")))) @@ -6472,8 +6023,7 @@ minimal overhead. No FFI required.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/" - "inline-c-cpp-" version ".tar.gz")) + (uri (hackage-uri "inline-c-cpp" version)) (sha256 (base32 "0bqrhyic3cw1pqg7knsmkqx5swpr4kvf9bmz0mhmqbl6brmv5il0")))) @@ -6497,9 +6047,7 @@ minimal overhead. No FFI required.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "integer-logarithms/integer-logarithms-" - version ".tar.gz")) + (uri (hackage-uri "integer-logarithms" version)) (sha256 (base32 "0zzapclfabc76g8jzsbsqwdllx2zn0gp4raq076ib6v0mfgry2lv")))) @@ -6539,8 +6087,7 @@ in migrated modules.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/interpolate/" - "interpolate-" version ".tar.gz")) + (uri (hackage-uri "interpolate" version)) (sha256 (base32 "03jrkj9c62w0c2awym8mhpsgpd0jffl50cqwfrm7bbdfhd8dsxi7")))) @@ -6564,8 +6111,7 @@ Haskell.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/IntervalMap/" - "IntervalMap-" version ".tar.gz")) + (uri (hackage-uri "IntervalMap" version)) (sha256 (base32 "03smzhwk1zf5na544b0azp49j4gvafqsih9ggwf6yng38yhixwld")))) @@ -6588,8 +6134,7 @@ example code on the home page for a quick introduction.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "intervals/intervals-" version ".tar.gz")) + (uri (hackage-uri "intervals" version)) (sha256 (base32 "1qibvgys8lw61x9na3iy3dcglyj9qyhcbfc00glnagl7cbk1shlv")))) @@ -6612,9 +6157,7 @@ which represets a closed, convex set of floating point values.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/invariant/invariant-" - version ".tar.gz")) + (uri (hackage-uri "invariant" version)) (sha256 (base32 "1jlp0gbfjsx7k08275djh8m3v4rpg8llw5gdkg9s9qfx0lc0mymr")))) @@ -6647,8 +6190,7 @@ functors). For more information, see Edward Kmett's article (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "io-streams/io-streams-" version ".tar.gz")) + (uri (hackage-uri "io-streams" version)) (sha256 (base32 "1y3sqmxrwiksz7pl4hf3vzvg8p8n00qnv98nj5xbpcadlh468rny")))) @@ -6681,9 +6223,7 @@ primitives for I/O using streams.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "io-streams-haproxy/io-streams-haproxy-" - version ".tar.gz")) + (uri (hackage-uri "io-streams-haproxy" version)) (sha256 (base32 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp")))) @@ -6712,10 +6252,7 @@ through a forwarding proxy that is configured to speak this protocol.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/iproute/iproute-" - version - ".tar.gz")) + (uri (hackage-uri "iproute" version)) (sha256 (base32 "12wa59b1zgjqp8dmygq2x44ml0cb89fhn1k0zkj4aqz7rhkwsp90")))) @@ -6739,8 +6276,7 @@ removed. Both IPv4 and IPv6 are supported.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "ipynb/ipynb-" version ".tar.gz")) + (uri (hackage-uri "ipynb" version)) (sha256 (base32 "0qky4l5aaiq7ypwbxh0mr7s572290fi596f18dg68qpyzc49a9kx")))) @@ -6765,8 +6301,7 @@ instances for conversion to and from JSON .ipynb files.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-" - version ".tar.gz")) + (uri (hackage-uri "iwlib" version)) (sha256 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz")))) (build-system haskell-build-system) @@ -6790,8 +6325,7 @@ supported systems.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/json/" - "json-" version ".tar.gz")) + (uri (hackage-uri "json" version)) (sha256 (base32 "1fjnd2r4gl2hfqx158db3cn3rsyin4ch7rf9scb2hcy90cy6l10c")))) @@ -6815,9 +6349,7 @@ Notation, JSON} is a lightweight data-interchange format.") (version "3.3.6") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "JuicyPixels/JuicyPixels-" - version ".tar.gz")) + (uri (hackage-uri "JuicyPixels" version)) (sha256 (base32 "1f8giivsqxma19ax78dr7j4gir12iyfqn2mlsd27zzl8dn7dy6w1")))) @@ -6840,10 +6372,7 @@ TIFF and GIF formats.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/kan-extensions/kan-extensions-" - version - ".tar.gz")) + (uri (hackage-uri "kan-extensions" version)) (sha256 (base32 "1rkjxwc2k2425d2shdra6wzd4f4dpj76hxmq8mish4f0lz9gxxml")))) @@ -6872,8 +6401,7 @@ forms of the Yoneda lemma, and (co)density (co)monads for Haskell.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "language-c/language-c-" version ".tar.gz")) + (uri (hackage-uri "language-c" version)) (sha256 (base32 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk")))) @@ -6897,8 +6425,7 @@ and a large set of GNU extensions.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "language-glsl/language-glsl-" version ".tar.gz")) + (uri (hackage-uri "language-glsl" version)) (sha256 (base32 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1")))) @@ -6922,9 +6449,7 @@ representation, parsing, and pretty-printing of GLSL 1.50 code.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "language-haskell-extract-" version "/" - "language-haskell-extract-" version ".tar.gz")) + (uri (hackage-uri "language-haskell-extract" version)) (patches (search-patches "ghc-language-haskell-extract-ghc-8.10.patch")) (sha256 (base32 @@ -6962,8 +6487,7 @@ with @code{wc} (for a web service).") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/lens/lens-" - version ".tar.gz")) + (uri (hackage-uri "lens" version)) (sha256 (base32 "0fy2vr5r11cc6ana8m2swqgs3zals4kims55vd6119bi76p5iy2j")))) @@ -7022,10 +6546,7 @@ indexed variants.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/lens-family-core/lens-family-core-" - version - ".tar.gz")) + (uri (hackage-uri "lens-family-core" version)) (sha256 (base32 "0ni6s873hy2h3b316835ssmlyr05yinb3a8jq5b01p9ppp9zrd0r")))) @@ -7059,8 +6580,7 @@ lenses and traversals for those who require Haskell 98.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "libffi/libffi-" version ".tar.gz")) + (uri (hackage-uri "libffi" version)) (sha256 (base32 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28")))) @@ -7082,10 +6602,7 @@ to be called from Haskell.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/libmpd/libmpd-" - version - ".tar.gz")) + (uri (hackage-uri "libmpd" version)) (sha256 (base32 "088vlir0n3wps2p5ydgyx51p41nfjcm2v02sszpyjj3c8z7f4qkh")))) @@ -7109,8 +6626,7 @@ Music Player Daemon.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz")) + (uri (hackage-uri "ghc-lib-parser" version)) (sha256 (base32 "178v4f7q9ndqmlhg2vhlk6ifm3ilajlrz8iw84vggzs7rp0fnlx0")))) @@ -7133,8 +6649,7 @@ compiler versions.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/libxml/" - "libxml-" version ".tar.gz")) + (uri (hackage-uri "libxml" version)) (sha256 (base32 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi")))) @@ -7160,8 +6675,7 @@ compiler versions.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "libyaml/libyaml-" version ".tar.gz")) + (uri (hackage-uri "libyaml" version)) (sha256 (base32 "1dcpbsjg6n305l07isxmavgp01lbv1qggy16acjyxjlz35pxchlg")) @@ -7191,9 +6705,7 @@ LibYAML C library.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/lifted-async/lifted-async-" - version ".tar.gz")) + (uri (hackage-uri "lifted-async" version)) (sha256 (base32 "0j4f5471qfxkxy84ri87bcvp30ikh4m30imcggwn8m5v8igp218d")))) @@ -7224,10 +6736,7 @@ instance of @code{MonadBase} or @code{MonadBaseControl}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/lifted-base/lifted-base-" - version - ".tar.gz")) + (uri (hackage-uri "lifted-base" version)) (sha256 (base32 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61")))) @@ -7253,8 +6762,7 @@ Kaseorg.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/linear/" - "linear-" version ".tar.gz")) + (uri (hackage-uri "linear" version)) (sha256 (base32 "0ax6prmc7b53w0lz5ddc40wrjj9bm7wldpp57283gx9hdf8qrb35")))) @@ -7298,9 +6806,7 @@ vector spaces.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/ListLike/ListLike-" - version ".tar.gz")) + (hackage-uri "ListLike" version)) (sha256 (base32 "08jip0q2f9qc95wcqka2lrqpf8r7sswsi5104w73kyrbmfirqnrd")))) @@ -7333,8 +6839,7 @@ can handle infinite lists.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/" - "llvm-hs-pure-" version ".tar.gz")) + (uri (hackage-uri "llvm-hs-pure" version)) (sha256 (base32 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf")))) @@ -7359,8 +6864,7 @@ llvm-hs-pure does not require LLVM to be available.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-" - version ".tar.gz")) + (uri (hackage-uri "llvm-hs" version)) (sha256 (base32 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00")))) @@ -7393,9 +6897,7 @@ into Haskell.") (version "0.3.0") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "logging-facade/logging-facade-" - version ".tar.gz")) + (uri (hackage-uri "logging-facade" version)) (sha256 (base32 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf")))) @@ -7417,10 +6919,7 @@ back-ends.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/logict/logict-" - version - ".tar.gz")) + (uri (hackage-uri "logict" version)) (sha256 (base32 "1d22b7r8lnak5k8ars166cxbk1lv7gf8g0qs604irsx2s474ybi7")))) @@ -7445,10 +6944,7 @@ online}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/lucid/lucid-" - version - ".tar.gz")) + (uri (hackage-uri "lucid" version)) (sha256 (base32 "0nky4pqxd6828kg3js90ks6r3hxs5x48ibfz37pw2dr7y1nygq21")))) @@ -7484,8 +6980,7 @@ Same combinator can be used for attributes and elements (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/lzma/" - "lzma-" version ".tar.gz")) + (uri (hackage-uri "lzma" version)) (sha256 (base32 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg")))) @@ -7513,8 +7008,7 @@ monadic incremental interface is provided as well.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/" - "lzma-conduit-" version ".tar.gz")) + (uri (hackage-uri "lzma-conduit" version)) (sha256 (base32 "1z6q16hzp2r5a4gdbg9akky5l9bfarzzhzswrgvh0v28ax400whb")))) @@ -7543,9 +7037,7 @@ compression algorithm used in the @code{.xz} file format.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/magic/magic-" - version ".tar.gz")) + (uri (hackage-uri "magic" version)) (sha256 (base32 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j")))) @@ -7566,10 +7058,7 @@ than its name.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/managed/managed-" - version - ".tar.gz")) + (uri (hackage-uri "managed" version)) (sha256 (base32 "00wzfy9facwgimrilz7bxaigr79w10733h8zfgyhll644p2rnz38")))) @@ -7602,9 +7091,7 @@ orphan instances (version "0.5.1") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/markdown-unlit/" - "markdown-unlit-" version ".tar.gz")) + (uri (hackage-uri "markdown-unlit" version)) (sha256 (base32 "0njzn56m8z6lm70xyixbylbnpjz1gk7x8vdsdvi3qld9m66gc3n7")))) @@ -7631,9 +7118,7 @@ same time is a literate Haskell program.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "math-functions-" version "/" - "math-functions-" version ".tar.gz")) + (uri (hackage-uri "math-functions" version)) (sha256 (base32 "18y1hlc8p6yyxa14zdbm84aaq58kksbrlfp3rj2bd4ilsb00mrf1")))) @@ -7663,9 +7148,7 @@ functions are often useful in statistical and numerical computing.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "megaparsec/megaparsec-" - version ".tar.gz")) + (uri (hackage-uri "megaparsec" version)) (sha256 (base32 "00953zvxfyjibw8c1ssmixxh0cwn59pz24zbh6s34rk3v14vqa3j")))) @@ -7689,8 +7172,7 @@ speed, flexibility, and quality of parse errors.") (version "0.15.0") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "memory/memory-" version ".tar.gz")) + (uri (hackage-uri "memory" version)) (sha256 (base32 "0a9mxcddnqn4359hk59d6l2zbh0vp154yb5vs1a8jw4l38n8kzz3")))) @@ -7717,10 +7199,7 @@ set, memory copy, ..) and more") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/MemoTrie/MemoTrie-" - version - ".tar.gz")) + (uri (hackage-uri "MemoTrie" version)) (sha256 (base32 "0lxsarhyhhkp58wpbp7b08scmjxq7s46jfl9vhp2yfq973hz0kaq")))) @@ -7741,9 +7220,7 @@ efficient memo functions using tries.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "microlens-" version "/" - "microlens-" version ".tar.gz")) + (uri (hackage-uri "microlens" version)) (sha256 (base32 "10q7gl9yavcln58sxdxzih7ff0ixxq5hpd87icvxw97yqf1p6hmm")))) @@ -7767,9 +7244,7 @@ stripped. As the result, this package has no dependencies.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "microlens-aeson/microlens-aeson-" - version ".tar.gz")) + (uri (hackage-uri "microlens-aeson" version)) (sha256 (base32 "074mzpk7av6i0xf7xy42jpzgljlmyw805md1vz4sqy85m99f0ikr")))) @@ -7798,10 +7273,7 @@ microlens.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-" - version - ".tar.gz")) + (uri (hackage-uri "microlens-ghc" version)) (sha256 (base32 "1r6x788br3f9rksj0dmk1nyh5mfvd9zzasclf1mi3rxhb7c0j926")))) @@ -7825,10 +7297,7 @@ microlens} family; see the readme (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-" - version - ".tar.gz")) + (uri (hackage-uri "microlens-mtl" version)) (sha256 (base32 "0ijy7xyd5lbc3calhcrhy8czkf3fjcxrv68p7kd2a5b352rfi7fp")))) @@ -7854,9 +7323,7 @@ readme @uref{https://github.com/aelve/microlens#readme, on Github}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "microlens-platform/microlens-platform-" version ".tar.gz")) + (uri (hackage-uri "microlens-platform" version)) (sha256 (base32 "0yf0z0glq2d6mpclzswc64h9w2cck4fd8l8ffm89pyb0a5n8m4c7")))) @@ -7898,9 +7365,7 @@ readme @uref{https://github.com/aelve/microlens#readme, on Github}.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "microlens-th-" version "/" - "microlens-th-" version ".tar.gz")) + (uri (hackage-uri "microlens-th" version)) (sha256 (base32 "1dg2xhj85fy8q39m5dd94kjlabjyxgc0336vzkg0174l6l110l1c")))) @@ -7925,8 +7390,7 @@ used both from lens and microlens).") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/MissingH/" - "MissingH-" version ".tar.gz")) + (uri (hackage-uri "MissingH" version)) (sha256 (base32 "196cniya5wzcv2d777nr0f7hinclpals4ia1mkzzv35870pqr6lw")))) @@ -7965,8 +7429,7 @@ portable and easy to use.") (version "0.5.9") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "mmap/mmap-" version ".tar.gz")) + (uri (hackage-uri "mmap" version)) (sha256 (base32 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q")))) @@ -7988,10 +7451,7 @@ do on-demand loading.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/mmorph/mmorph-" - version - ".tar.gz")) + (uri (hackage-uri "mmorph" version)) (sha256 (base32 "0bq9m3hlfax1826gg5yhih79x33rvfx59wdh8yf43azd7l74bys6")))) @@ -8012,8 +7472,7 @@ manipulating monad transformer stacks.") (version "0.3.5") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "mockery/mockery-" version ".tar.gz")) + (uri (hackage-uri "mockery" version)) (sha256 (base32 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp")))) @@ -8036,9 +7495,7 @@ manipulating monad transformer stacks.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/monad-control" - "/monad-control-" version ".tar.gz")) + (uri (hackage-uri "monad-control" version)) (sha256 (base32 "0g3if9km8ik80bcy130a826ig9wlk4bnf0qli3vmwdwr9nhaw2xf")))) @@ -8061,9 +7518,7 @@ a subset of @code{MonadBase} into which generic control operations such as (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "monad-logger-" version "/" - "monad-logger-" version ".tar.gz")) + (uri (hackage-uri "monad-logger" version)) (sha256 (base32 "12rw0k01gkhiqjm2fhxgkmribksmizhj14xphfn8fkd86wzl0vbh")))) @@ -8097,9 +7552,7 @@ code locations of messages.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "monad-loops-" version "/" - "monad-loops-" version ".tar.gz")) + (uri (hackage-uri "monad-loops" version)) (sha256 (base32 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky")))) @@ -8119,9 +7572,7 @@ operators for looping.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "monad-par-" version "/" - "monad-par-" version ".tar.gz")) + (uri (hackage-uri "monad-par" version)) (sha256 (base32 "1a8m99g9x1ivch4vhksk7fdzygbil3d33w8gdqngxbmwdikdafl2")))) @@ -8156,9 +7607,7 @@ that are much lighter weight than IO-threads.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "monad-par-extras-" version "/" - "monad-par-extras-" version ".tar.gz")) + (uri (hackage-uri "monad-par-extras" version)) (sha256 (base32 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2")))) @@ -8178,9 +7627,7 @@ and other added capabilities layered on top of the @code{Par} monad.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "MonadRandom-" version "/" - "MonadRandom-" version ".tar.gz")) + (uri (hackage-uri "MonadRandom" version)) (sha256 (base32 "17qaw1gg42p9v6f87dj5vih7l88lddbyd8880ananj8avanls617")))) @@ -8201,9 +7648,7 @@ which consume random values.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/monads-tf/monads-tf-" - version ".tar.gz")) + (uri (hackage-uri "monads-tf" version)) (sha256 (base32 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794")))) @@ -8225,9 +7670,7 @@ the @code{mtl-tf} package.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "mono-traversable-" version "/" - "mono-traversable-" version ".tar.gz")) + (uri (hackage-uri "mono-traversable" version)) (sha256 (base32 "1dvlp7r7r1lc3fxkwaz68f1nffg83240q8a989x24x1x67rj1clq")))) @@ -8254,8 +7697,7 @@ data structures as non-empty.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "monoid-extras/monoid-extras-" version ".tar.gz")) + (uri (hackage-uri "monoid-extras" version)) (sha256 (base32 "0ki1d3b1xpf653qj7brlqdgngghwrnmapy5gja75iiydfx2506a1")))) @@ -8278,10 +7720,7 @@ semi-direct products, \"deletable\" monoids, \"split\" monoids, and (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/mountpoints/mountpoints-" - version - ".tar.gz")) + (uri (hackage-uri "mountpoints" version)) (sha256 (base32 "1hnm31pqcffphyc463wf0vbik9fzm5lb2r4wjdc1y4dqzmjdzz37")))) @@ -8301,10 +7740,7 @@ currently mounted filesystems.") (source (origin (method url-fetch) - (uri (string-append - "mirror://hackage/package/mtl-compat/mtl-compat-" - version - ".tar.gz")) + (uri (hackage-uri "mtl-compat" version)) (sha256 (base32 "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r")))) @@ -8337,8 +7773,7 @@ the top of your file to get all of the ExceptT instances in scope.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/murmur-hash" - "/murmur-hash-" version ".tar.gz")) + (uri (hackage-uri "murmur-hash" version)) (sha256 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9")))) (build-system haskell-build-system) @@ -8360,9 +7795,7 @@ binding.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "mwc-random-" version "/" - "mwc-random-" version ".tar.gz")) + (uri (hackage-uri "mwc-random" version)) (sha256 (base32 "0ny2mw4am24d6ykrm8rbcjnrq6p2cjmzjb4m6qfk54wfdxflvmim")))) @@ -8395,10 +7828,7 @@ between 2 and 3 times faster than the Mersenne Twister.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/nats/nats-" - version - ".tar.gz")) + (uri (hackage-uri "nats" version)) (sha256 (base32 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr")))) @@ -8427,9 +7857,7 @@ between 2 and 3 times faster than the Mersenne Twister.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/ncurses/ncurses-" - version ".tar.gz")) + (uri (hackage-uri "ncurses" version)) (sha256 (base32 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5")))) @@ -8467,10 +7895,7 @@ ncurses.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/network/network-" - version - ".tar.gz")) + (uri (hackage-uri "network" version)) (sha256 (base32 "16ic2hgvadyiy0zfnyd2zknf8rxqmwzpy5mw5x9apwpzfc0mkvyp")))) @@ -8494,8 +7919,7 @@ ncurses.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "network-bsd/network-bsd-" version ".tar.gz")) + (uri (hackage-uri "network-bsd" version)) (sha256 (base32 "0kid0811lv4x761fd5gv6lsc8p5j2bn41rfd366pjb642p562jfr")))) @@ -8519,9 +7943,7 @@ network database (<netdb.h>) API.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "network-byte-order/network-byte-order-" - version ".tar.gz")) + (uri (hackage-uri "network-byte-order" version)) (sha256 (base32 "0pnwcg13k4qw82n0zc1xibyc24sc77y79j5a62pqdmjrnz4wrc7j")))) @@ -8542,9 +7964,7 @@ byte order.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "network-info-" version "/" - "network-info-" version ".tar.gz")) + (uri (hackage-uri "network-info" version)) (sha256 (base32 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n")))) @@ -8565,10 +7985,7 @@ IPv4, IPv6 and MAC addresses.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/network-multicast/network-multicast-" - version - ".tar.gz")) + (uri (hackage-uri "network-multicast" version)) (sha256 (base32 "0whvi0pbwjy6dbwfdf9rv1j3yr3lcmfp3q7a8pwq63g537l4l2l3")))) @@ -8596,10 +8013,7 @@ sending UDP datagrams over multicast (class D) addresses.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/network-uri/network-uri-" - version - ".tar.gz")) + (uri (hackage-uri "network-uri" version)) (sha256 (base32 "111m485rx2kyqdymi1x6sl08hi6lp34q3f41yqcx99086swnv1ap")))) @@ -8625,9 +8039,7 @@ sending UDP datagrams over multicast (class D) addresses.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "newtype-generics/newtype-generics-" - version ".tar.gz")) + (uri (hackage-uri "newtype-generics" version)) (sha256 (base32 "04bymwhkvlsgcsd0v630mndrzf0xnh3v81ba6nfzwcvbg3ksr2wa")))) @@ -8652,9 +8064,7 @@ and an alternative to newtype-th.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/non-negative/non-negative-" - version ".tar.gz")) + (hackage-uri "non-negative" version)) (sha256 (base32 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n")))) @@ -8677,9 +8087,7 @@ of Peano numbers).") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/nonce/" - "nonce-" version ".tar.gz")) + (uri (hackage-uri "nonce" version)) (sha256 (base32 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb")))) @@ -8709,9 +8117,7 @@ package are usable on your design.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "numeric-extras/numeric-extras-" - version ".tar.gz")) + (uri (hackage-uri "numeric-extras" version)) (sha256 (base32 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067")))) @@ -8730,10 +8136,7 @@ standard library.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/ObjectName/ObjectName-" - version - ".tar.gz")) + (uri (hackage-uri "ObjectName" version)) (sha256 (base32 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj")))) @@ -8754,10 +8157,7 @@ OpenAL.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/old-locale/old-locale-" - version - ".tar.gz")) + (uri (hackage-uri "old-locale" version)) (sha256 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv")))) (build-system haskell-build-system) @@ -8779,10 +8179,7 @@ date and time formats.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/old-time/old-time-" - version - ".tar.gz")) + (uri (hackage-uri "old-time" version)) (sha256 (base32 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw")))) @@ -8807,10 +8204,7 @@ old @code{time} library. For new projects, the newer (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/Only/Only-" - version - ".tar.gz")) + (uri (hackage-uri "Only" version)) (sha256 (base32 "0rdj3a629fk2vp121jq8mf2smkblrz5w3cxhlsyx6my2x29s2ymb")))) @@ -8840,10 +8234,7 @@ traditionally so named type-wrapper for attaching typeclass instances.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/OpenGL/OpenGL-" - version - ".tar.gz")) + (uri (hackage-uri "OpenGL" version)) (sha256 (base32 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as")))) @@ -8868,10 +8259,7 @@ version 1.3).") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-" - version - ".tar.gz")) + (uri (hackage-uri "OpenGLRaw" version)) (sha256 (base32 "0gmsmysqzpm13qnyq4vvqxm4dzw25nayfd9wi5x645pympm6jqbm")))) @@ -8901,8 +8289,7 @@ found at runtime, a userError is thrown.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/operational/" - "operational-" version ".tar.gz")) + (uri (hackage-uri "operational" version)) (sha256 (base32 "1hwmwbsxzwv68b39rv4gn3da6irv8zm89gqrkc3rdsgwi5ziyn3i")))) @@ -8927,10 +8314,7 @@ DSLs, etc.") (source (origin (method url-fetch) - (uri (string-append - "mirror://hackage/package/optional-args/optional-args-" - version - ".tar.gz")) + (uri (hackage-uri "optional-args" version)) (sha256 (base32 "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f")))) @@ -8951,9 +8335,7 @@ arguments.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/options/options-" - version ".tar.gz")) + (uri (hackage-uri "options" version)) (sha256 (base32 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8")))) @@ -9010,9 +8392,7 @@ easily work with command-line options.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/optparse-applicative" - "/optparse-applicative-" version ".tar.gz")) + (uri (hackage-uri "optparse-applicative" version)) (sha256 (base32 "16nnrkmgd28h540f17nb017ziq4gbzgkxpdraqicaczkca1jf1b2")))) @@ -9059,9 +8439,7 @@ command line options in Haskell.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/jira-wiki-markup/" - "jira-wiki-markup-" version ".tar.gz")) + (uri (hackage-uri "jira-wiki-markup" version)) (sha256 (base32 "0p6axj6km4440ss5naw68r3r85si4qxqgrklp6ssfyapawy0s88w")))) (build-system haskell-build-system) @@ -9082,9 +8460,7 @@ to other formats.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/emojis/" - "emojis-" version ".tar.gz")) + (uri (hackage-uri "emojis" version)) (sha256 (base32 "09x2xrppwypi369y7rzf3ln2g7c3g9qfckn2gydxpfzglcp9rziw")))) (build-system haskell-build-system) @@ -9116,9 +8492,7 @@ require aeson (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/text-conversions/" - "text-conversions-" version ".tar.gz")) + (uri (hackage-uri "text-conversions" version)) (sha256 (base32 "0kbxin1q8xj9sgdl185gncrdjwcfzndp8sl5qll8y93l60yq8dxi")))) (build-system haskell-build-system) @@ -9139,10 +8513,7 @@ require aeson (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/text-short/text-short-" - version - ".tar.gz")) + (uri (hackage-uri "text-short" version)) (sha256 (base32 "0xyrxlb602z8bc9sr2y1fag0x56a20yj5qrkvy7iwc6hnznrynxz")))) @@ -9176,8 +8547,7 @@ plus the length of the UTF-8 encoded payload.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/text-zipper/" - "text-zipper-" version ".tar.gz")) + (uri (hackage-uri "text-zipper" version)) (sha256 (base32 "07l1pyx93gv95cn1wh1di129axhm9sqsn4znykliacv60ld854ys")))) (build-system haskell-build-system) @@ -9205,9 +8575,7 @@ Implementations using both of these examples are provided.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/doclayout/" - "doclayout-" version ".tar.gz")) + (uri (hackage-uri "doclayout" version)) (sha256 (base32 "1p9kgjlf7y4p1symvkwndgs4lvyw2c45bsgld09y9r4aiqbhdrxp")))) (build-system haskell-build-system) @@ -9232,8 +8600,7 @@ code. It was designed for use in @code{Pandoc}.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-" - version ".tar.gz")) + (uri (hackage-uri "pandoc" version)) (sha256 (base32 "1pgd6125mrvzj2faxbsfmackb7kchzcr6bjkrwqbyn9hzxdzbqw2")))) @@ -9451,9 +8818,7 @@ getDataFileName name = do (version "1.22.1") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "pandoc-types/pandoc-types-" - version ".tar.gz")) + (uri (hackage-uri "pandoc-types" version)) (sha256 (base32 "0z2j306jsiriwhib0201hsllwyck7qcvqci5c25frwsmknr3mls2")))) @@ -9504,10 +8869,7 @@ building up, manipulating and serialising @code{Pandoc} structures.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/parallel/parallel-" - version - ".tar.gz")) + (uri (hackage-uri "parallel" version)) (sha256 (base32 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p")))) @@ -9553,8 +8915,7 @@ is also parametric in the input stream type.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "parsec-numbers/parsec-numbers-" version ".tar.gz")) + (uri (hackage-uri "parsec-numbers" version)) (sha256 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp")))) (build-system haskell-build-system) @@ -9573,9 +8934,7 @@ is also parametric in the input stream type.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "parser-combinators/parser-combinators-" - version ".tar.gz")) + (uri (hackage-uri "parser-combinators" version)) (sha256 (base32 "0k95nvgnl5820y094yfh7b868l0xd1diclm4kx9560p5rm02w5h3")))) @@ -9595,10 +8954,7 @@ combinators.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/parsers/parsers-" - version - ".tar.gz")) + (uri (hackage-uri "parsers" version)) (sha256 (base32 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p")))) @@ -9629,10 +8985,7 @@ the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/path/path-" - version - ".tar.gz")) + (uri (hackage-uri "path" version)) (sha256 (base32 "0vzsa41q5sxs1ni72yv1vfpnc6r5mjdwnmdb6jrs6cszb2xlkjr4")))) @@ -9665,10 +9018,7 @@ invariants.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/path-io/path-io-" - version - ".tar.gz")) + (uri (hackage-uri "path-io" version)) (sha256 (base32 "1dnc48hf8x83p0jy05qi8j8gmfmsy50swnql9ssdv74lsryp615n")))) @@ -9703,10 +9053,7 @@ files/directories, and more.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/ghc-paths/ghc-paths-" - version - ".tar.gz")) + (uri (hackage-uri "ghc-paths" version)) (sha256 (base32 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf")))) @@ -9726,9 +9073,7 @@ files/directories, and more.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/patience/patience-" - version ".tar.gz")) + (uri (hackage-uri "patience" version)) (sha256 (base32 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i")))) @@ -9751,10 +9096,7 @@ performance, nice output for humans, and simplicity of implementation.") (source (origin (method url-fetch) - (uri (string-append - "mirror://hackage/package/pattern-arrows/pattern-arrows-" - version - ".tar.gz")) + (uri (hackage-uri "pattern-arrows" version)) (sha256 (base32 "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg")))) @@ -9775,10 +9117,7 @@ rules.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/pcre-light/pcre-light-" - version - ".tar.gz")) + (uri (hackage-uri "pcre-light" version)) (sha256 (base32 "0lqvsmc6bfhdv6igm3fmw8nklyhw3j3jsl0s1k6r3fhb6ambzxhn")))) @@ -9805,9 +9144,7 @@ syntax and semantics as Perl 5.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/persistent/" - "persistent-" version ".tar.gz")) + (uri (hackage-uri "persistent" version)) (sha256 (base32 "13lp9i94f57qhifdmr1vnsrra34526f7kqa1sybcaj2jh2v3q85k")))) @@ -9849,9 +9186,7 @@ storage systems like PostgreSQL, SQLite, and MariaDB in a type-safe way.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/persistent-sqlite/" - "persistent-sqlite-" version ".tar.gz")) + (uri (hackage-uri "persistent-sqlite" version)) (sha256 (base32 "12za89crbk74mya4qxpw5fp5fqp64vwz5s8vbjd7m8r3j3vbw338")))) @@ -9893,9 +9228,7 @@ system dependencies.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/persistent-template/" - "persistent-template-" version ".tar.gz")) + (uri (hackage-uri "persistent-template" version)) (sha256 (base32 "0c9cs27j43azimj74s2m2cdks87682ibpy1xbyzvygipgmb8nj6w")))) @@ -9925,9 +9258,7 @@ functions for the ghc-persistent package.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/persistent-test/" - "persistent-test-" version ".tar.gz")) + (uri (hackage-uri "persistent-test" version)) (sha256 (base32 "07q53jvhz00cf10k7a8fkvykgwcl10fgzh8k9gv1d248f336crvs")))) @@ -9966,10 +9297,7 @@ libraries.") (source (origin (method url-fetch) - (uri (string-append - "mirror://hackage/package/pgp-wordlist/pgp-wordlist-" - version - ".tar.gz")) + (uri (hackage-uri "pgp-wordlist" version)) (sha256 (base32 "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg")))) @@ -10003,9 +9331,7 @@ For further information, see (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/pipes/" - "pipes-" version ".tar.gz")) + (uri (hackage-uri "pipes" version)) (sha256 (base32 "163lx5sf68zx5kik5h1fjsyckwr9shdsn5k2dsjq3mhg077nxqgl")))) @@ -10042,9 +9368,7 @@ dependencies (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/pointedlist/" - "pointedlist-" version ".tar.gz")) + (uri (hackage-uri "pointedlist" version)) (sha256 (base32 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l")))) @@ -10068,10 +9392,7 @@ other end when progressing past the actual edge.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/polyparse/polyparse-" - version - ".tar.gz")) + (uri (hackage-uri "polyparse" version)) (sha256 (base32 "0yvhg718dlksiw3v27m2d8m1sn4r4f5s0p56zq3lynhy1sc74k0w")))) @@ -10100,8 +9421,7 @@ Strings.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "pqueue/pqueue-" version ".tar.gz")) + (uri (hackage-uri "pqueue" version)) (sha256 (base32 "1sz7hlnfd86hbwrgqxczmsjsl1ki0ryi9dgzscxlsgjkdgcdia2p")))) @@ -10123,10 +9443,7 @@ based on a binomial heap.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/prelude-extras/prelude-extras-" - version - ".tar.gz")) + (uri (hackage-uri "prelude-extras" version)) (sha256 (base32 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9")))) @@ -10146,8 +9463,7 @@ reduce @code{UndecidableInstances}.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "prettyclass/prettyclass-" version ".tar.gz")) + (uri (hackage-uri "prettyclass" version)) (sha256 (base32 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5")))) @@ -10168,10 +9484,7 @@ types.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/prettyprinter/prettyprinter-" - version - ".tar.gz")) + (uri (hackage-uri "prettyprinter" version)) (sha256 (base32 "0i8b3wjjpdvp5b857j065jwyrpgcnzgk75imrj7i3yhl668acvjy")))) (build-system haskell-build-system) @@ -10200,9 +9513,7 @@ clashes, @code{Text}-based, extensible.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/prettyprinter-ansi-terminal/" - "prettyprinter-ansi-terminal-" version ".tar.gz")) + (uri (hackage-uri "prettyprinter-ansi-terminal" version)) (sha256 (base32 "1cqxbcmy9ykk4pssq5hp6h51g2h547zfz549awh0c1fni8q3jdw1")))) (build-system haskell-build-system) @@ -10224,9 +9535,7 @@ clashes, @code{Text}-based, extensible.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "pretty-hex-" version "/" - "pretty-hex-" version ".tar.gz")) + (uri (hackage-uri "pretty-hex" version)) (sha256 (base32 "0c8pa0rdb2q8rf4acy4gww0hj5lrzclzdh52yi2aiaaij4lqzir7")))) @@ -10245,8 +9554,7 @@ ByteStrings in the style of other common *nix hex dump tools.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/pretty-show/" - "pretty-show-" version ".tar.gz")) + (uri (hackage-uri "pretty-show" version)) (sha256 (base32 "1lkgvbv00v1amvpqli6y4dzsbs25l4v3wlagvhwx8qxhw2390zrh")))) @@ -10273,9 +9581,7 @@ examination.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/pretty-simple/" - "pretty-simple-" version ".tar.gz")) + (uri (hackage-uri "pretty-simple" version)) (sha256 (base32 "1srvx854ml2gffnkxr2fm12xk8syjsk078rfzrq0a3idwgv46myw")))) (build-system haskell-build-system) @@ -10300,10 +9606,7 @@ Show instance.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/primitive/primitive-" - version - ".tar.gz")) + (uri (hackage-uri "primitive" version)) (sha256 (base32 "1facmq2wxhn5mbgd209zz5swyaw1q970fv3hd84klaxrhabqaxwi")))) @@ -10332,10 +9635,7 @@ Show instance.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/primitive-addr/primitive-addr-" - version - ".tar.gz")) + (uri (hackage-uri "primitive-addr" version)) (sha256 (base32 "06r1p56wm8rbjxnlaqbmc3rbsj1rsv5scwnh80lsn0xw56jc70a2")))) (build-system haskell-build-system) @@ -10356,9 +9656,7 @@ of the @code{primitive} library before @code{primitive-0.7.0.0}.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/process-extras/" - "process-extras-" version ".tar.gz")) + (hackage-uri "process-extras" version)) (sha256 (base32 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9")))) @@ -10383,10 +9681,7 @@ API.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/profunctors/profunctors-" - version - ".tar.gz")) + (uri (hackage-uri "profunctors" version)) (sha256 (base32 "0an9v003ivxmjid0s51qznbjhd5fsa1dkcfsrhxllnjja1xmv5b5")))) @@ -10413,9 +9708,7 @@ API.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/project-template/project-template-" - version ".tar.gz")) + (uri (hackage-uri "project-template" version)) (sha256 (base32 "0ac43x36i6b595jhflif1qqhri1rrqw90ama5n7rsh0ffnzyb69d")))) @@ -10446,10 +9739,7 @@ the ideal templating system.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/protolude/protolude-" - version - ".tar.gz")) + (uri (hackage-uri "protolude" version)) (sha256 (base32 "1b6wprbwfdjyvds2bm6na0fbqgzdkj5ikkk33whbkyh3krd3i0s0")))) @@ -10471,8 +9761,7 @@ replace the standard one provided by GHC.") (version "1.1.0.1") (source (origin (method url-fetch) - (uri (string-append "mirror://hackage/package/PSQueue-" - version "/PSQueue-" version ".tar.gz")) + (uri (hackage-uri "PSQueue" version)) (sha256 (base32 "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza")))) @@ -10499,9 +9788,7 @@ keys, in linear time.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "psqueues-" version "/" - "psqueues-" version ".tar.gz")) + (uri (hackage-uri "psqueues" version)) (sha256 (base32 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6")))) @@ -10569,9 +9856,7 @@ Typical applications of Priority Search Queues include: (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/pwstore-fast/" - "pwstore-fast-" version ".tar.gz")) + (uri (hackage-uri "pwstore-fast" version)) (sha256 (base32 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj")))) @@ -10598,10 +9883,7 @@ usable.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/random/random-" - version - ".tar.gz")) + (uri (hackage-uri "random" version)) (sha256 (base32 "1pmr7zbbqg58kihhhwj8figf5jdchhi7ik2apsyxbgsqq3vrqlg4")))) (build-system haskell-build-system) @@ -10646,9 +9928,7 @@ library, including the ability to split random number generators.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "raw-strings-qq/raw-strings-qq-" - version ".tar.gz")) + (uri (hackage-uri "raw-strings-qq" version)) (sha256 (base32 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f")))) @@ -10672,8 +9952,7 @@ DOS/Windows paths and markup languages (such as XML).") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "readable/readable-" version ".tar.gz")) + (uri (hackage-uri "readable" version)) (sha256 (base32 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h")))) @@ -10693,9 +9972,7 @@ includes efficient implementations for common data types.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "rebase-" version "/" - "rebase-" version ".tar.gz")) + (uri (hackage-uri "rebase" version)) (sha256 (base32 "0sh1vha10n28c4jb97p99xglghqph8ppydqzbnb2h25a34057927")))) @@ -10752,10 +10029,7 @@ the community, with the missing features being added with pull-requests.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/reducers/reducers-" - version - ".tar.gz")) + (uri (hackage-uri "reducers" version)) (sha256 (base32 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki")))) @@ -10780,9 +10054,7 @@ containers and a general map/reduce framework for Haskell.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "refact/refact-" - version ".tar.gz")) + (uri (hackage-uri "refact" version)) (sha256 (base32 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a")))) @@ -10803,10 +10075,7 @@ specify refactorings without depending on GHC.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/reflection/reflection-" - version - ".tar.gz")) + (uri (hackage-uri "reflection" version)) (sha256 (base32 "1kd6dgnp99dzbkxdnj01g81j03v7zq5cwg0sf19rlcmvgs8i8gmz")))) @@ -10831,8 +10100,7 @@ configurations to coexist without resorting to mutable global variables or (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/regex/" - "regex-" version ".tar.gz")) + (uri (hackage-uri "regex" version)) (sha256 (base32 "02hxgy5ck3h5pwd5gzs4565qbql8457cjdbbc2yrk236qzc1qa8x")))) @@ -10876,9 +10144,7 @@ copious examples.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/regex-applicative/" - "regex-applicative-" version ".tar.gz")) + (uri (hackage-uri "regex-applicative" version)) (sha256 (base32 "0di66pi2kq5rrsn0k6pwakzwa0bgi9jfb2csm72kp5gzqdws8s8p")))) @@ -10901,10 +10167,7 @@ regular expressions. Parsers can be built using Applicative interface.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/regex-base/regex-base-" - version - ".tar.gz")) + (uri (hackage-uri "regex-base" version)) (sha256 (base32 "1ngdmmrxs1rhvib052c6shfa40yad82jylylikz327r0zxpxkcbi")))) @@ -10924,10 +10187,7 @@ regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/regex-compat/regex-compat-" - version - ".tar.gz")) + (uri (hackage-uri "regex-compat" version)) (sha256 (base32 "0ivrdrcphrz3g6nr5wbsmfiv8i82caw0kf6z5qlmlq7xf9n3hywg")))) @@ -10948,9 +10208,7 @@ regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-" - version ".tar.gz")) + (uri (hackage-uri "regex-compat-tdfa" version)) (sha256 (base32 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg")))) @@ -10973,8 +10231,7 @@ this problem.") (version "0.95.0.0") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "regex-pcre/regex-pcre-" version ".tar.gz")) + (uri (hackage-uri "regex-pcre" version)) (sha256 (base32 "0nn76q4bsjnxim0j0d01jifmh36as9jdpcvm001a851vvq86zb8n")))) @@ -11001,9 +10258,7 @@ expressions.") (version "0.95.2.3.8.44") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "regex-pcre-builtin/regex-pcre-builtin-" - version ".tar.gz")) + (uri (hackage-uri "regex-pcre-builtin" version)) (sha256 (base32 "0pn55ssrwr05c9sa9jvp0knvzjksz04wn3pmzf5dz4xgbyjadkna")))) @@ -11026,10 +10281,7 @@ providing the PCRE backend to accompany regex-base, with bundled code from (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/regex-posix/regex-posix-" - version - ".tar.gz")) + (uri (hackage-uri "regex-posix" version)) (sha256 (base32 "1715b57z67q4hg0jz44wkxrxi3v7n5iagw6gw48pf8hr34wpr0n7")))) @@ -11050,9 +10302,7 @@ Haskell library @code{regex-base}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-" - version ".tar.gz")) + (uri (hackage-uri "regex-tdfa" version)) (sha256 (base32 "1msrq31k4jmn2lmrdzn87jqarqhw265ca69rfg5jpa5adrzm3gmi")))) @@ -11079,10 +10329,7 @@ inspired by libtre.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/repline/repline-" - version - ".tar.gz")) + (uri (hackage-uri "repline" version)) (sha256 (base32 "1dspwi28krinkxdd7waq4y6plz0dfmzz72885p9pcqp1r14qrhj3")))) @@ -11104,9 +10351,7 @@ normal mtl transformers.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/rerebase/rerebase-" - version ".tar.gz")) + (uri (hackage-uri "rerebase" version)) (sha256 (base32 "0j50l96whwi65ir35nfhn24h6103zy1ilfjsqiax63ajzw169fkv")))) @@ -11129,9 +10374,7 @@ the project's home page}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/resolv/resolv-" - version ".tar.gz")) + (uri (hackage-uri "resolv" version)) (sha256 (base32 "0wa6wsh6i52q4ah2z0hgzlks325kigch4yniz0y15nw4skxbm8l1")))) @@ -11161,9 +10404,7 @@ Unix systems.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "resource-pool-" version "/" - "resource-pool-" version ".tar.gz")) + (uri (hackage-uri "resource-pool" version)) (sha256 (base32 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6")))) @@ -11185,8 +10426,7 @@ connections.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/resourcet/" - "resourcet-" version ".tar.gz")) + (uri (hackage-uri "resourcet" version)) (sha256 (base32 "0zrvnikw1a0r2j59k12fxikyrg0ki5a7xhqhjgfl9h6dqpz54h85")))) @@ -11214,8 +10454,7 @@ code where you can safely allocate resources.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "retry/retry-" version ".tar.gz")) + (uri (hackage-uri "retry" version)) (sha256 (base32 "0nwyis42xpmxfw8nz8qn59r3v7q0dkfzkzkhllgn30cdjbbmwhf5")))) @@ -11245,8 +10484,7 @@ the query instead of simply raising an exception.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/rfc5051/" - "rfc5051-" version ".tar.gz")) + (uri (hackage-uri "rfc5051" version)) (sha256 (base32 "0nri7js5ymywh2gi3li25wrkl1nf712qhbzw5hn46fib83qsq73k")))) @@ -11269,9 +10507,7 @@ better for some purposes.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/rio/rio-" - version ".tar.gz")) + (uri (hackage-uri "rio" version)) (sha256 (base32 "013m4xgsmg8h1rba9krxppz49lc5wz26gksms5zibsjj0w59m58h")))) @@ -11333,10 +10569,7 @@ the conversion functions.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/safe/safe-" - version - ".tar.gz")) + (uri (hackage-uri "safe" version)) (sha256 (base32 "18pp6cn9np9jgs01x9mac6wk41k34g86fx5ibfarbapqr1138115")))) @@ -11358,9 +10591,7 @@ exceptions.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "safe-exceptions/safe-exceptions-" - version ".tar.gz")) + (uri (hackage-uri "safe-exceptions" version)) (sha256 (base32 "15a80s87f603w8l7fnaba2cyqx62042vvcidpjzyga2685wpyqv9")))) @@ -11386,8 +10617,7 @@ handling wrong.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/safeio/" - "safeio-" version ".tar.gz")) + (uri (hackage-uri "safeio" version)) (sha256 (base32 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm")))) @@ -11413,8 +10643,7 @@ avoid the problem of partial intermediate files.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "SafeSemaphore/SafeSemaphore-" version ".tar.gz")) + (uri (hackage-uri "SafeSemaphore" version)) (sha256 (base32 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91")))) @@ -11436,9 +10665,7 @@ are not exception safe and can be broken by @code{killThread}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/sandi/sandi-" - version ".tar.gz")) + (uri (hackage-uri "sandi" version)) (sha256 (base32 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29")))) @@ -11465,10 +10692,7 @@ are not exception safe and can be broken by @code{killThread}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/say/say-" - version - ".tar.gz")) + (uri (hackage-uri "say" version)) (sha256 (base32 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn")))) @@ -11498,10 +10722,7 @@ as sending some messages to the terminal - that has the following properties: (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/scientific/scientific-" - version - ".tar.gz")) + (uri (hackage-uri "scientific" version)) (sha256 (base32 "1aa3ngb71l2sh1x2829napnr1w285q0sn2f7z2wvi3ynng2238d3")))) @@ -11545,10 +10766,7 @@ notation}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/SDL/SDL-" - version - ".tar.gz")) + (uri (hackage-uri "SDL" version)) (sha256 (base32 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq")))) @@ -11572,8 +10790,7 @@ award winning Linux port of \"Civilization: Call To Power.\"") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "sdl2/sdl2-" version ".tar.gz")) + (uri (hackage-uri "sdl2" version)) (sha256 (base32 "08l24cb92spnx3bn26bj0z2cszpsawhaa9vvhblvsr3d6z76065q")))) @@ -11604,8 +10821,7 @@ programming.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/sdl2-image/" - "sdl2-image-" version ".tar.gz")) + (uri (hackage-uri "sdl2-image" version)) (sha256 (base32 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr")))) @@ -11628,8 +10844,7 @@ programming.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/" - "sdl2-mixer-" version ".tar.gz")) + (uri (hackage-uri "sdl2-mixer" version)) (sha256 (base32 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g")))) @@ -11657,10 +10872,7 @@ programming.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/SDL-image/SDL-image-" - version - ".tar.gz")) + (uri (hackage-uri "SDL-image" version)) (sha256 (base32 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1")))) @@ -11687,10 +10899,7 @@ PNG, PNM, TGA, TIFF, XCF, XPM, XV.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-" - version - ".tar.gz")) + (uri (hackage-uri "SDL-mixer" version)) (sha256 (base32 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r")))) @@ -11718,9 +10927,7 @@ MIDI, Ogg Vorbis, and SMPEG MP3 libraries.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "securemem-" version "/" - "securemem-" version ".tar.gz")) + (uri (hackage-uri "securemem" version)) (sha256 (base32 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j")))) @@ -11741,10 +10948,7 @@ a memory chunk that will be auto-scrubbed after it run out of scope.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/semialign/semialign-" - version - ".tar.gz")) + (uri (hackage-uri "semialign" version)) (sha256 (base32 "11qs4imy3cq4cx9mm6g30r6qk3rngqrmz7lkl5379gs1yvgvs44q")))) @@ -11778,10 +10982,7 @@ class, forming lattice-like structure.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/semigroupoids/semigroupoids-" - version - ".tar.gz")) + (uri (hackage-uri "semigroupoids" version)) (sha256 (base32 "0glhqc9x8i5z3bdg23xvl2lfns95msid3h3x0jksna7i6c8j869n")))) @@ -11818,10 +11019,7 @@ just a @code{Semigroup} are added.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/semigroups/semigroups-" - version - ".tar.gz")) + (uri (hackage-uri "semigroups" version)) (sha256 (base32 "0h1sl3i6k8csy5zkkpy65rxzds9wg577z83aaakybr3n1gcv4855")))) @@ -11856,10 +11054,7 @@ semigroup.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/semirings/semirings-" - version - ".tar.gz")) + (uri (hackage-uri "semirings" version)) (sha256 (base32 "16q535bvjl7395sqkx6zlw48y4fzr7irp44pcp7w9irpn4cncdcr")))) (build-system haskell-build-system) @@ -11891,10 +11086,7 @@ by @code{0} annihilates R.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/serialise/serialise-" - version - ".tar.gz")) + (uri (hackage-uri "serialise" version)) (sha256 (base32 "0vp4wyxpximpx10pssfgdsir1pc23zb62fg3kj3iblpzqfrryy69")))) @@ -11939,10 +11131,7 @@ convenient command-line utility for working with CBOR data.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/setenv/setenv-" - version - ".tar.gz")) + (uri (hackage-uri "setenv" version)) (sha256 (base32 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73")))) @@ -11960,9 +11149,7 @@ environment variables.") (version "1.0.0.10") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/setlocale-" - version "/setlocale-" version ".tar.gz")) + (uri (hackage-uri "setlocale" version)) (sha256 (base32 "19rv89jkhq5ic7j5rzpygnmsbzim2mn8ip0m292za613q88gywir")))) @@ -11981,9 +11168,7 @@ environment variables.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "shakespeare-" version "/" - "shakespeare-" version ".tar.gz")) + (uri (hackage-uri "shakespeare" version)) (sha256 (base32 "1fjv3yg425d87d3dih0l3ff95g5a5yp9w85m58sjara6xqivj9s4")))) @@ -12012,9 +11197,7 @@ interpolates variables according to the type being inserted.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/shelly/shelly-" - version ".tar.gz")) + (uri (hackage-uri "shelly" version)) (sha256 (base32 "1kma77gixhyciimh19p64h1ndbcrs9qhk8fgyv71iqh5q57zvday")))) @@ -12048,10 +11231,7 @@ spirit to POSIX shells. Shelly is originally forked from the Shellish package. (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/silently/silently-" - version - ".tar.gz")) + (uri (hackage-uri "silently" version)) (sha256 (base32 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz")))) @@ -12071,10 +11251,7 @@ writing to stdout and other handles.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/simple-reflect/simple-reflect-" - version - ".tar.gz")) + (uri (hackage-uri "simple-reflect" version)) (sha256 (base32 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7")))) @@ -12099,9 +11276,7 @@ them.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "simple-sendfile-" version "/" - "simple-sendfile-" version ".tar.gz")) + (uri (hackage-uri "simple-sendfile" version)) (sha256 (base32 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn")))) @@ -12124,8 +11299,7 @@ are the bottleneck of web servers.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "size-based/size-based-" version ".tar.gz")) + (uri (hackage-uri "size-based" version)) (sha256 (base32 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp")))) @@ -12156,9 +11330,7 @@ enumerations.") (version "0.10.5.2") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "skylighting-core/skylighting-core-" - version ".tar.gz")) + (uri (hackage-uri "skylighting-core" version)) (sha256 (base32 "0bskci0gng6nf324wna9ss4xbr1mwjkgk3mlfkr96r1m3wza5g3d")))) @@ -12199,8 +11371,7 @@ provided. Skylighting is intended to be the successor to highlighting-kate.") (version "0.10.5.2") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/skylighting-" - version "/skylighting-" version ".tar.gz")) + (uri (hackage-uri "skylighting-core" version)) (sha256 (base32 "152ywiy7h04xjy0fdl571jwahl6c9350isqbm4p0na4cjd9cczzh")))) @@ -12215,10 +11386,7 @@ provided. Skylighting is intended to be the successor to highlighting-kate.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/smallcheck/smallcheck-" - version - ".tar.gz")) + (uri (hackage-uri "smallcheck" version)) (sha256 (base32 "0sf87zjlrgjw7q6a0499g2ywx66zvpv6rg6953fjc18fnl8rs7z4")))) @@ -12240,8 +11408,7 @@ automatically by SmallCheck.") (version "0.6.1") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "socks/socks-" version ".tar.gz")) + (uri (hackage-uri "socks" version)) (sha256 (base32 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k")))) @@ -12262,8 +11429,7 @@ automatically by SmallCheck.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "sop-core/sop-core-" version ".tar.gz")) + (uri (hackage-uri "sop-core" version)) (sha256 (base32 "1c4xk4bw1ij4gpgy35iv08bhcxhv1siy55qnvp2xd6wcc3qnghys")))) @@ -12286,9 +11452,7 @@ generics-sop}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/special-values/" - "special-values-" version ".tar.gz")) + (uri (hackage-uri "special-values" version)) (sha256 (base32 "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w")))) @@ -12311,10 +11475,7 @@ used for example by QuickCheck, see quickcheck-special." ) (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/split/split-" - version - ".tar.gz")) + (uri (hackage-uri "split" version)) (sha256 (base32 "0ahzdjcxw5wywr3w4msspia99k6fkckddam1m5506h4z9h8fa7r7")))) @@ -12339,8 +11500,7 @@ mainstream languages.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "splitmix/splitmix-" version ".tar.gz")) + (uri (hackage-uri "splitmix" version)) (sha256 (base32 "0das5n44dhlcv5i233iakx37d17kidqvhrvp6w9nd7hc015ry026")))) @@ -12388,10 +11548,7 @@ internal state).") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/spoon/spoon-" - version - ".tar.gz")) + (uri (hackage-uri "spoon" version)) (sha256 (base32 "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr")))) @@ -12420,10 +11577,7 @@ Note that this suffers from the (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/StateVar/StateVar-" - version - ".tar.gz")) + (uri (hackage-uri "StateVar" version)) (sha256 (base32 "098q4lk60najzpbfal4bg4sh7izxm840aa5h4ycaamjn77d3jjsy")))) @@ -12442,9 +11596,7 @@ in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "statistics-" version "/" - "statistics-" version ".tar.gz")) + (uri (hackage-uri "statistics" version)) (sha256 (base32 "0j9awbg47fzb58k5z2wgkp6a0042j7hqrl1g6lyflrbsfswdp5n4")))) @@ -12503,9 +11655,7 @@ and regression and autocorrelation analysis. (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "stm-chans-" version "/" - "stm-chans-" version ".tar.gz")) + (uri (hackage-uri "stm-chans" version)) (sha256 (base32 "04hafqjq8ngvhcavkfx88a0zky8yc7i18q2n9ajav03kns1kwvpa")))) @@ -12525,8 +11675,7 @@ features.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/stm-conduit/" - "stm-conduit-" version ".tar.gz")) + (uri (hackage-uri "stm-conduit" version)) (sha256 (base32 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8")))) @@ -12564,8 +11713,7 @@ source and a sink.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/STMonadTrans" - "/STMonadTrans-" version ".tar.gz")) + (uri (hackage-uri "STMonadTrans" version)) (sha256 (base32 "0rvhh0hhwz601ibpzisry7xf3j61r5sxfgp47imaa37i5bvrlynb")))) (build-system haskell-build-system) @@ -12591,9 +11739,7 @@ for strict state threads.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/storable-complex/storable-complex-" - version ".tar.gz")) + (uri (hackage-uri "storable-complex" version)) (sha256 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s")))) (build-system haskell-build-system) @@ -12615,9 +11761,7 @@ and Fortran complex data types.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/storable-record/" - "storable-record-" version ".tar.gz")) + (hackage-uri "storable-record" version)) (sha256 (base32 "17nf0bx3g169cpslf8prr5h5lvxl389m23rbsyb3kdai45fibpwf")))) @@ -12645,9 +11789,7 @@ alignment of the record elements.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/storable-tuple/" - "storable-tuple-" version ".tar.gz")) + (hackage-uri "storable-tuple" version)) (sha256 (base32 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw")))) @@ -12672,9 +11814,7 @@ together.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/storablevector/storablevector-" - version ".tar.gz")) + (hackage-uri "storablevector" version)) (sha256 (base32 "06fgxbnc5vwmiv7dxywj7ncjhmxv0wjs0bys5hza6mrwn3sw5r2w")))) @@ -12710,9 +11850,7 @@ a library that provides fusion with lazy lists.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "streaming-commons/streaming-commons-" - version ".tar.gz")) + (uri (hackage-uri "streaming-commons" version)) (sha256 (base32 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52")))) @@ -12736,8 +11874,7 @@ needed by various Haskell streaming data libraries, such as @code{conduit} and (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/strict/strict-" - version ".tar.gz")) + (uri (hackage-uri "strict" version)) (sha256 (base32 "0hb24a09c3agsq7sdv8r2b2jc2f4g1blg2xvj4cfadynib0apxnz")))) (build-system haskell-build-system) @@ -12759,10 +11896,7 @@ IO operations.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/stringbuilder/stringbuilder-" - version - ".tar.gz")) + (uri (hackage-uri "stringbuilder" version)) (sha256 (base32 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q")))) @@ -12783,10 +11917,7 @@ literals.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/string-qq/string-qq-" - version - ".tar.gz")) + (uri (hackage-uri "string-qq" version)) (sha256 (base32 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8")))) @@ -12809,10 +11940,7 @@ and bytestrings.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/stringsearch/stringsearch-" - version - ".tar.gz")) + (uri (hackage-uri "stringsearch" version)) (sha256 (base32 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9")))) @@ -12836,8 +11964,7 @@ occurrences of a substring (the first in case of overlaps) with another.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "svg-builder/svg-builder-" version ".tar.gz")) + (uri (hackage-uri "svg-builder" version)) (sha256 (base32 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g")))) @@ -12862,10 +11989,7 @@ building Scalable Vector Graphics (SVG).") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/syb/syb-" - version - ".tar.gz")) + (uri (hackage-uri "syb" version)) (sha256 (base32 "15ld5929n3lzfb5sy9nnm77x2l6i2sgsxw47jdrqcrz6fxpwc1qq")))) @@ -12891,9 +12015,7 @@ variety of traversals.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/system-fileio/system-fileio-" - version ".tar.gz")) + (uri (hackage-uri "system-fileio" version)) (sha256 (base32 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l")))) @@ -12957,9 +12079,7 @@ which can't be decoded in the current locale encoding.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/system-filepath/system-filepath-" - version ".tar.gz")) + (uri (hackage-uri "system-filepath" version)) (sha256 (base32 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn")))) @@ -13016,10 +12136,7 @@ increasing type safety.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tabular/tabular-" - version - ".tar.gz")) + (uri (hackage-uri "tabular" version)) (sha256 (base32 "0z936gh8n8i8qdkagyxwd9gqq13skd5fv013vdvwsibrxkm0czfb")))) @@ -13060,10 +12177,7 @@ B 3 || meh | well... || worst ever | ok (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tagged/tagged-" - version - ".tar.gz")) + (uri (hackage-uri "tagged" version)) (sha256 (base32 "00kcc6lmj7v3xm2r3wzw5jja27m4alcw1wi8yiismd0bbzwzrq7m")))) @@ -13087,9 +12201,7 @@ having to unsafely pass dummy arguments.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tar/tar-" - version ".tar.gz")) + (uri (hackage-uri "tar" version)) (sha256 (base32 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k")))) @@ -13120,8 +12232,7 @@ an index.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "tar-conduit/tar-conduit-" version ".tar.gz")) + (uri (hackage-uri "tar-conduit" version)) (sha256 (base32 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80")))) @@ -13145,10 +12256,7 @@ interface for extracting and creating tar files.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/temporary/temporary-" - version - ".tar.gz")) + (uri (hackage-uri "temporary" version)) (sha256 (base32 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c")))) @@ -13174,10 +12282,7 @@ installed.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/temporary-rc/temporary-rc-" - version - ".tar.gz")) + (uri (hackage-uri "temporary-rc" version)) (sha256 (base32 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs")))) @@ -13203,9 +12308,7 @@ This is a better maintained fork of the \"temporary\" package.") (version "0.3.2.1") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/terminal-size/" - "terminal-size-" version ".tar.gz")) + (uri (hackage-uri "terminal-size" version)) (sha256 (base32 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm")))) @@ -13223,8 +12326,7 @@ dependency.") (version "0.12.3.2") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "texmath/texmath-" version ".tar.gz")) + (uri (hackage-uri "texmath" version)) (sha256 (base32 "1d9r3na7hmkgr0j63fs50ssll506l1wyqhw0dpap7jk0rdz8pv6n")))) @@ -13252,9 +12354,7 @@ it can parse and apply LaTeX macros.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "text-binary/text-binary-" - version ".tar.gz")) + (uri (hackage-uri "text-binary" version)) (sha256 (base32 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn")))) @@ -13275,11 +12375,7 @@ text package.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/text-manipulate" - "/text-manipulate-" - version - ".tar.gz")) + (uri (hackage-uri "text-manipulate" version)) (sha256 (base32 "0pmzp38m3r0k6ps97b1wqplxlgvvlaid09x53jl3gxng0fwq910a")))) @@ -13313,8 +12409,7 @@ upgraded. Consider yourself warned!") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "text-metrics/text-metrics-" version ".tar.gz")) + (uri (hackage-uri "text-metrics" version)) (sha256 (base32 "17bp1lnbkqr5ykrcd6v5sqv0fhljck7hky8zrrpw7rlkb1f3sdc2")))) @@ -13341,10 +12436,7 @@ string metrics efficiently.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tf-random/tf-random-" - version - ".tar.gz")) + (uri (hackage-uri "tf-random" version)) (sha256 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f")))) (build-system haskell-build-system) @@ -13367,9 +12459,7 @@ Hashing\" by Claessen, Pałka for details and the rationale of the design.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "th-abstraction/th-abstraction-" - version ".tar.gz")) + (uri (hackage-uri "th-abstraction" version)) (sha256 (base32 "01nyscmjriga4fh4362b4zjad48hdv33asjkd28sj8hx3pii7fy8")))) @@ -13390,9 +12480,7 @@ Template Haskell.") (version "0.4.8.0") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "th-expand-syns/th-expand-syns-" - version ".tar.gz")) + (uri (hackage-uri "th-expand-syns" version)) (sha256 (base32 "1mw0yxfbmicv0irfrcz4s6pn39za7yjd7zz09ialwym1b46624si")))) @@ -13416,8 +12504,7 @@ Template Haskell.") (version "0.8.2") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "th-lift/th-lift-" version ".tar.gz")) + (uri (hackage-uri "th-lift" version)) (sha256 (base32 "1r2wrnrn6qwy6ysyfnlqn6xbfckw0b22h8n00pk67bhhg81jfn9s")))) @@ -13439,9 +12526,7 @@ datatypes.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "th-lift-instances/th-lift-instances-" - version ".tar.gz")) + (uri (hackage-uri "th-lift-instances" version)) (sha256 (base32 "09nv1zsffvv6zfz1fjzcqrla3lc350qr4i4xf7wgvzp049sprrdy")))) @@ -13462,8 +12547,7 @@ instances. This package provides orphan instances for @code{containers}, (version "0.13.12") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "th-orphans/th-orphans-" version ".tar.gz")) + (uri (hackage-uri "th-orphans" version)) (sha256 (base32 "03n6qxnpxhbzyzbyrjq77d1y62dwgx39mmxfwmnc04l8pawgrxxz")))) @@ -13497,10 +12581,7 @@ package, and that's where the version number started.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/these/these-" - version - ".tar.gz")) + (uri (hackage-uri "these" version)) (sha256 (base32 "027m1gd7i6jf2ppfkld9qrv3xnxg276587pmx10z9phpdvswk66p")))) @@ -13548,8 +12629,7 @@ variant of @code{These}. (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "threads/threads-" version ".tar.gz")) + (uri (hackage-uri "threads" version)) (sha256 (base32 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk")))) @@ -13583,9 +12663,7 @@ package is similar to the @code{threadmanager}, @code{async} and (version "0.1.10") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "th-reify-many/th-reify-many-" - version ".tar.gz")) + (uri (hackage-uri "th-reify-many" version)) (sha256 (base32 "19g4gc1q3zxbylmvrgk3dqjzychq2k02i7fwvs3vhbrg4ihhw9cx")))) @@ -13609,8 +12687,7 @@ function which generates instances.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "time-compat/time-compat-" version ".tar.gz")) + (uri (hackage-uri "time-compat" version)) (sha256 (base32 "19p3056i6kh8lgcdsnwsh8pj80xyi23kmw9n7hmdacczs5kv49ii")))) @@ -13642,9 +12719,7 @@ features as possible.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "time-locale-compat/time-locale-compat-" - version ".tar.gz")) + (uri (hackage-uri "time-locale-compat" version)) (sha256 (base32 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7")))) @@ -13664,8 +12739,7 @@ features as possible.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "time-manager/time-manager-" version ".tar.gz")) + (uri (hackage-uri "time-manager" version)) (sha256 (base32 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh")))) @@ -13687,9 +12761,7 @@ timer manager.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/timeit/timeit-" - version ".tar.gz")) + (hackage-uri "timeit" version)) (sha256 (base32 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1")))) @@ -13709,9 +12781,7 @@ used CPU time of monadic computation with an IO base.") (origin (method url-fetch) (uri - (string-append - "mirror://hackage/package/timezone-series/timezone-series-" - version ".tar.gz")) + (hackage-uri "timezone-series" version)) (sha256 (base32 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5")))) @@ -13733,9 +12803,7 @@ create timezone series, see the ghc-timezone-olson package.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/timezone-olson/timezone-olson-" - version ".tar.gz")) + (hackage-uri "timezone-olson" version)) (sha256 (base32 "0b9vh27b9nz803yhd93d5z63bs370lvn4vkdajxaak9clxlw6mwg")))) @@ -13761,10 +12829,7 @@ objects from the timezone-series package.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tldr/tldr-" - version - ".tar.gz")) + (uri (hackage-uri "tldr" version)) (sha256 (base32 "1yypb9zhsj9ks7bbw2sayqv3rn9y8z3w5p1xmsnwb4w99dqmvcx5")))) @@ -13795,9 +12860,7 @@ man pages with practical examples.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/torrent/torrent-" - version ".tar.gz")) + (uri (hackage-uri "torrent" version)) (sha256 (base32 "0m7s0q7f8c7glxzqhf2j86ch5xhk6jnzwwsa4mkywag22119c290")))) (build-system haskell-build-system) @@ -13817,10 +12880,7 @@ BitTorrent files.") (source (origin (method url-fetch) - (uri (string-append - "mirror://hackage/package/transformers/transformers-" - version - ".tar.gz")) + (uri (hackage-uri "transformers" version)) (sha256 (base32 "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n")))) @@ -13857,10 +12917,7 @@ other transformers.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/transformers-base/transformers-base-" - version - ".tar.gz")) + (uri (hackage-uri "transformers-base" version)) (sha256 (base32 "146g69yxmlrmvqnzwcw4frxfl3z04lda9zqwcqib34dnkrlghfrj")))) @@ -13885,9 +12942,7 @@ compatibility to run on old versions of the platform.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/transformers-compat" - "/transformers-compat-" version ".tar.gz")) + (uri (hackage-uri "transformers-compat" version)) (sha256 (base32 "1yd936az31g9995frc84g05rrb5b7w59ajssc5183lp6wm8h4bky")))) @@ -13908,10 +12963,7 @@ but also need those types.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/tree-diff/tree-diff-" - version - ".tar.gz")) + (uri (hackage-uri "tree-diff" version)) (sha256 (base32 "0bybi4qp7nj9117yza5qqgw2f7s6rk3i7q642jqd7sdn3bx5cnap")))) @@ -13954,9 +13006,7 @@ compute the difference between arbitrary abstract datatypes (ADTs) using (version "2.1.1") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/trifecta/" - "trifecta-" version ".tar.gz")) + (uri (hackage-uri "trifecta" version)) (sha256 (base32 "1lhzi0xxvilvgjy3yf3f85wfmrks562hhsnl0kg1xwji36rgwp6y")))) @@ -13995,9 +13045,7 @@ with slicing and Clang-style colored diagnostics.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "tuple-th-" version "/" - "tuple-th-" version ".tar.gz")) + (uri (hackage-uri "tuple-th" version)) (sha256 (base32 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn")))) @@ -14018,10 +13066,7 @@ statically known size.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/turtle/turtle-" - version - ".tar.gz")) + (uri (hackage-uri "turtle" version)) (sha256 (base32 "14lf43b5rxci6p9sy1gkb715m4b1s4rl65swn2qpdqv3h2yvpi4s")))) @@ -14078,9 +13123,7 @@ similar functionality.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "typed-process/typed-process-" - version ".tar.gz")) + (uri (hackage-uri "typed-process" version)) (sha256 (base32 "071mw4yv4xr5n82si33qbcqcxvcr7h56zlyd8gmsfrsdnacbq47k")))) @@ -14105,10 +13148,7 @@ upon it.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/uglymemo/uglymemo-" - version - ".tar.gz")) + (uri (hackage-uri "uglymemo" version)) (sha256 (base32 "0ixqg5d0ly1r18jbgaa89i6kjzgi6c5hanw1b1y8c5fbq14yz2gy")))) @@ -14128,8 +13168,7 @@ function.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/unagi-chan" - "/unagi-chan-" version ".tar.gz")) + (uri (hackage-uri "unagi-chan" version)) (sha256 (base32 "15fnk9x4fd2ryp31fjfrwm8k61m3a0qyb95m4065zc0yi0jyacp2")))) @@ -14156,10 +13195,7 @@ instruction is not available.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-" - version - ".tar.gz")) + (uri (hackage-uri "unbounded-delays" version)) (sha256 (base32 "11b1vmlfv4pmmpl4kva58w7cf50xsj819cq3wzqgnbz3px9pxbar")))) @@ -14180,9 +13216,7 @@ unbounded @code{Integer} type.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "unexceptionalio-" version "/" "unexceptionalio-" - version ".tar.gz")) + (uri (hackage-uri "unexceptionalio" version)) (sha256 (base32 "07py2nffdgxpz8sryvqcghzb2kiiagpdf5ja1dia4z0rpwi79smh")))) (build-system haskell-build-system) (properties '((upstream-name . "unexceptionalio"))) @@ -14201,9 +13235,7 @@ handled safely, this is what you're left with.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "unicode-transforms/unicode-transforms-" - version ".tar.gz")) + (uri (hackage-uri "unicode-transforms" version)) (sha256 (base32 "1010sahi4mjzqmxqlj3w73rlymbl2370x5vizjqbx7mb86kxzx4f")))) @@ -14223,9 +13255,7 @@ normalization in Haskell (normalization forms C, KC, D, and KD).") (version "0.2") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/union-find/union-find-" - version ".tar.gz")) + (uri (hackage-uri "union-find" version)) (sha256 (base32 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6")))) @@ -14250,10 +13280,7 @@ constant-time: (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/uniplate/uniplate-" - version - ".tar.gz")) + (uri (hackage-uri "uniplate" version)) (sha256 (base32 "1lis5qcb5j7yzd1cqjaqpb6bmkyjfb7l4nhk3ykmcma4513cjxz7")))) @@ -14275,10 +13302,7 @@ work, but is substantially simpler and faster.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/unix-compat/unix-compat-" - version - ".tar.gz")) + (uri (hackage-uri "unix-compat" version)) (sha256 (base32 "1j75i3dj489rz60ij3nfza774mb7mw33amhdkm10dd0dxabvb4q8")))) @@ -14300,10 +13324,7 @@ isn't available, portable implementations are used.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/unix-time/unix-time-" - version - ".tar.gz")) + (uri (hackage-uri "unix-time" version)) (sha256 (base32 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr")))) @@ -14327,10 +13348,7 @@ for Unix time in Haskell.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/unliftio/unliftio-" - version - ".tar.gz")) + (uri (hackage-uri "unliftio" version)) (sha256 (base32 "0mbm57h7r16qd7kpglbm50qrnfjmazd70avbrl647n4jwhlrp7my")))) @@ -14356,9 +13374,7 @@ working with it.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "unliftio-core-" version "/" - "unliftio-core-" version ".tar.gz")) + (uri (hackage-uri "unliftio-core" version)) (sha256 (base32 "16i97jax8rys57l0g0qswfwxh1cl5bgw2lw525rm6bzajw90v7wi")))) @@ -14383,9 +13399,7 @@ functions.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/unordered-containers" - "/unordered-containers-" version ".tar.gz")) + (uri (hackage-uri "unordered-containers" version)) (sha256 (base32 "0rw8kmg7xjlacmr1hcpin95abkd387awf154s9ran7zg9jllh3x1")))) @@ -14426,9 +13440,7 @@ and high speed.") (origin (method url-fetch) (uri - (string-append - "https://hackage.haskell.org/package/unsafe/unsafe-" - version ".tar.gz")) + (hackage-uri "unsafe" version)) (sha256 (base32 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz")))) @@ -14453,9 +13465,7 @@ a style ready for qualification, that is, you should import them by (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "uri-bytestring-" version "/" - "uri-bytestring-" version ".tar.gz")) + (uri (hackage-uri "uri-bytestring" version)) (sha256 (base32 "0s0k26v5x6601rbpkjkl5vp3dkp9xwj1dlgy4xkl470i4sna1rzk")))) @@ -14483,10 +13493,7 @@ parser that uses ByteStrings for parsing and representing the URI data.") (source (origin (method url-fetch) - (uri (string-append - "mirror://hackage/package/utf8-light/utf8-light-" - version - ".tar.gz")) + (uri (hackage-uri "utf8-light" version)) (sha256 (base32 "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q")))) @@ -14509,10 +13516,7 @@ including only one module.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/utf8-string/utf8-string-" - version - ".tar.gz")) + (uri (hackage-uri "utf8-string" version)) (sha256 (base32 "16mh36ffva9rh6k37bi1046pgpj14h0cnmj1iir700v0lynxwj7f")))) (build-system haskell-build-system) @@ -14534,7 +13538,7 @@ UTF8 without truncation.") (source (origin (method url-fetch) - (uri (string-append home-page "/utility-ht-" version ".tar.gz")) + (uri (hackage-uri "utility-ht" version)) (sha256 (base32 "10dvmfhhhj5w4wz5drhvs6i0yv35kbbcbzhy6ci34r3ppcik5rdw")))) (build-system haskell-build-system) @@ -14553,9 +13557,7 @@ helper functions for Lists, Maybes, Tuples, Functions.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "uuid-" version "/" - "uuid-" version ".tar.gz")) + (uri (hackage-uri "uuid" version)) (sha256 (base32 "0r05h16gd7fgfpq9iz43jcn9jzrgfa0gk4cv1xy0p4rli66rb1gq")))) @@ -14582,9 +13584,7 @@ parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "uuid-types-" version "/" - "uuid-types-" version ".tar.gz")) + (uri (hackage-uri "uuid-types" version)) (sha256 (base32 "1pd7xd6inkmmwjscf7pmiwqjks9y0gi1p8ahqbapvh34gadvhs5d")))) @@ -14609,10 +13609,7 @@ functions.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/validation/validation-" - version - ".tar.gz")) + (uri (hackage-uri "validation" version)) (sha256 (base32 "1dv7azpljdcf7irbnznnz31hq611bn1aj2m6ywghz3hgv835qqak")))) @@ -14651,10 +13648,7 @@ example of, \"An applicative functor that is not a monad.\"") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/validity/validity-" - version - ".tar.gz")) + (uri (hackage-uri "validity" version)) (sha256 (base32 "086nj5ymp4mxxfw9qjgjhd4j3z7gl2y9d89p0b7bkap5ampgdw2x")))) @@ -14677,10 +13671,7 @@ explicit by providing a function to check whether the invariants hold.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/vault/vault-" - version - ".tar.gz")) + (uri (hackage-uri "vault" version)) (sha256 (base32 "181ksk1yixjg0jiggw5jvm8am8m8c7lim4xaixf8qnaqvxm6namc")))) @@ -14707,10 +13698,7 @@ representing a store for a single element.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/vector/vector-" - version - ".tar.gz")) + (uri (hackage-uri "vector" version)) (sha256 (base32 "0dczbcisxhhix859dng5zhxkn3xvlnllsq60apqzvmyl5g056jpv")))) @@ -14741,9 +13729,7 @@ optimisation framework.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "vector-algorithms-" version "/" - "vector-algorithms-" version ".tar.gz")) + (uri (hackage-uri "vector-algorithms" version)) (sha256 (base32 "0fxg6w0vh5g2vzw4alajj9ywdijfn9nyx28hbckhmwwbfxb6l5vn")))) @@ -14765,10 +13751,7 @@ optimisation framework.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "vector-binary-instances/vector-binary-instances-" - version ".tar.gz")) + (uri (hackage-uri "vector-binary-instances" version)) (sha256 (base32 "0kgmlb4rf89b18d348cf2k06xfhdpamhmvq7iz5pab5014hknbmp")))) @@ -14794,9 +13777,7 @@ boxed and storable vectors.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "vector-builder-" version "/" - "vector-builder-" version ".tar.gz")) + (uri (hackage-uri "vector-builder" version)) (sha256 (base32 "1g1zxp6xcwcq3372a5qqs44cl09a48p21m1jsys5bsampprlmcgs")))) @@ -14828,9 +13809,7 @@ vector.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "vector-th-unbox-" version "/" - "vector-th-unbox-" version ".tar.gz")) + (uri (hackage-uri "vector-th-unbox" version)) (sha256 (base32 "0jbzm31d91kxn8m0h6iplj54h756q6f4zzdrnb2w7rzz5zskgqyl")))) @@ -14852,10 +13831,7 @@ and from some existing type with an Unbox instance.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/void/void-" - version - ".tar.gz")) + (uri (hackage-uri "void" version)) (sha256 (base32 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk")))) @@ -14877,10 +13853,7 @@ given term should not exist.") (version "0.2.0") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/wave/wave-" - version - ".tar.gz")) + (uri (hackage-uri "wave" version)) (sha256 (base32 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki")))) @@ -14911,8 +13884,7 @@ files in Haskell.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-" - version ".tar.gz")) + (uri (hackage-uri "wcwidth" version)) (sha256 (base32 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz")))) @@ -14943,8 +13915,7 @@ widths to the Char type.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/weigh/" - "weigh-" version ".tar.gz")) + (uri (hackage-uri "weigh" version)) (sha256 (base32 "13pbjr7fzqy3s9c1nd2jhfwzbpccmpfwdn7y46z9k2bfkch1jam9")))) @@ -14965,10 +13936,7 @@ Haskell value or function.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/wizards/wizards-" - version - ".tar.gz")) + (uri (hackage-uri "wizards" version)) (sha256 (base32 "1clvbd1ckhvy29qrbmpkn7bya7300fq6znnps23nn3nxyrxhsr85")))) @@ -15007,9 +13975,7 @@ also be used for making GUI wizard interfaces.") (version "1.2.1") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/wl-pprint/wl-pprint-" - version ".tar.gz")) + (uri (hackage-uri "wl-pprint" version)) (sha256 (base32 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c")))) @@ -15030,10 +13996,7 @@ instances of the @code{Pretty} class.") (source (origin (method url-fetch) - (uri (string-append - "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-" - version - ".tar.gz")) + (uri (hackage-uri "wl-pprint-annotated" version)) (sha256 (base32 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb")))) @@ -15060,9 +14023,7 @@ modernized interface.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-" - version ".tar.gz")) + (uri (hackage-uri "wl-pprint-text" version)) (sha256 (base32 "030ckgzz14sv2c317g4j5g68hyq9xi40cmv0apwclw6sc6xgsvly")))) @@ -15083,8 +14044,7 @@ modernized interface.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "word-wrap/word-wrap-" version ".tar.gz")) + (uri (hackage-uri "word-wrap" version)) (sha256 (base32 "15rcqhg9vb7qisk9ryjnyhhfgigxksnkrczycaw2rin08wczjwpb")))) (build-system haskell-build-system) @@ -15106,10 +14066,7 @@ modernized interface.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/word8/word8-" - version - ".tar.gz")) + (uri (hackage-uri "word8" version)) (sha256 (base32 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16")))) @@ -15129,10 +14086,7 @@ modernized interface.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/wordexp/wordexp-" - version - ".tar.gz")) + (uri (hackage-uri "wordexp" version)) (sha256 (base32 "1mbcrq89jz0dcibw66w0jdy4f4bfpx4zwjfs98rm3jjgdikwdzb4")))) @@ -15154,8 +14108,7 @@ word expansion like a posix-shell.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/X11/" - "X11-" version ".tar.gz")) + (uri (hackage-uri "X11" version)) (sha256 (base32 "1ip207l97s8nw4daxp9s254agk8f0wibpf0prx0n695klqyn8bz1")))) (build-system haskell-build-system) @@ -15180,8 +14133,7 @@ bindings are a direct translation of the C bindings.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/X11-xft/" - "X11-xft-" version ".tar.gz")) + (uri (hackage-uri "X11-xft" version)) (sha256 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf")))) (arguments @@ -15206,9 +14158,7 @@ parts.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/xdg-basedir/" - "xdg-basedir-" version ".tar.gz")) + (uri (hackage-uri "xdg-basedir" version)) (sha256 (base32 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4")))) @@ -15226,10 +14176,7 @@ parts.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/xml/xml-" - version - ".tar.gz")) + (uri (hackage-uri "xml" version)) (sha256 (base32 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j")))) @@ -15247,8 +14194,7 @@ parts.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/xml-conduit/" - "xml-conduit-" version ".tar.gz")) + (uri (hackage-uri "xml-conduit" version)) (sha256 (base32 "1zzh7xnmbm68dab1vqsjkr6ghxqgnla5nik4amrwlmhbdih1gcdx")))) @@ -15279,8 +14225,7 @@ the @code{conduit} package.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/xml-types/" - "xml-types-" version ".tar.gz")) + (uri (hackage-uri "xml-types" version)) (sha256 (base32 "102cm0nvfmf9gn8hvn5z8qvmg931laczs33wwd5iyz9bc37f9mfs")))) @@ -15299,8 +14244,7 @@ documents.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/xml-hamlet/" - "xml-hamlet-" version ".tar.gz")) + (uri (hackage-uri "xml-hamlet" version)) (sha256 (base32 "0jrhcjy7ww59dafg857f2g2df1fw2jmbwcs1q379ph0pc5rxj3lj")))) (build-system haskell-build-system) @@ -15321,8 +14265,7 @@ code via quasi-quoting built on top of @code{ghc-shakespeare}.") (version "0.11.7.0") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "yaml/yaml-" version ".tar.gz")) + (uri (hackage-uri "yaml" version)) (sha256 (base32 "0s08kw0hqxixxripwjmz7b4yh9130dws3jaj460x8ds8q4b6khbx")))) @@ -15359,10 +14302,7 @@ code via quasi-quoting built on top of @code{ghc-shakespeare}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/zip-archive/zip-archive-" - version - ".tar.gz")) + (uri (hackage-uri "zip-archive" version)) (sha256 (base32 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5")))) @@ -15396,10 +14336,7 @@ modifying, and extracting files from zip archives in Haskell.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/zlib/zlib-" - version - ".tar.gz")) + (uri (hackage-uri "zlib" version)) (sha256 (base32 "125wbayk8ifp0gp8cb52afck2ziwvqfrjzbmwmy52g6bz7fnnzw0")))) @@ -15437,8 +14374,7 @@ provides access to the full zlib feature set.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "zlib-bindings/zlib-bindings-" version ".tar.gz")) + (uri (hackage-uri "zlib-bindings" version)) (sha256 (base32 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8")))) @@ -15464,8 +14400,7 @@ provides access to the full zlib feature set.") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "zstd/zstd-" version ".tar.gz")) + (uri (hackage-uri "zstd" version)) (sha256 (base32 "0vghl48cxcqy72sqk2gpi7rvy5ya36j13vndaxi6kck6bqivbhm0")))) @@ -15489,10 +14424,7 @@ compression ratios.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/indexed-traversable/indexed-traversable-" - version - ".tar.gz")) + (uri (hackage-uri "indexed-traversable" version)) (sha256 (base32 "0fc18vdm1894yjbjkj9wjm27bf37ac3gvkzak677mgiw2pinmhvs")))) (build-system haskell-build-system) @@ -15533,10 +14465,7 @@ associated @code{TypeFamilies} instead of @code{FunctionalDependencies}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/type-equality/type-equality-" - version - ".tar.gz")) + (uri (hackage-uri "type-equality" version)) (sha256 (base32 "1s4cl11rvvv7n95i3pq9lmmx08kwh4z7l3d1hbv4wi8il81baa27")))) (build-system haskell-build-system) @@ -15566,10 +14495,7 @@ for compilers with @code{PolyKinds}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/selective/selective-" - version - ".tar.gz")) + (uri (hackage-uri "selective" version)) (sha256 (base32 "1mg5hnr3f4zjh3ajy16jkxj630rnfa9iqnnmpjqd9gkjdxpssd5l")))) (build-system haskell-build-system) @@ -15594,10 +14520,7 @@ on selective functors} for more details.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/keys/keys-" - version - ".tar.gz")) + (uri (hackage-uri "keys" version)) (sha256 (base32 "0ik6wsff306dnbz0v3gpiajlj5b558hrk9176fzcb2fclf4447nm")))) (build-system haskell-build-system) @@ -15627,10 +14550,7 @@ dependencies.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/pointed/pointed-" - version - ".tar.gz")) + (uri (hackage-uri "pointed" version)) (sha256 (base32 "07p92y62dibys3xa59rvx52xyyr39nghl73z7hzwnksa3ry3vfmq")))) (build-system haskell-build-system) @@ -15658,10 +14578,7 @@ dependencies.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/vector-instances/vector-instances-" - version - ".tar.gz")) + (uri (hackage-uri "vector-instances" version)) (sha256 (base32 "10akvpa5w9bp0d8hflab63r9laa9gy2hv167smhjsdzq1kplc0hv")))) (build-system haskell-build-system) @@ -15688,10 +14605,7 @@ the @code{ghc-vector} package.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/th-compat/th-compat-" - version - ".tar.gz")) + (uri (hackage-uri "th-compat" version)) (sha256 (base32 "1il1hs5yjfkb417c224pw1vrh4anyprasfwmjbd4fkviyv55jl3b")))) (build-system haskell-build-system) @@ -15716,10 +14630,7 @@ range of @code{template-haskell} versions. On recent versions of (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/filepattern/filepattern-" - version - ".tar.gz")) + (uri (hackage-uri "filepattern" version)) (sha256 (base32 "0nznzji5haxl4ninm2a79dqf4c7fj6pc3z9gdc6wbf5h1pp14afr")))) (build-system haskell-build-system) @@ -15760,10 +14671,7 @@ traverals using patterns. (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/ghc-lib-parser-ex/ghc-lib-parser-ex-" - version - ".tar.gz")) + (uri (hackage-uri "ghc-lib-parser-ex" version)) (sha256 (base32 "0r5sl7hhn0cxp0b1dskx1lshplc0yka7hcvs2nh10nrj07fjd3vj")))) (build-system haskell-build-system) @@ -15784,10 +14692,7 @@ traverals using patterns. (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/lift-type/lift-type-" - version - ".tar.gz")) + (uri (hackage-uri "lift-type" version)) (sha256 (base32 "1195iyf0s8zmibjmvd10bszyccp1a2g4wdysn7yk10d3j0q9xdxf")))) (build-system haskell-build-system) @@ -15808,10 +14713,7 @@ it.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/unicode-collation/unicode-collation-" - version - ".tar.gz")) + (uri (hackage-uri "unicode-collation" version)) (sha256 (base32 "0nbxkpd29ivdi6vcikbaasffkcz9m2vd4nhv29p6gmvckzmhj7zi")))) (build-system haskell-build-system) @@ -15837,10 +14739,7 @@ provided.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/citeproc/citeproc-" - version - ".tar.gz")) + (uri (hackage-uri "citeproc" version)) (sha256 (base32 "13hgbcbr7jbyfbxp8fsc43c2wq4fhlbxzqwh1plfkdi5n9bif1lv")))) (build-system haskell-build-system) @@ -15876,10 +14775,7 @@ entries. For more information about CSL, see @uref{https://citationstyles.org/} (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/commonmark/commonmark-" - version - ".tar.gz")) + (uri (hackage-uri "commonmark" version)) (sha256 (base32 "105szy7l4ji255fwv0kbfcy3i3a3a4197zgj6s9jb12kwbn6n0c7")))) (build-system haskell-build-system) @@ -15913,10 +14809,7 @@ varies linearly with input length.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/commonmark-extensions/commonmark-extensions-" - version - ".tar.gz")) + (uri (hackage-uri "commonmark-extensions" version)) (sha256 (base32 "0jm6w84p2a2gyaljvnlvjjwrwnir1lss3ps53d0bd8mkvhixxrqr")))) (build-system haskell-build-system) @@ -15940,10 +14833,7 @@ footnotes, math, and more.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/commonmark-pandoc/commonmark-pandoc-" - version - ".tar.gz")) + (uri (hackage-uri "commonmark-pandoc" version)) (sha256 (base32 "15rfaz49msswb7gh5wyxpm9vckbf3wzyd2m5m2f3hggb82ydk5cp")))) (build-system haskell-build-system) @@ -15964,10 +14854,7 @@ Pandoc types.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hslua-module-path/hslua-module-path-" - version - ".tar.gz")) + (uri (hackage-uri "hslua-module-path" version)) (sha256 (base32 "1zxfljcn74rky26ijqmba6grpj0h9plgr47wxdaf7gcz1y8dhn68")))) (build-system haskell-build-system) @@ -15989,10 +14876,7 @@ platform independent way.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/template-haskell/template-haskell-" - version - ".tar.gz")) + (uri (hackage-uri "template-haskell" version)) (sha256 (base32 "1nk1cv35szp80qkhbyh5gn6vn194zzl0wz186qrqdrdx3a9r9w4g")))) (build-system haskell-build-system) @@ -16014,10 +14898,7 @@ information.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/genvalidity-hspec/genvalidity-hspec-" - version - ".tar.gz")) + (uri (hackage-uri "genvalidity-hspec" version)) (sha256 (base32 "0aajx07n2rznyqxb0c4pn9j2cvkzw5brz9ki4grhhigbcri3jzmv")))) (build-system haskell-build-system) @@ -16044,10 +14925,7 @@ information.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/ghc-boot-th/ghc-boot-th-" - version - ".tar.gz")) + (uri (hackage-uri "ghc-boot-th" version)) (sha256 (base32 "0vhhmsd32p7zn9vhpv4d0k0b55n2dyhzy42xblndrma617kz8gli")))) (build-system haskell-build-system) @@ -16069,10 +14947,7 @@ upon by user code.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/binary-orphans/binary-orphans-" - version - ".tar.gz")) + (uri (hackage-uri "binary-orphans" version)) (sha256 (base32 "0gbmn5rpvyxhw5bxjmxwld6918lslv03b2f6hshssaw1il5x86j3")))) (build-system haskell-build-system) @@ -16097,10 +14972,7 @@ upon by user code.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/netlink/netlink-" - version - ".tar.gz")) + (uri (hackage-uri "netlink" version)) (sha256 (base32 "1q8sxycv93sap6dgbw70scklnpjj5vav6qlvsxm5500jlvb3jnf0")))) (build-system haskell-build-system) @@ -16123,10 +14995,7 @@ of Netlink families.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/doctest-driver-gen/doctest-driver-gen-" - version - ".tar.gz")) + (uri (hackage-uri "doctest-driver-gen" version)) (sha256 (base32 "1fbqi4s4ajxhyv4a7nbh3v98limla0z8rfqlh02pwc1a90qpwy1a")))) (build-system haskell-build-system) @@ -16147,10 +15016,7 @@ lets you automatically generate driver file for Doctest's Cabal integration.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/template-haskell-compat-v0208/template-haskell-compat-v0208-" - version - ".tar.gz")) + (uri (hackage-uri "template-haskell-compat-v0208" version)) (sha256 (base32 "1s2ba86y2r9n4r1dwfg734y3nfqxak560s8srd04kbn623hnrkw8")))) (build-system haskell-build-system) @@ -16169,10 +15035,7 @@ Haskell newer than 2.8.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/mysql/mysql-" - version - ".tar.gz")) + (uri (hackage-uri "mysql" version)) (sha256 (base32 "051w428arxbix06a52dacqjpnkfx42zbazxsd3l9d857dsd0kl3g")))) (build-system haskell-build-system) @@ -16201,10 +15064,7 @@ built.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/blaze-textual/blaze-textual-" - version - ".tar.gz")) + (uri (hackage-uri "blaze-textual" version)) (sha256 (base32 "0zjnwnjpcpnnm0815h9ngr3a3iy0szsnb3nrcavkbx4905s9k4bs")))) (build-system haskell-build-system) @@ -16228,10 +15088,7 @@ Haskell datatypes in text form using the @code{ghc-blaze-builder} library.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/mysql-simple/mysql-simple-" - version - ".tar.gz")) + (uri (hackage-uri "mysql-simple" version)) (sha256 (base32 "1mhmszpq64h8kxr20iaj1laq46wr2gaqc8xxq1k821i7jfxfld6j")))) (build-system haskell-build-system) @@ -16263,10 +15120,7 @@ Haskell datatypes in text form using the @code{ghc-blaze-builder} library.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/persistent-qq/persistent-qq-" - version - ".tar.gz")) + (uri (hackage-uri "persistent-qq" version)) (sha256 (base32 "1dvniapxjaw2vmdqd5cplwxdxiy2l6z6gns8gp3ci3rn3xp0pf6p")))) (build-system haskell-build-system) @@ -16296,10 +15150,7 @@ Language} for @code{ghc-persistent}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/persistent-mysql/persistent-mysql-" - version - ".tar.gz")) + (uri (hackage-uri "persistent-mysql" version)) (sha256 (base32 "18ji7a7lb1mjgqvi2mv2cg4vlgjkyzg2hgp09s7c9v071p3ll732")))) (build-system haskell-build-system) @@ -16346,10 +15197,7 @@ is officially supported.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/hspec-expectations-lifted/hspec-expectations-lifted-" - version - ".tar.gz")) + (uri (hackage-uri "hspec-expectations-lifted" version)) (sha256 (base32 "0a1qwz0n80lph8m9cq6cb06m8bsmqgg8ifx0acpylvrrkd8g3k92")))) (build-system haskell-build-system) @@ -16369,10 +15217,7 @@ to @code{MonadIO}.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/string-conversions/string-conversions-" - version - ".tar.gz")) + (uri (hackage-uri "string-conversions" version)) (sha256 (base32 "150rdank90h7v08x0wq4dffjbxv2daf5v9sqfs5mab76kinwxg26")))) (build-system haskell-build-system) @@ -16395,10 +15240,7 @@ string types into values of other string types.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/postgresql-libpq/postgresql-libpq-" - version - ".tar.gz")) + (uri (hackage-uri "postgresql-libpq" version)) (sha256 (base32 "1gfnhc5pibn7zmifdf2g0c112xrpzsk756ln2kjzqljkspf4dqp3")))) (build-system haskell-build-system) @@ -16423,10 +15265,7 @@ server and to receive the results of these queries.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/postgresql-simple/postgresql-simple-" - version - ".tar.gz")) + (uri (hackage-uri "postgresql-simple" version)) (sha256 (base32 "0rz2bklxp4pvbxb2w49h5p6pbwabn6d5d4j4mrya4fpa0d13k43d")))) (build-system haskell-build-system) @@ -16470,10 +15309,7 @@ server and to receive the results of these queries.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/persistent-postgresql/persistent-postgresql-" - version - ".tar.gz")) + (uri (hackage-uri "persistent-postgresql" version)) (sha256 (base32 "07pnr8m0nk43jaz6l293lzx4ivyqgnw94fjypazzm008b4irh7ir")))) (build-system haskell-build-system) @@ -16521,10 +15357,7 @@ using the @code{ghc-postgresql-simple} package.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/filtrable/filtrable-" - version - ".tar.gz")) + (uri (hackage-uri "filtrable" version)) (sha256 (base32 "058jl7wjaxzvcayc9qzpikxvi9x42civ4sb02jh66rcvpndbfh5y")))) (build-system haskell-build-system) @@ -16544,10 +15377,7 @@ using the @code{ghc-postgresql-simple} package.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/filelock/filelock-" - version - ".tar.gz")) + (uri (hackage-uri "filelock" version)) (sha256 (base32 "06a44i7a956d7xkk2na4090xj2a7b7a228pk4spmccs4x20ymssh")))) (build-system haskell-build-system) @@ -16567,10 +15397,7 @@ using the @code{ghc-postgresql-simple} package.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/HsYAML-aeson/HsYAML-aeson-" - version - ".tar.gz")) + (uri (hackage-uri "HsYAML-aeson" version)) (sha256 (base32 "12sxww260pc0bbpiyirm7911haxhljdi2f08a9ddpbgw8d5n7ffg")))) (build-system haskell-build-system) @@ -16603,10 +15430,7 @@ data into native Haskell data types.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/lukko/lukko-" - version - ".tar.gz")) + (uri (hackage-uri "lukko" version)) (sha256 (base32 "07xb926kixqv5scqdl8w34z42zjzdpbq06f0ha3f3nm3rxhgn3m8")))) (build-system haskell-build-system) @@ -16645,10 +15469,7 @@ locking. (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/dec/dec-" - version - ".tar.gz")) + (uri (hackage-uri "dec" version)) (sha256 (base32 "0yslffafmqfkvhcw2arpc53hfmn1788z85ss9lxnbclr29lbvzgc")))) (build-system haskell-build-system) @@ -16722,10 +15543,7 @@ pages.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/singleton-bool/singleton-bool-" - version - ".tar.gz")) + (uri (hackage-uri "singleton-bool" version)) (sha256 (base32 "17w9vv6arn7vvc7kykqcx81q2364ji43khrryl27r1cjx9yxapa0")))) (build-system haskell-build-system) diff --git a/gnu/packages/purescript.scm b/gnu/packages/purescript.scm index da4e2a205e..dd048197b4 100644 --- a/gnu/packages/purescript.scm +++ b/gnu/packages/purescript.scm @@ -38,10 +38,7 @@ (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/purescript/purescript-" - version - ".tar.gz")) + (uri (hackage-uri "purescript" version)) (sha256 (base32 "06f318hdah076vkviw1ryyg2p0gpbabsp8lbm5x03f2qv92n9j1n")))) (build-system haskell-build-system) @@ -135,10 +132,7 @@ expressive types, inspired by Haskell and compiling to JavaScript.") (source (origin (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/purescript-cst/purescript-cst-" - version - ".tar.gz")) + (uri (hackage-uri "purescript-cst" version)) (sha256 (base32 "0r3f5lr9lrv9wpgkwj6nyl42lvxryj2lvr1w7ld4gki8ylq24n8g")))) (build-system haskell-build-system) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 0dfc45a58e..f7a4a3214f 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -809,8 +809,7 @@ manager and a system tray.") (synopsis "Tiling window manager") (source (origin (method url-fetch) - (uri (string-append "mirror://hackage/package/xmonad/" - "xmonad-" version ".tar.gz")) + (uri (hackage-uri "xmonad" version)) (sha256 (base32 "04qspdz9w6xpw1npcmx2zx0595wc68q985pv4i0hvp32zillvdqy")) @@ -854,8 +853,7 @@ tiled on several screens.") (version "0.15") (source (origin (method url-fetch) - (uri (string-append "mirror://hackage/package/xmonad/" - "xmonad-" version ".tar.gz")) + (uri (hackage-uri "xmonad" version)) (sha256 (base32 "0a7rh21k9y6g8fwkggxdxjns2grvvsd5hi2ls4klmqz5xvk4hyaa")) @@ -880,8 +878,7 @@ tiled on several screens.") (version "0.44.2") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/xmobar/" - "xmobar-" version ".tar.gz")) + (uri (hackage-uri "xmobar" version)) (sha256 (base32 "0gdphjn5ll5lkb2psdsb34563wsz6g0y2gg3z8cj4jy8lvbbv808")))) @@ -955,8 +952,7 @@ particular, it displays commonly-chosen options before uncommon ones.") (source (origin (method url-fetch) - (uri (string-append "mirror://hackage/package/xmonad-contrib/" - "xmonad-contrib-" version ".tar.gz")) + (uri (hackage-uri "xmonad-contrib" version)) (sha256 (base32 "11g1cyfgfvcmz35qhgi9wzxrk3br8m8b7qy3jvph4nnf6aj13wvy")))) (build-system haskell-build-system) @@ -978,8 +974,7 @@ tiling window manager for X.") (source (origin (method url-fetch) - (uri (string-append "mirror://hackage/package/xmonad-contrib/" - "xmonad-contrib-" version ".tar.gz")) + (uri (hackage-uri "xmonad-contrib" version)) (sha256 (base32 "1pddgkvnbww28wykncc7j0yb0lv15bk7xnnhdcbrwkxzw66w6wmd")))) (arguments |