Compare commits

...

8 Commits

Author SHA1 Message Date
775c541895 Minor refactor 2020-03-16 10:49:34 +01:00
b0eba1a77a Use regex-posix instead of text-icu
This will make static linking easier.
2020-03-16 10:49:04 +01:00
8aa2be5898 Don't build with brotli 2020-03-16 10:47:55 +01:00
951a7173ae Remove unnecessary type annotations 2020-03-16 10:47:09 +01:00
b7f49b1c94 Check for new ghcup version on start 2020-03-09 22:21:22 +01:00
dcd6812fb7 Freeze cabal index state 2020-03-09 20:50:15 +01:00
167826dfce Add stack support (building) 2020-03-09 20:49:56 +01:00
03ee8915fb Rename dl function 2020-03-09 20:49:10 +01:00
12 changed files with 284 additions and 232 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
dist-newstyle/
.stack-work/

View File

@ -20,49 +20,49 @@ import qualified Data.Map as M
ghc_7103_64_cenots67 :: DownloadInfo
ghc_7103_64_cenots67 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-centos67-linux.tar.bz2|]
(Just ([rel|ghc-7.10.3|] :: Path Rel))
(Just [rel|ghc-7.10.3|])
[s|a8957f7a2fd81720c5d3dc403571d77d31115ff5f42edb2917c36d8e714220d4|]
ghc_7103_32_cenots67 :: DownloadInfo
ghc_7103_32_cenots67 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-i386-centos67-linux.tar.bz2|]
(Just ([rel|ghc-7.10.3|] :: Path Rel))
(Just [rel|ghc-7.10.3|])
[s|c50aa20275e8d1ba9148f380eb7598bc148143281fc17c9acd38ea7b325852bd|]
ghc_7103_64_deb8 :: DownloadInfo
ghc_7103_64_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-deb8-linux.tar.bz2|]
(Just ([rel|ghc-7.10.3|] :: Path Rel))
(Just [rel|ghc-7.10.3|])
[s|01cfbad8dff1e8b34a5fdca8caeaf843b56e36af919e29cd68870d2588563db5|]
ghc_7103_32_deb8 :: DownloadInfo
ghc_7103_32_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-i386-deb8-linux.tar.bz2|]
(Just ([rel|ghc-7.10.3|] :: Path Rel))
(Just [rel|ghc-7.10.3|])
[s|d2ccf072457fb100503f6f5430a1e3589ca525a97424263d036b0550bc277f0c|]
ghc_7103_64_darwin :: DownloadInfo
ghc_7103_64_darwin = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-apple-darwin.tar.bz2|]
(Just ([rel|ghc-7.10.3|] :: Path Rel))
(Just [rel|ghc-7.10.3|])
[s|80893e367e8318105f7db2064adf202e3d96b1f014e792b73e92f2cacf0b757a|]
ghc_7103_64_freebsd :: DownloadInfo
ghc_7103_64_freebsd = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-portbld-freebsd.tar.bz2|]
(Just ([rel|ghc-7.10.3|] :: Path Rel))
(Just [rel|ghc-7.10.3|])
[s|2aa396edd2bb651f4bc7eef7a396913ea24923de5aafdc76df6295333e487e48|]
ghc_7103_32_freebsd :: DownloadInfo
ghc_7103_32_freebsd = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-i386-portbld-freebsd.tar.bz2|]
(Just ([rel|ghc-7.10.3|] :: Path Rel))
(Just [rel|ghc-7.10.3|])
[s|3dde05577c6f94dcb0ba201ebd53ab88553bbc9a3aa8e72237162ed7a9d588a3|]
ghc_7103_64_musl :: DownloadInfo
ghc_7103_64_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-7.10.3-musl/ghc-7.10.3-x86_64-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-7.10.3|] :: Path Rel))
(Just [rel|ghc-7.10.3|])
[s|8b83dfa8b85ba45e24768337254e6eb23c0855df1a5168671a3a8090b6d0964e|]
@ -76,49 +76,49 @@ ghc_7103_64_musl = DownloadInfo
ghc_802_64_deb7 :: DownloadInfo
ghc_802_64_deb7 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-deb7-linux.tar.xz|]
(Just ([rel|ghc-8.0.2|] :: Path Rel))
(Just [rel|ghc-8.0.2|])
[s|b2f5c304b57ac5840a0d2ef763a3c6fa858c70840f749cfad12ed227da973c0a|]
ghc_802_32_deb7 :: DownloadInfo
ghc_802_32_deb7 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-i386-deb7-linux.tar.xz|]
(Just ([rel|ghc-8.0.2|] :: Path Rel))
(Just [rel|ghc-8.0.2|])
[s|07ead3a49f8c9df4b429e7a2f96f6f31bcab8d3ff8277a9aed0201d13ddad448|]
ghc_802_64_deb8 :: DownloadInfo
ghc_802_64_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.0.2|] :: Path Rel))
(Just [rel|ghc-8.0.2|])
[s|5ee68290db00ca0b79d57bc3a5bdce470de9ce9da0b098a7ce6c504605856c8f|]
ghc_802_32_deb8 :: DownloadInfo
ghc_802_32_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-i386-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.0.2|] :: Path Rel))
(Just [rel|ghc-8.0.2|])
[s|818621342a2161b8afcc995a0765816bb40aefbfa1db2c8a7d59c04d8b18228a|]
ghc_802_64_freebsd :: DownloadInfo
ghc_802_64_freebsd = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-portbld-freebsd.tar.xz|]
(Just ([rel|ghc-8.0.2|] :: Path Rel))
(Just [rel|ghc-8.0.2|])
[s|b36a20e5cae24d70bbb6116ae486f21811e9384f15d3892d260f02fba3e3bb8c|]
ghc_802_64_darwin :: DownloadInfo
ghc_802_64_darwin = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-apple-darwin.tar.xz|]
(Just ([rel|ghc-8.0.2|] :: Path Rel))
(Just [rel|ghc-8.0.2|])
[s|ff50a2df9f002f33b9f09717ebf5ec5a47906b9b65cc57b1f9849f8b2e06788d|]
ghc_802_64_musl :: DownloadInfo
ghc_802_64_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.0.2-musl/ghc-8.0.2-x86_64-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.0.2|] :: Path Rel))
(Just [rel|ghc-8.0.2|])
[s|7f9ef3e048ca6f2a2a589e6c168d8c7699fbe32b1b39a9d7c72eff9b26e90c67|]
ghc_802_32_musl :: DownloadInfo
ghc_802_32_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.0.2-musl/ghc-8.0.2-i386-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.0.2|] :: Path Rel))
(Just [rel|ghc-8.0.2|])
[s|815c68181013cd3f4dc748ddb5502a5e7a1a4011ba57d8eff6d66da411c72e84|]
@ -132,49 +132,49 @@ ghc_802_32_musl = DownloadInfo
ghc_822_64_deb7 :: DownloadInfo
ghc_822_64_deb7 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-deb7-linux.tar.xz|]
(Just ([rel|ghc-8.2.2|] :: Path Rel))
(Just [rel|ghc-8.2.2|])
[s|cd7afbca54edf9890da9f432c63366556246c85c1198e40c99df5af01c555834|]
ghc_822_32_deb7 :: DownloadInfo
ghc_822_32_deb7 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-i386-deb7-linux.tar.xz|]
(Just ([rel|ghc-8.2.2|] :: Path Rel))
(Just [rel|ghc-8.2.2|])
[s|cd18766b1a9b74fc6c90003a719ecab158f281f9a755d8b1bd3fd764ba6947b5|]
ghc_822_64_deb8 :: DownloadInfo
ghc_822_64_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.2.2|] :: Path Rel))
(Just [rel|ghc-8.2.2|])
[s|48e205c62b9dc1ccf6739a4bc15a71e56dde2f891a9d786a1b115f0286111b2a|]
ghc_822_32_deb8 :: DownloadInfo
ghc_822_32_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-i386-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.2.2|] :: Path Rel))
(Just [rel|ghc-8.2.2|])
[s|9e67d72d76482e0ba91c718e727b00386a1a12a32ed719714976dc56ca8c8223|]
ghc_822_64_unknown :: DownloadInfo
ghc_822_64_unknown = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-unknown-linux.tar.xz|]
(Just ([rel|ghc-8.2.2|] :: Path Rel))
(Just [rel|ghc-8.2.2|])
[s|cd7afbca54edf9890da9f432c63366556246c85c1198e40c99df5af01c555834|]
ghc_822_64_darwin :: DownloadInfo
ghc_822_64_darwin = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-apple-darwin.tar.xz|]
(Just ([rel|ghc-8.2.2|] :: Path Rel))
(Just [rel|ghc-8.2.2|])
[s|f90fcf62f7e0936a6dfc3601cf663729bfe9bbf85097d2d75f0a16f8c2e95c27|]
ghc_822_64_freebsd10 :: DownloadInfo
ghc_822_64_freebsd10 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-portbld10_3-freebsd.tar.xz|]
(Just ([rel|ghc-8.2.2|] :: Path Rel))
(Just [rel|ghc-8.2.2|])
[s|9e99aaeaec4b2c6d660d80246c0d4dbd41fda88f1eb7a908b29dc8fa8d663949|]
ghc_822_64_freebsd11 :: DownloadInfo
ghc_822_64_freebsd11 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-portbld11-freebsd.tar.xz|]
(Just ([rel|ghc-8.2.2|] :: Path Rel))
(Just [rel|ghc-8.2.2|])
[s|cd351c704b92b9af23994024df07de8ca7090ea7675d5c8b14b2be857a46d804|]
@ -189,43 +189,43 @@ ghc_822_64_freebsd11 = DownloadInfo
ghc_841_64_deb8 :: DownloadInfo
ghc_841_64_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.4.1|] :: Path Rel))
(Just [rel|ghc-8.4.1|])
[s|427c77a934b30c3f1de992c38c072afb4323fe6fb30dbac919ca8cb6ae98fbd9|]
ghc_841_32_deb8 :: DownloadInfo
ghc_841_32_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-i386-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.4.1|] :: Path Rel))
(Just [rel|ghc-8.4.1|])
[s|c56c589c76c7ddcb77cdbef885a811761e669d3e76868b723d5be56dedcd4f69|]
ghc_841_64_fedora :: DownloadInfo
ghc_841_64_fedora = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-fedora27-linux.tar.xz|]
(Just ([rel|ghc-8.4.1|] :: Path Rel))
(Just [rel|ghc-8.4.1|])
[s|89328a013e64b9b56825a9071fea5616ddd623d37fd41e8fb913dfebc609e7ea|]
ghc_841_64_darwin :: DownloadInfo
ghc_841_64_darwin = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-apple-darwin.tar.xz|]
(Just ([rel|ghc-8.4.1|] :: Path Rel))
(Just [rel|ghc-8.4.1|])
[s|d774e39f3a0105843efd06709b214ee332c30203e6c5902dd6ed45e36285f9b7|]
ghc_841_64_freebsd :: DownloadInfo
ghc_841_64_freebsd = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-portbld11-freebsd.tar.xz|]
(Just ([rel|ghc-8.4.1|] :: Path Rel))
(Just [rel|ghc-8.4.1|])
[s|e748daec098445c6190090fe32bb2817a1140553be5acd2188e1af05ad24e5aa|]
ghc_841_64_musl :: DownloadInfo
ghc_841_64_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.4.1-musl/ghc-8.4.1-x86_64-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.4.1|] :: Path Rel))
(Just [rel|ghc-8.4.1|])
[s|82d4ea6247a91e7e76065c0cdf66eec813ab679c1f24de0fb92c89bba3ef27f2|]
ghc_841_32_musl :: DownloadInfo
ghc_841_32_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.4.1-musl/ghc-8.4.1-i386-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.4.1|] :: Path Rel))
(Just [rel|ghc-8.4.1|])
[s|e5feee34b58c1a1cd6c270fbe696c178a4649675398f4e0d56a4bfad9641b736|]
@ -239,49 +239,49 @@ ghc_841_32_musl = DownloadInfo
ghc_842_64_deb8 :: DownloadInfo
ghc_842_64_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.4.2|] :: Path Rel))
(Just [rel|ghc-8.4.2|])
[s|246f66eb56f4ad0f1c7755502cfc8f9972f2d067dede17e151f6f479c1f76fbd|]
ghc_842_32_deb8 :: DownloadInfo
ghc_842_32_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-i386-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.4.2|] :: Path Rel))
(Just [rel|ghc-8.4.2|])
[s|2d849c30b4c1eac25dc74333501920921e22fa483153f404993808bbda93df05|]
ghc_842_64_deb9 :: DownloadInfo
ghc_842_64_deb9 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-deb9-linux.tar.xz|]
(Just ([rel|ghc-8.4.2|] :: Path Rel))
(Just [rel|ghc-8.4.2|])
[s|3f4f5bbd2cdab4e7015ada9196d8d9b3a1ad274293cef011f85c46854596cb57|]
ghc_842_64_fedora :: DownloadInfo
ghc_842_64_fedora = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-fedora27-linux.tar.xz|]
(Just ([rel|ghc-8.4.2|] :: Path Rel))
(Just [rel|ghc-8.4.2|])
[s|d057b5c833596dbe4ae5d0dc2994f6cc5d0f4c2a21ea1d7900821d165fd4e846|]
ghc_842_64_darwin :: DownloadInfo
ghc_842_64_darwin = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-apple-darwin.tar.xz|]
(Just ([rel|ghc-8.4.2|] :: Path Rel))
(Just [rel|ghc-8.4.2|])
[s|87469222042b9ac23f9db216a8d4e5107297bdbbb99df71eb4d9e7208455def2|]
ghc_842_64_freebsd :: DownloadInfo
ghc_842_64_freebsd = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-portbld-freebsd.tar.xz|]
(Just ([rel|ghc-8.4.2|] :: Path Rel))
(Just [rel|ghc-8.4.2|])
[s|e9ed417fdf94c2ff2c6e344ed16f332bf6b591511f6442c0d9ea94854882b66c|]
ghc_842_64_musl :: DownloadInfo
ghc_842_64_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.4.2-musl/ghc-8.4.2-x86_64-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.4.2|] :: Path Rel))
(Just [rel|ghc-8.4.2|])
[s|3ebdb6e8001679e8722bd75a47805f1b3c1b25b37c4d237a7aaa4d66162f699f|]
ghc_842_32_musl :: DownloadInfo
ghc_842_32_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.4.2-musl/ghc-8.4.2-i386-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.4.2|] :: Path Rel))
(Just [rel|ghc-8.4.2|])
[s|a43ac57214764717f0ffe515ef47b84e938f0a4fa8ff875773d6ba315b940835|]
@ -294,43 +294,43 @@ ghc_842_32_musl = DownloadInfo
ghc_843_64_deb8 :: DownloadInfo
ghc_843_64_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.4.3|] :: Path Rel))
(Just [rel|ghc-8.4.3|])
[s|30a402c6d4754a6c020e0547f19ae3ac42e907e35349aa932d347f73e421a8e2|]
ghc_843_32_deb8 :: DownloadInfo
ghc_843_32_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-i386-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.4.3|] :: Path Rel))
(Just [rel|ghc-8.4.3|])
[s|f5763983a26dedd88b65a0b17267359a3981b83a642569b26334423f684f8b8c|]
ghc_843_64_deb9 :: DownloadInfo
ghc_843_64_deb9 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-deb9-linux.tar.xz|]
(Just ([rel|ghc-8.4.3|] :: Path Rel))
(Just [rel|ghc-8.4.3|])
[s|2e4f53afb872ad9c640f31aea283b3ff4c5028b65808a1920739900aef7d15c9|]
ghc_843_64_fedora :: DownloadInfo
ghc_843_64_fedora = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-fedora27-linux.tar.xz|]
(Just ([rel|ghc-8.4.3|] :: Path Rel))
(Just [rel|ghc-8.4.3|])
[s|269e7a4d3f336491b88409a020998122b30a3a729af78d33be86d3b3f8000c3e|]
ghc_843_64_darwin :: DownloadInfo
ghc_843_64_darwin = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-apple-darwin.tar.xz|]
(Just ([rel|ghc-8.4.3|] :: Path Rel))
(Just [rel|ghc-8.4.3|])
[s|af0b455f6c46b9802b4b48dad996619cfa27cc6e2bf2ce5532387b4a8c00aa64|]
ghc_843_64_musl :: DownloadInfo
ghc_843_64_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.4.3-musl/ghc-8.4.3-x86_64-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.4.3|] :: Path Rel))
(Just [rel|ghc-8.4.3|])
[s|0f05c67e3fd29a3f505abb77e9c39349d312cdc1a566263b8f4b227d085906bc|]
ghc_843_32_musl :: DownloadInfo
ghc_843_32_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.4.3-musl/ghc-8.4.3-i386-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.4.3|] :: Path Rel))
(Just [rel|ghc-8.4.3|])
[s|3a9a1ceb8eef234023fc36600245a03772bcb46b2abac41f6394104feaec8c43|]
@ -344,55 +344,55 @@ ghc_843_32_musl = DownloadInfo
ghc_844_64_deb8 :: DownloadInfo
ghc_844_64_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.4.4|] :: Path Rel))
(Just [rel|ghc-8.4.4|])
[s|4c2a8857f76b7f3e34ecba0b51015d5cb8b767fe5377a7ec477abde10705ab1a|]
ghc_844_32_deb8 :: DownloadInfo
ghc_844_32_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-i386-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.4.4|] :: Path Rel))
(Just [rel|ghc-8.4.4|])
[s|678bafaabea6af70ba71ccf0210bb437f9f5591ec28ac1cbbbd5f7aa6894e450|]
ghc_844_64_deb9 :: DownloadInfo
ghc_844_64_deb9 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-deb9-linux.tar.xz|]
(Just ([rel|ghc-8.4.4|] :: Path Rel))
(Just [rel|ghc-8.4.4|])
[s|47c80a32d8f02838a2401414c94ba260d1fe82b7d090479994522242c767cc83|]
ghc_844_64_centos :: DownloadInfo
ghc_844_64_centos = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-centos70-linux.tar.xz|]
(Just ([rel|ghc-8.4.4|] :: Path Rel))
(Just [rel|ghc-8.4.4|])
[s|83a96650f5a92b1e4d7651d256d6438624342d40e780e68125033435a54cd674|]
ghc_844_64_fedora :: DownloadInfo
ghc_844_64_fedora = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-fedora27-linux.tar.xz|]
(Just ([rel|ghc-8.4.4|] :: Path Rel))
(Just [rel|ghc-8.4.4|])
[s|8ab2befddc14d1434d0aad0c5d3c7e0c2b78ff84caa3429fa62527bfc6b86095|]
ghc_844_64_darwin :: DownloadInfo
ghc_844_64_darwin = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-apple-darwin.tar.xz|]
(Just ([rel|ghc-8.4.4|] :: Path Rel))
(Just [rel|ghc-8.4.4|])
[s|28dc89ebd231335337c656f4c5ead2ae2a1acc166aafe74a14f084393c5ef03a|]
ghc_844_64_freebsd :: DownloadInfo
ghc_844_64_freebsd = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-portbld-freebsd11.tar.xz|]
(Just ([rel|ghc-8.4.4|] :: Path Rel))
(Just [rel|ghc-8.4.4|])
[s|44fbd142d1c355d6110595c59c760e2c73866ff9259ec85ebf814edb244d1940|]
ghc_844_64_musl :: DownloadInfo
ghc_844_64_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.4.4-musl/ghc-8.4.4-x86_64-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.4.4|] :: Path Rel))
(Just [rel|ghc-8.4.4|])
[s|e15f1cf02adb2cfb77a202050300a92f61456c6e1e90b543fec82d99da893a69|]
ghc_844_32_musl :: DownloadInfo
ghc_844_32_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.4.4-musl/ghc-8.4.4-i386-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.4.4|] :: Path Rel))
(Just [rel|ghc-8.4.4|])
[s|356f49b1acee0b0267fd8ca687aede14d43cee1f231d7f8a37525d50f07e1428|]
@ -405,49 +405,49 @@ ghc_844_32_musl = DownloadInfo
ghc_861_64_deb8 :: DownloadInfo
ghc_861_64_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.6.1|] :: Path Rel))
(Just [rel|ghc-8.6.1|])
[s|6d8784401b7dd80c90fa17306ec0539920e3987399a2c7ef247989e53197dc42|]
ghc_861_32_deb8 :: DownloadInfo
ghc_861_32_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-i386-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.6.1|] :: Path Rel))
(Just [rel|ghc-8.6.1|])
[s|83573af96e3dec8f67c1a844512f92cbf7d51ae7ceca53d948fc2a3300abd05c|]
ghc_861_64_deb9 :: DownloadInfo
ghc_861_64_deb9 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-deb9-linux.tar.xz|]
(Just ([rel|ghc-8.6.1|] :: Path Rel))
(Just [rel|ghc-8.6.1|])
[s|97d44f303868d74e4d13a2e99c82ffce3d25fd54c704675e5a1939e0d824dbf0|]
ghc_861_64_fedora :: DownloadInfo
ghc_861_64_fedora = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-fedora27-linux.tar.xz|]
(Just ([rel|ghc-8.6.1|] :: Path Rel))
(Just [rel|ghc-8.6.1|])
[s|da903fbcf11ee6c977a8b7dac3f04dbc098d674def587880b6624b8f32588beb|]
ghc_861_64_darwin :: DownloadInfo
ghc_861_64_darwin = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-apple-darwin.tar.xz|]
(Just ([rel|ghc-8.6.1|] :: Path Rel))
(Just [rel|ghc-8.6.1|])
[s|9692cdfd202b0e039ea0c3dde5dbf653736c836ca1df46504b179b572100808c|]
ghc_861_64_freebsd :: DownloadInfo
ghc_861_64_freebsd = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-portbld-freebsd.tar.xz|]
(Just ([rel|ghc-8.6.1|] :: Path Rel))
(Just [rel|ghc-8.6.1|])
[s|51403b054a3a649039ac988e1d1112561f96750bfced63df864091a3fab36f08|]
ghc_861_64_musl :: DownloadInfo
ghc_861_64_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.6.1-musl/ghc-8.6.1-x86_64-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.6.1|] :: Path Rel))
(Just [rel|ghc-8.6.1|])
[s|2668e12facfa9083150b01b1137693cb3de266a6f8ac8c6b44a2be3826c73177|]
ghc_861_32_musl :: DownloadInfo
ghc_861_32_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.6.1-musl/ghc-8.6.1-i386-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.6.1|] :: Path Rel))
(Just [rel|ghc-8.6.1|])
[s|12b9b5b78be94b57d301b2a31eda145928110fd103fbbcc1e6e6966237a30ed2|]
@ -460,37 +460,37 @@ ghc_861_32_musl = DownloadInfo
ghc_862_64_deb8 :: DownloadInfo
ghc_862_64_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-x86_64-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.6.2|] :: Path Rel))
(Just [rel|ghc-8.6.2|])
[s|13f96e8b83bb5bb60f955786ff9085744c24927a33be8a17773f84c7c248533a|]
ghc_862_32_deb8 :: DownloadInfo
ghc_862_32_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-i386-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.6.2|] :: Path Rel))
(Just [rel|ghc-8.6.2|])
[s|a288026d9ef22f7ac387edab6b29ef7dcb3b28945c8ea532a15c1fa35d4733ed|]
ghc_862_64_fedora :: DownloadInfo
ghc_862_64_fedora = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-x86_64-fedora27-linux.tar.xz|]
(Just ([rel|ghc-8.6.2|] :: Path Rel))
(Just [rel|ghc-8.6.2|])
[s|702aa5dfa1639c37953ceb7571a5057d9fb0562aecb197b277953a037d78047d|]
ghc_862_64_darwin :: DownloadInfo
ghc_862_64_darwin = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-x86_64-apple-darwin.tar.xz|]
(Just ([rel|ghc-8.6.2|] :: Path Rel))
(Just [rel|ghc-8.6.2|])
[s|8ec46a25872226dd7e5cf7271e3f3450c05f32144b96e6b9cb44cc4079db50dc|]
ghc_862_64_musl :: DownloadInfo
ghc_862_64_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.6.2-musl/ghc-8.6.2-x86_64-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.6.2|] :: Path Rel))
(Just [rel|ghc-8.6.2|])
[s|5be9f98c25c49dbfb65223e2642335d4a45220f0c4044c8af70bbcaebe688467|]
ghc_862_32_musl :: DownloadInfo
ghc_862_32_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.6.2-musl/ghc-8.6.2-i386-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.6.2|] :: Path Rel))
(Just [rel|ghc-8.6.2|])
[s|a1add75822258fbb6e57ad049919ef5f757bac10d3c7a6eaeee50d2521ffeb4e|]
@ -504,55 +504,55 @@ ghc_862_32_musl = DownloadInfo
ghc_863_64_deb8 :: DownloadInfo
ghc_863_64_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.6.3|] :: Path Rel))
(Just [rel|ghc-8.6.3|])
[s|291ca565374f4d51cc311488581f3279d3167a064fabfd4a6722fe2bd4532fd5|]
ghc_863_32_deb8 :: DownloadInfo
ghc_863_32_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-i386-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.6.3|] :: Path Rel))
(Just [rel|ghc-8.6.3|])
[s|b57070ba8c70b1333a3e47ce124baf791be39c20a592954772532fd6dd51882f|]
ghc_863_64_deb9 :: DownloadInfo
ghc_863_64_deb9 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-deb9-linux.tar.xz|]
(Just ([rel|ghc-8.6.3|] :: Path Rel))
(Just [rel|ghc-8.6.3|])
[s|e7954c8ed9b422a09c6ab737e4a0865a2725d034ba0e272bd5c70db910797f99|]
ghc_863_64_fedora :: DownloadInfo
ghc_863_64_fedora = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-fedora27-linux.tar.xz|]
(Just ([rel|ghc-8.6.3|] :: Path Rel))
(Just [rel|ghc-8.6.3|])
[s|52ae92f4e8bb2ac0b7847287ea3da37081f5f7bf8bbb7c78ac35fde537d1a89f|]
ghc_863_64_centos :: DownloadInfo
ghc_863_64_centos = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-centos7-linux.tar.xz|]
(Just ([rel|ghc-8.6.3|] :: Path Rel))
(Just [rel|ghc-8.6.3|])
[s|355bd85c69933c31bbe99b4269ce719acfd0aad0b45e359ac39b9bb13996acc6|]
ghc_863_64_darwin :: DownloadInfo
ghc_863_64_darwin = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-apple-darwin.tar.xz|]
(Just ([rel|ghc-8.6.3|] :: Path Rel))
(Just [rel|ghc-8.6.3|])
[s|79d069a1a7d74cfdd7ac2a2711c45d3ddc6265b988a0cefa342714b24f997fc1|]
ghc_863_64_freebsd :: DownloadInfo
ghc_863_64_freebsd = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-portbld-freebsd.tar.xz|]
(Just ([rel|ghc-8.6.3|] :: Path Rel))
(Just [rel|ghc-8.6.3|])
[s|bc2419fa180f8a7808c49775987866435995df9bdd9ce08bcd38352d63ba6031|]
ghc_863_64_musl :: DownloadInfo
ghc_863_64_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.6.3-musl/ghc-8.6.3-x86_64-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.6.3|] :: Path Rel))
(Just [rel|ghc-8.6.3|])
[s|274f7ea959e6f1c830b33efd462ab9d0ff32d1cb5be051a2a318464d05d674dd|]
ghc_863_32_musl :: DownloadInfo
ghc_863_32_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.6.3-musl/ghc-8.6.3-i386-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.6.3|] :: Path Rel))
(Just [rel|ghc-8.6.3|])
[s|dc0b53a7f0e52232930abcfad427ccd0917c90797203fbc7b5d72f5335d85a7d|]
@ -566,43 +566,43 @@ ghc_863_32_musl = DownloadInfo
ghc_864_64_deb8 :: DownloadInfo
ghc_864_64_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.6.4|] :: Path Rel))
(Just [rel|ghc-8.6.4|])
[s|34ef5fc8ddf2fc32a027180bea5b1c8a81ea840c87faace2977a572188d4b42d|]
ghc_864_64_deb9 :: DownloadInfo
ghc_864_64_deb9 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-deb9-linux.tar.xz|]
(Just ([rel|ghc-8.6.4|] :: Path Rel))
(Just [rel|ghc-8.6.4|])
[s|ef74222ef3c01c3fc5b926f67e8b4ef612fe8efa40ac937317cff9b0eed8d863|]
ghc_864_32_deb9 :: DownloadInfo
ghc_864_32_deb9 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-i386-deb9-linux.tar.xz|]
(Just ([rel|ghc-8.6.4|] :: Path Rel))
(Just [rel|ghc-8.6.4|])
[s|5e2ce88f4d13d23ac37e278e0c7b51c801008931359b9fa8a631d804d2da552c|]
ghc_864_64_fedora :: DownloadInfo
ghc_864_64_fedora = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-fedora27-linux.tar.xz|]
(Just ([rel|ghc-8.6.4|] :: Path Rel))
(Just [rel|ghc-8.6.4|])
[s|e0b1ada7a679d6c35f9d7a1192ed35fde054f3650bb0bd2570d103729ad3b846|]
ghc_864_64_darwin :: DownloadInfo
ghc_864_64_darwin = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-apple-darwin.tar.xz|]
(Just ([rel|ghc-8.6.4|] :: Path Rel))
(Just [rel|ghc-8.6.4|])
[s|cccb58f142fe41b601d73690809f6089f7715b6a50a09aa3d0104176ab4db09e|]
ghc_864_64_musl :: DownloadInfo
ghc_864_64_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.6.4-musl/ghc-8.6.4-x86_64-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.6.4|] :: Path Rel))
(Just [rel|ghc-8.6.4|])
[s|ec73167bae1a173a9af07612df5fa1289e924f13ed9241339cb5617337cb2979|]
ghc_864_32_musl :: DownloadInfo
ghc_864_32_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.6.4-musl/ghc-8.6.4-i386-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.6.4|] :: Path Rel))
(Just [rel|ghc-8.6.4|])
[s|21b39b89edadbb6ab5b98d46dfacc0fd0799f9b16465a05c64e48f41dcbb1f7a|]
@ -616,49 +616,49 @@ ghc_864_32_musl = DownloadInfo
ghc_865_64_deb8 :: DownloadInfo
ghc_865_64_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.6.5|] :: Path Rel))
(Just [rel|ghc-8.6.5|])
[s|c419fd0aa9065fe4d2eb9a248e323860c696ddf3859749ca96a84938aee49107|]
ghc_865_64_deb9 :: DownloadInfo
ghc_865_64_deb9 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-deb9-linux.tar.xz|]
(Just ([rel|ghc-8.6.5|] :: Path Rel))
(Just [rel|ghc-8.6.5|])
[s|bc75f5601a9f41d58b2ba161b9e28fad52143a7229060f1e084168d9b2e914df|]
ghc_865_32_deb9 :: DownloadInfo
ghc_865_32_deb9 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-i386-deb9-linux.tar.xz|]
(Just ([rel|ghc-8.6.5|] :: Path Rel))
(Just [rel|ghc-8.6.5|])
[s|1cddb907393a669342b1a922dd16d505d9d93d50bd9433a54a8162f8701250dc|]
ghc_865_64_fedora :: DownloadInfo
ghc_865_64_fedora = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-fedora27-linux.tar.xz|]
(Just ([rel|ghc-8.6.5|] :: Path Rel))
(Just [rel|ghc-8.6.5|])
[s|cf78b53eaf336083e7a05f4a3000afbae4abe5bbc77ef80cc40e09d04ac5b4a1|]
ghc_865_64_centos :: DownloadInfo
ghc_865_64_centos = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-centos7-linux.tar.xz|]
(Just ([rel|ghc-8.6.5|] :: Path Rel))
(Just [rel|ghc-8.6.5|])
[s|80ab566f4411299f9e5922d60749ca80f989d697db19e03ed875619d699f0edf|]
ghc_865_64_darwin :: DownloadInfo
ghc_865_64_darwin = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-apple-darwin.tar.xz|]
(Just ([rel|ghc-8.6.5|] :: Path Rel))
(Just [rel|ghc-8.6.5|])
[s|dfc1bdb1d303a87a8552aa17f5b080e61351f2823c2b99071ec23d0837422169|]
ghc_865_64_musl :: DownloadInfo
ghc_865_64_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.6.5-musl/ghc-8.6.5-x86_64-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.6.5|] :: Path Rel))
(Just [rel|ghc-8.6.5|])
[s|ec6d0417822c3bfafc7aea0b0402294901231bc5d72dd17a2b849e3f44850695|]
ghc_865_32_musl :: DownloadInfo
ghc_865_32_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.6.5-musl/ghc-8.6.5-i386-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.6.5|] :: Path Rel))
(Just [rel|ghc-8.6.5|])
[s|db13ff894faf431f9c64db21c090a1e4e42803794d56720a704c50166c7ca05d|]
@ -672,49 +672,49 @@ ghc_865_32_musl = DownloadInfo
ghc_881_64_deb8 :: DownloadInfo
ghc_881_64_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.8.1|] :: Path Rel))
(Just [rel|ghc-8.8.1|])
[s|fd96eb851971fbc3332bf2fa7821732cfa8b37e5a076a69f6a06f83f0ea7ccc5|]
ghc_881_64_deb9 :: DownloadInfo
ghc_881_64_deb9 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-deb9-linux.tar.xz|]
(Just ([rel|ghc-8.8.1|] :: Path Rel))
(Just [rel|ghc-8.8.1|])
[s|620fd560535b63cac5f8c97354ccddf93fa940cca78e2d19f6f98b7e67c6a723|]
ghc_881_32_deb9 :: DownloadInfo
ghc_881_32_deb9 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-i386-deb9-linux.tar.xz|]
(Just ([rel|ghc-8.8.1|] :: Path Rel))
(Just [rel|ghc-8.8.1|])
[s|3d3bb75aff2dd79ec87ace10483368681fbc328ff00ebf15edad33420f00f7f5|]
ghc_881_64_fedora :: DownloadInfo
ghc_881_64_fedora = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-fedora27-linux.tar.xz|]
(Just ([rel|ghc-8.8.1|] :: Path Rel))
(Just [rel|ghc-8.8.1|])
[s|851a78df620bc056c34b252c97040d5755e294993fa8afa5429708b5229204d6|]
ghc_881_64_centos :: DownloadInfo
ghc_881_64_centos = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-centos7-linux.tar.xz|]
(Just ([rel|ghc-8.8.1|] :: Path Rel))
(Just [rel|ghc-8.8.1|])
[s|6cdd34e4dbaeb801e805811f91cf43a2d5f64b22f884718ffbd3542a2f4dd14f|]
ghc_881_64_darwin :: DownloadInfo
ghc_881_64_darwin = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-apple-darwin.tar.xz|]
(Just ([rel|ghc-8.8.1|] :: Path Rel))
(Just [rel|ghc-8.8.1|])
[s|38c8917b47c31bedf58c9305dfca3abe198d8d35570366f0773c4e2948bd8abe|]
ghc_881_64_musl :: DownloadInfo
ghc_881_64_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.8.1-musl/ghc-8.8.1-x86_64-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.8.1|] :: Path Rel))
(Just [rel|ghc-8.8.1|])
[s|029163c42a219983f4220d73c26b910c3ecf6eda45a3e5e27236e8a66b080890|]
ghc_881_32_musl :: DownloadInfo
ghc_881_32_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.8.1-musl/ghc-8.8.1-i386-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.8.1|] :: Path Rel))
(Just [rel|ghc-8.8.1|])
[s|3f5462341a455a5677fba5cb24da8938878261069da5ee4234b1c6ac2d2ef77e|]
@ -728,49 +728,49 @@ ghc_881_32_musl = DownloadInfo
ghc_882_64_deb8 :: DownloadInfo
ghc_882_64_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.8.2|] :: Path Rel))
(Just [rel|ghc-8.8.2|])
[s|fbe69652eba75dadb758d00292247d17fb018c29cac5acd79843e56311256c9f|]
ghc_882_64_deb9 :: DownloadInfo
ghc_882_64_deb9 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-deb9-linux.tar.xz|]
(Just ([rel|ghc-8.8.2|] :: Path Rel))
(Just [rel|ghc-8.8.2|])
[s|7b2d66c2d5d8c15750da5833d3018634a5eb792a5662282e3abfeb112c2a1cc3|]
ghc_882_32_deb9 :: DownloadInfo
ghc_882_32_deb9 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-i386-deb9-linux.tar.xz|]
(Just ([rel|ghc-8.8.2|] :: Path Rel))
(Just [rel|ghc-8.8.2|])
[s|ad1c628082c32635a436905a7ff83eaa4246347d869be5ef6b33c3bf85e8f00c|]
ghc_882_64_fedora :: DownloadInfo
ghc_882_64_fedora = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-fedora27-linux.tar.xz|]
(Just ([rel|ghc-8.8.2|] :: Path Rel))
(Just [rel|ghc-8.8.2|])
[s|dbe2db717b33460f790e155e487d2a31c9b21a9d245f0c9490ad65844c3ea21f|]
ghc_882_64_centos :: DownloadInfo
ghc_882_64_centos = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-centos7-linux.tar.xz|]
(Just ([rel|ghc-8.8.2|] :: Path Rel))
(Just [rel|ghc-8.8.2|])
[s|f065a017d7a38f235f186ffe32d8261a4fd39c7e945d5cde85c0984c2569db99|]
ghc_882_64_darwin :: DownloadInfo
ghc_882_64_darwin = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-apple-darwin.tar.xz|]
(Just ([rel|ghc-8.8.2|] :: Path Rel))
(Just [rel|ghc-8.8.2|])
[s|25c5c1a70036abf3f22b2b19c10d26adfdb08e8f8574f89d4b2042de5947f990|]
ghc_882_64_musl :: DownloadInfo
ghc_882_64_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.8.2-musl/ghc-8.8.2-x86_64-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.8.2|] :: Path Rel))
(Just [rel|ghc-8.8.2|])
[s|09d49c75b5626606409c982b23f70dec241a944928243f32d1b59b2005de6dea|]
ghc_882_32_musl :: DownloadInfo
ghc_882_32_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.8.2-musl/ghc-8.8.2-i386-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.8.2|] :: Path Rel))
(Just [rel|ghc-8.8.2|])
[s|4ea4a81b6b5ba807c93b21b3cddf1f1b4b0fc1ce018cf6aa255a9ee40137b278|]
@ -784,49 +784,49 @@ ghc_882_32_musl = DownloadInfo
ghc_883_64_deb8 :: DownloadInfo
ghc_883_64_deb8 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-deb8-linux.tar.xz|]
(Just ([rel|ghc-8.8.3|] :: Path Rel))
(Just [rel|ghc-8.8.3|])
[s|92b9fadc442976968d2c190c14e000d737240a7d721581cda8d8741b7bd402f0|]
ghc_883_64_deb9 :: DownloadInfo
ghc_883_64_deb9 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-deb9-linux.tar.xz|]
(Just ([rel|ghc-8.8.3|] :: Path Rel))
(Just [rel|ghc-8.8.3|])
[s|42fde2ef5a143e1e6b47ae8875162ea2d4d54b06f0f7fa32ee4f0eb86f2be7ad|]
ghc_883_32_deb9 :: DownloadInfo
ghc_883_32_deb9 = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-i386-deb9-linux.tar.xz|]
(Just ([rel|ghc-8.8.3|] :: Path Rel))
(Just [rel|ghc-8.8.3|])
[s|441e2c7a4fc83ebf179712bd939b555cda7c6633545b7c8ac38049f9d85003ae|]
ghc_883_64_fedora :: DownloadInfo
ghc_883_64_fedora = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-fedora27-linux.tar.xz|]
(Just ([rel|ghc-8.8.3|] :: Path Rel))
(Just [rel|ghc-8.8.3|])
[s|45ee1de3bfc98cbcc4886b65fc7651ade2d3820aa85eac2dbe9bc7bf91e7c818|]
ghc_883_64_centos :: DownloadInfo
ghc_883_64_centos = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-centos7-linux.tar.xz|]
(Just ([rel|ghc-8.8.3|] :: Path Rel))
(Just [rel|ghc-8.8.3|])
[s|4b2b5313f7c12b81e54efcb26705fa9e4ad5b98f2b58bfc76fb0c9ba1d55eb1f|]
ghc_883_64_darwin :: DownloadInfo
ghc_883_64_darwin = DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-apple-darwin.tar.xz|]
(Just ([rel|ghc-8.8.3|] :: Path Rel))
(Just [rel|ghc-8.8.3|])
[s|7016de90dd226b06fc79d0759c5d4c83c2ab01d8c678905442c28bd948dbb782|]
ghc_883_64_musl :: DownloadInfo
ghc_883_64_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.8.3-musl/ghc-8.8.3-x86_64-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.8.3|] :: Path Rel))
(Just [rel|ghc-8.8.3|])
[s|77a990d76dc10abe2ed19e5fcfef4095f0e9819d4ab84bec6d82f00dd85812a7|]
ghc_883_32_musl :: DownloadInfo
ghc_883_32_musl = DownloadInfo
[uri|https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.8.3-musl/ghc-8.8.3-i386-unknown-linux-musl.tar.xz|]
(Just ([rel|ghc-8.8.3|] :: Path Rel))
(Just [rel|ghc-8.8.3|])
[s|23779adb4cf4b314d0f8c66ee215ba6e74154c0768a573780475943544020bec|]
@ -923,7 +923,7 @@ ghcupDownloads = M.fromList
[]
(Just $ DownloadInfo
[uri|https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-src.tar.xz|]
(Just ([rel|ghc-7.10.3|] :: Path Rel))
(Just [rel|ghc-7.10.3|])
[s|cf90cedce1c28fd0e2b9e72fe8a938756668d18ea1fcc884a19f698658ac4fef|]
)
$ M.fromList
@ -966,7 +966,7 @@ ghcupDownloads = M.fromList
[]
(Just $ DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-src.tar.xz|]
(Just ([rel|ghc-8.0.2|] :: Path Rel))
(Just [rel|ghc-8.0.2|])
[s|11625453e1d0686b3fa6739988f70ecac836cadc30b9f0c8b49ef9091d6118b1|]
)
$ M.fromList
@ -1009,7 +1009,7 @@ ghcupDownloads = M.fromList
[]
(Just $ DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-src.tar.xz|]
(Just ([rel|ghc-8.2.2|] :: Path Rel))
(Just [rel|ghc-8.2.2|])
[s|bb8ec3634aa132d09faa270bbd604b82dfa61f04855655af6f9d14a9eedc05fc|]
)
$ M.fromList
@ -1058,7 +1058,7 @@ ghcupDownloads = M.fromList
[]
(Just $ DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-src.tar.xz|]
(Just ([rel|ghc-8.4.1|] :: Path Rel))
(Just [rel|ghc-8.4.1|])
[s|39ae2f25192408f355693e5a3c8b6ff613ddb7c4da998fdf26210143a61839d2|]
)
$ M.fromList
@ -1094,7 +1094,7 @@ ghcupDownloads = M.fromList
[]
(Just $ DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-src.tar.xz|]
(Just ([rel|ghc-8.4.2|] :: Path Rel))
(Just [rel|ghc-8.4.2|])
[s|01cc32f24a06bf3b2428351b6d7fec791e82d042426d29ad9e5a245b35f0047b|]
)
$ M.fromList
@ -1141,7 +1141,7 @@ ghcupDownloads = M.fromList
[]
(Just $ DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-src.tar.xz|]
(Just ([rel|ghc-8.4.3|] :: Path Rel))
(Just [rel|ghc-8.4.3|])
[s|ae47afda985830de8811243255aa3744dfb9207cb980af74393298b2b62160d6|]
)
$ M.fromList
@ -1187,7 +1187,7 @@ ghcupDownloads = M.fromList
[]
(Just $ DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-src.tar.xz|]
(Just ([rel|ghc-8.4.4|] :: Path Rel))
(Just [rel|ghc-8.4.4|])
[s|11117735a58e507c481c09f3f39ae5a314e9fbf49fc3109528f99ea7959004b2|]
)
$ M.fromList
@ -1238,7 +1238,7 @@ ghcupDownloads = M.fromList
[]
(Just $ DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-src.tar.xz|]
(Just ([rel|ghc-8.6.1|] :: Path Rel))
(Just [rel|ghc-8.6.1|])
[s|2c25c26d1e5c47c7cbb2a1d8e6456524033e7a71409184dd3125e3fc5a3c7036|]
)
$ M.fromList
@ -1285,7 +1285,7 @@ ghcupDownloads = M.fromList
[]
(Just $ DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-src.tar.xz|]
(Just ([rel|ghc-8.6.2|] :: Path Rel))
(Just [rel|ghc-8.6.2|])
[s|caaa819d21280ecde90a4773143dee188711e9ff175a27cfbaee56eb851d76d5|]
)
$ M.fromList
@ -1326,7 +1326,7 @@ ghcupDownloads = M.fromList
[]
(Just $ DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-src.tar.xz|]
(Just ([rel|ghc-8.6.3|] :: Path Rel))
(Just [rel|ghc-8.6.3|])
[s|9f9e37b7971935d88ba80426c36af14b1e0b3ec1d9c860f44a4391771bc07f23|]
)
$ M.fromList
@ -1377,7 +1377,7 @@ ghcupDownloads = M.fromList
[]
(Just $ DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-src.tar.xz|]
(Just ([rel|ghc-8.6.4|] :: Path Rel))
(Just [rel|ghc-8.6.4|])
[s|5b5d07e4463203a433c3ed3df461ba6cce11b6d2b9b264db31f3429075d0303a|]
)
$ M.fromList
@ -1423,7 +1423,7 @@ ghcupDownloads = M.fromList
[Recommended]
(Just $ DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-src.tar.xz|]
(Just ([rel|ghc-8.6.5|] :: Path Rel))
(Just [rel|ghc-8.6.5|])
[s|4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361|]
)
$ M.fromList
@ -1473,7 +1473,7 @@ ghcupDownloads = M.fromList
[]
(Just $ DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-src.tar.xz|]
(Just ([rel|ghc-8.8.1|] :: Path Rel))
(Just [rel|ghc-8.8.1|])
[s|908a83d9b814da74585de9d39687189e6260ec3848131f9d9236cab8a123721a|]
)
$ M.fromList
@ -1523,7 +1523,7 @@ ghcupDownloads = M.fromList
[]
(Just $ DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-src.tar.xz|]
(Just ([rel|ghc-8.8.2|] :: Path Rel))
(Just [rel|ghc-8.8.2|])
[s|01cea54d90686b97bcc9960b108beaffccd4336dee930dcf9beaf52b1f370a0b|]
)
$ M.fromList
@ -1573,7 +1573,7 @@ ghcupDownloads = M.fromList
[Latest]
(Just $ DownloadInfo
[uri|https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-src.tar.xz|]
(Just ([rel|ghc-8.8.3|] :: Path Rel))
(Just [rel|ghc-8.8.3|])
[s|e0dcc0aaf3e234c5978f29e6df62947e97720ab404ec0158343df211c5480f89|]
)
$ M.fromList

