Compare commits
39 Commits
ghc-8.10.1
...
drop-freeb
| Author | SHA1 | Date | |
|---|---|---|---|
| 49333f45ec | |||
| e1cf11f9d4 | |||
| 97cd43792d | |||
| 08693e6d3a | |||
| e2227da8d2 | |||
| 5f20e4c583 | |||
| f82f1a12dd | |||
| 53148fd1c9 | |||
| 8985101b2a | |||
| d1949c8490 | |||
| b7faae1203 | |||
| b6a9d35c3e | |||
| 6cb6c7a448 | |||
| 22a5ad739e | |||
| 14c91bdd78 | |||
| 2c638cd2e2 | |||
| 9e59f484e3 | |||
| ac8419ecb2 | |||
| 3ecdb63063 | |||
| cfe24428fa | |||
| 4c4266dd8c | |||
| e8336bbc8a | |||
| 0f69c73e0e | |||
| e348de8dc4 | |||
| 55a3ba9be2 | |||
| 51b29b81b0 | |||
| 3c2e0334b7 | |||
| 0679626514 | |||
| 5035051135 | |||
| 63c70ee74b | |||
| 2e0bbca2e0 | |||
| b52fa23ca2 | |||
| ba03b78f23 | |||
| 04ef472c15 | |||
| 75cd8f2341 | |||
| f2e26c1800 | |||
| 0f7dd597d2 | |||
| fb0eba9201 | |||
| 3c80929c38 |
7
.gitignore
vendored
7
.gitignore
vendored
@@ -5,3 +5,10 @@ dist-newstyle/
|
||||
cabal.project.local
|
||||
.stack-work/
|
||||
bin/
|
||||
/*.prof
|
||||
/*.ps
|
||||
/*.hp
|
||||
tags
|
||||
TAGS
|
||||
/tmp/
|
||||
.entangled
|
||||
|
||||
@@ -37,12 +37,6 @@ variables:
|
||||
variables:
|
||||
OS: "DARWIN"
|
||||
|
||||
.freebsd:
|
||||
tags:
|
||||
- x86_64-freebsd
|
||||
variables:
|
||||
OS: "FREEBSD"
|
||||
|
||||
.root_cleanup:
|
||||
after_script:
|
||||
- BUILD_DIR=$CI_PROJECT_DIR
|
||||
@@ -74,14 +68,6 @@ variables:
|
||||
before_script:
|
||||
- ./.gitlab/before_script/darwin/install_deps.sh
|
||||
|
||||
.test_ghcup_version:freebsd:
|
||||
extends:
|
||||
- .test_ghcup_version
|
||||
- .freebsd
|
||||
- .root_cleanup
|
||||
before_script:
|
||||
- ./.gitlab/before_script/freebsd/install_deps.sh
|
||||
|
||||
.release_ghcup:
|
||||
script:
|
||||
- ./.gitlab/script/ghcup_release.sh
|
||||
@@ -97,7 +83,7 @@ variables:
|
||||
test:linux:recommended:
|
||||
extends: .test_ghcup_version:linux
|
||||
variables:
|
||||
GHC_VERSION: "8.8.3"
|
||||
GHC_VERSION: "8.8.4"
|
||||
CABAL_VERSION: "3.2.0.0"
|
||||
|
||||
test:linux:latest:
|
||||
@@ -113,7 +99,7 @@ test:linux:latest:
|
||||
test:mac:recommended:
|
||||
extends: .test_ghcup_version:darwin
|
||||
variables:
|
||||
GHC_VERSION: "8.8.3"
|
||||
GHC_VERSION: "8.8.4"
|
||||
CABAL_VERSION: "3.2.0.0"
|
||||
|
||||
test:mac:latest:
|
||||
@@ -124,22 +110,6 @@ test:mac:latest:
|
||||
allow_failure: true
|
||||
|
||||
|
||||
######## freebsd test ########
|
||||
|
||||
test:freebsd:recommended:
|
||||
extends: .test_ghcup_version:freebsd
|
||||
variables:
|
||||
GHC_VERSION: "8.8.3"
|
||||
CABAL_VERSION: "3.2.0.0"
|
||||
|
||||
test:freebsd:latest:
|
||||
extends: .test_ghcup_version:freebsd
|
||||
variables:
|
||||
GHC_VERSION: "8.10.1"
|
||||
CABAL_VERSION: "3.2.0.0"
|
||||
allow_failure: true
|
||||
|
||||
|
||||
######## linux release ########
|
||||
|
||||
release:linux:64bit:
|
||||
@@ -150,7 +120,7 @@ release:linux:64bit:
|
||||
- ./.gitlab/before_script/linux/alpine/install_deps.sh
|
||||
variables:
|
||||
ARTIFACT: "x86_64-linux-ghcup"
|
||||
GHC_VERSION: "8.10.1"
|
||||
GHC_VERSION: "8.8.4"
|
||||
CABAL_VERSION: "3.2.0.0"
|
||||
|
||||
|
||||
@@ -162,7 +132,7 @@ release:linux:32bit:
|
||||
- ./.gitlab/before_script/linux/alpine/install_deps.sh
|
||||
variables:
|
||||
ARTIFACT: "i386-linux-ghcup"
|
||||
GHC_VERSION: "8.10.1"
|
||||
GHC_VERSION: "8.8.4"
|
||||
CABAL_VERSION: "3.2.0.0"
|
||||
|
||||
|
||||
@@ -177,21 +147,7 @@ release:darwin:
|
||||
- ./.gitlab/before_script/darwin/install_deps.sh
|
||||
variables:
|
||||
ARTIFACT: "x86_64-apple-darwin-ghcup"
|
||||
GHC_VERSION: "8.10.1"
|
||||
GHC_VERSION: "8.8.3"
|
||||
CABAL_VERSION: "3.2.0.0"
|
||||
MACOSX_DEPLOYMENT_TARGET: "10.7"
|
||||
|
||||
|
||||
######## freebsd release ########
|
||||
|
||||
release:freebsd:
|
||||
extends:
|
||||
- .freebsd
|
||||
- .release_ghcup
|
||||
- .root_cleanup
|
||||
before_script:
|
||||
- ./.gitlab/before_script/freebsd/install_deps.sh
|
||||
variables:
|
||||
ARTIFACT: "x86_64-portbld-freebsd-ghcup"
|
||||
GHC_VERSION: "8.10.1"
|
||||
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eux
|
||||
|
||||
# pkg install --force --yes --no-repo-update curl gcc gmp gmake ncurses perl5 libffi libiconv
|
||||
|
||||
. "$( cd "$(dirname "$0")" ; pwd -P )/../../ghcup_env"
|
||||
|
||||
mkdir -p "${TMPDIR}"
|
||||
|
||||
curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-portbld-freebsd-ghcup > ./ghcup-bin
|
||||
chmod +x ghcup-bin
|
||||
|
||||
./ghcup-bin install ${GHC_VERSION}
|
||||
./ghcup-bin install-cabal ${CABAL_VERSION}
|
||||
./ghcup-bin set ${GHC_VERSION}
|
||||
|
||||
exit 0
|
||||
@@ -23,26 +23,13 @@ ln -sf libncursesw.so.6 /usr/lib/libtinfow.so.6
|
||||
ln -sf libtinfow.so.6 /usr/lib/libtinfow.so
|
||||
|
||||
if [ "${BIT}" = "32" ] ; then
|
||||
curl -sSfL https://downloads.haskell.org/~ghcup/0.1.5/i386-linux-ghcup-0.1.5 > ./ghcup-bin
|
||||
curl -sSfL https://downloads.haskell.org/ghcup/i386-linux-ghcup > ./ghcup-bin
|
||||
else
|
||||
curl -sSfL https://downloads.haskell.org/~ghcup/0.1.5/x86_64-linux-ghcup-0.1.5 > ./ghcup-bin
|
||||
curl -sSfL https://downloads.haskell.org/ghcup/x86_64-linux-ghcup > ./ghcup-bin
|
||||
fi
|
||||
chmod +x ghcup-bin
|
||||
./ghcup-bin upgrade
|
||||
./ghcup-bin install ${GHC_VERSION}
|
||||
# ./ghcup-bin install-cabal ${CABAL_VERSION}
|
||||
# install cabal-3.2.0.0
|
||||
if [ "${BIT}" = "32" ] ; then
|
||||
curl -sSfL -o cabal-install-3.2.0.0-i386-alpine-linux-musl.tar.xz 'https://hasufell.de/d/d3e215db133e4fcaa61e/files/?p=/cabal-install-3.2.0.0-i386-alpine-linux-musl.tar.xz&dl=1'
|
||||
tar xf cabal-install-3.2.0.0-i386-alpine-linux-musl.tar.xz
|
||||
cp cabal-install-3.2.0.0-i386-alpine-linux-musl "${GHCUP_INSTALL_BASE_PREFIX}/.ghcup/bin/cabal"
|
||||
else
|
||||
curl -sSfL -o cabal-install-3.2.0.0-x86_64-alpine-linux-musl.tar.xz 'https://hasufell.de/d/d3e215db133e4fcaa61e/files/?p=/cabal-install-3.2.0.0-x86_64-alpine-linux-musl.tar.xz&dl=1'
|
||||
tar xf cabal-install-3.2.0.0-x86_64-alpine-linux-musl.tar.xz
|
||||
cp cabal-install-3.2.0.0-x86_64-alpine-linux-musl "${GHCUP_INSTALL_BASE_PREFIX}/.ghcup/bin/cabal"
|
||||
fi
|
||||
chmod +x "${GHCUP_INSTALL_BASE_PREFIX}/.ghcup/bin/cabal"
|
||||
|
||||
./ghcup-bin install-cabal ${CABAL_VERSION}
|
||||
|
||||
# utils
|
||||
apk add --no-cache \
|
||||
|
||||
@@ -21,8 +21,6 @@ if [ "${OS}" = "LINUX" ] ; then
|
||||
else
|
||||
ecabal build -w ghc-${GHC_VERSION} --ghc-options='-split-sections -optl-static' -ftui
|
||||
fi
|
||||
elif [ "${OS}" = "FREEBSD" ] ; then
|
||||
ecabal build -w ghc-${GHC_VERSION} --ghc-options='-split-sections' --constraint="zlib static"
|
||||
else
|
||||
ecabal build -w ghc-${GHC_VERSION} --constraint="zlib static" --constraint="lzma static" -ftui
|
||||
fi
|
||||
|
||||
@@ -44,12 +44,6 @@ ghcup-gen check -f ghcup-${JSON_VERSION}.json
|
||||
|
||||
eghcup --numeric-version
|
||||
|
||||
# TODO: rm once we have tarballs
|
||||
if [ "${OS}" = "FREEBSD" ] ; then
|
||||
GHC_VERSION=8.6.3
|
||||
CABAL_VERSION=2.4.1.0
|
||||
fi
|
||||
|
||||
eghcup install ${GHC_VERSION}
|
||||
eghcup set ${GHC_VERSION}
|
||||
eghcup install-cabal ${CABAL_VERSION}
|
||||
|
||||
@@ -20,5 +20,5 @@ ghcup set 8.8.3
|
||||
cabal update
|
||||
cabal build --constraint="zlib static" --constraint="lzma static" -ftui
|
||||
cp "$(cabal new-exec --verbose=0 --offline sh -- -c 'command -v ghcup')" .
|
||||
strip -s ghcup
|
||||
strip ./ghcup
|
||||
cp ghcup "./${ARTIFACT}"
|
||||
|
||||
12
3rdparty/libarchive/c/archive_write_disk_posix.c
vendored
12
3rdparty/libarchive/c/archive_write_disk_posix.c
vendored
@@ -546,6 +546,7 @@ _archive_write_disk_header(struct archive *_a, struct archive_entry *entry)
|
||||
{
|
||||
struct archive_write_disk *a = (struct archive_write_disk *)_a;
|
||||
struct fixup_entry *fe;
|
||||
const char *linkname;
|
||||
int ret, r;
|
||||
|
||||
archive_check_magic(&a->archive, ARCHIVE_WRITE_DISK_MAGIC,
|
||||
@@ -590,6 +591,17 @@ _archive_write_disk_header(struct archive *_a, struct archive_entry *entry)
|
||||
if (ret != ARCHIVE_OK)
|
||||
return (ret);
|
||||
|
||||
/*
|
||||
* Check if we have a hardlink that points to itself.
|
||||
*/
|
||||
linkname = archive_entry_hardlink(a->entry);
|
||||
if (linkname != NULL && strcmp(a->name, linkname) == 0) {
|
||||
archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
|
||||
"Skipping hardlink pointing to itself: %s",
|
||||
a->name);
|
||||
return (ARCHIVE_WARN);
|
||||
}
|
||||
|
||||
/*
|
||||
* Query the umask so we get predictable mode settings.
|
||||
* This gets done on every call to _write_header in case the
|
||||
|
||||
21
CHANGELOG.md
21
CHANGELOG.md
@@ -1,5 +1,26 @@
|
||||
# Revision history for ghcup
|
||||
|
||||
## 0.1.7 -- 2020-07-20
|
||||
|
||||
* Fix a bug in libarchive not unpacking some uncleanly packed bindists
|
||||
* Improved fish support in bootstrap-haskell
|
||||
* Only check for upgrades when not upgrading
|
||||
* Fix platform detection for i386 docker images
|
||||
* Improve alpine support
|
||||
- more/proper bindists
|
||||
- don't fall back to glibc based bindists
|
||||
- install bindists with `--disable-ld-override` to avoid ld.gold bugs
|
||||
|
||||
## 0.1.6 -- 2020-07-13
|
||||
|
||||
* Create a new curses (brick) based TUI, accessible via `ghcup tui` #24
|
||||
* Support multiple installed versions of cabal #23
|
||||
* Improvements to `ghcup list` (show unavailable bindists for platform)
|
||||
* Fix redhat downloads #29
|
||||
* Support for hadrian bindists (fixes alpine-8.10.1) #31
|
||||
* Add FreeBSD bindists 8.6.5 and 8.8.3
|
||||
* Fix memory leak during unpack
|
||||
|
||||
## 0.1.5 -- 2020-04-30
|
||||
|
||||
* Fix errors when PATH variable contains path components that are actually files
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
`ghcup` makes it easy to install specific versions of `ghc` on GNU/Linux,
|
||||
macOS (aka Darwin) and FreeBSD and can also bootstrap a fresh Haskell developer environment from scratch.
|
||||
`ghcup` makes it easy to install specific versions of `ghc` on GNU/Linux and
|
||||
macOS (aka Darwin) and can also bootstrap a fresh Haskell developer environment from scratch.
|
||||
It follows the unix UNIX philosophy of [do one thing and do it well](https://en.wikipedia.org/wiki/Unix_philosophy#Do_One_Thing_and_Do_It_Well).
|
||||
|
||||
Similar in scope to [rustup](https://github.com/rust-lang-nursery/rustup.rs), [pyenv](https://github.com/pyenv/pyenv) and [jenv](http://www.jenv.be).
|
||||
|
||||
@@ -85,8 +85,6 @@ validate dls = do
|
||||
when ((not $ any (== Darwin) pspecs) && arch == A_64) $ do
|
||||
lift $ $(logError) [i|Darwin missing for #{t} #{v'} #{arch}|]
|
||||
addError
|
||||
when ((not $ any (== FreeBSD) pspecs) && arch == A_64) $ lift $ $(logWarn)
|
||||
[i|FreeBSD missing for #{t} #{v'} #{arch}|]
|
||||
|
||||
checkUniqueTags tool = do
|
||||
let allTags = join $ M.elems $ availableToolVersions dls tool
|
||||
|
||||
@@ -205,13 +205,10 @@ install' AppState {..} (_, ListResult {..}) = do
|
||||
#if !defined(TAR)
|
||||
, ArchiveResult
|
||||
#endif
|
||||
, DistroNotFound
|
||||
, FileDoesNotExistError
|
||||
, CopyError
|
||||
, NoCompatibleArch
|
||||
, NoDownload
|
||||
, NotInstalled
|
||||
, NoCompatiblePlatform
|
||||
, BuildFailed
|
||||
, TagNotFound
|
||||
, DigestError
|
||||
@@ -283,7 +280,10 @@ changelog' AppState {..} (_, ListResult {..}) = do
|
||||
Nothing -> pure $ Left
|
||||
[i|Could not find ChangeLog for #{lTool}, version #{prettyVer lVer}|]
|
||||
Just uri -> do
|
||||
exec "xdg-open" True [serializeURIRef' uri] Nothing Nothing >>= \case
|
||||
let cmd = case _rPlatform pfreq of
|
||||
Darwin -> "open"
|
||||
Linux _ -> "xdg-open"
|
||||
exec cmd True [serializeURIRef' uri] Nothing Nothing >>= \case
|
||||
Right _ -> pure $ Right ()
|
||||
Left e -> pure $ Left [i|#{e}|]
|
||||
|
||||
|
||||
@@ -749,15 +749,7 @@ platformParser s' = case MP.parse (platformP <* MP.eof) "" (T.pack s') of
|
||||
archP = (MP.try (MP.chunk "x86_64" $> A_64)) <|> (MP.chunk "i386" $> A_32)
|
||||
platformP :: MP.Parsec Void Text PlatformRequest
|
||||
platformP = choice'
|
||||
[ (\a mv -> PlatformRequest a FreeBSD mv)
|
||||
<$> (archP <* MP.chunk "-")
|
||||
<*> ( MP.chunk "portbld"
|
||||
*> ( MP.try (Just <$> verP (MP.chunk "-freebsd" <* MP.eof))
|
||||
<|> pure Nothing
|
||||
)
|
||||
<* MP.chunk "-freebsd"
|
||||
)
|
||||
, (\a mv -> PlatformRequest a Darwin mv)
|
||||
[ (\a mv -> PlatformRequest a Darwin mv)
|
||||
<$> (archP <* MP.chunk "-")
|
||||
<*> ( MP.chunk "apple"
|
||||
*> ( MP.try (Just <$> verP (MP.chunk "-darwin" <* MP.eof))
|
||||
@@ -1033,7 +1025,10 @@ Report bugs at <https://gitlab.haskell.org/haskell/ghcup-hs/issues>|]
|
||||
runLogger
|
||||
($(logError) [i|Error fetching download info: #{e}|])
|
||||
exitWith (ExitFailure 2)
|
||||
runLogger $ checkForUpdates dls pfreq
|
||||
|
||||
case optCommand of
|
||||
Upgrade _ _ -> pure ()
|
||||
_ -> runLogger $ checkForUpdates dls pfreq
|
||||
|
||||
|
||||
|
||||
@@ -1308,9 +1303,13 @@ Make sure to clean up #{tmpdir} afterwards.|])
|
||||
pure ExitSuccess
|
||||
Just uri -> do
|
||||
let uri' = T.unpack . decUTF8Safe . serializeURIRef' $ uri
|
||||
cmd = case _rPlatform pfreq of
|
||||
Darwin -> "open"
|
||||
Linux _ -> "xdg-open"
|
||||
|
||||
if clOpen
|
||||
then
|
||||
exec "xdg-open"
|
||||
exec cmd
|
||||
True
|
||||
[serializeURIRef' uri]
|
||||
Nothing
|
||||
|
||||
@@ -28,33 +28,30 @@ eghcup() {
|
||||
download_ghcup() {
|
||||
_plat="$(uname -s)"
|
||||
_arch=$(uname -m)
|
||||
_ghver="0.1.5"
|
||||
_ghver="0.1.7"
|
||||
_base_url="https://downloads.haskell.org/~ghcup"
|
||||
|
||||
case "${_plat}" in
|
||||
"linux"|"Linux")
|
||||
case "${_arch}" in
|
||||
x86_64|amd64)
|
||||
_url=https://downloads.haskell.org/~ghcup/${_ghver}/x86_64-linux-ghcup-${_ghver}
|
||||
# we could be in a 32bit docker container, in which
|
||||
# case uname doesn't give us what we want
|
||||
if [ "$(getconf LONG_BIT)" = "32" ] ; then
|
||||
_url=${_base_url}/${_ghver}/i386-linux-ghcup-${_ghver}
|
||||
elif [ "$(getconf LONG_BIT)" = "64" ] ; then
|
||||
_url=${_base_url}/${_ghver}/x86_64-linux-ghcup-${_ghver}
|
||||
else
|
||||
die "Unknown long bit size: $(getconf LONG_BIT)"
|
||||
fi
|
||||
;;
|
||||
i*86)
|
||||
_url=https://downloads.haskell.org/~ghcup/${_ghver}/i386-linux-ghcup-${_ghver}
|
||||
_url=${_base_url}/${_ghver}/i386-linux-ghcup-${_ghver}
|
||||
;;
|
||||
*) die "Unknown architecture: ${_arch}"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
"FreeBSD"|"freebsd")
|
||||
case "${_arch}" in
|
||||
x86_64|amd64)
|
||||
;;
|
||||
i*86)
|
||||
die "i386 currently not supported!"
|
||||
;;
|
||||
*) die "Unknown architecture: ${_arch}"
|
||||
;;
|
||||
esac
|
||||
_url=https://downloads.haskell.org/~ghcup/${_ghver}/x86_64-portbld-freebsd-ghcup-${_ghver}
|
||||
;;
|
||||
"Darwin"|"darwin")
|
||||
case "${_arch}" in
|
||||
x86_64|amd64)
|
||||
@@ -65,14 +62,14 @@ download_ghcup() {
|
||||
*) die "Unknown architecture: ${_arch}"
|
||||
;;
|
||||
esac
|
||||
_url=https://downloads.haskell.org/~ghcup/0.1.5/x86_64-apple-darwin-ghcup-0.1.5-p2 ;;
|
||||
_url=${_base_url}/${_ghver}/x86_64-apple-darwin-ghcup-${_ghver} ;;
|
||||
*) die "Unknown platform: ${_plat}"
|
||||
;;
|
||||
esac
|
||||
|
||||
edo curl -Lf "${_url}" > "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin/ghcup
|
||||
|
||||
unset _plat _arch _url _ghver
|
||||
unset _plat _arch _url _ghver _base_url
|
||||
}
|
||||
|
||||
|
||||
@@ -129,10 +126,10 @@ if [ -z "${BOOTSTRAP_HASKELL_NONINTERACTIVE}" ] ; then
|
||||
read -r answer </dev/tty
|
||||
fi
|
||||
|
||||
eghcup --cache install "${BOOTSTRAP_HASKELL_GHC_VERSION}"
|
||||
eghcup --cache install ghc "${BOOTSTRAP_HASKELL_GHC_VERSION}"
|
||||
|
||||
eghcup set "${BOOTSTRAP_HASKELL_GHC_VERSION}"
|
||||
eghcup --cache install-cabal "${BOOTSTRAP_HASKELL_CABAL_VERSION}"
|
||||
eghcup set ghc "${BOOTSTRAP_HASKELL_GHC_VERSION}"
|
||||
eghcup --cache install cabal "${BOOTSTRAP_HASKELL_CABAL_VERSION}"
|
||||
|
||||
edo cabal new-update
|
||||
|
||||
@@ -163,6 +160,9 @@ if [ -z "${BOOTSTRAP_HASKELL_NONINTERACTIVE}" ] ; then
|
||||
exit 0
|
||||
fi
|
||||
;;
|
||||
*/fish) # login shell is fish
|
||||
GHCUP_PROFILE_FILE="$HOME/.config/fish/config.fish"
|
||||
MY_SHELL="fish" ;;
|
||||
*) exit 0 ;;
|
||||
esac
|
||||
|
||||
@@ -178,7 +178,16 @@ if [ -z "${BOOTSTRAP_HASKELL_NONINTERACTIVE}" ] ; then
|
||||
|
||||
case $next_answer in
|
||||
[Yy]*)
|
||||
echo "[ -f \"\${GHCUP_INSTALL_BASE_PREFIX:=\$HOME}/.ghcup/env\" ] && source \"\${GHCUP_INSTALL_BASE_PREFIX:=\$HOME}/.ghcup/env\"" >> "${GHCUP_PROFILE_FILE}"
|
||||
case $MY_SHELL in
|
||||
"") break ;;
|
||||
fish)
|
||||
echo "set -q GHCUP_INSTALL_BASE_PREFIX[1]; or set GHCUP_INSTALL_BASE_PREFIX \$HOME" >> "${GHCUP_PROFILE_FILE}"
|
||||
echo "test -f \$GHCUP_INSTALL_BASE_PREFIX/.ghcup/env ; and set -gx PATH \$HOME/.cabal/bin \$GHCUP_INSTALL_BASE_PREFIX/.ghcup/bin \$PATH" >> "${GHCUP_PROFILE_FILE}"
|
||||
break ;;
|
||||
*)
|
||||
echo "[ -f \"\${GHCUP_INSTALL_BASE_PREFIX:=\$HOME}/.ghcup/env\" ] && source \"\${GHCUP_INSTALL_BASE_PREFIX:=\$HOME}/.ghcup/env\"" >> "${GHCUP_PROFILE_FILE}"
|
||||
break ;;
|
||||
esac
|
||||
printf "\\033[0;35m%s\\033[0m\\n" "OK! ${GHCUP_PROFILE_FILE} has been modified. Restart your terminal for the changes to take effect,"
|
||||
printf "\\033[0;35m%s\\033[0m\\n" "or type \"source ${GHCUP_INSTALL_BASE_PREFIX}/.ghcup/env\" to apply them in your current terminal session."
|
||||
exit 0;;
|
||||
|
||||
468
ghcup-0.0.2.json
468
ghcup-0.0.2.json
@@ -19,21 +19,6 @@
|
||||
"notes": ""
|
||||
}
|
||||
},
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"distroPKGs": [
|
||||
"curl",
|
||||
"gcc",
|
||||
"gmp",
|
||||
"gmake",
|
||||
"ncurses",
|
||||
"perl5",
|
||||
"libffi",
|
||||
"libiconv"
|
||||
],
|
||||
"notes": ""
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"distroPKGs": [
|
||||
@@ -115,13 +100,6 @@
|
||||
"8.6.2": {
|
||||
"viArch": {
|
||||
"A_64": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "5be9f98c25c49dbfb65223e2642335d4a45220f0c4044c8af70bbcaebe688467",
|
||||
"dlSubdir": "ghc-8.6.2",
|
||||
"dlUri": "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"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "13f96e8b83bb5bb60f955786ff9085744c24927a33be8a17773f84c7c248533a",
|
||||
@@ -176,13 +154,6 @@
|
||||
}
|
||||
},
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "a1add75822258fbb6e57ad049919ef5f757bac10d3c7a6eaeee50d2521ffeb4e",
|
||||
"dlSubdir": "ghc-8.6.2",
|
||||
"dlUri": "https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.6.2-musl/ghc-8.6.2-i386-unknown-linux-musl.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "a288026d9ef22f7ac387edab6b29ef7dcb3b28945c8ea532a15c1fa35d4733ed",
|
||||
@@ -228,16 +199,9 @@
|
||||
"A_64": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "7f9ef3e048ca6f2a2a589e6c168d8c7699fbe32b1b39a9d7c72eff9b26e90c67",
|
||||
"dlHash": "517783b660a27ebf95b2568d47292fd633d5f9a4de4c80ad1ccf05e1b9d7313f",
|
||||
"dlSubdir": "ghc-8.0.2",
|
||||
"dlUri": "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"
|
||||
}
|
||||
},
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "b36a20e5cae24d70bbb6116ae486f21811e9384f15d3892d260f02fba3e3bb8c",
|
||||
"dlSubdir": "ghc-8.0.2",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-portbld-freebsd.tar.xz"
|
||||
"dlUri": "https://files.hasufell.de/ghc/ghc-8.0.2-x86_64-alpine-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
@@ -284,9 +248,9 @@
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "815c68181013cd3f4dc748ddb5502a5e7a1a4011ba57d8eff6d66da411c72e84",
|
||||
"dlHash": "b4cd12a1048b2fff2f23c9eec0dd3a1174d54d017f8d79ec79af4534118e6881",
|
||||
"dlSubdir": "ghc-8.0.2",
|
||||
"dlUri": "https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.0.2-musl/ghc-8.0.2-i386-unknown-linux-musl.tar.xz"
|
||||
"dlUri": "https://files.hasufell.de/ghc/ghc-8.0.2-i386-alpine-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
@@ -323,13 +287,6 @@
|
||||
"8.6.4": {
|
||||
"viArch": {
|
||||
"A_64": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "ec73167bae1a173a9af07612df5fa1289e924f13ed9241339cb5617337cb2979",
|
||||
"dlSubdir": "ghc-8.6.4",
|
||||
"dlUri": "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"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "ef74222ef3c01c3fc5b926f67e8b4ef612fe8efa40ac937317cff9b0eed8d863",
|
||||
@@ -389,13 +346,6 @@
|
||||
}
|
||||
},
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "21b39b89edadbb6ab5b98d46dfacc0fd0799f9b16465a05c64e48f41dcbb1f7a",
|
||||
"dlSubdir": "ghc-8.6.4",
|
||||
"dlUri": "https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.6.4-musl/ghc-8.6.4-i386-unknown-linux-musl.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "5e2ce88f4d13d23ac37e278e0c7b51c801008931359b9fa8a631d804d2da552c",
|
||||
@@ -439,20 +389,6 @@
|
||||
"8.4.1": {
|
||||
"viArch": {
|
||||
"A_64": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "82d4ea6247a91e7e76065c0cdf66eec813ab679c1f24de0fb92c89bba3ef27f2",
|
||||
"dlSubdir": "ghc-8.4.1",
|
||||
"dlUri": "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"
|
||||
}
|
||||
},
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "e748daec098445c6190090fe32bb2817a1140553be5acd2188e1af05ad24e5aa",
|
||||
"dlSubdir": "ghc-8.4.1",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-portbld11-freebsd.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "427c77a934b30c3f1de992c38c072afb4323fe6fb30dbac919ca8cb6ae98fbd9",
|
||||
@@ -497,13 +433,6 @@
|
||||
}
|
||||
},
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "e5feee34b58c1a1cd6c270fbe696c178a4649675398f4e0d56a4bfad9641b736",
|
||||
"dlSubdir": "ghc-8.4.1",
|
||||
"dlUri": "https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.4.1-musl/ghc-8.4.1-i386-unknown-linux-musl.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "c56c589c76c7ddcb77cdbef885a811761e669d3e76868b723d5be56dedcd4f69",
|
||||
@@ -547,20 +476,6 @@
|
||||
"8.6.3": {
|
||||
"viArch": {
|
||||
"A_64": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "274f7ea959e6f1c830b33efd462ab9d0ff32d1cb5be051a2a318464d05d674dd",
|
||||
"dlSubdir": "ghc-8.6.3",
|
||||
"dlUri": "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"
|
||||
}
|
||||
},
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "bc2419fa180f8a7808c49775987866435995df9bdd9ce08bcd38352d63ba6031",
|
||||
"dlSubdir": "ghc-8.6.3",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-portbld-freebsd.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "e7954c8ed9b422a09c6ab737e4a0865a2725d034ba0e272bd5c70db910797f99",
|
||||
@@ -641,13 +556,6 @@
|
||||
}
|
||||
},
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "dc0b53a7f0e52232930abcfad427ccd0917c90797203fbc7b5d72f5335d85a7d",
|
||||
"dlSubdir": "ghc-8.6.3",
|
||||
"dlUri": "https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.6.3-musl/ghc-8.6.3-i386-unknown-linux-musl.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "b57070ba8c70b1333a3e47ce124baf791be39c20a592954772532fd6dd51882f",
|
||||
@@ -698,13 +606,6 @@
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-alpine3.10-linux-integer-simple.tar.xz"
|
||||
}
|
||||
},
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "52d27dbf9de82005dde9bfc521bff612e381b5228af194259c2306d2b75825c2",
|
||||
"dlSubdir": "ghc-8.10.1",
|
||||
"dlUri": "https://downloads.haskell.org/ghc/8.10.1/ghc-8.10.1-x86_64-portbld-freebsd.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "d1cf7886f27af070f3b7dbe1975a78b43ef2d32b86362cbe953e79464fe70761",
|
||||
@@ -800,6 +701,13 @@
|
||||
}
|
||||
},
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "7360cc6b29e9b4ab08f6ea5bc3bcca6f5c216933e81ef1620dcdd700f1fdb289",
|
||||
"dlSubdir": "ghc-8.10.1",
|
||||
"dlUri": "https://files.hasufell.de/ghc/ghc-8.10.1-i386-alpine-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "8b53eef2c827b5f634d72920a93c0c9dd66ea288691a2bfe28def45d3c686ee2",
|
||||
@@ -851,16 +759,9 @@
|
||||
"A_64": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "ec6d0417822c3bfafc7aea0b0402294901231bc5d72dd17a2b849e3f44850695",
|
||||
"dlHash": "b9d3ed7f7aa24ef2d58bb579252289caa0b8877adee3685e3af2fb73d440afdc",
|
||||
"dlSubdir": "ghc-8.6.5",
|
||||
"dlUri": "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"
|
||||
}
|
||||
},
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "83a3059a630d40a98e26cb5b520354e12094a96e36ba2f5ab002dad94cf2fb37",
|
||||
"dlSubdir": "ghc-8.6.5",
|
||||
"dlUri": "https://files.hasufell.de/ghc/ghc-8.6.5-x86_64-portbld-freebsd.tar.xz"
|
||||
"dlUri": "https://files.hasufell.de/ghc/ghc-8.6.5-x86_64-alpine-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
@@ -945,9 +846,9 @@
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "db13ff894faf431f9c64db21c090a1e4e42803794d56720a704c50166c7ca05d",
|
||||
"dlHash": "3737837550d9b177acfe150e3a3cd4545427ded020487c2ed5194d7b8f116349",
|
||||
"dlSubdir": "ghc-8.6.5",
|
||||
"dlUri": "https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.6.5-musl/ghc-8.6.5-i386-unknown-linux-musl.tar.xz"
|
||||
"dlUri": "https://files.hasufell.de/ghc/ghc-8.6.5-i386-alpine-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
@@ -993,20 +894,6 @@
|
||||
"8.4.2": {
|
||||
"viArch": {
|
||||
"A_64": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "3ebdb6e8001679e8722bd75a47805f1b3c1b25b37c4d237a7aaa4d66162f699f",
|
||||
"dlSubdir": "ghc-8.4.2",
|
||||
"dlUri": "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"
|
||||
}
|
||||
},
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "e9ed417fdf94c2ff2c6e344ed16f332bf6b591511f6442c0d9ea94854882b66c",
|
||||
"dlSubdir": "ghc-8.4.2",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-portbld-freebsd.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "3f4f5bbd2cdab4e7015ada9196d8d9b3a1ad274293cef011f85c46854596cb57",
|
||||
@@ -1066,13 +953,6 @@
|
||||
}
|
||||
},
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "a43ac57214764717f0ffe515ef47b84e938f0a4fa8ff875773d6ba315b940835",
|
||||
"dlSubdir": "ghc-8.4.2",
|
||||
"dlUri": "https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.4.2-musl/ghc-8.4.2-i386-unknown-linux-musl.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "2d849c30b4c1eac25dc74333501920921e22fa483153f404993808bbda93df05",
|
||||
@@ -1116,13 +996,6 @@
|
||||
"8.8.1": {
|
||||
"viArch": {
|
||||
"A_64": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "029163c42a219983f4220d73c26b910c3ecf6eda45a3e5e27236e8a66b080890",
|
||||
"dlSubdir": "ghc-8.8.1",
|
||||
"dlUri": "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"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "620fd560535b63cac5f8c97354ccddf93fa940cca78e2d19f6f98b7e67c6a723",
|
||||
@@ -1203,13 +1076,6 @@
|
||||
}
|
||||
},
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "3f5462341a455a5677fba5cb24da8938878261069da5ee4234b1c6ac2d2ef77e",
|
||||
"dlSubdir": "ghc-8.8.1",
|
||||
"dlUri": "https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.8.1-musl/ghc-8.8.1-i386-unknown-linux-musl.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "3d3bb75aff2dd79ec87ace10483368681fbc328ff00ebf15edad33420f00f7f5",
|
||||
@@ -1250,16 +1116,147 @@
|
||||
"base-4.13.0.0"
|
||||
]
|
||||
},
|
||||
"8.4.3": {
|
||||
"8.8.4": {
|
||||
"viArch": {
|
||||
"A_64": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "0f05c67e3fd29a3f505abb77e9c39349d312cdc1a566263b8f4b227d085906bc",
|
||||
"dlSubdir": "ghc-8.4.3",
|
||||
"dlUri": "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"
|
||||
"dlHash": "90c6a1661de7f20c7d169cd6270125035b3332063e45103ce028df0beecf434e",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://files.hasufell.de/ghc/ghc-8.8.4-x86_64-alpine-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "4862559d221153caf978f4bf2c15a82c114d1e1f43b298b2ecff2ac94b586d20",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-deb9-linux.tar.xz"
|
||||
},
|
||||
"8": {
|
||||
"dlHash": "51a36892f1264744195274187298d13ac62bce2da86d4ddf76d8054ab90f2feb",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-deb8-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Ubuntu": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "f32e37f8aa03e74bad533ae02f62dc27a4521e78199576af490888ba34b515db",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-fedora27-linux.tar.xz"
|
||||
},
|
||||
"16.04": {
|
||||
"dlHash": "4862559d221153caf978f4bf2c15a82c114d1e1f43b298b2ecff2ac94b586d20",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-deb9-linux.tar.xz"
|
||||
},
|
||||
"18.04": {
|
||||
"dlHash": "4862559d221153caf978f4bf2c15a82c114d1e1f43b298b2ecff2ac94b586d20",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-deb9-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Darwin": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "e80a789e9d8cfb41dd87f3284b75432427c4461c1731d220d04ead8733ccdb5e",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-apple-darwin.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_RedHat": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "a12aa4b1fd3c64240a8a6d15196d33e1c0e0d55b51ff78c387242126d0ef7910",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-centos7-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_UnknownLinux": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "f32e37f8aa03e74bad533ae02f62dc27a4521e78199576af490888ba34b515db",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-fedora27-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Mint": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "4862559d221153caf978f4bf2c15a82c114d1e1f43b298b2ecff2ac94b586d20",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-deb9-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Fedora": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "f32e37f8aa03e74bad533ae02f62dc27a4521e78199576af490888ba34b515db",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-fedora27-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_CentOS": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "a12aa4b1fd3c64240a8a6d15196d33e1c0e0d55b51ff78c387242126d0ef7910",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-centos7-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_AmazonLinux": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "a12aa4b1fd3c64240a8a6d15196d33e1c0e0d55b51ff78c387242126d0ef7910",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-centos7-linux.tar.xz"
|
||||
}
|
||||
}
|
||||
},
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "1d18e89ee031197e55c48683e78a7ffc67601ac5fd9f73aac555eb064b3859a2",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://files.hasufell.de/ghc/ghc-8.8.4-i386-alpine-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "43dd954910c9027694312cef0aabc7774d102d0422b7172802cfb72f7d5da3a0",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-i386-deb9-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Ubuntu": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "43dd954910c9027694312cef0aabc7774d102d0422b7172802cfb72f7d5da3a0",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-i386-deb9-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_UnknownLinux": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "43dd954910c9027694312cef0aabc7774d102d0422b7172802cfb72f7d5da3a0",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-i386-deb9-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Mint": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "43dd954910c9027694312cef0aabc7774d102d0422b7172802cfb72f7d5da3a0",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-i386-deb9-linux.tar.xz"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"viSourceDL": {
|
||||
"dlHash": "f0505e38b2235ff9f1090b51f44d6c8efd371068e5a6bb42a2a6d8b67b5ffc2d",
|
||||
"dlSubdir": "ghc-8.8.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-src.tar.xz"
|
||||
},
|
||||
"viChangeLog": "https://downloads.haskell.org/~ghc/8.8.4/docs/html/users_guide/8.8.4-notes.html",
|
||||
"viTags": [
|
||||
"Recommended",
|
||||
"base-4.13.0.0"
|
||||
]
|
||||
},
|
||||
"8.4.3": {
|
||||
"viArch": {
|
||||
"A_64": {
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "2e4f53afb872ad9c640f31aea283b3ff4c5028b65808a1920739900aef7d15c9",
|
||||
@@ -1319,13 +1316,6 @@
|
||||
}
|
||||
},
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "3a9a1ceb8eef234023fc36600245a03772bcb46b2abac41f6394104feaec8c43",
|
||||
"dlSubdir": "ghc-8.4.3",
|
||||
"dlUri": "https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.4.3-musl/ghc-8.4.3-i386-unknown-linux-musl.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "f5763983a26dedd88b65a0b17267359a3981b83a642569b26334423f684f8b8c",
|
||||
@@ -1369,20 +1359,6 @@
|
||||
"8.6.1": {
|
||||
"viArch": {
|
||||
"A_64": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "2668e12facfa9083150b01b1137693cb3de266a6f8ac8c6b44a2be3826c73177",
|
||||
"dlSubdir": "ghc-8.6.1",
|
||||
"dlUri": "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"
|
||||
}
|
||||
},
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "51403b054a3a649039ac988e1d1112561f96750bfced63df864091a3fab36f08",
|
||||
"dlSubdir": "ghc-8.6.1",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-portbld-freebsd.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "97d44f303868d74e4d13a2e99c82ffce3d25fd54c704675e5a1939e0d824dbf0",
|
||||
@@ -1442,13 +1418,6 @@
|
||||
}
|
||||
},
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "12b9b5b78be94b57d301b2a31eda145928110fd103fbbcc1e6e6966237a30ed2",
|
||||
"dlSubdir": "ghc-8.6.1",
|
||||
"dlUri": "https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.6.1-musl/ghc-8.6.1-i386-unknown-linux-musl.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "83573af96e3dec8f67c1a844512f92cbf7d51ae7ceca53d948fc2a3300abd05c",
|
||||
@@ -1492,13 +1461,6 @@
|
||||
"8.8.2": {
|
||||
"viArch": {
|
||||
"A_64": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "09d49c75b5626606409c982b23f70dec241a944928243f32d1b59b2005de6dea",
|
||||
"dlSubdir": "ghc-8.8.2",
|
||||
"dlUri": "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"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "7b2d66c2d5d8c15750da5833d3018634a5eb792a5662282e3abfeb112c2a1cc3",
|
||||
@@ -1579,13 +1541,6 @@
|
||||
}
|
||||
},
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "4ea4a81b6b5ba807c93b21b3cddf1f1b4b0fc1ce018cf6aa255a9ee40137b278",
|
||||
"dlSubdir": "ghc-8.8.2",
|
||||
"dlUri": "https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.8.2-musl/ghc-8.8.2-i386-unknown-linux-musl.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "ad1c628082c32635a436905a7ff83eaa4246347d869be5ef6b33c3bf85e8f00c",
|
||||
@@ -1629,20 +1584,6 @@
|
||||
"7.10.3": {
|
||||
"viArch": {
|
||||
"A_64": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "8b83dfa8b85ba45e24768337254e6eb23c0855df1a5168671a3a8090b6d0964e",
|
||||
"dlSubdir": "ghc-7.10.3",
|
||||
"dlUri": "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"
|
||||
}
|
||||
},
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "2aa396edd2bb651f4bc7eef7a396913ea24923de5aafdc76df6295333e487e48",
|
||||
"dlSubdir": "ghc-7.10.3",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-portbld-freebsd.tar.bz2"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "01cfbad8dff1e8b34a5fdca8caeaf843b56e36af919e29cd68870d2588563db5",
|
||||
@@ -1694,13 +1635,6 @@
|
||||
}
|
||||
},
|
||||
"A_32": {
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "3dde05577c6f94dcb0ba201ebd53ab88553bbc9a3aa8e72237162ed7a9d588a3",
|
||||
"dlSubdir": "ghc-7.10.3",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-i386-portbld-freebsd.tar.bz2"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "d2ccf072457fb100503f6f5430a1e3589ca525a97424263d036b0550bc277f0c",
|
||||
@@ -1758,21 +1692,11 @@
|
||||
"8.2.2": {
|
||||
"viArch": {
|
||||
"A_64": {
|
||||
"FreeBSD": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "cd351c704b92b9af23994024df07de8ca7090ea7675d5c8b14b2be857a46d804",
|
||||
"dlHash": "adcf3a320a3c402aba07ae9586990dc3c0b550e96aeffb1b9e194313d3ba716d",
|
||||
"dlSubdir": "ghc-8.2.2",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-portbld11-freebsd.tar.xz"
|
||||
},
|
||||
"11": {
|
||||
"dlHash": "cd351c704b92b9af23994024df07de8ca7090ea7675d5c8b14b2be857a46d804",
|
||||
"dlSubdir": "ghc-8.2.2",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-portbld11-freebsd.tar.xz"
|
||||
},
|
||||
"10": {
|
||||
"dlHash": "9e99aaeaec4b2c6d660d80246c0d4dbd41fda88f1eb7a908b29dc8fa8d663949",
|
||||
"dlSubdir": "ghc-8.2.2",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-portbld10_3-freebsd.tar.xz"
|
||||
"dlUri": "https://files.hasufell.de/ghc/ghc-8.2.2-x86_64-alpine-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
@@ -1817,6 +1741,13 @@
|
||||
}
|
||||
},
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "467534c32552cfd318753112dbc70af003693aad4b0081f2a07e61f5b5ea2c22",
|
||||
"dlSubdir": "ghc-8.2.2",
|
||||
"dlUri": "https://files.hasufell.de/ghc/ghc-8.2.2-i386-alpine-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"7": {
|
||||
"dlHash": "cd18766b1a9b74fc6c90003a719ecab158f281f9a755d8b1bd3fd764ba6947b5",
|
||||
@@ -1867,16 +1798,9 @@
|
||||
"A_64": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "e15f1cf02adb2cfb77a202050300a92f61456c6e1e90b543fec82d99da893a69",
|
||||
"dlHash": "336affff8314d3dc5e85d9c09015ae2ba8a7658b459c8c8ae77ecaa551a56ae7",
|
||||
"dlSubdir": "ghc-8.4.4",
|
||||
"dlUri": "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"
|
||||
}
|
||||
},
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "44fbd142d1c355d6110595c59c760e2c73866ff9259ec85ebf814edb244d1940",
|
||||
"dlSubdir": "ghc-8.4.4",
|
||||
"dlUri": "https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-portbld-freebsd11.tar.xz"
|
||||
"dlUri": "https://files.hasufell.de/ghc/ghc-8.4.4-x86_64-alpine-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
@@ -1961,9 +1885,9 @@
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "356f49b1acee0b0267fd8ca687aede14d43cee1f231d7f8a37525d50f07e1428",
|
||||
"dlHash": "892888d388ef5c9cadf5cfba1146d62237c25b9b066fb62fee940b2b285fd308",
|
||||
"dlSubdir": "ghc-8.4.4",
|
||||
"dlUri": "https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.4.4-musl/ghc-8.4.4-i386-unknown-linux-musl.tar.xz"
|
||||
"dlUri": "https://files.hasufell.de/ghc/ghc-8.4.4-i386-alpine-linux.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
@@ -2009,20 +1933,6 @@
|
||||
"8.8.3": {
|
||||
"viArch": {
|
||||
"A_64": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "77a990d76dc10abe2ed19e5fcfef4095f0e9819d4ab84bec6d82f00dd85812a7",
|
||||
"dlSubdir": "ghc-8.8.3",
|
||||
"dlUri": "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"
|
||||
}
|
||||
},
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "569719075b4d14b3875a899df522090ae31e6fe085e6dffe518e875b09a2f0be",
|
||||
"dlSubdir": "ghc-8.8.3",
|
||||
"dlUri": "https://files.hasufell.de/ghc/ghc-8.8.3-x86_64-portbld-freebsd.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "42fde2ef5a143e1e6b47ae8875162ea2d4d54b06f0f7fa32ee4f0eb86f2be7ad",
|
||||
@@ -2103,13 +2013,6 @@
|
||||
}
|
||||
},
|
||||
"A_32": {
|
||||
"Linux_Alpine": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "7a5f41646d06777e75636291a1855d60a0984552bbdf33c3d107565d302f38a4",
|
||||
"dlSubdir": "ghc-8.8.3",
|
||||
"dlUri": "https://github.com/redneb/ghc-alt-libc/releases/download/ghc-8.8.3-musl/ghc-8.8.3-i386-unknown-linux-musl.tar.xz"
|
||||
}
|
||||
},
|
||||
"Linux_Debian": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "441e2c7a4fc83ebf179712bd939b555cda7c6633545b7c8ac38049f9d85003ae",
|
||||
@@ -2147,7 +2050,6 @@
|
||||
},
|
||||
"viChangeLog": "https://downloads.haskell.org/~ghc/8.8.3/docs/html/users_guide/8.8.3-notes.html",
|
||||
"viTags": [
|
||||
"Recommended",
|
||||
"base-4.13.0.0"
|
||||
]
|
||||
}
|
||||
@@ -2163,13 +2065,6 @@
|
||||
"dlUri": "https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-alpine-linux-musl.tar.xz"
|
||||
}
|
||||
},
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "2240842ab2ae7b955feb8b526aba1c7991248c803383107adf39990441294d2a",
|
||||
"dlSubdir": null,
|
||||
"dlUri": "https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-portbld-freebsd.tar.xz"
|
||||
}
|
||||
},
|
||||
"Darwin": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "d4857e068560515e4cbb0e8ca124c370e07892f2a28804d87152834e5fe2b845",
|
||||
@@ -2220,13 +2115,6 @@
|
||||
"dlUri": "https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-alpine-linux-musl.tar.xz"
|
||||
}
|
||||
},
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "f1e35151cca91541b0fb4bdb3ed18f3c348038eab751845ad19c11307d66c273",
|
||||
"dlSubdir": null,
|
||||
"dlUri": "https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-portbld-freebsd.tar.xz"
|
||||
}
|
||||
},
|
||||
"Darwin": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "9197c17d2ece0f934f5b33e323cfcaf486e4681952687bc3d249488ce3cbe0e9",
|
||||
@@ -2280,13 +2168,6 @@
|
||||
"dlUri": "https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-alpine-linux-musl.tar.xz"
|
||||
}
|
||||
},
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "33b7d37ea0688c93436eac9ec139d9967687875aa1fa13f2bb73bf05a9a59a1d",
|
||||
"dlSubdir": null,
|
||||
"dlUri": "https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-portbld-freebsd.tar.xz"
|
||||
}
|
||||
},
|
||||
"Darwin": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "56361cf4b0d920fe23174751fea1fb82a8e1ce522bd9706a3fbe47a72e458c9c",
|
||||
@@ -2322,37 +2203,30 @@
|
||||
}
|
||||
},
|
||||
"GHCup": {
|
||||
"0.1.5": {
|
||||
"0.1.7": {
|
||||
"viArch": {
|
||||
"A_64": {
|
||||
"FreeBSD": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "6dd57cc5958ef3a6ba7de22808d9292d31dada8af95277578b69be35fc090194",
|
||||
"dlSubdir": null,
|
||||
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.5/x86_64-portbld-freebsd-ghcup-0.1.5"
|
||||
}
|
||||
},
|
||||
"Darwin": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "456770c3b1510d44a0e401e0677faa9f5670ef81a11646f47cbba1b95404e788",
|
||||
"dlHash": "00b2c04755d2b40e568afbfc2a485c36697fc55f210eae0d4cd80413c71032ed",
|
||||
"dlSubdir": null,
|
||||
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.5/x86_64-apple-darwin-ghcup-0.1.5-p2"
|
||||
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.7/x86_64-apple-darwin-ghcup-0.1.7"
|
||||
}
|
||||
},
|
||||
"Linux_UnknownLinux": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "cfdb01dde77121859b5d90b6707238b54e23787fcbb3003e18ab52a5dbfee330",
|
||||
"dlHash": "a1d1e8b3c2b00186957c927d09f2cfb457bbfa65c1ab562ff5683963e205bdd5",
|
||||
"dlSubdir": null,
|
||||
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.5/x86_64-linux-ghcup-0.1.5"
|
||||
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.7/x86_64-linux-ghcup-0.1.7"
|
||||
}
|
||||
}
|
||||
},
|
||||
"A_32": {
|
||||
"Linux_UnknownLinux": {
|
||||
"unknown_versioning": {
|
||||
"dlHash": "3707f60d703912709335dc0103fb1af5e5dfa83050825a8156b56bc81760b2a8",
|
||||
"dlHash": "1651cc196e4fdd18995054edebe109833535961f0e2b0d505f1714e83f3e8808",
|
||||
"dlSubdir": null,
|
||||
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.5/i386-linux-ghcup-0.1.5"
|
||||
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.7/i386-linux-ghcup-0.1.7"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
cabal-version: 3.0
|
||||
name: ghcup
|
||||
version: 0.1.5
|
||||
version: 0.1.7
|
||||
synopsis: ghc toolchain installer as an exe/library
|
||||
description:
|
||||
A rewrite of the shell script ghcup, for providing
|
||||
|
||||
@@ -50,7 +50,7 @@ import Data.Versions
|
||||
import Data.Word8
|
||||
import GHC.IO.Exception
|
||||
import HPath
|
||||
import HPath.IO
|
||||
import HPath.IO hiding ( hideError )
|
||||
import Haskus.Utils.Variant.Excepts
|
||||
import Optics
|
||||
import Prelude hiding ( abs
|
||||
@@ -137,13 +137,18 @@ installGHCBin bDls ver pfreq@(PlatformRequest {..}) = do
|
||||
lift $ $(logInfo) "Installing GHC (this may take a while)"
|
||||
lEM $ execLogged "./configure"
|
||||
False
|
||||
["--prefix=" <> toFilePath inst]
|
||||
(["--prefix=" <> toFilePath inst] ++ alpineArgs)
|
||||
[rel|ghc-configure|]
|
||||
(Just path)
|
||||
Nothing
|
||||
lEM $ make ["install"] (Just path)
|
||||
pure ()
|
||||
|
||||
alpineArgs
|
||||
| ver >= [vver|8.2.2|]
|
||||
, Linux Alpine <- _rPlatform = ["--disable-ld-override"]
|
||||
| otherwise = []
|
||||
|
||||
|
||||
installCabalBin :: ( MonadMask m
|
||||
, MonadCatch m
|
||||
|
||||
@@ -50,24 +50,6 @@ ghc_7103_64_darwin = DownloadInfo
|
||||
(Just [rel|ghc-7.10.3|])
|
||||
"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|])
|
||||
"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|])
|
||||
"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|])
|
||||
"8b83dfa8b85ba45e24768337254e6eb23c0855df1a5168671a3a8090b6d0964e"
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -100,29 +82,23 @@ ghc_802_32_deb8 = DownloadInfo
|
||||
(Just [rel|ghc-8.0.2|])
|
||||
"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|])
|
||||
"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|])
|
||||
"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|]
|
||||
ghc_802_64_alpine :: DownloadInfo
|
||||
ghc_802_64_alpine = DownloadInfo
|
||||
[uri|https://files.hasufell.de/ghc/ghc-8.0.2-x86_64-alpine-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.0.2|])
|
||||
"7f9ef3e048ca6f2a2a589e6c168d8c7699fbe32b1b39a9d7c72eff9b26e90c67"
|
||||
"517783b660a27ebf95b2568d47292fd633d5f9a4de4c80ad1ccf05e1b9d7313f"
|
||||
|
||||
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|]
|
||||
ghc_802_32_alpine :: DownloadInfo
|
||||
ghc_802_32_alpine = DownloadInfo
|
||||
[uri|https://files.hasufell.de/ghc/ghc-8.0.2-i386-alpine-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.0.2|])
|
||||
"815c68181013cd3f4dc748ddb5502a5e7a1a4011ba57d8eff6d66da411c72e84"
|
||||
"b4cd12a1048b2fff2f23c9eec0dd3a1174d54d017f8d79ec79af4534118e6881"
|
||||
|
||||
|
||||
|
||||
@@ -168,17 +144,17 @@ ghc_822_64_darwin = DownloadInfo
|
||||
(Just [rel|ghc-8.2.2|])
|
||||
"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|]
|
||||
ghc_822_32_alpine :: DownloadInfo
|
||||
ghc_822_32_alpine = DownloadInfo
|
||||
[uri|https://files.hasufell.de/ghc/ghc-8.2.2-i386-alpine-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.2.2|])
|
||||
"9e99aaeaec4b2c6d660d80246c0d4dbd41fda88f1eb7a908b29dc8fa8d663949"
|
||||
"467534c32552cfd318753112dbc70af003693aad4b0081f2a07e61f5b5ea2c22"
|
||||
|
||||
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|]
|
||||
ghc_822_64_alpine :: DownloadInfo
|
||||
ghc_822_64_alpine = DownloadInfo
|
||||
[uri|https://files.hasufell.de/ghc/ghc-8.2.2-x86_64-alpine-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.2.2|])
|
||||
"cd351c704b92b9af23994024df07de8ca7090ea7675d5c8b14b2be857a46d804"
|
||||
"adcf3a320a3c402aba07ae9586990dc3c0b550e96aeffb1b9e194313d3ba716d"
|
||||
|
||||
|
||||
|
||||
@@ -213,23 +189,7 @@ ghc_841_64_darwin = DownloadInfo
|
||||
(Just [rel|ghc-8.4.1|])
|
||||
"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|])
|
||||
"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|])
|
||||
"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|])
|
||||
"e5feee34b58c1a1cd6c270fbe696c178a4649675398f4e0d56a4bfad9641b736"
|
||||
|
||||
|
||||
|
||||
@@ -269,23 +229,6 @@ ghc_842_64_darwin = DownloadInfo
|
||||
(Just [rel|ghc-8.4.2|])
|
||||
"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|])
|
||||
"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|])
|
||||
"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|])
|
||||
"a43ac57214764717f0ffe515ef47b84e938f0a4fa8ff875773d6ba315b940835"
|
||||
|
||||
|
||||
|
||||
@@ -324,17 +267,6 @@ ghc_843_64_darwin = DownloadInfo
|
||||
(Just [rel|ghc-8.4.3|])
|
||||
"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|])
|
||||
"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|])
|
||||
"3a9a1ceb8eef234023fc36600245a03772bcb46b2abac41f6394104feaec8c43"
|
||||
|
||||
|
||||
|
||||
@@ -380,23 +312,17 @@ ghc_844_64_darwin = DownloadInfo
|
||||
(Just [rel|ghc-8.4.4|])
|
||||
"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|]
|
||||
ghc_844_32_alpine :: DownloadInfo
|
||||
ghc_844_32_alpine = DownloadInfo
|
||||
[uri|https://files.hasufell.de/ghc/ghc-8.4.4-i386-alpine-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.4.4|])
|
||||
"44fbd142d1c355d6110595c59c760e2c73866ff9259ec85ebf814edb244d1940"
|
||||
"892888d388ef5c9cadf5cfba1146d62237c25b9b066fb62fee940b2b285fd308"
|
||||
|
||||
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|]
|
||||
ghc_844_64_alpine :: DownloadInfo
|
||||
ghc_844_64_alpine = DownloadInfo
|
||||
[uri|https://files.hasufell.de/ghc/ghc-8.4.4-x86_64-alpine-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.4.4|])
|
||||
"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|])
|
||||
"356f49b1acee0b0267fd8ca687aede14d43cee1f231d7f8a37525d50f07e1428"
|
||||
"336affff8314d3dc5e85d9c09015ae2ba8a7658b459c8c8ae77ecaa551a56ae7"
|
||||
|
||||
|
||||
|
||||
@@ -435,23 +361,6 @@ ghc_861_64_darwin = DownloadInfo
|
||||
(Just [rel|ghc-8.6.1|])
|
||||
"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|])
|
||||
"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|])
|
||||
"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|])
|
||||
"12b9b5b78be94b57d301b2a31eda145928110fd103fbbcc1e6e6966237a30ed2"
|
||||
|
||||
|
||||
|
||||
@@ -484,17 +393,6 @@ ghc_862_64_darwin = DownloadInfo
|
||||
(Just [rel|ghc-8.6.2|])
|
||||
"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|])
|
||||
"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|])
|
||||
"a1add75822258fbb6e57ad049919ef5f757bac10d3c7a6eaeee50d2521ffeb4e"
|
||||
|
||||
|
||||
|
||||
@@ -540,24 +438,6 @@ ghc_863_64_darwin = DownloadInfo
|
||||
(Just [rel|ghc-8.6.3|])
|
||||
"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|])
|
||||
"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|])
|
||||
"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|])
|
||||
"dc0b53a7f0e52232930abcfad427ccd0917c90797203fbc7b5d72f5335d85a7d"
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -596,17 +476,6 @@ ghc_864_64_darwin = DownloadInfo
|
||||
(Just [rel|ghc-8.6.4|])
|
||||
"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|])
|
||||
"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|])
|
||||
"21b39b89edadbb6ab5b98d46dfacc0fd0799f9b16465a05c64e48f41dcbb1f7a"
|
||||
|
||||
|
||||
|
||||
@@ -652,23 +521,17 @@ ghc_865_64_darwin = DownloadInfo
|
||||
(Just [rel|ghc-8.6.5|])
|
||||
"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|]
|
||||
ghc_865_64_alpine :: DownloadInfo
|
||||
ghc_865_64_alpine = DownloadInfo
|
||||
[uri|https://files.hasufell.de/ghc/ghc-8.6.5-x86_64-alpine-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.6.5|])
|
||||
"ec6d0417822c3bfafc7aea0b0402294901231bc5d72dd17a2b849e3f44850695"
|
||||
"b9d3ed7f7aa24ef2d58bb579252289caa0b8877adee3685e3af2fb73d440afdc"
|
||||
|
||||
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|]
|
||||
ghc_865_32_alpine :: DownloadInfo
|
||||
ghc_865_32_alpine = DownloadInfo
|
||||
[uri|https://files.hasufell.de/ghc/ghc-8.6.5-i386-alpine-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.6.5|])
|
||||
"db13ff894faf431f9c64db21c090a1e4e42803794d56720a704c50166c7ca05d"
|
||||
|
||||
ghc_865_64_freebsd :: DownloadInfo
|
||||
ghc_865_64_freebsd = DownloadInfo
|
||||
[uri|https://files.hasufell.de/ghc/ghc-8.6.5-x86_64-portbld-freebsd.tar.xz|]
|
||||
(Just [rel|ghc-8.6.5|])
|
||||
"83a3059a630d40a98e26cb5b520354e12094a96e36ba2f5ab002dad94cf2fb37"
|
||||
"3737837550d9b177acfe150e3a3cd4545427ded020487c2ed5194d7b8f116349"
|
||||
|
||||
|
||||
|
||||
@@ -714,17 +577,6 @@ ghc_881_64_darwin = DownloadInfo
|
||||
(Just [rel|ghc-8.8.1|])
|
||||
"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|])
|
||||
"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|])
|
||||
"3f5462341a455a5677fba5cb24da8938878261069da5ee4234b1c6ac2d2ef77e"
|
||||
|
||||
|
||||
|
||||
@@ -770,17 +622,6 @@ ghc_882_64_darwin = DownloadInfo
|
||||
(Just [rel|ghc-8.8.2|])
|
||||
"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|])
|
||||
"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|])
|
||||
"4ea4a81b6b5ba807c93b21b3cddf1f1b4b0fc1ce018cf6aa255a9ee40137b278"
|
||||
|
||||
|
||||
|
||||
@@ -826,23 +667,62 @@ ghc_883_64_darwin = DownloadInfo
|
||||
(Just [rel|ghc-8.8.3|])
|
||||
"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|])
|
||||
"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|])
|
||||
"7a5f41646d06777e75636291a1855d60a0984552bbdf33c3d107565d302f38a4"
|
||||
|
||||
ghc_883_64_freebsd :: DownloadInfo
|
||||
ghc_883_64_freebsd = DownloadInfo
|
||||
[uri|https://files.hasufell.de/ghc/ghc-8.8.3-x86_64-portbld-freebsd.tar.xz|]
|
||||
(Just [rel|ghc-8.8.3|])
|
||||
"569719075b4d14b3875a899df522090ae31e6fe085e6dffe518e875b09a2f0be"
|
||||
-----------------
|
||||
--[ GHC 8.8.4 ]--
|
||||
-----------------
|
||||
|
||||
|
||||
|
||||
ghc_884_64_deb8 :: DownloadInfo
|
||||
ghc_884_64_deb8 = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-deb8-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.8.4|])
|
||||
"51a36892f1264744195274187298d13ac62bce2da86d4ddf76d8054ab90f2feb"
|
||||
|
||||
ghc_884_64_deb9 :: DownloadInfo
|
||||
ghc_884_64_deb9 = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-deb9-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.8.4|])
|
||||
"4862559d221153caf978f4bf2c15a82c114d1e1f43b298b2ecff2ac94b586d20"
|
||||
|
||||
ghc_884_32_deb9 :: DownloadInfo
|
||||
ghc_884_32_deb9 = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-i386-deb9-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.8.4|])
|
||||
"43dd954910c9027694312cef0aabc7774d102d0422b7172802cfb72f7d5da3a0"
|
||||
|
||||
ghc_884_64_fedora :: DownloadInfo
|
||||
ghc_884_64_fedora = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-fedora27-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.8.4|])
|
||||
"f32e37f8aa03e74bad533ae02f62dc27a4521e78199576af490888ba34b515db"
|
||||
|
||||
ghc_884_64_centos :: DownloadInfo
|
||||
ghc_884_64_centos = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-centos7-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.8.4|])
|
||||
"a12aa4b1fd3c64240a8a6d15196d33e1c0e0d55b51ff78c387242126d0ef7910"
|
||||
|
||||
ghc_884_64_darwin :: DownloadInfo
|
||||
ghc_884_64_darwin = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-apple-darwin.tar.xz|]
|
||||
(Just [rel|ghc-8.8.4|])
|
||||
"e80a789e9d8cfb41dd87f3284b75432427c4461c1731d220d04ead8733ccdb5e"
|
||||
|
||||
ghc_884_64_alpine :: DownloadInfo
|
||||
ghc_884_64_alpine = DownloadInfo
|
||||
[uri|https://files.hasufell.de/ghc/ghc-8.8.4-x86_64-alpine-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.8.4|])
|
||||
"90c6a1661de7f20c7d169cd6270125035b3332063e45103ce028df0beecf434e"
|
||||
|
||||
ghc_884_32_alpine :: DownloadInfo
|
||||
ghc_884_32_alpine = DownloadInfo
|
||||
[uri|https://files.hasufell.de/ghc/ghc-8.8.4-i386-alpine-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.8.4|])
|
||||
"1d18e89ee031197e55c48683e78a7ffc67601ac5fd9f73aac555eb064b3859a2"
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -900,12 +780,11 @@ ghc_8101_64_alpine = DownloadInfo
|
||||
(Just [rel|ghc-8.10.1-x86_64-unknown-linux|])
|
||||
"cb13b645d103e2fba2eb8dfcc4e5f2fbd9550c00c4df42f342b4210436dcb8a8"
|
||||
|
||||
|
||||
ghc_8101_64_freebsd :: DownloadInfo
|
||||
ghc_8101_64_freebsd = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/ghc/8.10.1/ghc-8.10.1-x86_64-portbld-freebsd.tar.xz|]
|
||||
ghc_8101_32_alpine :: DownloadInfo
|
||||
ghc_8101_32_alpine = DownloadInfo
|
||||
[uri|https://files.hasufell.de/ghc/ghc-8.10.1-i386-alpine-linux.tar.xz|]
|
||||
(Just [rel|ghc-8.10.1|])
|
||||
"52d27dbf9de82005dde9bfc521bff612e381b5228af194259c2306d2b75825c2"
|
||||
"7360cc6b29e9b4ab08f6ea5bc3bcca6f5c216933e81ef1620dcdd700f1fdb289"
|
||||
|
||||
|
||||
|
||||
@@ -938,12 +817,6 @@ cabal_2410_64_alpine = DownloadInfo
|
||||
Nothing
|
||||
"720bef015f834a03deb7180be2952a44e7c2e6c8429137570404c3de4f46b984"
|
||||
|
||||
cabal_2410_64_freebsd :: DownloadInfo
|
||||
cabal_2410_64_freebsd = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-portbld-freebsd.tar.xz|]
|
||||
Nothing
|
||||
"33b7d37ea0688c93436eac9ec139d9967687875aa1fa13f2bb73bf05a9a59a1d"
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -970,12 +843,6 @@ cabal_3000_64_darwin = DownloadInfo
|
||||
Nothing
|
||||
"d4857e068560515e4cbb0e8ca124c370e07892f2a28804d87152834e5fe2b845"
|
||||
|
||||
cabal_3000_64_freebsd :: DownloadInfo
|
||||
cabal_3000_64_freebsd = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-portbld-freebsd.tar.xz|]
|
||||
Nothing
|
||||
"2240842ab2ae7b955feb8b526aba1c7991248c803383107adf39990441294d2a"
|
||||
|
||||
cabal_3000_32_alpine :: DownloadInfo
|
||||
cabal_3000_32_alpine = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-i386-alpine-linux-musl.tar.xz|]
|
||||
@@ -1013,12 +880,6 @@ cabal_3200_64_darwin = DownloadInfo
|
||||
Nothing
|
||||
"9197c17d2ece0f934f5b33e323cfcaf486e4681952687bc3d249488ce3cbe0e9"
|
||||
|
||||
cabal_3200_64_freebsd :: DownloadInfo
|
||||
cabal_3200_64_freebsd = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-portbld-freebsd.tar.xz|]
|
||||
Nothing
|
||||
"f1e35151cca91541b0fb4bdb3ed18f3c348038eab751845ad19c11307d66c273"
|
||||
|
||||
cabal_3200_32_alpine :: DownloadInfo
|
||||
cabal_3200_32_alpine = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-i386-alpine-linux-musl.tar.xz|]
|
||||
@@ -1039,32 +900,25 @@ cabal_3200_64_alpine = DownloadInfo
|
||||
-------------
|
||||
|
||||
|
||||
ghcup_015_32_linux :: DownloadInfo
|
||||
ghcup_015_32_linux = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~ghcup/0.1.5/i386-linux-ghcup-0.1.5|]
|
||||
ghcup_017_32_linux :: DownloadInfo
|
||||
ghcup_017_32_linux = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~ghcup/0.1.7/i386-linux-ghcup-0.1.7|]
|
||||
Nothing
|
||||
"3707f60d703912709335dc0103fb1af5e5dfa83050825a8156b56bc81760b2a8"
|
||||
"1651cc196e4fdd18995054edebe109833535961f0e2b0d505f1714e83f3e8808"
|
||||
|
||||
|
||||
ghcup_015_64_linux :: DownloadInfo
|
||||
ghcup_015_64_linux = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~ghcup/0.1.5/x86_64-linux-ghcup-0.1.5|]
|
||||
ghcup_017_64_linux :: DownloadInfo
|
||||
ghcup_017_64_linux = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~ghcup/0.1.7/x86_64-linux-ghcup-0.1.7|]
|
||||
Nothing
|
||||
"cfdb01dde77121859b5d90b6707238b54e23787fcbb3003e18ab52a5dbfee330"
|
||||
"a1d1e8b3c2b00186957c927d09f2cfb457bbfa65c1ab562ff5683963e205bdd5"
|
||||
|
||||
|
||||
ghcup_015_64_freebsd :: DownloadInfo
|
||||
ghcup_015_64_freebsd = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~ghcup/0.1.5/x86_64-portbld-freebsd-ghcup-0.1.5|]
|
||||
ghcup_017_64_darwin10_13 :: DownloadInfo
|
||||
ghcup_017_64_darwin10_13 = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~ghcup/0.1.7/x86_64-apple-darwin-ghcup-0.1.7|]
|
||||
Nothing
|
||||
"6dd57cc5958ef3a6ba7de22808d9292d31dada8af95277578b69be35fc090194"
|
||||
|
||||
|
||||
ghcup_015_64_darwin10_13 :: DownloadInfo
|
||||
ghcup_015_64_darwin10_13 = DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~ghcup/0.1.5/x86_64-apple-darwin-ghcup-0.1.5-p2|]
|
||||
Nothing
|
||||
"456770c3b1510d44a0e401e0677faa9f5670ef81a11646f47cbba1b95404e788"
|
||||
"00b2c04755d2b40e568afbfc2a485c36697fc55f210eae0d4cd80413c71032ed"
|
||||
|
||||
|
||||
|
||||
@@ -1104,8 +958,6 @@ ghcupDownloads = M.fromList
|
||||
, M.fromList [(Nothing, ghc_7103_64_cenots67)]
|
||||
)
|
||||
, (Darwin , M.fromList [(Nothing, ghc_7103_64_darwin)])
|
||||
, (FreeBSD , M.fromList [(Nothing, ghc_7103_64_freebsd)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_7103_64_musl)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1120,7 +972,6 @@ ghcupDownloads = M.fromList
|
||||
, ( Linux AmazonLinux
|
||||
, M.fromList [(Nothing, ghc_7103_32_cenots67)]
|
||||
)
|
||||
, (FreeBSD, M.fromList [(Nothing, ghc_7103_32_freebsd)])
|
||||
]
|
||||
)
|
||||
]
|
||||
@@ -1151,8 +1002,7 @@ ghcupDownloads = M.fromList
|
||||
]
|
||||
)
|
||||
, (Darwin , M.fromList [(Nothing, ghc_802_64_darwin)])
|
||||
, (FreeBSD , M.fromList [(Nothing, ghc_802_64_freebsd)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_802_64_musl)])
|
||||
, (Linux Alpine , M.fromList [(Nothing, ghc_802_64_alpine)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1166,7 +1016,7 @@ ghcupDownloads = M.fromList
|
||||
, (Just [vers|7|], ghc_802_32_deb7)
|
||||
]
|
||||
)
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_802_32_musl)])
|
||||
, (Linux Alpine , M.fromList [(Nothing, ghc_802_32_alpine)])
|
||||
]
|
||||
)
|
||||
]
|
||||
@@ -1197,13 +1047,7 @@ ghcupDownloads = M.fromList
|
||||
]
|
||||
)
|
||||
, (Darwin, M.fromList [(Nothing, ghc_822_64_darwin)])
|
||||
, ( FreeBSD
|
||||
, M.fromList
|
||||
[ (Nothing , ghc_822_64_freebsd11)
|
||||
, (Just [vers|10|], ghc_822_64_freebsd10)
|
||||
, (Just [vers|11|], ghc_822_64_freebsd11)
|
||||
]
|
||||
)
|
||||
, (Linux Alpine , M.fromList [(Nothing, ghc_822_64_alpine)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1219,6 +1063,7 @@ ghcupDownloads = M.fromList
|
||||
, (Just [vers|7|], ghc_822_32_deb7)
|
||||
]
|
||||
)
|
||||
, (Linux Alpine , M.fromList [(Nothing, ghc_822_32_alpine)])
|
||||
]
|
||||
)
|
||||
]
|
||||
@@ -1245,8 +1090,6 @@ ghcupDownloads = M.fromList
|
||||
, (Linux Mint , M.fromList [(Nothing, ghc_841_64_fedora)])
|
||||
, (Linux Debian, M.fromList [(Nothing, ghc_841_64_deb8)])
|
||||
, (Darwin , M.fromList [(Nothing, ghc_841_64_darwin)])
|
||||
, (FreeBSD , M.fromList [(Nothing, ghc_841_64_freebsd)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_841_64_musl)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1257,7 +1100,6 @@ ghcupDownloads = M.fromList
|
||||
, (Linux Ubuntu, M.fromList [(Nothing, ghc_841_32_deb8)])
|
||||
, (Linux Mint , M.fromList [(Nothing, ghc_841_32_deb8)])
|
||||
, (Linux Debian, M.fromList [(Nothing, ghc_841_32_deb8)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_841_32_musl)])
|
||||
]
|
||||
)
|
||||
]
|
||||
@@ -1295,8 +1137,6 @@ ghcupDownloads = M.fromList
|
||||
]
|
||||
)
|
||||
, (Darwin , M.fromList [(Nothing, ghc_842_64_darwin)])
|
||||
, (FreeBSD , M.fromList [(Nothing, ghc_842_64_freebsd)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_842_64_musl)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1307,7 +1147,6 @@ ghcupDownloads = M.fromList
|
||||
, (Linux Ubuntu, M.fromList [(Nothing, ghc_842_32_deb8)])
|
||||
, (Linux Mint , M.fromList [(Nothing, ghc_842_32_deb8)])
|
||||
, (Linux Debian, M.fromList [(Nothing, ghc_842_32_deb8)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_842_32_musl)])
|
||||
]
|
||||
)
|
||||
]
|
||||
@@ -1345,7 +1184,6 @@ ghcupDownloads = M.fromList
|
||||
]
|
||||
)
|
||||
, (Darwin , M.fromList [(Nothing, ghc_843_64_darwin)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_843_64_musl)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1356,7 +1194,6 @@ ghcupDownloads = M.fromList
|
||||
, (Linux Ubuntu, M.fromList [(Nothing, ghc_843_32_deb8)])
|
||||
, (Linux Mint , M.fromList [(Nothing, ghc_843_32_deb8)])
|
||||
, (Linux Debian, M.fromList [(Nothing, ghc_843_32_deb8)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_843_32_musl)])
|
||||
]
|
||||
)
|
||||
]
|
||||
@@ -1399,8 +1236,7 @@ ghcupDownloads = M.fromList
|
||||
]
|
||||
)
|
||||
, (Darwin , M.fromList [(Nothing, ghc_844_64_darwin)])
|
||||
, (FreeBSD , M.fromList [(Nothing, ghc_844_64_freebsd)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_844_64_musl)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_844_64_alpine)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1411,7 +1247,7 @@ ghcupDownloads = M.fromList
|
||||
, (Linux Ubuntu, M.fromList [(Nothing, ghc_844_32_deb8)])
|
||||
, (Linux Mint , M.fromList [(Nothing, ghc_844_32_deb8)])
|
||||
, (Linux Debian, M.fromList [(Nothing, ghc_844_32_deb8)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_844_32_musl)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_844_32_alpine)])
|
||||
]
|
||||
)
|
||||
]
|
||||
@@ -1449,8 +1285,6 @@ ghcupDownloads = M.fromList
|
||||
]
|
||||
)
|
||||
, (Darwin , M.fromList [(Nothing, ghc_861_64_darwin)])
|
||||
, (FreeBSD , M.fromList [(Nothing, ghc_861_64_freebsd)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_861_64_musl)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1461,7 +1295,6 @@ ghcupDownloads = M.fromList
|
||||
, (Linux Ubuntu, M.fromList [(Nothing, ghc_861_32_deb8)])
|
||||
, (Linux Mint , M.fromList [(Nothing, ghc_861_32_deb8)])
|
||||
, (Linux Debian, M.fromList [(Nothing, ghc_861_32_deb8)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_861_32_musl)])
|
||||
]
|
||||
)
|
||||
]
|
||||
@@ -1494,7 +1327,6 @@ ghcupDownloads = M.fromList
|
||||
, (Linux Mint , M.fromList [(Nothing, ghc_862_64_deb8)])
|
||||
, (Linux Debian, M.fromList [(Nothing, ghc_862_64_deb8)])
|
||||
, (Darwin , M.fromList [(Nothing, ghc_862_64_darwin)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_862_64_musl)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1505,7 +1337,6 @@ ghcupDownloads = M.fromList
|
||||
, (Linux Ubuntu, M.fromList [(Nothing, ghc_862_32_deb8)])
|
||||
, (Linux Mint , M.fromList [(Nothing, ghc_862_32_deb8)])
|
||||
, (Linux Debian, M.fromList [(Nothing, ghc_862_32_deb8)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_862_32_musl)])
|
||||
]
|
||||
)
|
||||
]
|
||||
@@ -1548,8 +1379,6 @@ ghcupDownloads = M.fromList
|
||||
]
|
||||
)
|
||||
, (Darwin , M.fromList [(Nothing, ghc_863_64_darwin)])
|
||||
, (FreeBSD , M.fromList [(Nothing, ghc_863_64_freebsd)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_863_64_musl)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1560,7 +1389,6 @@ ghcupDownloads = M.fromList
|
||||
, (Linux Ubuntu, M.fromList [(Nothing, ghc_863_32_deb8)])
|
||||
, (Linux Mint , M.fromList [(Nothing, ghc_863_32_deb8)])
|
||||
, (Linux Debian, M.fromList [(Nothing, ghc_863_32_deb8)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_863_32_musl)])
|
||||
]
|
||||
)
|
||||
]
|
||||
@@ -1598,7 +1426,6 @@ ghcupDownloads = M.fromList
|
||||
]
|
||||
)
|
||||
, (Darwin , M.fromList [(Nothing, ghc_864_64_darwin)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_864_64_musl)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1609,7 +1436,6 @@ ghcupDownloads = M.fromList
|
||||
, (Linux Ubuntu, M.fromList [(Nothing, ghc_864_32_deb9)])
|
||||
, (Linux Mint , M.fromList [(Nothing, ghc_864_32_deb9)])
|
||||
, (Linux Debian, M.fromList [(Nothing, ghc_864_32_deb9)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_864_32_musl)])
|
||||
]
|
||||
)
|
||||
]
|
||||
@@ -1652,8 +1478,7 @@ ghcupDownloads = M.fromList
|
||||
]
|
||||
)
|
||||
, (Darwin , M.fromList [(Nothing, ghc_865_64_darwin)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_865_64_musl)])
|
||||
, (FreeBSD, M.fromList [(Nothing, ghc_865_64_freebsd)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_865_64_alpine)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1664,7 +1489,7 @@ ghcupDownloads = M.fromList
|
||||
, (Linux Ubuntu, M.fromList [(Nothing, ghc_865_32_deb9)])
|
||||
, (Linux Mint , M.fromList [(Nothing, ghc_865_32_deb9)])
|
||||
, (Linux Debian, M.fromList [(Nothing, ghc_865_32_deb9)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_865_32_musl)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_865_32_alpine)])
|
||||
]
|
||||
)
|
||||
]
|
||||
@@ -1707,7 +1532,6 @@ ghcupDownloads = M.fromList
|
||||
]
|
||||
)
|
||||
, (Darwin , M.fromList [(Nothing, ghc_881_64_darwin)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_881_64_musl)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1718,7 +1542,6 @@ ghcupDownloads = M.fromList
|
||||
, (Linux Ubuntu, M.fromList [(Nothing, ghc_881_32_deb9)])
|
||||
, (Linux Mint , M.fromList [(Nothing, ghc_881_32_deb9)])
|
||||
, (Linux Debian, M.fromList [(Nothing, ghc_881_32_deb9)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_881_32_musl)])
|
||||
]
|
||||
)
|
||||
]
|
||||
@@ -1761,7 +1584,6 @@ ghcupDownloads = M.fromList
|
||||
]
|
||||
)
|
||||
, (Darwin , M.fromList [(Nothing, ghc_882_64_darwin)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_882_64_musl)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1772,14 +1594,13 @@ ghcupDownloads = M.fromList
|
||||
, (Linux Ubuntu, M.fromList [(Nothing, ghc_882_32_deb9)])
|
||||
, (Linux Mint , M.fromList [(Nothing, ghc_882_32_deb9)])
|
||||
, (Linux Debian, M.fromList [(Nothing, ghc_882_32_deb9)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_882_32_musl)])
|
||||
]
|
||||
)
|
||||
]
|
||||
)
|
||||
, ( [vver|8.8.3|]
|
||||
, VersionInfo
|
||||
[Recommended, Base [pver|4.13.0.0|]]
|
||||
[Base [pver|4.13.0.0|]]
|
||||
(Just
|
||||
[uri|https://downloads.haskell.org/~ghc/8.8.3/docs/html/users_guide/8.8.3-notes.html|]
|
||||
)
|
||||
@@ -1815,8 +1636,6 @@ ghcupDownloads = M.fromList
|
||||
]
|
||||
)
|
||||
, (Darwin , M.fromList [(Nothing, ghc_883_64_darwin)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_883_64_musl)])
|
||||
, (FreeBSD , M.fromList [(Nothing, ghc_883_64_freebsd)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1827,7 +1646,60 @@ ghcupDownloads = M.fromList
|
||||
, (Linux Ubuntu, M.fromList [(Nothing, ghc_883_32_deb9)])
|
||||
, (Linux Mint , M.fromList [(Nothing, ghc_883_32_deb9)])
|
||||
, (Linux Debian, M.fromList [(Nothing, ghc_883_32_deb9)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_883_32_musl)])
|
||||
]
|
||||
)
|
||||
]
|
||||
)
|
||||
, ( [vver|8.8.4|]
|
||||
, VersionInfo
|
||||
[Recommended, Base [pver|4.13.0.0|]]
|
||||
(Just
|
||||
[uri|https://downloads.haskell.org/~ghc/8.8.4/docs/html/users_guide/8.8.4-notes.html|]
|
||||
)
|
||||
(Just $ DownloadInfo
|
||||
[uri|https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-src.tar.xz|]
|
||||
(Just [rel|ghc-8.8.4|])
|
||||
"f0505e38b2235ff9f1090b51f44d6c8efd371068e5a6bb42a2a6d8b67b5ffc2d"
|
||||
)
|
||||
$ M.fromList
|
||||
[ ( A_64
|
||||
, M.fromList
|
||||
[ ( Linux UnknownLinux
|
||||
, M.fromList [(Nothing, ghc_884_64_fedora)]
|
||||
)
|
||||
, (Linux Fedora, M.fromList [(Nothing, ghc_884_64_fedora)])
|
||||
, (Linux CentOS, M.fromList [(Nothing, ghc_884_64_centos)])
|
||||
, (Linux RedHat, M.fromList [(Nothing, ghc_884_64_centos)])
|
||||
, ( Linux AmazonLinux
|
||||
, M.fromList [(Nothing, ghc_884_64_centos)]
|
||||
)
|
||||
, ( Linux Ubuntu
|
||||
, M.fromList
|
||||
[ (Nothing , ghc_884_64_fedora)
|
||||
, (Just [vers|16.04|], ghc_884_64_deb9)
|
||||
, (Just [vers|18.04|], ghc_884_64_deb9)
|
||||
]
|
||||
)
|
||||
, (Linux Mint, M.fromList [(Nothing, ghc_884_64_deb9)])
|
||||
, ( Linux Debian
|
||||
, M.fromList
|
||||
[ (Nothing , ghc_884_64_deb9)
|
||||
, (Just [vers|8|], ghc_884_64_deb8)
|
||||
]
|
||||
)
|
||||
, (Darwin, M.fromList [(Nothing, ghc_884_64_darwin)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_884_64_alpine)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
, M.fromList
|
||||
[ ( Linux UnknownLinux
|
||||
, M.fromList [(Nothing, ghc_884_32_deb9)]
|
||||
)
|
||||
, (Linux Ubuntu, M.fromList [(Nothing, ghc_884_32_deb9)])
|
||||
, (Linux Mint , M.fromList [(Nothing, ghc_884_32_deb9)])
|
||||
, (Linux Debian, M.fromList [(Nothing, ghc_884_32_deb9)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_884_32_alpine)])
|
||||
]
|
||||
)
|
||||
]
|
||||
@@ -1882,7 +1754,6 @@ ghcupDownloads = M.fromList
|
||||
)
|
||||
, (Darwin , M.fromList [(Nothing, ghc_8101_64_darwin)])
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_8101_64_alpine)])
|
||||
, (FreeBSD , M.fromList [(Nothing, ghc_8101_64_freebsd)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1898,6 +1769,7 @@ ghcupDownloads = M.fromList
|
||||
, (Just [vers|9|], ghc_8101_32_deb9)
|
||||
]
|
||||
)
|
||||
, (Linux Alpine, M.fromList [(Nothing, ghc_8101_32_alpine)])
|
||||
]
|
||||
)
|
||||
]
|
||||
@@ -1925,7 +1797,6 @@ ghcupDownloads = M.fromList
|
||||
)
|
||||
, (Linux Alpine, M.fromList [(Nothing, cabal_2410_64_alpine)])
|
||||
, (Darwin , M.fromList [(Nothing, cabal_2410_64_darwin)])
|
||||
, (FreeBSD, M.fromList [(Nothing, cabal_2410_64_freebsd)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1956,7 +1827,6 @@ ghcupDownloads = M.fromList
|
||||
)
|
||||
, (Linux Alpine, M.fromList [(Nothing, cabal_3000_64_alpine)])
|
||||
, (Darwin , M.fromList [(Nothing, cabal_3000_64_darwin)])
|
||||
, (FreeBSD, M.fromList [(Nothing, cabal_3000_64_freebsd)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -1988,7 +1858,6 @@ ghcupDownloads = M.fromList
|
||||
)
|
||||
, (Linux Alpine, M.fromList [(Nothing, cabal_3200_64_alpine)])
|
||||
, (Darwin , M.fromList [(Nothing, cabal_3200_64_darwin)])
|
||||
, (FreeBSD, M.fromList [(Nothing, cabal_3200_64_freebsd)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
@@ -2005,7 +1874,7 @@ ghcupDownloads = M.fromList
|
||||
)
|
||||
, ( GHCup
|
||||
, M.fromList
|
||||
[ ( [vver|0.1.5|]
|
||||
[ ( [vver|0.1.7|]
|
||||
, VersionInfo
|
||||
[Recommended, Latest]
|
||||
(Just
|
||||
@@ -2016,16 +1885,15 @@ ghcupDownloads = M.fromList
|
||||
[ ( A_64
|
||||
, M.fromList
|
||||
[ ( Linux UnknownLinux
|
||||
, M.fromList [(Nothing, ghcup_015_64_linux)]
|
||||
, M.fromList [(Nothing, ghcup_017_64_linux)]
|
||||
)
|
||||
, (Darwin , M.fromList [(Nothing, ghcup_015_64_darwin10_13)])
|
||||
, (FreeBSD, M.fromList [(Nothing, ghcup_015_64_freebsd)])
|
||||
, (Darwin , M.fromList [(Nothing, ghcup_017_64_darwin10_13)])
|
||||
]
|
||||
)
|
||||
, ( A_32
|
||||
, M.fromList
|
||||
[ ( Linux UnknownLinux
|
||||
, M.fromList [(Nothing, ghcup_015_32_linux)]
|
||||
, M.fromList [(Nothing, ghcup_017_32_linux)]
|
||||
)
|
||||
]
|
||||
)
|
||||
|
||||
@@ -123,23 +123,6 @@ toolRequirements = M.fromList
|
||||
)
|
||||
]
|
||||
)
|
||||
, ( FreeBSD
|
||||
, M.fromList
|
||||
[ ( Nothing
|
||||
, Requirements
|
||||
[ "curl"
|
||||
, "gcc"
|
||||
, "gmp"
|
||||
, "gmake"
|
||||
, "ncurses"
|
||||
, "perl5"
|
||||
, "libffi"
|
||||
, "libiconv"
|
||||
]
|
||||
""
|
||||
)
|
||||
]
|
||||
)
|
||||
]
|
||||
)
|
||||
]
|
||||
|
||||
@@ -50,7 +50,7 @@ import Data.Versions
|
||||
import Data.Word8
|
||||
import GHC.IO.Exception
|
||||
import HPath
|
||||
import HPath.IO as HIO
|
||||
import HPath.IO as HIO hiding ( hideError )
|
||||
import Haskus.Utils.Variant.Excepts
|
||||
import Optics
|
||||
import Prelude hiding ( abs
|
||||
@@ -270,7 +270,10 @@ getDownloadInfo :: Tool
|
||||
getDownloadInfo t v (PlatformRequest a p mv) dls = maybe
|
||||
(Left NoDownload)
|
||||
Right
|
||||
(with_distro <|> without_distro_ver <|> without_distro)
|
||||
(case p of
|
||||
-- non-musl won't work on alpine
|
||||
Linux Alpine -> with_distro <|> without_distro_ver
|
||||
_ -> with_distro <|> without_distro_ver <|> without_distro)
|
||||
|
||||
where
|
||||
with_distro = distro_preview id id
|
||||
|
||||
@@ -91,18 +91,11 @@ getPlatform = do
|
||||
)
|
||||
<$> getDarwinVersion
|
||||
pure $ PlatformResult { _platform = Darwin, _distroVersion = ver }
|
||||
"freebsd" -> do
|
||||
ver <-
|
||||
(either (const Nothing) Just . versioning . decUTF8Safe)
|
||||
<$> getFreeBSDVersion
|
||||
pure $ PlatformResult { _platform = FreeBSD, _distroVersion = ver }
|
||||
what -> throwE $ NoCompatiblePlatform what
|
||||
lift $ $(logDebug) [i|Identified Platform as: #{pfr}|]
|
||||
pure pfr
|
||||
where
|
||||
getMajorVersion = T.intercalate "." . take 2 . T.split (== '.')
|
||||
getFreeBSDVersion =
|
||||
liftIO $ fmap _stdOut $ executeOut [rel|freebsd-version|] [] Nothing
|
||||
getDarwinVersion = liftIO $ fmap _stdOut $ executeOut [rel|sw_vers|]
|
||||
["-productVersion"]
|
||||
Nothing
|
||||
|
||||
@@ -102,8 +102,6 @@ data Architecture = A_64
|
||||
data Platform = Linux LinuxDistro
|
||||
-- ^ must exit
|
||||
| Darwin
|
||||
-- ^ must exit
|
||||
| FreeBSD
|
||||
deriving (Eq, GHC.Generic, Ord, Show)
|
||||
|
||||
data LinuxDistro = Debian
|
||||
|
||||
@@ -97,13 +97,11 @@ instance FromJSONKey (Maybe Versioning) where
|
||||
instance ToJSONKey Platform where
|
||||
toJSONKey = toJSONKeyText $ \case
|
||||
Darwin -> T.pack "Darwin"
|
||||
FreeBSD -> T.pack "FreeBSD"
|
||||
Linux d -> T.pack ("Linux_" <> show d)
|
||||
|
||||
instance FromJSONKey Platform where
|
||||
fromJSONKey = FromJSONKeyTextParser $ \t -> if
|
||||
| T.pack "Darwin" == t -> pure Darwin
|
||||
| T.pack "FreeBSD" == t -> pure FreeBSD
|
||||
| T.pack "Linux_" `T.isPrefixOf` t -> case
|
||||
T.stripPrefix (T.pack "Linux_") t
|
||||
of
|
||||
|
||||
@@ -45,7 +45,7 @@ import Data.Versions
|
||||
import Data.Word8
|
||||
import GHC.IO.Exception
|
||||
import HPath
|
||||
import HPath.IO
|
||||
import HPath.IO hiding ( hideError )
|
||||
import Haskus.Utils.Variant.Excepts
|
||||
import Optics
|
||||
import Prelude hiding ( abs
|
||||
|
||||
@@ -14,17 +14,20 @@ import Control.Exception ( evaluate )
|
||||
import Control.Exception.Safe
|
||||
import Control.Monad
|
||||
import Control.Monad.Reader
|
||||
import Control.Monad.Trans.State.Strict
|
||||
import Data.ByteString ( ByteString )
|
||||
import Data.Foldable
|
||||
import Data.Functor
|
||||
import Data.IORef
|
||||
import Data.Maybe
|
||||
import Data.Sequence ( Seq, (|>) )
|
||||
import Data.Text ( Text )
|
||||
import Data.Void
|
||||
import Data.Word8
|
||||
import GHC.IO.Exception
|
||||
import HPath
|
||||
import HPath.IO
|
||||
import Optics
|
||||
import HPath.IO hiding ( hideError )
|
||||
import Optics hiding ((<|), (|>))
|
||||
import System.Console.Pretty
|
||||
import System.Console.Regions
|
||||
import System.IO.Error
|
||||
@@ -40,6 +43,7 @@ import Text.Regex.Posix
|
||||
|
||||
|
||||
import qualified Control.Exception as EX
|
||||
import qualified Data.Sequence as Sq
|
||||
import qualified Data.Text as T
|
||||
import qualified Data.Text.Encoding as E
|
||||
import qualified System.Posix.Process.ByteString
|
||||
@@ -53,6 +57,7 @@ import qualified "unix-bytestring" System.Posix.IO.ByteString
|
||||
|
||||
|
||||
|
||||
|
||||
-- | Bool signals whether the regions should be cleaned.
|
||||
data StopThread = StopThread Bool
|
||||
deriving Show
|
||||
@@ -113,115 +118,140 @@ execLogged :: (MonadReader Settings m, MonadIO m, MonadThrow m)
|
||||
-> Maybe [(ByteString, ByteString)] -- ^ optional environment
|
||||
-> m (Either ProcessError ())
|
||||
execLogged exe spath args lfile chdir env = do
|
||||
Settings{..} <- ask
|
||||
ldir <- liftIO ghcupLogsDir
|
||||
logfile <- (ldir </>) <$> parseRel (toFilePath lfile <> ".log")
|
||||
liftIO $ bracket (createFile (toFilePath logfile) newFilePerms) closeFd (action verbose)
|
||||
Settings {..} <- ask
|
||||
ldir <- liftIO ghcupLogsDir
|
||||
logfile <- (ldir </>) <$> parseRel (toFilePath lfile <> ".log")
|
||||
liftIO $ bracket (createFile (toFilePath logfile) newFilePerms)
|
||||
closeFd
|
||||
(action verbose)
|
||||
where
|
||||
action verbose fd = do
|
||||
actionWithPipes $ \(stdoutRead, stdoutWrite) -> do
|
||||
-- start the thread that logs to stdout in a region
|
||||
done <- newEmptyMVar
|
||||
tid <-
|
||||
forkIO
|
||||
-- start the thread that logs to stdout
|
||||
pState <- newEmptyMVar
|
||||
done <- newEmptyMVar
|
||||
void
|
||||
$ forkOS
|
||||
$ EX.handle (\(_ :: StopThread) -> pure ())
|
||||
$ EX.handle (\(_ :: IOException) -> pure ())
|
||||
$ flip finally (putMVar done ())
|
||||
$ (if verbose then tee fd stdoutRead else printToRegion fd stdoutRead 6)
|
||||
$ (if verbose
|
||||
then tee fd stdoutRead
|
||||
else printToRegion fd stdoutRead 6 pState
|
||||
)
|
||||
|
||||
-- fork our subprocess
|
||||
-- fork the subprocess
|
||||
pid <- SPPB.forkProcess $ do
|
||||
void $ dupTo stdoutWrite stdOutput
|
||||
void $ dupTo stdoutWrite stdError
|
||||
closeFd stdoutWrite
|
||||
closeFd stdoutRead
|
||||
closeFd stdoutWrite
|
||||
|
||||
-- execute the action
|
||||
maybe (pure ()) (changeWorkingDirectory . toFilePath) chdir
|
||||
SPPB.executeFile exe spath args env
|
||||
void $ SPPB.executeFile exe spath args env
|
||||
|
||||
closeFd stdoutWrite
|
||||
|
||||
-- wait for the subprocess to finish
|
||||
e <- SPPB.getProcessStatus True True pid >>= \case
|
||||
i@(Just (SPPB.Exited _)) -> pure $ toProcessError exe args i
|
||||
i -> pure $ toProcessError exe args i
|
||||
e <- toProcessError exe args <$!> SPPB.getProcessStatus True True pid
|
||||
putMVar pState (either (const False) (const True) e)
|
||||
|
||||
-- make sure the logging thread stops
|
||||
case e of
|
||||
Left _ -> EX.throwTo tid (StopThread False)
|
||||
Right _ -> EX.throwTo tid (StopThread True)
|
||||
takeMVar done
|
||||
|
||||
closeFd stdoutRead
|
||||
|
||||
pure e
|
||||
|
||||
tee fileFd fdIn = do
|
||||
flip finally (readTilEOF lineAction fdIn) -- make sure the last few lines don't get cut off
|
||||
$ do
|
||||
hideError eofErrorType $ readTilEOF lineAction fdIn
|
||||
forever (threadDelay 5000)
|
||||
tee :: Fd -> Fd -> IO ()
|
||||
tee fileFd fdIn = readTilEOF lineAction fdIn
|
||||
|
||||
where
|
||||
lineAction :: ByteString -> IO ()
|
||||
lineAction bs' = do
|
||||
void $ SPIB.fdWrite fileFd (bs' <> "\n")
|
||||
void $ SPIB.fdWrite stdOutput (bs' <> "\n")
|
||||
|
||||
-- Reads fdIn and logs the output in a continous scrolling area
|
||||
-- of 'size' terminal lines. Also writes to a log file.
|
||||
printToRegion fileFd fdIn size = do
|
||||
ref <- newIORef ([] :: [ByteString])
|
||||
displayConsoleRegions $ do
|
||||
rs <- sequence . replicate size . openConsoleRegion $ Linear
|
||||
flip finally (readTilEOF (lineAction ref rs) fdIn) -- make sure the last few lines don't get cut off
|
||||
printToRegion :: Fd -> Fd -> Int -> MVar Bool -> IO ()
|
||||
printToRegion fileFd fdIn size pState = do
|
||||
void $ displayConsoleRegions $ do
|
||||
rs <-
|
||||
liftIO
|
||||
. fmap Sq.fromList
|
||||
. sequence
|
||||
. replicate size
|
||||
. openConsoleRegion
|
||||
$ Linear
|
||||
flip runStateT mempty
|
||||
$ handle
|
||||
(\(StopThread b) -> do
|
||||
when b (forM_ rs closeConsoleRegion)
|
||||
EX.throw (StopThread b)
|
||||
(\(ex :: SomeException) -> do
|
||||
ps <- liftIO $ takeMVar pState
|
||||
when (ps == True) (forM_ rs (liftIO . closeConsoleRegion))
|
||||
throw ex
|
||||
)
|
||||
$ do
|
||||
hideError eofErrorType $ readTilEOF (lineAction ref rs) fdIn
|
||||
-- wait for explicit stop from the parent to signal what cleanup to run
|
||||
forever (threadDelay 5000)
|
||||
$ readTilEOF (lineAction rs) fdIn
|
||||
|
||||
where
|
||||
-- action to perform line by line
|
||||
-- TODO: do this with vty for efficiency
|
||||
lineAction ref rs bs' = do
|
||||
modifyIORef' ref (swapRegs bs')
|
||||
regs <- readIORef ref
|
||||
void $ SPIB.fdWrite fileFd (bs' <> "\n")
|
||||
forM (zip regs rs) $ \(bs, r) -> do
|
||||
setConsoleRegion r $ do
|
||||
w <- consoleWidth
|
||||
return
|
||||
. T.pack
|
||||
. color Blue
|
||||
. T.unpack
|
||||
. decUTF8Safe
|
||||
. trim w
|
||||
. (\b -> "[ " <> toFilePath lfile <> " ] " <> b)
|
||||
$ bs
|
||||
lineAction :: (MonadMask m, MonadIO m)
|
||||
=> Seq ConsoleRegion
|
||||
-> ByteString
|
||||
-> StateT (Seq ByteString) m ()
|
||||
lineAction rs = \bs' -> do
|
||||
void $ liftIO $ SPIB.fdWrite fileFd (bs' <> "\n")
|
||||
modify (swapRegs bs')
|
||||
regs <- get
|
||||
liftIO $ forM_ (Sq.zip regs rs) $ \(bs, r) -> setConsoleRegion r $ do
|
||||
w <- consoleWidth
|
||||
return
|
||||
. T.pack
|
||||
. color Blue
|
||||
. T.unpack
|
||||
. decUTF8Safe
|
||||
. trim w
|
||||
. (\b -> "[ " <> toFilePath lfile <> " ] " <> b)
|
||||
$ bs
|
||||
|
||||
swapRegs bs regs | length regs < size = regs ++ [bs]
|
||||
| otherwise = tail regs ++ [bs]
|
||||
swapRegs :: a -> Seq a -> Seq a
|
||||
swapRegs bs = \regs -> if
|
||||
| Sq.length regs < size -> regs |> bs
|
||||
| otherwise -> Sq.drop 1 regs |> bs
|
||||
|
||||
-- trim output line to terminal width
|
||||
trim w bs | BS.length bs > w && w > 5 = BS.take (w - 4) bs <> "..."
|
||||
| otherwise = bs
|
||||
trim :: Int -> ByteString -> ByteString
|
||||
trim w = \bs -> if
|
||||
| BS.length bs > w && w > 5 -> BS.take (w - 4) bs <> "..."
|
||||
| otherwise -> bs
|
||||
|
||||
-- read an entire line from the file descriptor (removes the newline char)
|
||||
readLine fd' = do
|
||||
bs <- SPIB.fdRead fd' 1
|
||||
if
|
||||
| bs == "\n" -> pure ""
|
||||
| bs == "" -> pure ""
|
||||
| otherwise -> fmap (bs <>) $ readLine fd'
|
||||
readLine :: MonadIO m => Fd -> ByteString -> m (ByteString, ByteString)
|
||||
readLine fd = go
|
||||
where
|
||||
go inBs = do
|
||||
bs <-
|
||||
liftIO
|
||||
$ handleIO (\e -> if isEOFError e then pure "" else ioError e)
|
||||
$ SPIB.fdRead fd 512
|
||||
let nbs = BS.append inBs bs
|
||||
(line, rest) = BS.span (/= _lf) nbs
|
||||
if
|
||||
| BS.length rest /= 0 -> pure (line, BS.tail rest)
|
||||
| BS.length line == 0 -> pure (mempty, mempty)
|
||||
| otherwise -> (\(l, r) -> (line <> l, r)) <$!> go mempty
|
||||
|
||||
readTilEOF action' fd' = do
|
||||
bs <- readLine fd'
|
||||
void $ action' bs
|
||||
readTilEOF action' fd'
|
||||
readTilEOF :: MonadIO m => (ByteString -> m a) -> Fd -> m ()
|
||||
readTilEOF ~action' fd' = go mempty
|
||||
where
|
||||
go bs' = do
|
||||
(bs, rest) <- readLine fd' bs'
|
||||
if
|
||||
| BS.length bs == 0 -> liftIO
|
||||
$ ioError (mkIOError eofErrorType "" Nothing Nothing)
|
||||
| otherwise -> do
|
||||
void $ action' bs
|
||||
go rest
|
||||
|
||||
|
||||
-- | Capture the stdout and stderr of the given action, which
|
||||
|
||||
@@ -165,6 +165,11 @@ liftIOException errType ex =
|
||||
. lift
|
||||
|
||||
|
||||
-- | Uses safe-exceptions.
|
||||
hideError :: (MonadIO m, MonadCatch m) => IOErrorType -> m () -> m ()
|
||||
hideError err = handleIO (\e -> if err == ioeGetErrorType e then pure () else liftIO . ioError $ e)
|
||||
|
||||
|
||||
hideErrorDef :: [IOErrorType] -> a -> IO a -> IO a
|
||||
hideErrorDef errs def =
|
||||
handleIO (\e -> if ioeGetErrorType e `elem` errs then pure def else ioError e)
|
||||
|
||||
@@ -16,7 +16,7 @@ ghcupURL :: URI
|
||||
ghcupURL = [uri|https://www.haskell.org/ghcup/data/ghcup-0.0.2.json|]
|
||||
|
||||
ghcUpVer :: PVP
|
||||
ghcUpVer = [pver|0.1.5|]
|
||||
ghcUpVer = [pver|0.1.7|]
|
||||
|
||||
numericVer :: String
|
||||
numericVer = T.unpack . prettyPVP $ ghcUpVer
|
||||
|
||||
@@ -134,7 +134,6 @@ hr {
|
||||
|
||||
#platform-instructions-linux > div > pre,
|
||||
#platform-instructions-mac > div > pre,
|
||||
#platform-instructions-freebsd > div > pre,
|
||||
#platform-instructions-win32 > div > pre,
|
||||
#platform-instructions-win64 > div > pre,
|
||||
#platform-instructions-default > div > div > pre,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var platforms = ["default", "unknown", "win32", "win64", "linux", "freebsd", "mac"];
|
||||
var platforms = ["default", "unknown", "win32", "win64", "linux", "mac"];
|
||||
var platform_override = null;
|
||||
|
||||
function detect_platform() {
|
||||
@@ -25,8 +25,6 @@ function detect_platform() {
|
||||
if (navigator.platform == "Win64" ||
|
||||
navigator.userAgent.indexOf("WOW64") != -1 ||
|
||||
navigator.userAgent.indexOf("Win64") != -1) { os = "win64"; }
|
||||
if (navigator.platform == "FreeBSD x86_64") {os = "freebsd";}
|
||||
if (navigator.platform == "FreeBSD amd64") {os = "freebsd";}
|
||||
// if (navigator.platform == "NetBSD x86_64") {os = "unix";}
|
||||
// if (navigator.platform == "NetBSD amd64") {os = "unix";}
|
||||
|
||||
@@ -34,7 +32,6 @@ function detect_platform() {
|
||||
if (os == "unknown") {
|
||||
if (navigator.appVersion.indexOf("Win")!=-1) {os = "win32";}
|
||||
if (navigator.appVersion.indexOf("Mac")!=-1) {os = "mac";}
|
||||
if (navigator.appVersion.indexOf("FreeBSD")!=-1) {os = "freebsd";}
|
||||
}
|
||||
|
||||
// Firefox Quantum likes to hide platform and appVersion but oscpu works
|
||||
@@ -43,7 +40,6 @@ function detect_platform() {
|
||||
if (navigator.oscpu.indexOf("Win64")!=-1) {os = "win64";}
|
||||
if (navigator.oscpu.indexOf("Mac")!=-1) {os = "mac";}
|
||||
if (navigator.oscpu.indexOf("Linux")!=-1) {os = "linux";}
|
||||
if (navigator.oscpu.indexOf("FreeBSD")!=-1) {os = "freebsd";}
|
||||
// if (navigator.oscpu.indexOf("NetBSD")!=-1) {os = "unix";}
|
||||
}
|
||||
|
||||
|
||||
@@ -36,12 +36,6 @@
|
||||
<p class="other-help">If you don't like curl | sh, see <a href="https://gitlab.haskell.org/haskell/ghcup-hs#manual-install">other installation methods</a>.<br/>You appear to be running macOS. If not, <a class="default-platform-button" href="#">display all supported installers</a>.</p>
|
||||
</div>
|
||||
|
||||
<div id="platform-instructions-freebsd" class="instructions" style="display: none;">
|
||||
<p>Run the following in your terminal (as a user other than root), then follow the onscreen instructions.</p>
|
||||
<div class="command-button"><pre><span class='ghcup-command'>curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh</span></pre><button class="tooltip" onclick="copyToClipboard()"><img src="copy.svg" alt="" /><span class="tooltiptext">Copy to clipboard</span></button></div>
|
||||
<p class="other-help">If you don't like curl | sh, see <a href="https://gitlab.haskell.org/haskell/ghcup-hs#manual-install">other installation methods</a>.<br/>You appear to be running FreeBSD. If not, <a class="default-platform-button" href="#">display all supported installers</a>.</p>
|
||||
</div>
|
||||
|
||||
<div id="platform-instructions-win32" class="instructions">
|
||||
<p>
|
||||
To install Haskell, follow the instructions on
|
||||
@@ -68,7 +62,7 @@
|
||||
<!-- unrecognized platform: ask for help -->
|
||||
<p>I don't recognize your platform.</p>
|
||||
<p>
|
||||
ghcup runs on Linux, macOS and FreeBSD. If
|
||||
ghcup runs on Linux and macOS. If
|
||||
you are on one of these platforms and are seeing this then please
|
||||
<a href="https://gitlab.haskell.org/haskell/ghcup-hs/issues">report an issue</a>,
|
||||
along with the following values:
|
||||
@@ -83,7 +77,7 @@
|
||||
|
||||
<!-- duplicate the default cross-platform instructions -->
|
||||
<div>
|
||||
<p>If you are running Linux, macOS, FreeBSD or Windows Subsystem for Linux, run the following in your terminal (as a user other than root), then follow the onscreen instructions.</p>
|
||||
<p>If you are running Linux, macOS or Windows Subsystem for Linux, run the following in your terminal (as a user other than root), then follow the onscreen instructions.</p>
|
||||
<div class="command-button"><pre><span class='ghcup-command'>curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh</span></pre><button class="tooltip" onclick="copyToClipboard()"><img src="copy.svg" alt="" /><span class="tooltiptext">Copy to clipboard</span></button></div>
|
||||
<p class="other-help">If you don't like curl | sh, see <a href="https://gitlab.haskell.org/haskell/ghcup-hs#manual-install">other installation methods</a>.</p>
|
||||
</div>
|
||||
@@ -101,7 +95,7 @@
|
||||
|
||||
<div id="platform-instructions-default" class="instructions">
|
||||
<div>
|
||||
<p>To install Haskell, if you are running Linux, macOS, FreeBSD or Windows Subsystem for Linux, run the following
|
||||
<p>To install Haskell, if you are running Linux, macOS or Windows Subsystem for Linux, run the following
|
||||
in your terminal (as a user other than root), then follow the onscreen instructions.</p>
|
||||
<div class="command-button"><pre><span class='ghcup-command'>curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh</span></pre><button class="tooltip" onclick="copyToClipboard()"><img src="copy.svg" alt="" /><span class="tooltiptext">Copy to clipboard</span></button></div>
|
||||
<p class="other-help">If you don't like curl | sh, see <a href="https://gitlab.haskell.org/haskell/ghcup-hs#manual-install">other installation methods</a>.</p>
|
||||
@@ -146,7 +140,7 @@
|
||||
|
||||
<div id="platform-instructions-default" class="instructions">
|
||||
<div>
|
||||
<p>To install Haskell, if you are running Linux, macOS, FreeBSD or Windows Subsystem for Linux, run the following
|
||||
<p>To install Haskell, if you are running Linux, macOS or Windows Subsystem for Linux, run the following
|
||||
in your terminal (as a user other than root), then follow the onscreen instructions.</p>
|
||||
<pre><span class='ghcup-command'>curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh</span></pre>
|
||||
<p class="other-help">If you don't like curl | sh, see <a href="https://gitlab.haskell.org/haskell/ghcup-hs#manual-install">other installation methods</a>.</p>
|
||||
|
||||
Reference in New Issue
Block a user