View File

@ -18,11 +18,13 @@ import GHCup.Utils.Prelude
import GHCup.Utils.String.QQ
import GHCup.Version
import Control.Monad.Fail ( MonadFail )
import Control.Monad.Logger
import Control.Monad.Reader
import Control.Monad.Trans.Resource
import Data.Bifunctor
import Data.Char
import Data.Either
import Data.List ( intercalate )
import Data.Semigroup ( (<>) )
import Data.String.Interpolate
@ -127,8 +129,11 @@ opts =
<*> (optional
(option
(eitherReader parseUri)
(short 's' <> long "url-source" <> metavar "URL" <> help
"Alternative ghcup download info url" <> internal
( short 's'
<> long "url-source"
<> metavar "URL"
<> help "Alternative ghcup download info url"
<> internal
)
)
)
@ -167,13 +172,13 @@ com =
(progDesc "Upgrade ghcup (per default in ~/.ghcup/bin/)")
)
)
<> command
"compile"
( Compile
<$> (info (compileP <**> helper)
(progDesc "Compile a tool from source")
)
<> command
"compile"
( Compile
<$> (info (compileP <**> helper)
(progDesc "Compile a tool from source")
)
)
<> commandGroup "Main commands:"
)
<|> subparser
@ -398,7 +403,7 @@ main = do
let settings = toSettings opt
-- logger interpreter
logfile <- initGHCupFileLogging ([rel|ghcup.log|] :: Path Rel)
logfile <- initGHCupFileLogging [rel|ghcup.log|]
let runLogger = myLoggerT LoggerConfig
{ lcPrintDebug = optVerbose
, colorOutter = B.hPut stderr
@ -416,7 +421,6 @@ main = do
, DistroNotFound
, FileDoesNotExistError
, CopyError
, JSONError
, NoCompatibleArch
, NoDownload
, NotInstalled
@ -427,22 +431,21 @@ main = do
, DownloadFailed
]
let runSetGHC =
runLogger
. flip runReaderT settings
. runE
@'[ FileDoesNotExistError
, NotInstalled
, TagNotFound
, JSONError
, TagNotFound
, DownloadFailed
]
let
runSetGHC =
runLogger
. flip runReaderT settings
. runE
@'[ FileDoesNotExistError
, NotInstalled
, TagNotFound
, TagNotFound
]
let runListGHC =
runLogger
. flip runReaderT settings
. runE @'[FileDoesNotExistError , JSONError , DownloadFailed]
. runE @'[FileDoesNotExistError]
let runRmGHC =
runLogger . flip runReaderT settings . runE @'[NotInstalled]
@ -461,12 +464,10 @@ main = do
@'[ AlreadyInstalled
, BuildFailed
, DigestError
, DownloadFailed
, GHCupSetError
, NoDownload
, UnknownArchive
--
, JSONError
, DownloadFailed
]
let runCompileCabal =
@ -474,12 +475,11 @@ main = do
. flip runReaderT settings
. runResourceT
. runE
@'[ JSONError
, UnknownArchive
@'[ UnknownArchive
, NoDownload
, DigestError
, DownloadFailed
, BuildFailed
, DownloadFailed
]
let runUpgrade =
@ -493,18 +493,29 @@ main = do
, NoCompatibleArch
, NoDownload
, FileDoesNotExistError
, JSONError
, DownloadFailed
, CopyError
, DownloadFailed
]
dls <-
( runLogger
. flip runReaderT settings
. runE @'[JSONError , DownloadFailed]
$ liftE getDownloads
)
>>= \case
VRight r -> pure r
VLeft e ->
runLogger
($(logError) [i|Error fetching download info: #{e}|])
>> exitFailure
runLogger $ checkForUpdates dls
case optCommand of
Install (InstallGHC InstallOptions {..}) ->
void
$ (runInstTool $ do
dls <- liftE getDownloads
v <- liftE $ fromVersion dls instVer GHC
v <- liftE $ fromVersion dls instVer GHC
liftE $ installGHCBin dls v Nothing
)
>>= \case
@ -527,8 +538,7 @@ Check the logs at ~/ghcup/logs and the build directory #{tmpdir} for more clues.
Install (InstallCabal InstallOptions {..}) ->
void
$ (runInstTool $ do
dls <- liftE getDownloads
v <- liftE $ fromVersion dls instVer Cabal
v <- liftE $ fromVersion dls instVer Cabal
liftE $ installCabalBin dls v Nothing
)
>>= \case
@ -546,8 +556,7 @@ Check the logs at ~/ghcup/logs and the build directory #{tmpdir} for more clues.
SetGHC (SetGHCOptions {..}) ->
void
$ (runSetGHC $ do
dls <- liftE getDownloads
v <- liftE $ fromVersion dls ghcVer GHC
v <- liftE $ fromVersion dls ghcVer GHC
liftE $ setGHC v SetGHCOnly
)
>>= \case
@ -559,7 +568,6 @@ Check the logs at ~/ghcup/logs and the build directory #{tmpdir} for more clues.
List (ListOptions {..}) ->
void
$ (runListGHC $ do
dls <- liftE getDownloads
liftIO $ listVersions dls lTool lCriteria
)
>>= \case
@ -590,7 +598,6 @@ Check the logs at ~/ghcup/logs and the build directory #{tmpdir} for more clues.
Compile (CompileGHC CompileOptions {..}) ->
void
$ (runCompileGHC $ do
dls <- liftE getDownloads
liftE
$ compileGHC dls targetVer bootstrapVer jobs buildConfig
)
@ -613,11 +620,7 @@ Check the logs at ~/ghcup/logs and the build directory #{tmpdir} for more clues.
Compile (CompileCabal CompileOptions {..}) ->
void
$ (runCompileCabal $ do
dls <- liftE getDownloads
liftE $ compileCabal dls
targetVer
bootstrapVer
jobs
liftE $ compileCabal dls targetVer bootstrapVer jobs
)
>>= \case
VRight _ ->
@ -641,11 +644,10 @@ Check the logs at ~/ghcup/logs and the build directory #{tmpdir} for more clues.
(UpgradeAt p) -> pure $ Just p
UpgradeGHCupDir -> do
bdir <- liftIO $ ghcupBinDir
pure (Just (bdir </> ([rel|ghcup|] :: Path Rel)))
pure (Just (bdir </> [rel|ghcup|]))
void
$ (runUpgrade $ do
dls <- liftE getDownloads
liftE $ upgradeGHCup dls target
)
>>= \case
@ -700,3 +702,12 @@ printListResult lr = do
)
lr
putStrLn $ formatted
checkForUpdates :: (MonadFail m, MonadLogger m) => GHCupDownloads -> m ()
checkForUpdates dls = do
forM_ (getLatest dls GHCup) $ \l -> do
(Right ghc_ver) <- pure $ version $ prettyPVP ghcUpVer
when (l > ghc_ver)
$ $(logWarn)
[i|New GHCup version available: #{prettyVer l}. To upgrade, run 'ghcup upgrade'|]

View File

@ -13,3 +13,6 @@ package ghcup
package tar-bytestring
ghc-options: -O2
constraints: http-io-streams -brotli
index-state: 2020-03-09T18:53:34Z

View File

@ -35,8 +35,6 @@ constraints: any.Cabal ==2.4.0.1,
bifunctors +semigroups +tagged,
any.binary ==0.8.6.0,
any.blaze-builder ==0.4.1.0,
any.brotli ==0.0.0.0,
any.brotli-streams ==0.0.0.0,
any.bytestring ==0.10.8.2,
any.bytestring-builder ==0.10.8.2.0,
bytestring-builder +bytestring_has_builder,
@ -99,7 +97,6 @@ constraints: any.Cabal ==2.4.0.1,
any.hsc2hs ==0.68.6,
hsc2hs -in-ghc-tree,
any.http-io-streams ==0.1.2.0,
http-io-streams +brotli,
any.indexed-profunctors ==0.1,
any.integer-gmp ==1.0.2.0,
any.integer-logarithms ==1.0.3,

View File

@ -52,6 +52,7 @@ common optics-vl { build-depends: optics-vl >= 0.2 }
common optparse-applicative { build-depends: optparse-applicative >= 0.15.1.0 }
common parsec { build-depends: parsec >= 3.1 }
common pretty-terminal { build-depends: pretty-terminal >= 0.1.0.0 }
common regex-posix { build-depends: regex-posix >= 0.96 }
common resourcet { build-depends: resourcet >= 1.2.2 }
common safe { build-depends: safe >= 0.3.18 }
common safe-exceptions { build-depends: safe-exceptions >= 0.1 }
@ -65,7 +66,6 @@ common tar-bytestring { build-depends: tar-bytestring >= 0.6.3.0 }
common template-haskell { build-depends: template-haskell >= 2.7 }
common terminal-progress-bar { build-depends: terminal-progress-bar >= 0.4.1 }
common text { build-depends: text >= 1.2 }
common text-icu { build-depends: text-icu >= 0.7 }
common time { build-depends: time >= 1.9.3 }
common transformers { build-depends: transformers >= 0.5 }
common unix { build-depends: unix >= 2.7 }
@ -124,6 +124,7 @@ library
, optics-vl
, parsec
, pretty-terminal
, regex-posix
, resourcet
, safe
, safe-exceptions
@ -136,7 +137,6 @@ library
, template-haskell
, terminal-progress-bar
, text
, text-icu
, time
, transformers
, unix

View File

@ -133,13 +133,13 @@ installGHCBin bDls ver mpfReq = do
lEM $ liftIO $ execLogged [s|./configure|]
False
[[s|--prefix=|] <> toFilePath inst]
([rel|ghc-configure.log|] :: Path Rel)
[rel|ghc-configure.log|]
(Just path)
Nothing
lEM $ liftIO $ execLogged [s|make|]
True
[[s|install|]]
([rel|ghc-make.log|] :: Path Rel)
[rel|ghc-make.log|]
(Just path)
Nothing
pure ()
@ -196,7 +196,7 @@ installCabalBin bDls ver mpfReq = do
-> Excepts '[CopyError] m ()
installCabal' path inst = do
lift $ $(logInfo) [s|Installing cabal|]
let cabalFile = [rel|cabal|] :: Path Rel
let cabalFile = [rel|cabal|]
liftIO $ createDirIfMissing newDirPerms inst
handleIO (throwE . CopyError . show) $ liftIO $ copyFile
(path </> cabalFile)
@ -273,7 +273,7 @@ setGHC ver sghc = do
destdir <- liftIO $ ghcupBaseDir
case sghc of
SetGHCOnly -> do
let sharedir = [rel|share|] :: Path Rel
let sharedir = [rel|share|]
let fullsharedir = ghcdir </> sharedir
whenM (liftIO $ doesDirectoryExist fullsharedir) $ do
let fullF = destdir </> sharedir
@ -336,11 +336,11 @@ listVersions av lt criteria = case lt of
pure ListResult { lVer = v, lTag = tags, lTool = t, .. }
Cabal -> do
lSet <- fmap (== v) $ cabalSet
lInstalled <- cabalInstalled v
let lInstalled = lSet
pure ListResult { lVer = v, lTag = tags, lTool = t, fromSrc = False, .. }
GHCup -> do
let lSet = prettyPVP ghcUpVer == prettyVer v
let lInstalled = True
let lInstalled = lSet
pure ListResult { lVer = v, lTag = tags, lTool = t, fromSrc = False, .. }
@ -393,7 +393,7 @@ rmGHCVer ver = do
$ ghcupBaseDir
>>= hideError doesNotExistErrorType
. deleteFile
. (</> ([rel|share|] :: Path Rel))
. (</> [rel|share|])
else throwE (NotInstalled GHC ver)
@ -509,7 +509,7 @@ GhcWithLlvmCodeGen = YES|]
lEM $ liftIO $ execLogged [s|./configure|]
False
[[s|--prefix=|] <> toFilePath ghcdir]
([rel|ghc-configure.log|] :: Path Rel)
[rel|ghc-configure.log|]
(Just workdir)
(Just newEnv)
| otherwise -> do
@ -519,7 +519,7 @@ GhcWithLlvmCodeGen = YES|]
[ [s|--prefix=|] <> toFilePath ghcdir
, [s|--with-ghc=|] <> toFilePath bghc
]
([rel|ghc-configure.log|] :: Path Rel)
[rel|ghc-configure.log|]
(Just workdir)
Nothing
@ -537,7 +537,7 @@ GhcWithLlvmCodeGen = YES|]
lEM $ liftIO $ execLogged [s|make|]
True
(maybe [] (\j -> [[s|-j|] <> fS (show j)]) jobs)
([rel|ghc-make.log|] :: Path Rel)
[rel|ghc-make.log|]
(Just workdir)
Nothing
@ -545,7 +545,7 @@ GhcWithLlvmCodeGen = YES|]
lEM $ liftIO $ execLogged [s|make|]
True
[[s|install|]]
([rel|ghc-make.log|] :: Path Rel)
[rel|ghc-make.log|]
(Just workdir)
Nothing
@ -553,7 +553,7 @@ GhcWithLlvmCodeGen = YES|]
let dest = (ghcdir </> ghcUpSrcBuiltFile)
liftIO $ copyFile (build_mk workdir) dest Overwrite
build_mk workdir = workdir </> ([rel|mk/build.mk|] :: Path Rel)
build_mk workdir = workdir </> [rel|mk/build.mk|]
compileCabal :: ( MonadReader Settings m
@ -616,7 +616,7 @@ compileCabal dls tver bver jobs = do
lEM $ liftIO $ execLogged [s|./bootstrap.sh|]
False
(maybe [] (\j -> [[s|-j|], fS (show j)]) jobs)
([rel|cabal-bootstrap.log|] :: Path Rel)
[rel|cabal-bootstrap.log|]
(Just workdir)
(Just newEnv)
@ -651,10 +651,10 @@ upgradeGHCup :: ( MonadMask m
Version
upgradeGHCup dls mtarget = do
lift $ $(logInfo) [i|Upgrading GHCup...|]
let latestVer = head $ getTagged dls GHCup Latest
let latestVer = fromJust $ getLatest dls GHCup
dli <- liftE $ getDownloadInfo dls GHCup latestVer Nothing
tmp <- lift withGHCupTmpDir
let fn = [rel|ghcup|] :: Path Rel
let fn = [rel|ghcup|]
p <- liftE $ download dli tmp (Just fn)
case mtarget of
Nothing -> do

View File

@ -104,10 +104,10 @@ getDownloads = do
lift $ $(logDebug) [i|Receiving download info from: #{urlSource}|]
case urlSource of
GHCupURL -> do
bs <- reThrowAll DownloadFailed $ dl ghcupURL
bs <- reThrowAll DownloadFailed $ smartDl ghcupURL
lE' JSONDecodeError $ eitherDecode' bs
(OwnSource url) -> do
bs <- reThrowAll DownloadFailed $ dl url
bs <- reThrowAll DownloadFailed $ downloadBS url
lE' JSONDecodeError $ eitherDecode' bs
(OwnSpec av) -> pure $ av
@ -121,7 +121,7 @@ getDownloads = do
-- than the local file.
--
-- Always save the local file with the mod time of the remote file.
dl :: forall m1
smartDl :: forall m1
. (MonadCatch m1, MonadIO m1, MonadFail m1, MonadLogger m1)
=> URI
-> Excepts
@ -134,7 +134,7 @@ getDownloads = do
]
m1
L.ByteString
dl uri' = do
smartDl uri' = do
let path = view pathL' uri'
json_file <- (liftIO $ ghcupCacheDir)
>>= \cacheDir -> (cacheDir </>) <$> urlBaseName path

View File

@ -1,5 +1,6 @@
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
@ -21,6 +22,7 @@ import Control.Monad
import Control.Monad.Logger
import Control.Monad.Reader
import Control.Monad.Trans.Class ( lift )
import Data.ByteString ( ByteString )
import Data.Foldable
import Data.Maybe
import Data.String.Interpolate
@ -34,10 +36,10 @@ import Prelude hiding ( abs
, writeFile
)
import System.Info
import Text.Regex.Posix
import qualified Data.Text as T
import qualified Data.Text.Encoding as E
import qualified Data.Text.ICU as ICU
--------------------------
--[ Platform detection ]--
@ -100,16 +102,11 @@ getLinuxDistro = do
| otherwise -> UnknownLinux
pure (distro, parsedVer)
where
hasWord t matches = foldr
(\x y ->
( isJust
. ICU.find (ICU.regex [ICU.CaseInsensitive] ([s|\b|] <> x <> [s|\b|]))
$ t
)
|| y
)
False
(T.pack <$> matches)
hasWord t matches = foldr (\x y -> match (regex x) (T.unpack t) || y)
False
matches
where
regex x = makeRegexOpts compIgnoreCase execBlank ([s|\<|] ++ x ++ [s|\>|])
os_release :: Path Abs
os_release = [abs|/etc/os-release|]
@ -144,21 +141,25 @@ getLinuxDistro = do
try_redhat_release :: IO (Text, Maybe Text)
try_redhat_release = do
t <- fmap lBS2sT $ readFile redhat_release
let nameRe n =
join
. fmap (ICU.group 0)
. ICU.find
(ICU.regex [ICU.CaseInsensitive] ([s|\b|] <> fS n <> [s|\b|]))
$ t
verRe =
join
. fmap (ICU.group 0)
. ICU.find
(ICU.regex [ICU.CaseInsensitive] [s|\b(\d)+(.(\d)+)*\b|])
$ t
let nameRegex n =
makeRegexOpts
compIgnoreCase
execBlank
(([s|\<|] <> fS n <> [s|\>|] :: ByteString)) :: Regex
let verRegex =
makeRegexOpts
compIgnoreCase
execBlank
([s|\<([0-9])+(.([0-9])+)*\>|] :: ByteString) :: Regex
let nameRe n = fromEmpty . match (nameRegex n) $ T.unpack t :: Maybe String
verRe = fromEmpty . match verRegex $ T.unpack t :: Maybe String
(Just name) <- pure
(nameRe "CentOS" <|> nameRe "Fedora" <|> nameRe "Red Hat")
pure (name, verRe)
pure (T.pack name, fmap T.pack verRe)
where
fromEmpty :: String -> Maybe String
fromEmpty "" = Nothing
fromEmpty s' = Just s'
try_debian_version :: IO (Text, Maybe Text)
try_debian_version = do

View File

@ -157,7 +157,7 @@ ghcSrcInstalled ver = do
ghcSet :: (MonadIO m, MonadThrow m) => m (Maybe Version)
ghcSet = do
ghcBin <- (</> ([rel|ghc|] :: Path Rel)) <$> liftIO ghcupBinDir
ghcBin <- (</> [rel|ghc|]) <$> liftIO ghcupBinDir
-- link destination is of the form ../ghc/<ver>/bin/ghc
liftIO $ handleIO' NoSuchThing (\_ -> pure $ Nothing) $ do
@ -172,7 +172,7 @@ cabalInstalled ver = do
cabalSet :: (MonadIO m, MonadThrow m) => m Version
cabalSet = do
cabalbin <- (</> ([rel|cabal|] :: Path Rel)) <$> liftIO ghcupBinDir
cabalbin <- (</> [rel|cabal|]) <$> liftIO ghcupBinDir
mc <- liftIO $ executeOut cabalbin [[s|--numeric-version|]] Nothing
let reportedVer = fst . B.spanEnd (== _lf) . _stdOut $ mc
case version (E.decodeUtf8 reportedVer) of

View File

@ -43,10 +43,10 @@ ghcupBaseDir = do
Just r -> parseAbs r
Nothing -> do
home <- liftIO getHomeDirectory
pure (home </> ([rel|.ghcup|] :: Path Rel))
pure (home </> [rel|.ghcup|])
ghcupGHCBaseDir :: IO (Path Abs)
ghcupGHCBaseDir = ghcupBaseDir <&> (</> ([rel|ghc|] :: Path Rel))
ghcupGHCBaseDir = ghcupBaseDir <&> (</> [rel|ghc|])
ghcupGHCDir :: Version -> IO (Path Abs)
ghcupGHCDir ver = do
@ -56,13 +56,13 @@ ghcupGHCDir ver = do
ghcupBinDir :: IO (Path Abs)
ghcupBinDir = ghcupBaseDir <&> (</> ([rel|bin|] :: Path Rel))
ghcupBinDir = ghcupBaseDir <&> (</> [rel|bin|])
ghcupCacheDir :: IO (Path Abs)
ghcupCacheDir = ghcupBaseDir <&> (</> ([rel|cache|] :: Path Rel))
ghcupCacheDir = ghcupBaseDir <&> (</> [rel|cache|])
ghcupLogsDir :: IO (Path Abs)
ghcupLogsDir = ghcupBaseDir <&> (</> ([rel|logs|] :: Path Rel))
ghcupLogsDir = ghcupBaseDir <&> (</> [rel|logs|])
mkGhcupTmpDir :: (MonadThrow m, MonadIO m) => m (Path Abs)

39
stack.yaml Normal file
View File

@ -0,0 +1,39 @@
resolver: lts-14.27
packages:
- .
extra-deps:
- IfElse-0.85@sha256:6939b94acc6a55f545f63a168a349dd2fbe4b9a7cca73bf60282db5cc6aa47d2
- ascii-string-1.0.1.3
- brotli-0.0.0.0@sha256:448061ceabdcaa752bbaf208f255bbb7e90bbcf8ea8a913d26ffa7887636823b
- brotli-streams-0.0.0.0@sha256:c75a1d5d33420cbc9399c315e9b50a1976a5370f4fa8a40c71e11d011c2fedd6
- case-insensitive-1.2.1.0
- data-default-instances-base-0.1.0.1@sha256:985a13d7103e45a65f06f277b735ef025636014f0d29dd6de998bc7628e09be9
- fusion-plugin-types-0.1.0@sha256:0f11bbc445ab8ae3dbbb3d5d2ea198bdb1ac020518b7f4f7579035dc89182438
- generics-sop-0.5.0.0
- haskus-utils-data-1.2@sha256:48f62aa23d84b94edd0338379d3b3d74a34d3c2dbabf8c448a774a89ca70ea5d
- haskus-utils-types-1.5
- haskus-utils-variant-3.0
- hpath-0.11.0
- hpath-directory-0.13.2
- hpath-filepath-0.10.4
- hpath-io-0.13.1
- hpath-posix-0.13.1
- http-io-streams-0.1.2.0
- indexed-profunctors-0.1@sha256:ddf618d0d4c58319c1e735e746bc69a1021f13b6f475dc9614b80af03432e6d4
- language-bash-0.9.0
- optics-0.2
- optics-core-0.2@sha256:cfdf39871553769b59fcc54863a3521d262ea25d8d05d0f41ab87296c560cfa6
- optics-extra-0.2@sha256:211ce1dfd1b3ffd95c1158d8c8beb53cbd17c4d477169e226b1831607f6789eb
- optics-th-0.2@sha256:b4f6c5a3f134c697837190ed6da969dd284aefe79e43c3ef793093b607bb83b9
- optics-vl-0.2
- optparse-applicative-0.15.1.0
- pretty-terminal-0.1.0.0
- sop-core-0.5.0.0@sha256:8734ab38b8c84837094eec657da0b58942e481e20166131f34cf6c7fe9787b07
- streamly-0.7.1
- streamly-bytestring-0.1.2
- streamly-posix-0.1.0.0
- strict-base-0.4.0.0
- string-interpolate-0.2.0.0
- table-layout-0.8.0.5
- tar-bytestring-0.6.3.0
- time-1.9.3