Compare commits
45 Commits
chmod-fix
...
PR/issue-1
| Author | SHA1 | Date | |
|---|---|---|---|
| 20338f7d14 | |||
| 1a995a5d63 | |||
| f964382175 | |||
| 0c7f60fae6 | |||
| 413e63d1ca | |||
| 8b000f4e48 | |||
| b0522507be | |||
| d4bcf7021e | |||
| 48cf0b1f67 | |||
| d82e189c01 | |||
| e5a60d1b9a | |||
| ff067351cb | |||
| 345712a617 | |||
| 118dac6907 | |||
| 5ca40caf81 | |||
| d858187fd4 | |||
| bd65517df1 | |||
| b1acad6c95 | |||
| a8333281ac | |||
| 2fdb08ac00 | |||
|
|
bd4e5a2314 | ||
| 34ed317b6b | |||
|
|
14661502ab | ||
| 097754ffdf | |||
|
|
f26ec6d295 | ||
| 858d430845 | |||
| 5134eccbf8 | |||
| 28b4737758 | |||
|
|
5c43ff4c9e | ||
|
|
53db68e39f | ||
| 9e628e34dd | |||
|
|
62d5d53232 | ||
|
|
56569a0698 | ||
|
|
ef44f818d0 | ||
|
|
8944ed6e36 | ||
| 51805b27aa | |||
| 0ec64510b3 | |||
| 20152443da | |||
| 5617516c93 | |||
| f6fe08367d | |||
| a5f02133e2 | |||
|
|
db1d05e8ad | ||
| eae58137c8 | |||
|
|
ead9d31647 | ||
|
|
a08e624309 |
@@ -125,8 +125,8 @@ test:linux:bootstrap_script:
|
|||||||
script:
|
script:
|
||||||
- ./.gitlab/script/ghcup_bootstrap.sh
|
- ./.gitlab/script/ghcup_bootstrap.sh
|
||||||
variables:
|
variables:
|
||||||
GHC_VERSION: "8.8.4"
|
GHC_VERSION: "8.10.3"
|
||||||
CABAL_VERSION: "3.2.0.0"
|
CABAL_VERSION: "3.4.0.0"
|
||||||
extends:
|
extends:
|
||||||
- .debian
|
- .debian
|
||||||
|
|
||||||
@@ -135,14 +135,14 @@ test:linux:bootstrap_script:
|
|||||||
test:linux:recommended:
|
test:linux:recommended:
|
||||||
extends: .test_ghcup_version:linux
|
extends: .test_ghcup_version:linux
|
||||||
variables:
|
variables:
|
||||||
GHC_VERSION: "8.8.4"
|
GHC_VERSION: "8.10.3"
|
||||||
CABAL_VERSION: "3.2.0.0"
|
CABAL_VERSION: "3.4.0.0"
|
||||||
|
|
||||||
test:linux:latest:
|
test:linux:latest:
|
||||||
extends: .test_ghcup_version:linux
|
extends: .test_ghcup_version:linux
|
||||||
variables:
|
variables:
|
||||||
GHC_VERSION: "8.10.2"
|
GHC_VERSION: "8.10.3"
|
||||||
CABAL_VERSION: "3.2.0.0"
|
CABAL_VERSION: "3.4.0.0"
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
######## linux 32bit test ########
|
######## linux 32bit test ########
|
||||||
@@ -150,7 +150,7 @@ test:linux:latest:
|
|||||||
test:linux:recommended:32bit:
|
test:linux:recommended:32bit:
|
||||||
extends: .test_ghcup_version:linux32
|
extends: .test_ghcup_version:linux32
|
||||||
variables:
|
variables:
|
||||||
GHC_VERSION: "8.8.4"
|
GHC_VERSION: "8.10.2"
|
||||||
CABAL_VERSION: "3.2.0.0"
|
CABAL_VERSION: "3.2.0.0"
|
||||||
|
|
||||||
######## darwin test ########
|
######## darwin test ########
|
||||||
@@ -158,14 +158,14 @@ test:linux:recommended:32bit:
|
|||||||
test:mac:recommended:
|
test:mac:recommended:
|
||||||
extends: .test_ghcup_version:darwin
|
extends: .test_ghcup_version:darwin
|
||||||
variables:
|
variables:
|
||||||
GHC_VERSION: "8.8.4"
|
GHC_VERSION: "8.10.3"
|
||||||
CABAL_VERSION: "3.2.0.0"
|
CABAL_VERSION: "3.4.0.0"
|
||||||
|
|
||||||
test:mac:latest:
|
test:mac:latest:
|
||||||
extends: .test_ghcup_version:darwin
|
extends: .test_ghcup_version:darwin
|
||||||
variables:
|
variables:
|
||||||
GHC_VERSION: "8.10.2"
|
GHC_VERSION: "8.10.3"
|
||||||
CABAL_VERSION: "3.2.0.0"
|
CABAL_VERSION: "3.4.0.0"
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
|
|
||||||
@@ -174,14 +174,14 @@ test:mac:latest:
|
|||||||
test:freebsd:recommended:
|
test:freebsd:recommended:
|
||||||
extends: .test_ghcup_version:freebsd
|
extends: .test_ghcup_version:freebsd
|
||||||
variables:
|
variables:
|
||||||
GHC_VERSION: "8.8.4"
|
GHC_VERSION: "8.10.3"
|
||||||
CABAL_VERSION: "3.2.0.0"
|
CABAL_VERSION: "3.4.0.0"
|
||||||
|
|
||||||
test:freebsd:latest:
|
test:freebsd:latest:
|
||||||
extends: .test_ghcup_version:freebsd
|
extends: .test_ghcup_version:freebsd
|
||||||
variables:
|
variables:
|
||||||
GHC_VERSION: "8.10.2"
|
GHC_VERSION: "8.10.3"
|
||||||
CABAL_VERSION: "3.2.0.0"
|
CABAL_VERSION: "3.4.0.0"
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
|
|
||||||
@@ -195,8 +195,8 @@ release:linux:64bit:
|
|||||||
- ./.gitlab/before_script/linux/alpine/install_deps.sh
|
- ./.gitlab/before_script/linux/alpine/install_deps.sh
|
||||||
variables:
|
variables:
|
||||||
ARTIFACT: "x86_64-linux-ghcup"
|
ARTIFACT: "x86_64-linux-ghcup"
|
||||||
GHC_VERSION: "8.8.4"
|
GHC_VERSION: "8.10.3"
|
||||||
CABAL_VERSION: "3.2.0.0"
|
CABAL_VERSION: "3.4.0.0"
|
||||||
|
|
||||||
|
|
||||||
release:linux:32bit:
|
release:linux:32bit:
|
||||||
@@ -207,7 +207,7 @@ release:linux:32bit:
|
|||||||
- ./.gitlab/before_script/linux/alpine/install_deps.sh
|
- ./.gitlab/before_script/linux/alpine/install_deps.sh
|
||||||
variables:
|
variables:
|
||||||
ARTIFACT: "i386-linux-ghcup"
|
ARTIFACT: "i386-linux-ghcup"
|
||||||
GHC_VERSION: "8.8.4"
|
GHC_VERSION: "8.10.2"
|
||||||
CABAL_VERSION: "3.2.0.0"
|
CABAL_VERSION: "3.2.0.0"
|
||||||
|
|
||||||
|
|
||||||
@@ -222,8 +222,8 @@ release:darwin:
|
|||||||
- ./.gitlab/before_script/darwin/install_deps.sh
|
- ./.gitlab/before_script/darwin/install_deps.sh
|
||||||
variables:
|
variables:
|
||||||
ARTIFACT: "x86_64-apple-darwin-ghcup"
|
ARTIFACT: "x86_64-apple-darwin-ghcup"
|
||||||
GHC_VERSION: "8.8.3"
|
GHC_VERSION: "8.10.3"
|
||||||
CABAL_VERSION: "3.2.0.0"
|
CABAL_VERSION: "3.4.0.0"
|
||||||
MACOSX_DEPLOYMENT_TARGET: "10.7"
|
MACOSX_DEPLOYMENT_TARGET: "10.7"
|
||||||
|
|
||||||
|
|
||||||
@@ -238,6 +238,6 @@ release:freebsd:
|
|||||||
- ./.gitlab/before_script/freebsd/install_deps.sh
|
- ./.gitlab/before_script/freebsd/install_deps.sh
|
||||||
variables:
|
variables:
|
||||||
ARTIFACT: "x86_64-portbld-freebsd-ghcup"
|
ARTIFACT: "x86_64-portbld-freebsd-ghcup"
|
||||||
GHC_VERSION: "8.8.3"
|
GHC_VERSION: "8.10.3"
|
||||||
CABAL_VERSION: "3.2.0.0"
|
CABAL_VERSION: "3.4.0.0"
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,9 @@ mkdir -p "${TMPDIR}"
|
|||||||
curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-apple-darwin-ghcup > ./ghcup-bin
|
curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-apple-darwin-ghcup > ./ghcup-bin
|
||||||
chmod +x ghcup-bin
|
chmod +x ghcup-bin
|
||||||
|
|
||||||
./ghcup-bin install ${GHC_VERSION}
|
./ghcup-bin upgrade -i -f
|
||||||
./ghcup-bin set ${GHC_VERSION}
|
./ghcup-bin -s file://$(pwd)/ghcup-${JSON_VERSION}.yaml install ${GHC_VERSION}
|
||||||
./ghcup-bin install-cabal ${CABAL_VERSION}
|
./ghcup-bin -s file://$(pwd)/ghcup-${JSON_VERSION}.yaml set ${GHC_VERSION}
|
||||||
|
./ghcup-bin -s file://$(pwd)/ghcup-${JSON_VERSION}.yaml install-cabal ${CABAL_VERSION}
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
@@ -11,8 +11,9 @@ mkdir -p "${TMPDIR}"
|
|||||||
curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-portbld-freebsd-ghcup > ./ghcup-bin
|
curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-portbld-freebsd-ghcup > ./ghcup-bin
|
||||||
chmod +x ghcup-bin
|
chmod +x ghcup-bin
|
||||||
|
|
||||||
./ghcup-bin install ${GHC_VERSION}
|
./ghcup-bin upgrade -i -f
|
||||||
./ghcup-bin install-cabal ${CABAL_VERSION}
|
./ghcup-bin -s file://$(pwd)/ghcup-${JSON_VERSION}.yaml install ${GHC_VERSION}
|
||||||
./ghcup-bin set ${GHC_VERSION}
|
./ghcup-bin -s file://$(pwd)/ghcup-${JSON_VERSION}.yaml set ${GHC_VERSION}
|
||||||
|
./ghcup-bin -s file://$(pwd)/ghcup-${JSON_VERSION}.yaml install-cabal ${CABAL_VERSION}
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
@@ -24,8 +24,9 @@ else
|
|||||||
curl -sSfL https://downloads.haskell.org/ghcup/x86_64-linux-ghcup > ./ghcup-bin
|
curl -sSfL https://downloads.haskell.org/ghcup/x86_64-linux-ghcup > ./ghcup-bin
|
||||||
fi
|
fi
|
||||||
chmod +x ghcup-bin
|
chmod +x ghcup-bin
|
||||||
./ghcup-bin install ${GHC_VERSION}
|
./ghcup-bin upgrade -i -f
|
||||||
./ghcup-bin install-cabal ${CABAL_VERSION}
|
./ghcup-bin -s file://$(pwd)/ghcup-${JSON_VERSION}.yaml install ${GHC_VERSION}
|
||||||
|
./ghcup-bin -s file://$(pwd)/ghcup-${JSON_VERSION}.yaml install-cabal ${CABAL_VERSION}
|
||||||
|
|
||||||
# utils
|
# utils
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ sudo apt-get install -y libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev li
|
|||||||
curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-linux-ghcup > ./ghcup-bin
|
curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-linux-ghcup > ./ghcup-bin
|
||||||
chmod +x ghcup-bin
|
chmod +x ghcup-bin
|
||||||
|
|
||||||
./ghcup-bin install ${GHC_VERSION}
|
./ghcup-bin upgrade -i -f
|
||||||
./ghcup-bin set ${GHC_VERSION}
|
./ghcup-bin -s file://$(pwd)/ghcup-${JSON_VERSION}.yaml install ${GHC_VERSION}
|
||||||
./ghcup-bin install-cabal ${CABAL_VERSION}
|
./ghcup-bin -s file://$(pwd)/ghcup-${JSON_VERSION}.yaml set ${GHC_VERSION}
|
||||||
|
./ghcup-bin -s file://$(pwd)/ghcup-${JSON_VERSION}.yaml install-cabal ${CABAL_VERSION}
|
||||||
|
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ if [ "${OS}" = "LINUX" ] ; then
|
|||||||
ecabal build -w ghc-${GHC_VERSION} --ghc-options='-split-sections -optl-static' -ftui
|
ecabal build -w ghc-${GHC_VERSION} --ghc-options='-split-sections -optl-static' -ftui
|
||||||
fi
|
fi
|
||||||
elif [ "${OS}" = "FREEBSD" ] ; then
|
elif [ "${OS}" = "FREEBSD" ] ; then
|
||||||
ecabal build -w ghc-${GHC_VERSION} --ghc-options='-split-sections' --constraint="zlib static" -ftui
|
ecabal build -w ghc-${GHC_VERSION} --ghc-options='-split-sections' --constraint="zlib +static" -ftui
|
||||||
else
|
else
|
||||||
ecabal build -w ghc-${GHC_VERSION} --constraint="zlib static" --constraint="lzma static" -ftui
|
ecabal build -w ghc-${GHC_VERSION} --constraint="zlib +static" --constraint="lzma +static" -ftui
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir out
|
mkdir out
|
||||||
|
|||||||
@@ -2,23 +2,21 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
## install ghc via old ghcup
|
|
||||||
|
|
||||||
mkdir -p ~/.ghcup/bin
|
mkdir -p ~/.ghcup/bin
|
||||||
curl https://gitlab.haskell.org/haskell/ghcup/raw/master/ghcup > ~/.ghcup/bin/ghcup
|
curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-apple-darwin-ghcup > ~/.ghcup/bin/ghcup
|
||||||
chmod +x ~/.ghcup/bin/ghcup
|
chmod +x ~/.ghcup/bin/ghcup
|
||||||
|
|
||||||
export PATH="$HOME/.ghcup/bin:$PATH"
|
export PATH="$HOME/.ghcup/bin:$PATH"
|
||||||
|
|
||||||
ghcup install 8.8.3
|
ghcup install 8.10.3
|
||||||
ghcup install-cabal 3.2.0.0
|
ghcup install-cabal 3.4.0.0-rc4
|
||||||
ghcup set 8.8.3
|
ghcup set 8.10.3
|
||||||
|
|
||||||
|
|
||||||
## install ghcup
|
## install ghcup
|
||||||
|
|
||||||
cabal update
|
cabal update
|
||||||
cabal build --constraint="zlib static" --constraint="lzma static" -ftui
|
cabal build --constraint="zlib +static" --constraint="lzma +static" -ftui
|
||||||
cp "$(cabal new-exec --verbose=0 --offline sh -- -c 'command -v ghcup')" .
|
cp "$(cabal new-exec --verbose=0 --offline sh -- -c 'command -v ghcup')" .
|
||||||
strip ./ghcup
|
strip ./ghcup
|
||||||
cp ghcup "./${ARTIFACT}"
|
cp ghcup "./${ARTIFACT}"
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
# Revision history for ghcup
|
# Revision history for ghcup
|
||||||
|
|
||||||
## WIP
|
## 0.1.13 -- ????-??-??
|
||||||
|
|
||||||
* Fix to `ghcup` directory creation and placement for the XDG install mode.
|
* Fix to `ghcup` directory creation and placement for the XDG install mode ([MR #49](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/49))
|
||||||
|
* Do 755 permissions on executables, wrt #97
|
||||||
|
* Add [NO_COLOR](https://no-color.org/) support wrt [MR #47](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/47)
|
||||||
|
|
||||||
## 0.1.12 -- 2020-11-21
|
## 0.1.12 -- 2020-11-21
|
||||||
|
|
||||||
|
|||||||
15
HACKING.md
15
HACKING.md
@@ -52,8 +52,19 @@ organised tree-ish in `GHCup.Utils` and `GHCup.Utils.*`.
|
|||||||
Anything dealing with ghcup specific directories is in
|
Anything dealing with ghcup specific directories is in
|
||||||
`GHCup.Utils.Dirs`.
|
`GHCup.Utils.Dirs`.
|
||||||
|
|
||||||
Download information on where to fetch bindists from is in
|
Download information on where to fetch bindists from is in the appropriate
|
||||||
`GHCup.Data.GHCupDownloads`.
|
yaml files: `ghcup-<yaml-ver>.yaml`.
|
||||||
|
|
||||||
|
## Common Tasks
|
||||||
|
|
||||||
|
### Adding a new GHC version
|
||||||
|
|
||||||
|
1. open the latest `ghcup-<yaml-ver>.yaml`
|
||||||
|
2. find the latest ghc version (in yaml tree e.g. `ghcupDownloads -> GHC -> 8.10.3`)
|
||||||
|
3. copy-paste it
|
||||||
|
4. adjust the version, tags, changelog, source url
|
||||||
|
5. adjust the various bindist urls (make sure to also change the yaml anchors)
|
||||||
|
6. run `cabal run exe:ghcup-gen -- check-tarballs -f ghcup-<yaml-ver>.yaml -u 'ghc-8\.10\.4'`
|
||||||
|
|
||||||
## Major refactors
|
## Major refactors
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import GHCup.Types
|
|||||||
import GHCup.Types.JSON ( )
|
import GHCup.Types.JSON ( )
|
||||||
import GHCup.Utils.Logger
|
import GHCup.Utils.Logger
|
||||||
|
|
||||||
|
import Data.Char ( toLower )
|
||||||
#if !MIN_VERSION_base(4,13,0)
|
#if !MIN_VERSION_base(4,13,0)
|
||||||
import Data.Semigroup ( (<>) )
|
import Data.Semigroup ( (<>) )
|
||||||
#endif
|
#endif
|
||||||
@@ -21,6 +22,7 @@ import Options.Applicative hiding ( style )
|
|||||||
import System.Console.Pretty
|
import System.Console.Pretty
|
||||||
import System.Exit
|
import System.Exit
|
||||||
import System.IO ( stdout )
|
import System.IO ( stdout )
|
||||||
|
import Text.Regex.Posix
|
||||||
import Validate
|
import Validate
|
||||||
|
|
||||||
import qualified Data.ByteString as B
|
import qualified Data.ByteString as B
|
||||||
@@ -32,7 +34,7 @@ data Options = Options
|
|||||||
}
|
}
|
||||||
|
|
||||||
data Command = ValidateYAML ValidateYAMLOpts
|
data Command = ValidateYAML ValidateYAMLOpts
|
||||||
| ValidateTarballs ValidateYAMLOpts
|
| ValidateTarballs ValidateYAMLOpts TarballFilter
|
||||||
|
|
||||||
|
|
||||||
data Input
|
data Input
|
||||||
@@ -63,6 +65,22 @@ data ValidateYAMLOpts = ValidateYAMLOpts
|
|||||||
validateYAMLOpts :: Parser ValidateYAMLOpts
|
validateYAMLOpts :: Parser ValidateYAMLOpts
|
||||||
validateYAMLOpts = ValidateYAMLOpts <$> optional inputP
|
validateYAMLOpts = ValidateYAMLOpts <$> optional inputP
|
||||||
|
|
||||||
|
tarballFilterP :: Parser TarballFilter
|
||||||
|
tarballFilterP = option readm $
|
||||||
|
long "tarball-filter" <> short 'u' <> metavar "<tool>-<version>" <> value def
|
||||||
|
<> help "Only check certain tarballs (format: <tool>-<version>)"
|
||||||
|
where
|
||||||
|
def = TarballFilter Nothing (makeRegex ("" :: String))
|
||||||
|
readm = do
|
||||||
|
s <- str
|
||||||
|
case span (/= '-') s of
|
||||||
|
(_, []) -> fail "invalid format, missing '-' after the tool name"
|
||||||
|
(t, v) | [tool] <- [ tool | tool <- [minBound..maxBound], low (show tool) == low t ] ->
|
||||||
|
TarballFilter <$> pure (Just tool) <*> makeRegexOptsM compIgnoreCase execBlank (drop 1 v)
|
||||||
|
_ -> fail "invalid tool"
|
||||||
|
low = fmap toLower
|
||||||
|
|
||||||
|
|
||||||
opts :: Parser Options
|
opts :: Parser Options
|
||||||
opts = Options <$> com
|
opts = Options <$> com
|
||||||
|
|
||||||
@@ -78,11 +96,9 @@ com = subparser
|
|||||||
)
|
)
|
||||||
<> (command
|
<> (command
|
||||||
"check-tarballs"
|
"check-tarballs"
|
||||||
( ValidateTarballs
|
(info
|
||||||
<$> (info
|
((ValidateTarballs <$> validateYAMLOpts <*> tarballFilterP) <**> helper)
|
||||||
(validateYAMLOpts <**> helper)
|
(progDesc "Validate all tarballs (download and checksum)")
|
||||||
(progDesc "Validate all tarballs (download and checksum)")
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -100,13 +116,13 @@ main = do
|
|||||||
B.getContents >>= valAndExit validate
|
B.getContents >>= valAndExit validate
|
||||||
ValidateYAMLOpts { vInput = Just (FileInput file) } ->
|
ValidateYAMLOpts { vInput = Just (FileInput file) } ->
|
||||||
B.readFile file >>= valAndExit validate
|
B.readFile file >>= valAndExit validate
|
||||||
ValidateTarballs vopts -> case vopts of
|
ValidateTarballs vopts tarballFilter -> case vopts of
|
||||||
ValidateYAMLOpts { vInput = Nothing } ->
|
ValidateYAMLOpts { vInput = Nothing } ->
|
||||||
B.getContents >>= valAndExit validateTarballs
|
B.getContents >>= valAndExit (validateTarballs tarballFilter)
|
||||||
ValidateYAMLOpts { vInput = Just StdInput } ->
|
ValidateYAMLOpts { vInput = Just StdInput } ->
|
||||||
B.getContents >>= valAndExit validateTarballs
|
B.getContents >>= valAndExit (validateTarballs tarballFilter)
|
||||||
ValidateYAMLOpts { vInput = Just (FileInput file) } ->
|
ValidateYAMLOpts { vInput = Just (FileInput file) } ->
|
||||||
B.readFile file >>= valAndExit validateTarballs
|
B.readFile file >>= valAndExit (validateTarballs tarballFilter)
|
||||||
pure ()
|
pure ()
|
||||||
|
|
||||||
where
|
where
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ module Validate where
|
|||||||
import GHCup
|
import GHCup
|
||||||
import GHCup.Download
|
import GHCup.Download
|
||||||
import GHCup.Types
|
import GHCup.Types
|
||||||
|
import GHCup.Types.Optics
|
||||||
import GHCup.Utils.Dirs
|
import GHCup.Utils.Dirs
|
||||||
import GHCup.Utils.Logger
|
import GHCup.Utils.Logger
|
||||||
import GHCup.Utils.Version.QQ
|
import GHCup.Utils.Version.QQ
|
||||||
@@ -21,6 +22,7 @@ import Control.Monad.Trans.Reader ( runReaderT )
|
|||||||
import Control.Monad.Trans.Resource ( runResourceT
|
import Control.Monad.Trans.Resource ( runResourceT
|
||||||
, MonadUnliftIO
|
, MonadUnliftIO
|
||||||
)
|
)
|
||||||
|
import Data.Containers.ListUtils ( nubOrd )
|
||||||
import Data.IORef
|
import Data.IORef
|
||||||
import Data.List
|
import Data.List
|
||||||
import Data.String.Interpolate
|
import Data.String.Interpolate
|
||||||
@@ -30,6 +32,7 @@ import Optics
|
|||||||
import System.Exit
|
import System.Exit
|
||||||
import System.IO
|
import System.IO
|
||||||
import Text.ParserCombinators.ReadP
|
import Text.ParserCombinators.ReadP
|
||||||
|
import Text.Regex.Posix
|
||||||
|
|
||||||
import qualified Data.ByteString as B
|
import qualified Data.ByteString as B
|
||||||
import qualified Data.Map.Strict as M
|
import qualified Data.Map.Strict as M
|
||||||
@@ -64,7 +67,7 @@ validate dls = do
|
|||||||
forM_ (M.toList dls) $ \(t, versions) ->
|
forM_ (M.toList dls) $ \(t, versions) ->
|
||||||
forM_ (M.toList versions) $ \(v, vi) ->
|
forM_ (M.toList versions) $ \(v, vi) ->
|
||||||
forM_ (M.toList $ _viArch vi) $ \(arch, pspecs) -> do
|
forM_ (M.toList $ _viArch vi) $ \(arch, pspecs) -> do
|
||||||
checkHasRequiredPlatforms t v arch (M.keys pspecs)
|
checkHasRequiredPlatforms t v (_viTags vi) arch (M.keys pspecs)
|
||||||
|
|
||||||
checkGHCVerIsValid
|
checkGHCVerIsValid
|
||||||
forM_ (M.toList dls) $ \(t, _) -> checkMandatoryTags t
|
forM_ (M.toList dls) $ \(t, _) -> checkMandatoryTags t
|
||||||
@@ -78,17 +81,18 @@ validate dls = do
|
|||||||
lift $ $(logInfo) [i|All good|]
|
lift $ $(logInfo) [i|All good|]
|
||||||
pure ExitSuccess
|
pure ExitSuccess
|
||||||
where
|
where
|
||||||
checkHasRequiredPlatforms t v arch pspecs = do
|
checkHasRequiredPlatforms t v tags arch pspecs = do
|
||||||
let v' = prettyVer v
|
let v' = prettyVer v
|
||||||
|
arch' = prettyArch arch
|
||||||
when (not $ any (== Linux UnknownLinux) pspecs) $ do
|
when (not $ any (== Linux UnknownLinux) pspecs) $ do
|
||||||
lift $ $(logError)
|
lift $ $(logError)
|
||||||
[i|Linux UnknownLinux missing for for #{t} #{v'} #{arch}|]
|
[i|Linux UnknownLinux missing for for #{t} #{v'} #{arch'}|]
|
||||||
addError
|
addError
|
||||||
when ((not $ any (== Darwin) pspecs) && arch == A_64) $ do
|
when ((not $ any (== Darwin) pspecs) && arch == A_64) $ do
|
||||||
lift $ $(logError) [i|Darwin missing for #{t} #{v'} #{arch}|]
|
lift $ $(logError) [i|Darwin missing for #{t} #{v'} #{arch'}|]
|
||||||
addError
|
addError
|
||||||
when ((not $ any (== FreeBSD) pspecs) && arch == A_64) $ lift $ $(logWarn)
|
when ((not $ any (== FreeBSD) pspecs) && arch == A_64) $ lift $ $(logWarn)
|
||||||
[i|FreeBSD missing for #{t} #{v'} #{arch}|]
|
[i|FreeBSD missing for #{t} #{v'} #{arch'}|]
|
||||||
|
|
||||||
-- alpine needs to be set explicitly, because
|
-- alpine needs to be set explicitly, because
|
||||||
-- we cannot assume that "Linux UnknownLinux" runs on Alpine
|
-- we cannot assume that "Linux UnknownLinux" runs on Alpine
|
||||||
@@ -96,8 +100,9 @@ validate dls = do
|
|||||||
when (not $ any (== Linux Alpine) pspecs) $
|
when (not $ any (== Linux Alpine) pspecs) $
|
||||||
case t of
|
case t of
|
||||||
GHCup -> (lift $ $(logError) [i|Linux Alpine missing for #{t} #{v'} #{arch}|]) >> addError
|
GHCup -> (lift $ $(logError) [i|Linux Alpine missing for #{t} #{v'} #{arch}|]) >> addError
|
||||||
Cabal | v > [vver|2.4.1.0|] -> (lift $ $(logError) [i|Linux Alpine missing for #{t} #{v'} #{arch}|]) >> addError
|
Cabal | v > [vver|2.4.1.0|] -> (lift $ $(logError) [i|Linux Alpine missing for #{t} #{v'} #{arch'}|]) >> addError
|
||||||
_ -> lift $ $(logWarn) [i|Linux Alpine missing for #{t} #{v'} #{arch}|]
|
GHC | Latest `elem` tags || Recommended `elem` tags -> lift $ $(logError) [i|Linux Alpine missing for #{t} #{v'} #{arch'}|]
|
||||||
|
_ -> lift $ $(logWarn) [i|Linux Alpine missing for #{t} #{v'} #{arch'}|]
|
||||||
|
|
||||||
checkUniqueTags tool = do
|
checkUniqueTags tool = do
|
||||||
let allTags = join $ M.elems $ availableToolVersions dls tool
|
let allTags = join $ M.elems $ availableToolVersions dls tool
|
||||||
@@ -157,6 +162,11 @@ validate dls = do
|
|||||||
isBase (Base _) = True
|
isBase (Base _) = True
|
||||||
isBase _ = False
|
isBase _ = False
|
||||||
|
|
||||||
|
data TarballFilter = TarballFilter
|
||||||
|
{ tfTool :: Maybe Tool
|
||||||
|
, tfVersion :: Regex
|
||||||
|
}
|
||||||
|
|
||||||
validateTarballs :: ( Monad m
|
validateTarballs :: ( Monad m
|
||||||
, MonadLogger m
|
, MonadLogger m
|
||||||
, MonadThrow m
|
, MonadThrow m
|
||||||
@@ -164,23 +174,20 @@ validateTarballs :: ( Monad m
|
|||||||
, MonadUnliftIO m
|
, MonadUnliftIO m
|
||||||
, MonadMask m
|
, MonadMask m
|
||||||
)
|
)
|
||||||
=> GHCupDownloads
|
=> TarballFilter
|
||||||
|
-> GHCupDownloads
|
||||||
-> m ExitCode
|
-> m ExitCode
|
||||||
validateTarballs dls = do
|
validateTarballs (TarballFilter tool versionRegex) dls = do
|
||||||
ref <- liftIO $ newIORef 0
|
ref <- liftIO $ newIORef 0
|
||||||
|
|
||||||
flip runReaderT ref $ do
|
flip runReaderT ref $ do
|
||||||
-- download/verify all binary tarballs
|
-- download/verify all tarballs
|
||||||
let
|
let dlis = nubOrd $ dls ^.. each
|
||||||
dlbis = nub $ join $ (M.elems dls) <&> \versions ->
|
%& indices (maybe (const True) (==) tool) %> each
|
||||||
join $ (M.elems versions) <&> \vi ->
|
%& indices (matchTest versionRegex . T.unpack . prettyVer)
|
||||||
join $ (M.elems $ _viArch vi) <&> \pspecs ->
|
% (viSourceDL % _Just `summing` viArch % each % each % each)
|
||||||
join $ (M.elems pspecs) <&> \pverspecs -> (M.elems pverspecs)
|
when (null dlis) $ $(logError) [i|no tarballs selected by filter|] *> addError
|
||||||
forM_ dlbis $ downloadAll
|
forM_ dlis $ downloadAll
|
||||||
|
|
||||||
let dlsrc = nub $ join $ (M.elems dls) <&> \versions ->
|
|
||||||
join $ (M.elems versions) <&> maybe [] (: []) . _viSourceDL
|
|
||||||
forM_ dlsrc $ downloadAll
|
|
||||||
|
|
||||||
-- exit
|
-- exit
|
||||||
e <- liftIO $ readIORef ref
|
e <- liftIO $ readIORef ref
|
||||||
@@ -191,13 +198,13 @@ validateTarballs dls = do
|
|||||||
pure ExitSuccess
|
pure ExitSuccess
|
||||||
|
|
||||||
where
|
where
|
||||||
|
runLogger = myLoggerT LoggerConfig { lcPrintDebug = True
|
||||||
|
, colorOutter = B.hPut stderr
|
||||||
|
, rawOutter = (\_ -> pure ())
|
||||||
|
}
|
||||||
downloadAll dli = do
|
downloadAll dli = do
|
||||||
dirs <- liftIO getDirs
|
dirs <- liftIO getDirs
|
||||||
let settings = AppState (Settings True False Never Curl False GHCupURL) dirs defaultKeyBindings
|
let settings = AppState (Settings True False Never Curl False GHCupURL) dirs defaultKeyBindings
|
||||||
let runLogger = myLoggerT LoggerConfig { lcPrintDebug = True
|
|
||||||
, colorOutter = B.hPut stderr
|
|
||||||
, rawOutter = (\_ -> pure ())
|
|
||||||
}
|
|
||||||
|
|
||||||
r <-
|
r <-
|
||||||
runLogger
|
runLogger
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ import Data.Vector ( Vector
|
|||||||
import Data.Versions hiding ( str )
|
import Data.Versions hiding ( str )
|
||||||
import Haskus.Utils.Variant.Excepts
|
import Haskus.Utils.Variant.Excepts
|
||||||
import Prelude hiding ( appendFile )
|
import Prelude hiding ( appendFile )
|
||||||
|
import System.Environment
|
||||||
import System.Exit
|
import System.Exit
|
||||||
import System.IO.Unsafe
|
import System.IO.Unsafe
|
||||||
import URI.ByteString
|
import URI.ByteString
|
||||||
@@ -118,8 +119,8 @@ showKey (Vty.KDown) = "↓"
|
|||||||
showKey key = tail (show key)
|
showKey key = tail (show key)
|
||||||
|
|
||||||
|
|
||||||
ui :: BrickState -> Widget String
|
ui :: AttrMap -> BrickState -> Widget String
|
||||||
ui BrickState { appSettings = as@(BrickSettings {}), ..}
|
ui dimAttrs BrickState { appSettings = as@(BrickSettings {}), ..}
|
||||||
= ( padBottom Max
|
= ( padBottom Max
|
||||||
$ ( withBorderStyle unicode
|
$ ( withBorderStyle unicode
|
||||||
$ borderWithLabel (str "GHCup")
|
$ borderWithLabel (str "GHCup")
|
||||||
@@ -150,9 +151,9 @@ ui BrickState { appSettings = as@(BrickSettings {}), ..}
|
|||||||
ver = case lCross of
|
ver = case lCross of
|
||||||
Nothing -> T.unpack . prettyVer $ lVer
|
Nothing -> T.unpack . prettyVer $ lVer
|
||||||
Just c -> T.unpack (c <> "-" <> prettyVer lVer)
|
Just c -> T.unpack (c <> "-" <> prettyVer lVer)
|
||||||
dim = if lNoBindist
|
dim
|
||||||
then updateAttrMap (const dimAttributes) . withAttr "no-bindist"
|
| lNoBindist = updateAttrMap (const dimAttrs) . withAttr "no-bindist"
|
||||||
else id
|
| otherwise = id
|
||||||
hooray
|
hooray
|
||||||
| elem Latest lTag && not lInstalled =
|
| elem Latest lTag && not lInstalled =
|
||||||
withAttr "hooray"
|
withAttr "hooray"
|
||||||
@@ -239,39 +240,49 @@ minHSize :: Int -> Widget n -> Widget n
|
|||||||
minHSize s' = hLimit s' . vLimit 1 . (<+> fill ' ')
|
minHSize s' = hLimit s' . vLimit 1 . (<+> fill ' ')
|
||||||
|
|
||||||
|
|
||||||
app :: App BrickState e String
|
app :: AttrMap -> AttrMap -> App BrickState e String
|
||||||
app = App { appDraw = \st -> [ui st]
|
app attrs dimAttrs =
|
||||||
, appHandleEvent = eventHandler
|
App { appDraw = \st -> [ui dimAttrs st]
|
||||||
, appStartEvent = return
|
, appHandleEvent = eventHandler
|
||||||
, appAttrMap = const defaultAttributes
|
, appStartEvent = return
|
||||||
, appChooseCursor = neverShowCursor
|
, appAttrMap = const attrs
|
||||||
}
|
, appChooseCursor = neverShowCursor
|
||||||
|
}
|
||||||
|
|
||||||
defaultAttributes :: AttrMap
|
defaultAttributes :: Bool -> AttrMap
|
||||||
defaultAttributes = attrMap
|
defaultAttributes no_color = attrMap
|
||||||
Vty.defAttr
|
Vty.defAttr
|
||||||
[ ("active" , Vty.defAttr `Vty.withBackColor` Vty.blue)
|
[ ("active" , Vty.defAttr `withBackColor` Vty.blue)
|
||||||
, ("not-installed", Vty.defAttr `Vty.withForeColor` Vty.red)
|
, ("not-installed", Vty.defAttr `withForeColor` Vty.red)
|
||||||
, ("set" , Vty.defAttr `Vty.withForeColor` Vty.green)
|
, ("set" , Vty.defAttr `withForeColor` Vty.green)
|
||||||
, ("installed" , Vty.defAttr `Vty.withForeColor` Vty.green)
|
, ("installed" , Vty.defAttr `withForeColor` Vty.green)
|
||||||
, ("recommended" , Vty.defAttr `Vty.withForeColor` Vty.green)
|
, ("recommended" , Vty.defAttr `withForeColor` Vty.green)
|
||||||
, ("hls-powered" , Vty.defAttr `Vty.withForeColor` Vty.green)
|
, ("hls-powered" , Vty.defAttr `withForeColor` Vty.green)
|
||||||
, ("latest" , Vty.defAttr `Vty.withForeColor` Vty.yellow)
|
, ("latest" , Vty.defAttr `withForeColor` Vty.yellow)
|
||||||
, ("prerelease" , Vty.defAttr `Vty.withForeColor` Vty.red)
|
, ("prerelease" , Vty.defAttr `withForeColor` Vty.red)
|
||||||
, ("compiled" , Vty.defAttr `Vty.withForeColor` Vty.blue)
|
, ("compiled" , Vty.defAttr `withForeColor` Vty.blue)
|
||||||
, ("stray" , Vty.defAttr `Vty.withForeColor` Vty.blue)
|
, ("stray" , Vty.defAttr `withForeColor` Vty.blue)
|
||||||
, ("help" , Vty.defAttr `Vty.withStyle` Vty.italic)
|
, ("help" , Vty.defAttr `withStyle` Vty.italic)
|
||||||
, ("hooray" , Vty.defAttr `Vty.withForeColor` Vty.brightWhite)
|
, ("hooray" , Vty.defAttr `withForeColor` Vty.brightWhite)
|
||||||
]
|
]
|
||||||
|
where
|
||||||
|
withForeColor | no_color = const
|
||||||
|
| otherwise = Vty.withForeColor
|
||||||
|
|
||||||
|
withBackColor | no_color = \attr _ -> attr `Vty.withStyle` Vty.reverseVideo
|
||||||
|
| otherwise = Vty.withBackColor
|
||||||
|
|
||||||
dimAttributes :: AttrMap
|
withStyle = Vty.withStyle
|
||||||
dimAttributes = attrMap
|
|
||||||
|
dimAttributes :: Bool -> AttrMap
|
||||||
|
dimAttributes no_color = attrMap
|
||||||
(Vty.defAttr `Vty.withStyle` Vty.dim)
|
(Vty.defAttr `Vty.withStyle` Vty.dim)
|
||||||
[ ("active" , Vty.defAttr `Vty.withBackColor` Vty.blue)
|
[ ("active" , Vty.defAttr `withBackColor` Vty.blue)
|
||||||
, ("no-bindist", Vty.defAttr `Vty.withStyle` Vty.dim)
|
, ("no-bindist", Vty.defAttr `Vty.withStyle` Vty.dim)
|
||||||
]
|
]
|
||||||
|
where
|
||||||
|
withBackColor | no_color = \attr _ -> attr `Vty.withStyle` Vty.reverseVideo
|
||||||
|
| otherwise = Vty.withBackColor
|
||||||
|
|
||||||
eventHandler :: BrickState -> BrickEvent n e -> EventM n (Next BrickState)
|
eventHandler :: BrickState -> BrickEvent n e -> EventM n (Next BrickState)
|
||||||
eventHandler st@(BrickState {..}) ev = do
|
eventHandler st@(BrickState {..}) ev = do
|
||||||
@@ -520,11 +531,13 @@ brickMain s l av pfreq' = do
|
|||||||
writeIORef logger' l
|
writeIORef logger' l
|
||||||
let runLogger = myLoggerT l
|
let runLogger = myLoggerT l
|
||||||
|
|
||||||
|
no_color <- isJust <$> lookupEnv "NO_COLOR"
|
||||||
|
|
||||||
eAppData <- getAppData (Just av) pfreq'
|
eAppData <- getAppData (Just av) pfreq'
|
||||||
case eAppData of
|
case eAppData of
|
||||||
Right ad ->
|
Right ad ->
|
||||||
defaultMain
|
defaultMain
|
||||||
app
|
(app (defaultAttributes no_color) (dimAttributes no_color))
|
||||||
(BrickState ad
|
(BrickState ad
|
||||||
defaultAppSettings
|
defaultAppSettings
|
||||||
(constructList ad defaultAppSettings Nothing)
|
(constructList ad defaultAppSettings Nothing)
|
||||||
|
|||||||
@@ -59,7 +59,8 @@ import Options.Applicative hiding ( style )
|
|||||||
import Options.Applicative.Help.Pretty ( text )
|
import Options.Applicative.Help.Pretty ( text )
|
||||||
import Prelude hiding ( appendFile )
|
import Prelude hiding ( appendFile )
|
||||||
import Safe
|
import Safe
|
||||||
import System.Console.Pretty
|
import System.Console.Pretty hiding ( color )
|
||||||
|
import qualified System.Console.Pretty as Pretty
|
||||||
import System.Environment
|
import System.Environment
|
||||||
import System.Exit
|
import System.Exit
|
||||||
import System.IO hiding ( appendFile )
|
import System.IO hiding ( appendFile )
|
||||||
@@ -1178,7 +1179,7 @@ Report bugs at <https://gitlab.haskell.org/haskell/ghcup-hs/issues>|]
|
|||||||
pure ExitSuccess
|
pure ExitSuccess
|
||||||
VLeft (V (AlreadyInstalled _ v)) -> do
|
VLeft (V (AlreadyInstalled _ v)) -> do
|
||||||
runLogger $ $(logWarn)
|
runLogger $ $(logWarn)
|
||||||
[i|GHC ver #{prettyVer v} already installed, you may want to run 'ghcup rm ghc #{prettyVer v}' first|]
|
[i|GHC ver #{prettyVer v} already installed; if you really want to reinstall it, you may want to run 'ghcup rm ghc #{prettyVer v}' first|]
|
||||||
pure ExitSuccess
|
pure ExitSuccess
|
||||||
VLeft (V (BuildFailed tmpdir e)) -> do
|
VLeft (V (BuildFailed tmpdir e)) -> do
|
||||||
case keepDirs settings of
|
case keepDirs settings of
|
||||||
@@ -1219,7 +1220,7 @@ Report bugs at <https://gitlab.haskell.org/haskell/ghcup-hs/issues>|]
|
|||||||
pure ExitSuccess
|
pure ExitSuccess
|
||||||
VLeft (V (AlreadyInstalled _ v)) -> do
|
VLeft (V (AlreadyInstalled _ v)) -> do
|
||||||
runLogger $ $(logWarn)
|
runLogger $ $(logWarn)
|
||||||
[i|Cabal ver #{prettyVer v} already installed, you may want to run 'ghcup rm cabal #{prettyVer v}' first|]
|
[i|Cabal ver #{prettyVer v} already installed; if you really want to reinstall it, you may want to run 'ghcup rm cabal #{prettyVer v}' first|]
|
||||||
pure ExitSuccess
|
pure ExitSuccess
|
||||||
VLeft (V NoDownload) -> do
|
VLeft (V NoDownload) -> do
|
||||||
|
|
||||||
@@ -1252,7 +1253,7 @@ Report bugs at <https://gitlab.haskell.org/haskell/ghcup-hs/issues>|]
|
|||||||
pure ExitSuccess
|
pure ExitSuccess
|
||||||
VLeft (V (AlreadyInstalled _ v)) -> do
|
VLeft (V (AlreadyInstalled _ v)) -> do
|
||||||
runLogger $ $(logWarn)
|
runLogger $ $(logWarn)
|
||||||
[i|HLS ver #{prettyVer v} already installed, you may want to run 'ghcup rm hls #{prettyVer v}' first|]
|
[i|HLS ver #{prettyVer v} already installed; if you really want to reinstall it, you may want to run 'ghcup rm hls #{prettyVer v}' first|]
|
||||||
pure ExitSuccess
|
pure ExitSuccess
|
||||||
VLeft (V NoDownload) -> do
|
VLeft (V NoDownload) -> do
|
||||||
|
|
||||||
@@ -1402,7 +1403,7 @@ Report bugs at <https://gitlab.haskell.org/haskell/ghcup-hs/issues>|]
|
|||||||
pure ExitSuccess
|
pure ExitSuccess
|
||||||
VLeft (V (AlreadyInstalled _ v)) -> do
|
VLeft (V (AlreadyInstalled _ v)) -> do
|
||||||
runLogger $ $(logWarn)
|
runLogger $ $(logWarn)
|
||||||
[i|GHC ver #{prettyVer v} already installed, you may want to run 'ghcup rm ghc #{prettyVer v}' first|]
|
[i|GHC ver #{prettyVer v} already installed; if you really want to reinstall it, you may want to run 'ghcup rm ghc #{prettyVer v}' first|]
|
||||||
pure ExitSuccess
|
pure ExitSuccess
|
||||||
VLeft (V (BuildFailed tmpdir e)) -> do
|
VLeft (V (BuildFailed tmpdir e)) -> do
|
||||||
case keepDirs settings of
|
case keepDirs settings of
|
||||||
@@ -1531,6 +1532,20 @@ printListResult raw lr = do
|
|||||||
-- https://gitlab.haskell.org/ghc/ghc/issues/8118
|
-- https://gitlab.haskell.org/ghc/ghc/issues/8118
|
||||||
setLocaleEncoding utf8
|
setLocaleEncoding utf8
|
||||||
|
|
||||||
|
no_color <- isJust <$> lookupEnv "NO_COLOR"
|
||||||
|
|
||||||
|
let
|
||||||
|
color | raw || no_color = flip const
|
||||||
|
| otherwise = Pretty.color
|
||||||
|
|
||||||
|
let
|
||||||
|
printTag Recommended = color Green "recommended"
|
||||||
|
printTag Latest = color Yellow "latest"
|
||||||
|
printTag Prerelease = color Red "prerelease"
|
||||||
|
printTag (Base pvp'') = "base-" ++ T.unpack (prettyPVP pvp'')
|
||||||
|
printTag (UnknownTag t ) = t
|
||||||
|
printTag Old = ""
|
||||||
|
|
||||||
let
|
let
|
||||||
rows =
|
rows =
|
||||||
(\x -> if raw
|
(\x -> if raw
|
||||||
@@ -1552,13 +1567,13 @@ printListResult raw lr = do
|
|||||||
, intercalate "," $ (filter (/= "") . fmap printTag $ sort lTag)
|
, intercalate "," $ (filter (/= "") . fmap printTag $ sort lTag)
|
||||||
, intercalate ","
|
, intercalate ","
|
||||||
$ (if hlsPowered
|
$ (if hlsPowered
|
||||||
then [color' Green "hls-powered"]
|
then [color Green "hls-powered"]
|
||||||
else mempty
|
else mempty
|
||||||
)
|
)
|
||||||
++ (if fromSrc then [color' Blue "compiled"] else mempty)
|
++ (if fromSrc then [color Blue "compiled"] else mempty)
|
||||||
++ (if lStray then [color' Yellow "stray"] else mempty)
|
++ (if lStray then [color Yellow "stray"] else mempty)
|
||||||
++ (if lNoBindist
|
++ (if lNoBindist
|
||||||
then [color' Red "no-bindist"]
|
then [color Red "no-bindist"]
|
||||||
else mempty
|
else mempty
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
@@ -1571,16 +1586,6 @@ printListResult raw lr = do
|
|||||||
|
|
||||||
forM_ padded $ \row -> putStrLn $ intercalate " " row
|
forM_ padded $ \row -> putStrLn $ intercalate " " row
|
||||||
where
|
where
|
||||||
printTag Recommended = color' Green "recommended"
|
|
||||||
printTag Latest = color' Yellow "latest"
|
|
||||||
printTag Prerelease = color' Red "prerelease"
|
|
||||||
printTag (Base pvp'') = "base-" ++ T.unpack (prettyPVP pvp'')
|
|
||||||
printTag (UnknownTag t ) = t
|
|
||||||
printTag Old = ""
|
|
||||||
|
|
||||||
color' = case raw of
|
|
||||||
True -> flip const
|
|
||||||
False -> color
|
|
||||||
|
|
||||||
padTo str' x =
|
padTo str' x =
|
||||||
let lstr = strWidth str'
|
let lstr = strWidth str'
|
||||||
|
|||||||
38
cabal.ghc8103.project
Normal file
38
cabal.ghc8103.project
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
with-compiler: ghc-8.10.3
|
||||||
|
|
||||||
|
packages: ./ghcup.cabal
|
||||||
|
|
||||||
|
optional-packages: ./3rdparty/*/*.cabal
|
||||||
|
|
||||||
|
source-repository-package
|
||||||
|
type: git
|
||||||
|
location: https://github.com/haskus/packages.git
|
||||||
|
tag: 80a1c5fc07f7226c424250ec17f674cd4d618f42
|
||||||
|
subdir: haskus-utils-types
|
||||||
|
|
||||||
|
source-repository-package
|
||||||
|
type: git
|
||||||
|
location: https://github.com/hasufell/hpath.git
|
||||||
|
tag: bf6d28cf989b70286e12fecc183d5bbf5454a1a2
|
||||||
|
subdir: hpath-io
|
||||||
|
|
||||||
|
source-repository-package
|
||||||
|
type: git
|
||||||
|
location: https://github.com/hasufell/hpath.git
|
||||||
|
tag: bf6d28cf989b70286e12fecc183d5bbf5454a1a2
|
||||||
|
subdir: hpath-directory
|
||||||
|
|
||||||
|
optimization: 2
|
||||||
|
|
||||||
|
package streamly
|
||||||
|
ghc-options: -O2 -fspec-constr-recursive=16 -fmax-worker-args=16
|
||||||
|
|
||||||
|
package ghcup
|
||||||
|
ghc-options: -O2 -fspec-constr-recursive=16 -fmax-worker-args=16
|
||||||
|
|
||||||
|
constraints: http-io-streams -brotli
|
||||||
|
|
||||||
|
package libarchive
|
||||||
|
flags: -system-libarchive
|
||||||
|
|
||||||
|
allow-newer: base, ghc-prim, template-haskell
|
||||||
261
cabal.ghc8103.project.freeze
Normal file
261
cabal.ghc8103.project.freeze
Normal file
@@ -0,0 +1,261 @@
|
|||||||
|
active-repositories: hackage.haskell.org:merge
|
||||||
|
constraints: any.Cabal ==3.2.1.0,
|
||||||
|
any.HUnit ==1.6.2.0,
|
||||||
|
any.IfElse ==0.85,
|
||||||
|
any.QuickCheck ==2.14.2,
|
||||||
|
QuickCheck -old-random +templatehaskell,
|
||||||
|
any.StateVar ==1.2.1,
|
||||||
|
any.abstract-deque ==0.3,
|
||||||
|
abstract-deque -usecas,
|
||||||
|
any.aeson ==1.5.5.1,
|
||||||
|
aeson -bytestring-builder -cffi -developer -fast,
|
||||||
|
any.aeson-pretty ==0.8.8,
|
||||||
|
aeson-pretty -lib-only,
|
||||||
|
any.alex ==3.2.6,
|
||||||
|
alex +small_base,
|
||||||
|
any.ansi-terminal ==0.11,
|
||||||
|
ansi-terminal -example,
|
||||||
|
any.ansi-wl-pprint ==0.6.9,
|
||||||
|
ansi-wl-pprint -example,
|
||||||
|
any.array ==0.5.4.0,
|
||||||
|
any.ascii-string ==1.0.1.4,
|
||||||
|
any.assoc ==1.0.2,
|
||||||
|
any.async ==2.2.2,
|
||||||
|
async -bench,
|
||||||
|
any.atomic-primops ==0.8.4,
|
||||||
|
atomic-primops -debug,
|
||||||
|
any.attoparsec ==0.13.2.4,
|
||||||
|
attoparsec -developer,
|
||||||
|
any.auto-update ==0.1.6,
|
||||||
|
any.base ==4.14.1.0,
|
||||||
|
any.base-compat ==0.11.2,
|
||||||
|
any.base-compat-batteries ==0.11.2,
|
||||||
|
any.base-orphans ==0.8.4,
|
||||||
|
any.base16-bytestring ==1.0.1.0,
|
||||||
|
any.base64-bytestring ==1.2.0.1,
|
||||||
|
any.bifunctors ==5.5.10,
|
||||||
|
bifunctors +semigroups +tagged,
|
||||||
|
any.binary ==0.8.8.0,
|
||||||
|
any.blaze-builder ==0.4.2.1,
|
||||||
|
any.bytestring ==0.10.12.0,
|
||||||
|
any.bz2 ==1.0.1.0,
|
||||||
|
bz2 -cross +with-bzlib,
|
||||||
|
any.c2hs ==0.28.7,
|
||||||
|
c2hs +base3 -regression,
|
||||||
|
any.call-stack ==0.3.0,
|
||||||
|
any.case-insensitive ==1.2.1.0,
|
||||||
|
any.casing ==0.1.4.1,
|
||||||
|
any.cereal ==0.5.8.1,
|
||||||
|
cereal -bytestring-builder,
|
||||||
|
any.chs-cabal ==0.1.1.0,
|
||||||
|
any.chs-deps ==0.1.0.0,
|
||||||
|
chs-deps -cross,
|
||||||
|
any.clock ==0.8.2,
|
||||||
|
clock -llvm,
|
||||||
|
any.cmdargs ==0.10.20,
|
||||||
|
cmdargs +quotation -testprog,
|
||||||
|
any.colour ==2.3.5,
|
||||||
|
any.comonad ==5.0.8,
|
||||||
|
comonad +containers +distributive +indexed-traversable,
|
||||||
|
any.composition-prelude ==3.0.0.2,
|
||||||
|
composition-prelude -development,
|
||||||
|
any.concurrent-output ==1.10.12,
|
||||||
|
any.conduit ==1.3.4,
|
||||||
|
any.conduit-extra ==1.3.5,
|
||||||
|
any.containers ==0.6.2.1,
|
||||||
|
any.contravariant ==1.5.3,
|
||||||
|
contravariant +semigroups +statevar +tagged,
|
||||||
|
any.cryptohash-sha256 ==0.11.102.0,
|
||||||
|
cryptohash-sha256 -exe +use-cbits,
|
||||||
|
any.data-default-class ==0.1.2.0,
|
||||||
|
any.data-fix ==0.3.0,
|
||||||
|
any.deepseq ==1.4.4.0,
|
||||||
|
any.deferred-folds ==0.9.15,
|
||||||
|
any.directory ==1.3.6.0,
|
||||||
|
any.distributive ==0.6.2.1,
|
||||||
|
distributive +semigroups +tagged,
|
||||||
|
any.dlist ==1.0,
|
||||||
|
dlist -werror,
|
||||||
|
any.easy-file ==0.2.2,
|
||||||
|
any.errors ==2.3.0,
|
||||||
|
any.exceptions ==0.10.4,
|
||||||
|
any.fast-logger ==3.0.2,
|
||||||
|
any.filepath ==1.4.2.1,
|
||||||
|
any.focus ==1.0.2,
|
||||||
|
any.foldl ==1.4.10,
|
||||||
|
any.free ==5.1.6,
|
||||||
|
any.fusion-plugin-types ==0.1.0,
|
||||||
|
any.generic-arbitrary ==0.1.0,
|
||||||
|
any.generics-sop ==0.5.1.0,
|
||||||
|
any.ghc-boot-th ==8.10.3,
|
||||||
|
any.ghc-prim ==0.6.1,
|
||||||
|
ghcup -internal-downloader -tar -tui,
|
||||||
|
any.happy ==1.20.0,
|
||||||
|
any.hashable ==1.3.0.0,
|
||||||
|
hashable -examples +integer-gmp +sse2 -sse41,
|
||||||
|
any.haskell-src-exts ==1.23.1,
|
||||||
|
any.haskell-src-meta ==0.8.5,
|
||||||
|
any.haskus-utils-data ==1.3,
|
||||||
|
any.haskus-utils-types ==1.5,
|
||||||
|
any.haskus-utils-variant ==3.0,
|
||||||
|
any.heaps ==0.3.6.1,
|
||||||
|
any.hpath ==0.11.0,
|
||||||
|
any.hpath-directory ==0.14.1,
|
||||||
|
any.hpath-filepath ==0.10.4,
|
||||||
|
any.hpath-io ==0.14.1,
|
||||||
|
any.hpath-posix ==0.13.2,
|
||||||
|
any.hsc2hs ==0.68.7,
|
||||||
|
hsc2hs -in-ghc-tree,
|
||||||
|
any.hspec ==2.7.8,
|
||||||
|
any.hspec-core ==2.7.8,
|
||||||
|
any.hspec-discover ==2.7.8,
|
||||||
|
any.hspec-expectations ==0.8.2,
|
||||||
|
any.hspec-golden-aeson ==0.7.0.0,
|
||||||
|
any.indexed-profunctors ==0.1,
|
||||||
|
any.indexed-traversable ==0.1.1,
|
||||||
|
any.integer-gmp ==1.0.3.0,
|
||||||
|
any.integer-logarithms ==1.0.3.1,
|
||||||
|
integer-logarithms -check-bounds +integer-gmp,
|
||||||
|
any.language-c ==0.8.3,
|
||||||
|
language-c -allwarnings +iecfpextension +separatesyb +usebytestrings,
|
||||||
|
any.libarchive ==3.0.2.1,
|
||||||
|
libarchive -cross -low-memory -system-libarchive,
|
||||||
|
any.libyaml ==0.1.2,
|
||||||
|
libyaml -no-unicode -system-libyaml,
|
||||||
|
any.lifted-base ==0.2.3.12,
|
||||||
|
any.list-t ==1.0.4,
|
||||||
|
any.lockfree-queue ==0.2.3.1,
|
||||||
|
lzma -static,
|
||||||
|
any.math-functions ==0.3.4.1,
|
||||||
|
math-functions +system-erf +system-expm1,
|
||||||
|
any.megaparsec ==9.0.1,
|
||||||
|
megaparsec -dev,
|
||||||
|
any.microlens ==0.4.11.2,
|
||||||
|
any.microlens-mtl ==0.2.0.1,
|
||||||
|
any.microlens-th ==0.4.3.9,
|
||||||
|
any.mmorph ==1.1.4,
|
||||||
|
any.monad-control ==1.0.2.3,
|
||||||
|
any.monad-logger ==0.3.36,
|
||||||
|
monad-logger +template_haskell,
|
||||||
|
any.monad-loops ==0.4.3,
|
||||||
|
monad-loops +base4,
|
||||||
|
any.mono-traversable ==1.0.15.1,
|
||||||
|
any.mtl ==2.2.2,
|
||||||
|
any.mwc-random ==0.15.0.1,
|
||||||
|
any.network ==3.1.2.1,
|
||||||
|
network -devel,
|
||||||
|
any.old-locale ==1.0.0.7,
|
||||||
|
any.old-time ==1.1.0.3,
|
||||||
|
any.optics ==0.3,
|
||||||
|
any.optics-core ==0.3.0.1,
|
||||||
|
any.optics-extra ==0.3,
|
||||||
|
any.optics-th ==0.3.0.2,
|
||||||
|
any.optics-vl ==0.2.1,
|
||||||
|
any.optparse-applicative ==0.16.1.0,
|
||||||
|
optparse-applicative +process,
|
||||||
|
any.os-release ==1.0.1,
|
||||||
|
os-release -devel,
|
||||||
|
any.parallel ==3.2.2.0,
|
||||||
|
any.parsec ==3.1.14.0,
|
||||||
|
any.parser-combinators ==1.2.1,
|
||||||
|
parser-combinators -dev,
|
||||||
|
any.pretty ==1.1.3.6,
|
||||||
|
any.pretty-terminal ==0.1.0.0,
|
||||||
|
any.primitive ==0.7.0.1,
|
||||||
|
any.primitive-extras ==0.8,
|
||||||
|
any.primitive-unlifted ==0.1.3.0,
|
||||||
|
any.process ==1.6.9.0,
|
||||||
|
any.profunctors ==5.6.1,
|
||||||
|
any.quickcheck-arbitrary-adt ==0.3.1.0,
|
||||||
|
any.quickcheck-io ==0.2.0,
|
||||||
|
any.random ==1.2.0,
|
||||||
|
any.recursion-schemes ==5.2.1,
|
||||||
|
recursion-schemes +template-haskell,
|
||||||
|
any.regex-base ==0.94.0.0,
|
||||||
|
any.regex-posix ==0.96.0.0,
|
||||||
|
regex-posix -_regex-posix-clib,
|
||||||
|
any.resourcet ==1.2.4.2,
|
||||||
|
any.rts ==1.0,
|
||||||
|
any.safe ==0.3.19,
|
||||||
|
any.safe-exceptions ==0.1.7.1,
|
||||||
|
any.scientific ==0.3.6.2,
|
||||||
|
scientific -bytestring-builder -integer-simple,
|
||||||
|
any.semigroupoids ==5.3.5,
|
||||||
|
semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers,
|
||||||
|
any.setenv ==0.1.1.3,
|
||||||
|
any.sop-core ==0.5.0.1,
|
||||||
|
any.split ==0.2.3.4,
|
||||||
|
any.splitmix ==0.1.0.3,
|
||||||
|
splitmix -optimised-mixer,
|
||||||
|
any.stm ==2.5.0.0,
|
||||||
|
any.stm-chans ==3.0.0.4,
|
||||||
|
any.streaming-commons ==0.2.2.1,
|
||||||
|
streaming-commons -use-bytestring-builder,
|
||||||
|
any.streamly ==0.7.2,
|
||||||
|
streamly -debug -dev -examples -examples-sdl -fusion-plugin -has-llvm -inspection -no-fusion -streamk,
|
||||||
|
any.streamly-bytestring ==0.1.2,
|
||||||
|
any.streamly-posix ==0.1.0.1,
|
||||||
|
any.strict ==0.4.0.1,
|
||||||
|
strict +assoc,
|
||||||
|
any.strict-base ==0.4.0.0,
|
||||||
|
any.string-interpolate ==0.3.0.2,
|
||||||
|
string-interpolate -bytestring-builder -extended-benchmarks -text-builder,
|
||||||
|
any.syb ==0.7.2.1,
|
||||||
|
any.tagged ==0.8.6.1,
|
||||||
|
tagged +deepseq +transformers,
|
||||||
|
any.tasty ==1.3.1,
|
||||||
|
tasty +clock,
|
||||||
|
any.tasty-hunit ==0.10.0.3,
|
||||||
|
any.tasty-quickcheck ==0.10.1.2,
|
||||||
|
any.template-haskell ==2.16.0.0,
|
||||||
|
any.terminal-size ==0.3.2.1,
|
||||||
|
any.terminfo ==0.4.1.4,
|
||||||
|
any.text ==1.2.4.1,
|
||||||
|
any.text-conversions ==0.3.1,
|
||||||
|
any.text-short ==0.1.3,
|
||||||
|
text-short -asserts,
|
||||||
|
any.tf-random ==0.5,
|
||||||
|
any.th-abstraction ==0.4.2.0,
|
||||||
|
any.th-compat ==0.1,
|
||||||
|
any.th-expand-syns ==0.4.6.0,
|
||||||
|
any.th-lift ==0.8.2,
|
||||||
|
any.th-lift-instances ==0.1.18,
|
||||||
|
any.th-orphans ==0.13.11,
|
||||||
|
any.th-reify-many ==0.1.9,
|
||||||
|
any.these ==1.1.1.1,
|
||||||
|
these +assoc,
|
||||||
|
any.time ==1.9.3,
|
||||||
|
any.time-compat ==1.9.5,
|
||||||
|
time-compat -old-locale,
|
||||||
|
any.transformers ==0.5.6.2,
|
||||||
|
any.transformers-base ==0.4.5.2,
|
||||||
|
transformers-base +orphaninstances,
|
||||||
|
any.transformers-compat ==0.6.6,
|
||||||
|
transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
|
||||||
|
any.typed-process ==0.2.6.0,
|
||||||
|
any.unbounded-delays ==0.1.1.1,
|
||||||
|
any.unix ==2.7.2.2,
|
||||||
|
any.unix-bytestring ==0.3.7.3,
|
||||||
|
any.unix-compat ==0.5.3,
|
||||||
|
unix-compat -old-time,
|
||||||
|
any.unix-time ==0.4.7,
|
||||||
|
any.unliftio-core ==0.2.0.1,
|
||||||
|
any.unordered-containers ==0.2.13.0,
|
||||||
|
unordered-containers -debug,
|
||||||
|
any.uri-bytestring ==0.3.3.0,
|
||||||
|
uri-bytestring -lib-werror,
|
||||||
|
any.utf8-string ==1.0.2,
|
||||||
|
any.uuid-types ==1.0.3,
|
||||||
|
any.vector ==0.12.2.0,
|
||||||
|
vector +boundschecks -internalchecks -unsafechecks -wall,
|
||||||
|
any.vector-algorithms ==0.8.0.4,
|
||||||
|
vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
|
||||||
|
any.versions ==4.0.2,
|
||||||
|
any.vty ==5.32,
|
||||||
|
any.wcwidth ==0.0.2,
|
||||||
|
wcwidth -cli +split-base,
|
||||||
|
any.word8 ==0.1.3,
|
||||||
|
any.yaml ==0.11.5.0,
|
||||||
|
yaml +no-examples +no-exe,
|
||||||
|
zlib -non-blocking-ffi -pkg-config -static
|
||||||
|
index-state: hackage.haskell.org 2021-02-04T20:08:20Z
|
||||||
@@ -1117,7 +1117,6 @@ ghcupDownloads:
|
|||||||
unknown_versioning: *ghc-8101-32-deb9
|
unknown_versioning: *ghc-8101-32-deb9
|
||||||
8.10.2:
|
8.10.2:
|
||||||
viTags:
|
viTags:
|
||||||
- Latest
|
|
||||||
- base-4.14.1.0
|
- base-4.14.1.0
|
||||||
viChangeLog: https://downloads.haskell.org/~ghc/8.10.2/docs/html/users_guide/8.10.2-notes.html
|
viChangeLog: https://downloads.haskell.org/~ghc/8.10.2/docs/html/users_guide/8.10.2-notes.html
|
||||||
viSourceDL:
|
viSourceDL:
|
||||||
@@ -1193,6 +1192,79 @@ ghcupDownloads:
|
|||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.10.2-i386-alpine-linux.tar.xz
|
dlUri: https://files.hasufell.de/ghc/ghc-8.10.2-i386-alpine-linux.tar.xz
|
||||||
dlSubdir: ghc-8.10.2
|
dlSubdir: ghc-8.10.2
|
||||||
dlHash: 9ee1cf1e85e9536088b3c9e80e975074e525ea378cd4eb156071bbc4b7b38327
|
dlHash: 9ee1cf1e85e9536088b3c9e80e975074e525ea378cd4eb156071bbc4b7b38327
|
||||||
|
8.10.3:
|
||||||
|
viTags:
|
||||||
|
- Latest
|
||||||
|
- base-4.14.1.0
|
||||||
|
viChangeLog: https://downloads.haskell.org/~ghc/8.10.3/docs/html/users_guide/8.10.3-notes.html
|
||||||
|
viSourceDL:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-src.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: 9c573a4621a78723950617c223559bdc325ea6a3409264aedf68f05510b0880b
|
||||||
|
viArch:
|
||||||
|
A_64:
|
||||||
|
Linux_Debian:
|
||||||
|
'9': &ghc-8103-64-deb9
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-deb9-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: 95e4aadea30701fe5ab84d15f757926d843ded7115e11c4cd827809ca830718d
|
||||||
|
'10': &ghc-8103-64-deb10
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-deb10-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: c8f3d9f0e61a89eaba1d3ad8fb2eced1af0e81576811261b887993bee12538ac
|
||||||
|
unknown_versioning: *ghc-8103-64-deb9
|
||||||
|
Linux_Ubuntu:
|
||||||
|
unknown_versioning: &ghc-8103-64-fedora
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-fedora27-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: f8739b12008712d6b6a9ffc6c39f9d05af77ef3bcb932c9aff20fa0893c8c159
|
||||||
|
'16.04': *ghc-8103-64-deb9
|
||||||
|
'18.04': *ghc-8103-64-deb9
|
||||||
|
Linux_Mint:
|
||||||
|
unknown_versioning: *ghc-8103-64-deb10
|
||||||
|
Linux_Fedora:
|
||||||
|
'27': *ghc-8103-64-fedora
|
||||||
|
unknown_versioning: *ghc-8103-64-fedora
|
||||||
|
Linux_CentOS:
|
||||||
|
'7': &ghc-8103-64-centos
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-centos7-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: f562ca61979ff1d21e34e69e59028cb742a8eff8d84e46bbd3a750f2ac7d8ed1
|
||||||
|
unknown_versioning: *ghc-8103-64-centos
|
||||||
|
Linux_RedHat:
|
||||||
|
unknown_versioning: *ghc-8103-64-centos
|
||||||
|
Linux_Alpine:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-alpine3.10-linux-integer-simple.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3-x86_64-unknown-linux
|
||||||
|
dlHash: 8506c478ebbfb5441c3c36c07c36fc8532cacb2b3e13c6733bd44cb17b3ce96c
|
||||||
|
Linux_AmazonLinux:
|
||||||
|
unknown_versioning: *ghc-8103-64-centos
|
||||||
|
Linux_UnknownLinux:
|
||||||
|
unknown_versioning: *ghc-8103-64-fedora
|
||||||
|
Darwin:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-apple-darwin.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: 2635f35d76e44e69afdfd37cae89d211975cc20f71f784363b72003e59f22015
|
||||||
|
FreeBSD:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-portbld-freebsd.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: 749007e995104db05cf6e3ad5bc36238cab8afac8055145661e5730e8f8af040
|
||||||
|
A_32:
|
||||||
|
Linux_Debian:
|
||||||
|
'9': &ghc-8103-32-deb9
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-i386-deb9-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: f0addd2a16b705f58ff9e8702c3ddf3e2d6bd0d3555707b5b5095e51bafee7b1
|
||||||
|
unknown_versioning: *ghc-8103-32-deb9
|
||||||
|
Linux_Ubuntu:
|
||||||
|
unknown_versioning: *ghc-8103-32-deb9
|
||||||
|
Linux_Mint:
|
||||||
|
unknown_versioning: *ghc-8103-32-deb9
|
||||||
|
Linux_UnknownLinux:
|
||||||
|
unknown_versioning: *ghc-8103-32-deb9
|
||||||
Cabal:
|
Cabal:
|
||||||
2.4.1.0:
|
2.4.1.0:
|
||||||
viTags: []
|
viTags: []
|
||||||
|
|||||||
179
ghcup-0.0.3.yaml
179
ghcup-0.0.3.yaml
@@ -1117,7 +1117,6 @@ ghcupDownloads:
|
|||||||
unknown_versioning: *ghc-8101-32-deb9
|
unknown_versioning: *ghc-8101-32-deb9
|
||||||
8.10.2:
|
8.10.2:
|
||||||
viTags:
|
viTags:
|
||||||
- Latest
|
|
||||||
- base-4.14.1.0
|
- base-4.14.1.0
|
||||||
viChangeLog: https://downloads.haskell.org/~ghc/8.10.2/docs/html/users_guide/8.10.2-notes.html
|
viChangeLog: https://downloads.haskell.org/~ghc/8.10.2/docs/html/users_guide/8.10.2-notes.html
|
||||||
viSourceDL:
|
viSourceDL:
|
||||||
@@ -1193,78 +1192,146 @@ ghcupDownloads:
|
|||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.10.2-i386-alpine-linux.tar.xz
|
dlUri: https://files.hasufell.de/ghc/ghc-8.10.2-i386-alpine-linux.tar.xz
|
||||||
dlSubdir: ghc-8.10.2
|
dlSubdir: ghc-8.10.2
|
||||||
dlHash: 9ee1cf1e85e9536088b3c9e80e975074e525ea378cd4eb156071bbc4b7b38327
|
dlHash: 9ee1cf1e85e9536088b3c9e80e975074e525ea378cd4eb156071bbc4b7b38327
|
||||||
9.0.0.20200925:
|
8.10.3:
|
||||||
|
viTags:
|
||||||
|
- Latest
|
||||||
|
- base-4.14.1.0
|
||||||
|
viChangeLog: https://downloads.haskell.org/~ghc/8.10.3/docs/html/users_guide/8.10.3-notes.html
|
||||||
|
viSourceDL:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-src.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: 9c573a4621a78723950617c223559bdc325ea6a3409264aedf68f05510b0880b
|
||||||
|
viArch:
|
||||||
|
A_64:
|
||||||
|
Linux_Debian:
|
||||||
|
'9': &ghc-8103-64-deb9
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-deb9-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: 95e4aadea30701fe5ab84d15f757926d843ded7115e11c4cd827809ca830718d
|
||||||
|
'10': &ghc-8103-64-deb10
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-deb10-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: c8f3d9f0e61a89eaba1d3ad8fb2eced1af0e81576811261b887993bee12538ac
|
||||||
|
unknown_versioning: *ghc-8103-64-deb9
|
||||||
|
Linux_Ubuntu:
|
||||||
|
unknown_versioning: &ghc-8103-64-fedora
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-fedora27-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: f8739b12008712d6b6a9ffc6c39f9d05af77ef3bcb932c9aff20fa0893c8c159
|
||||||
|
'16.04': *ghc-8103-64-deb9
|
||||||
|
'18.04': *ghc-8103-64-deb9
|
||||||
|
Linux_Mint:
|
||||||
|
unknown_versioning: *ghc-8103-64-deb10
|
||||||
|
Linux_Fedora:
|
||||||
|
'27': *ghc-8103-64-fedora
|
||||||
|
unknown_versioning: *ghc-8103-64-fedora
|
||||||
|
Linux_CentOS:
|
||||||
|
'7': &ghc-8103-64-centos
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-centos7-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: f562ca61979ff1d21e34e69e59028cb742a8eff8d84e46bbd3a750f2ac7d8ed1
|
||||||
|
unknown_versioning: *ghc-8103-64-centos
|
||||||
|
Linux_RedHat:
|
||||||
|
unknown_versioning: *ghc-8103-64-centos
|
||||||
|
Linux_Alpine:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-alpine3.10-linux-integer-simple.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3-x86_64-unknown-linux
|
||||||
|
dlHash: 8506c478ebbfb5441c3c36c07c36fc8532cacb2b3e13c6733bd44cb17b3ce96c
|
||||||
|
Linux_AmazonLinux:
|
||||||
|
unknown_versioning: *ghc-8103-64-centos
|
||||||
|
Linux_UnknownLinux:
|
||||||
|
unknown_versioning: *ghc-8103-64-fedora
|
||||||
|
Darwin:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-apple-darwin.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: 2635f35d76e44e69afdfd37cae89d211975cc20f71f784363b72003e59f22015
|
||||||
|
FreeBSD:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-portbld-freebsd.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: 749007e995104db05cf6e3ad5bc36238cab8afac8055145661e5730e8f8af040
|
||||||
|
A_32:
|
||||||
|
Linux_Debian:
|
||||||
|
'9': &ghc-8103-32-deb9
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-i386-deb9-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: f0addd2a16b705f58ff9e8702c3ddf3e2d6bd0d3555707b5b5095e51bafee7b1
|
||||||
|
unknown_versioning: *ghc-8103-32-deb9
|
||||||
|
Linux_Ubuntu:
|
||||||
|
unknown_versioning: *ghc-8103-32-deb9
|
||||||
|
Linux_Mint:
|
||||||
|
unknown_versioning: *ghc-8103-32-deb9
|
||||||
|
Linux_UnknownLinux:
|
||||||
|
unknown_versioning: *ghc-8103-32-deb9
|
||||||
|
9.0.0.20201227:
|
||||||
viTags:
|
viTags:
|
||||||
- Prerelease
|
- Prerelease
|
||||||
- base-4.15.0.0
|
- base-4.15.0.0
|
||||||
viSourceDL:
|
viSourceDL:
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-src.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1-rc1/ghc-9.0.0.20201227-src.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
dlSubdir: ghc-9.0.0.20201227
|
||||||
dlHash: 142189a3a741af1deb40020c031f05aebfc2b6fd077ffd0c230cf405587cdbb0
|
dlHash: de49a6d4c67bb8ef676c7e76ca48b3f174bb774a197794cf1518a7f7dd11e2cd
|
||||||
viArch:
|
viArch:
|
||||||
A_64:
|
A_64:
|
||||||
Linux_Debian:
|
Linux_Debian:
|
||||||
'9': &ghc-901a1-64-deb9
|
'9': &ghc-901r1-64-deb9
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-x86_64-deb9-linux.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1-rc1/ghc-9.0.0.20201227-x86_64-deb9-linux.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
dlSubdir: ghc-9.0.0.20201227
|
||||||
dlHash: d44ab6f933292066d3f4bafc7e1a4209f8044069f9360bd60a97d2de05a73db2
|
dlHash: 53f1d9b1cd7cbac4f4e683b5bcf2d08dd45852bd55218c7c5e965b5a78704f15
|
||||||
'10': &ghc-901a1-64-deb10
|
'10': &ghc-901r1-64-deb10
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-x86_64-deb10-linux-dwarf.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1-rc1/ghc-9.0.0.20201227-x86_64-deb10-linux-dwarf.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
dlSubdir: ghc-9.0.0.20201227
|
||||||
dlHash: 958f98a97d244899d986168c89e4babe2b85ceaa4b0cf1c4631ea1dfa82ad75e
|
dlHash: 646f3b91a4ea58be46545b493e08197a4345a71f74ec018be2b8fde496ffe1e4
|
||||||
unknown_versioning: *ghc-901a1-64-deb9
|
unknown_versioning: *ghc-901r1-64-deb9
|
||||||
Linux_Ubuntu:
|
Linux_Ubuntu:
|
||||||
unknown_versioning: &ghc-901a1-64-fedora
|
unknown_versioning: &ghc-901r1-64-fedora
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-x86_64-fedora27-linux.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1-rc1/ghc-9.0.0.20201227-x86_64-fedora27-linux.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
dlSubdir: ghc-9.0.0.20201227
|
||||||
dlHash: 2711afabbaab7abd1b8fdf846802ce6ca8e531641d64bbf75780d4de64180dca
|
dlHash: a6483262e5c999701b948107f5b9e77d705333f4b61b37b1c27b4abd28dd186c
|
||||||
'16.04': *ghc-901a1-64-deb9
|
'16.04': *ghc-901r1-64-deb9
|
||||||
'18.04': *ghc-901a1-64-deb9
|
'18.04': *ghc-901r1-64-deb9
|
||||||
Linux_Mint:
|
Linux_Mint:
|
||||||
unknown_versioning: *ghc-901a1-64-deb10
|
unknown_versioning: *ghc-901r1-64-deb10
|
||||||
Linux_Fedora:
|
Linux_Fedora:
|
||||||
'27': *ghc-901a1-64-fedora
|
'27': *ghc-901r1-64-fedora
|
||||||
unknown_versioning: *ghc-901a1-64-fedora
|
unknown_versioning: *ghc-901r1-64-fedora
|
||||||
Linux_CentOS:
|
Linux_CentOS:
|
||||||
'7': &ghc-901a1-64-centos
|
'7': &ghc-901r1-64-centos
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-x86_64-centos7-linux.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1-rc1/ghc-9.0.0.20201227-x86_64-centos7-linux.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
dlSubdir: ghc-9.0.0.20201227
|
||||||
dlHash: 5f6cd94e0d3917fa5c87031706e665f5d9b997f5c991c9c4c4e2900c39dc98ac
|
dlHash: 563370553544c825b0f43427065af789c56ee7ec9cccd497b9dc28c13fc537c5
|
||||||
unknown_versioning: *ghc-901a1-64-centos
|
unknown_versioning: *ghc-901r1-64-centos
|
||||||
Linux_RedHat:
|
Linux_RedHat:
|
||||||
unknown_versioning: *ghc-901a1-64-centos
|
unknown_versioning: *ghc-901r1-64-centos
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-x86_64-alpine3.10-linux-integer-simple.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1-rc1/ghc-9.0.0.20201227-x86_64-alpine3.10-linux-integer-simple.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925-x86_64-unknown-linux
|
dlSubdir: ghc-9.0.0.20201227-x86_64-unknown-linux
|
||||||
dlHash: 05c0176e39cc89a95047060a589df0686ea1eb99b3de7f2cfadbe5e68bf93f68
|
dlHash: 21d1ffce74032a8f2e808c9160624a41d9d7a129e4e376845d7dd422b290fba2
|
||||||
Linux_AmazonLinux:
|
Linux_AmazonLinux:
|
||||||
unknown_versioning: *ghc-901a1-64-centos
|
unknown_versioning: *ghc-901r1-64-centos
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
unknown_versioning: *ghc-901a1-64-fedora
|
unknown_versioning: *ghc-901r1-64-fedora
|
||||||
Darwin:
|
Darwin:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-x86_64-apple-darwin.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1-rc1/ghc-9.0.0.20201227-x86_64-apple-darwin.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
dlSubdir: ghc-9.0.0.20201227
|
||||||
dlHash: fb85a78f2bdad53c591261e21c80f3f50fa2b68bbb22632d9be6960af7b27813
|
dlHash: e6e5bf34c002d52d7108b9d4c8621ae3d21059509f8868bb81b0ba4fda6320da
|
||||||
FreeBSD:
|
|
||||||
unknown_versioning:
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-x86_64-unknown-freebsd.tar.xz
|
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
|
||||||
dlHash: 1e094cbbf9636b1f231bc99e44197fe7a05f570cf46f079bba1a0ca796c3c30c
|
|
||||||
A_32:
|
A_32:
|
||||||
Linux_Debian:
|
Linux_Debian:
|
||||||
'9': &ghc-901a1-32-deb9
|
'9': &ghc-901r1-32-deb9
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-i386-deb9-linux.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1-rc1/ghc-9.0.0.20201227-i386-deb9-linux.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
dlSubdir: ghc-9.0.0.20201227
|
||||||
dlHash: a533641720c33f953ca5d100bc7da219d4cf52eae081c94c97b9ac4cbd9c1d06
|
dlHash: 1e3348e2288c60b763dc4e74e4a69b17ae261edb383a7a5220a879c35d530cda
|
||||||
unknown_versioning: *ghc-901a1-32-deb9
|
unknown_versioning: *ghc-901r1-32-deb9
|
||||||
Linux_Ubuntu:
|
Linux_Ubuntu:
|
||||||
unknown_versioning: *ghc-901a1-32-deb9
|
unknown_versioning: *ghc-901r1-32-deb9
|
||||||
Linux_Mint:
|
Linux_Mint:
|
||||||
unknown_versioning: *ghc-901a1-32-deb9
|
unknown_versioning: *ghc-901r1-32-deb9
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
unknown_versioning: *ghc-901a1-32-deb9
|
unknown_versioning: *ghc-901r1-32-deb9
|
||||||
Cabal:
|
Cabal:
|
||||||
2.4.1.0:
|
2.4.1.0:
|
||||||
viTags: []
|
viTags: []
|
||||||
@@ -1414,20 +1481,20 @@ ghcupDownloads:
|
|||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning: *ghcup-32
|
unknown_versioning: *ghcup-32
|
||||||
HLS:
|
HLS:
|
||||||
0.7.1:
|
0.8.0:
|
||||||
viTags:
|
viTags:
|
||||||
- Recommended
|
- Recommended
|
||||||
- Latest
|
- Latest
|
||||||
viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#071
|
viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#080
|
||||||
viArch:
|
viArch:
|
||||||
A_64:
|
A_64:
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
unknown_versioning: &hls-64
|
unknown_versioning: &hls-64
|
||||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/0.7.1/haskell-language-server-Linux-0.7.1.tar.gz
|
dlUri: https://github.com/haskell/haskell-language-server/releases/download/0.8.0/haskell-language-server-Linux-0.8.0.tar.gz
|
||||||
dlHash: e74f3bd1f91613a1859a411f369dc34afce9e3e9b7c99ea4f251d81111627f62
|
dlHash: ba1306ab1af7a5fa1174b19bc3aa8904f5b238d9d6eac04d07fd692db9af4534
|
||||||
Darwin:
|
Darwin:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/0.7.1/haskell-language-server-macOS-0.7.1.tar.gz
|
dlUri: https://github.com/haskell/haskell-language-server/releases/download/0.8.0/haskell-language-server-macOS-0.8.0.tar.gz
|
||||||
dlHash: 87ac37cfc74abb4f348a799ee6e76266fe1972dead72b7b11ee1411cc83924ed
|
dlHash: 1c1668bb455a5164df62774e6fb8f8f91a831ce527d9e5f89f453fb28ef54622
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning: *hls-64
|
unknown_versioning: *hls-64
|
||||||
|
|||||||
353
ghcup-0.0.4.yaml
353
ghcup-0.0.4.yaml
@@ -28,7 +28,7 @@ toolRequirements:
|
|||||||
- libncurses5
|
- libncurses5
|
||||||
- libtinfo5
|
- libtinfo5
|
||||||
notes: ''
|
notes: ''
|
||||||
">= 20.04":
|
"( >= 20.04 && < 20.10 )":
|
||||||
distroPKGs:
|
distroPKGs:
|
||||||
- build-essential
|
- build-essential
|
||||||
- curl
|
- curl
|
||||||
@@ -40,6 +40,18 @@ toolRequirements:
|
|||||||
- libncurses5
|
- libncurses5
|
||||||
- libtinfo5
|
- libtinfo5
|
||||||
notes: ''
|
notes: ''
|
||||||
|
"( >= 20.10 )":
|
||||||
|
distroPKGs:
|
||||||
|
- build-essential
|
||||||
|
- curl
|
||||||
|
- libffi-dev
|
||||||
|
- libffi8ubuntu1
|
||||||
|
- libgmp-dev
|
||||||
|
- libgmp10
|
||||||
|
- libncurses-dev
|
||||||
|
- libncurses5
|
||||||
|
- libtinfo5
|
||||||
|
notes: ''
|
||||||
Linux_CentOS:
|
Linux_CentOS:
|
||||||
'( >= 7 && < 8 )':
|
'( >= 7 && < 8 )':
|
||||||
distroPKGs:
|
distroPKGs:
|
||||||
@@ -193,7 +205,7 @@ ghcupDownloads:
|
|||||||
unknown_versioning: *ghc-802-64-deb8
|
unknown_versioning: *ghc-802-64-deb8
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.0.2-x86_64-alpine-linux.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.0.2/ghc-8.0.2-x86_64-alpine-linux.tar.xz
|
||||||
dlSubdir: ghc-8.0.2
|
dlSubdir: ghc-8.0.2
|
||||||
dlHash: 517783b660a27ebf95b2568d47292fd633d5f9a4de4c80ad1ccf05e1b9d7313f
|
dlHash: 517783b660a27ebf95b2568d47292fd633d5f9a4de4c80ad1ccf05e1b9d7313f
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
@@ -220,7 +232,7 @@ ghcupDownloads:
|
|||||||
dlHash: 818621342a2161b8afcc995a0765816bb40aefbfa1db2c8a7d59c04d8b18228a
|
dlHash: 818621342a2161b8afcc995a0765816bb40aefbfa1db2c8a7d59c04d8b18228a
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.0.2-i386-alpine-linux.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.0.2/ghc-8.0.2-i386-alpine-linux.tar.xz
|
||||||
dlSubdir: ghc-8.0.2
|
dlSubdir: ghc-8.0.2
|
||||||
dlHash: b4cd12a1048b2fff2f23c9eec0dd3a1174d54d017f8d79ec79af4534118e6881
|
dlHash: b4cd12a1048b2fff2f23c9eec0dd3a1174d54d017f8d79ec79af4534118e6881
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
@@ -251,7 +263,7 @@ ghcupDownloads:
|
|||||||
unknown_versioning: *ghc-822-64-deb8
|
unknown_versioning: *ghc-822-64-deb8
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.2.2-x86_64-alpine-linux.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.2.2/ghc-8.2.2-x86_64-alpine-linux.tar.xz
|
||||||
dlSubdir: ghc-8.2.2
|
dlSubdir: ghc-8.2.2
|
||||||
dlHash: adcf3a320a3c402aba07ae9586990dc3c0b550e96aeffb1b9e194313d3ba716d
|
dlHash: adcf3a320a3c402aba07ae9586990dc3c0b550e96aeffb1b9e194313d3ba716d
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
@@ -287,7 +299,7 @@ ghcupDownloads:
|
|||||||
unknown_versioning: *ghc-822-32-deb8
|
unknown_versioning: *ghc-822-32-deb8
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.2.2-i386-alpine-linux.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.2.2/ghc-8.2.2-i386-alpine-linux.tar.xz
|
||||||
dlSubdir: ghc-8.2.2
|
dlSubdir: ghc-8.2.2
|
||||||
dlHash: 467534c32552cfd318753112dbc70af003693aad4b0081f2a07e61f5b5ea2c22
|
dlHash: 467534c32552cfd318753112dbc70af003693aad4b0081f2a07e61f5b5ea2c22
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
@@ -482,7 +494,7 @@ ghcupDownloads:
|
|||||||
unknown_versioning: *ghc-844-64-centos
|
unknown_versioning: *ghc-844-64-centos
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.4.4-x86_64-alpine-linux.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.4.4/ghc-8.4.4-x86_64-alpine-linux.tar.xz
|
||||||
dlSubdir: ghc-8.4.4
|
dlSubdir: ghc-8.4.4
|
||||||
dlHash: 336affff8314d3dc5e85d9c09015ae2ba8a7658b459c8c8ae77ecaa551a56ae7
|
dlHash: 336affff8314d3dc5e85d9c09015ae2ba8a7658b459c8c8ae77ecaa551a56ae7
|
||||||
Linux_AmazonLinux:
|
Linux_AmazonLinux:
|
||||||
@@ -511,7 +523,7 @@ ghcupDownloads:
|
|||||||
unknown_versioning: *ghc-844-32-deb8
|
unknown_versioning: *ghc-844-32-deb8
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.4.4-i386-alpine-linux.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.4.4/ghc-8.4.4-i386-alpine-linux.tar.xz
|
||||||
dlSubdir: ghc-8.4.4
|
dlSubdir: ghc-8.4.4
|
||||||
dlHash: 892888d388ef5c9cadf5cfba1146d62237c25b9b066fb62fee940b2b285fd308
|
dlHash: 892888d388ef5c9cadf5cfba1146d62237c25b9b066fb62fee940b2b285fd308
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
@@ -765,7 +777,7 @@ ghcupDownloads:
|
|||||||
unknown_versioning: *ghc-865-64-centos
|
unknown_versioning: *ghc-865-64-centos
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.6.5-x86_64-alpine-linux.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.6.5/ghc-8.6.5-x86_64-alpine-linux.tar.xz
|
||||||
dlSubdir: ghc-8.6.5
|
dlSubdir: ghc-8.6.5
|
||||||
dlHash: b9d3ed7f7aa24ef2d58bb579252289caa0b8877adee3685e3af2fb73d440afdc
|
dlHash: b9d3ed7f7aa24ef2d58bb579252289caa0b8877adee3685e3af2fb73d440afdc
|
||||||
Linux_AmazonLinux:
|
Linux_AmazonLinux:
|
||||||
@@ -779,7 +791,7 @@ ghcupDownloads:
|
|||||||
dlHash: dfc1bdb1d303a87a8552aa17f5b080e61351f2823c2b99071ec23d0837422169
|
dlHash: dfc1bdb1d303a87a8552aa17f5b080e61351f2823c2b99071ec23d0837422169
|
||||||
FreeBSD:
|
FreeBSD:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.6.5-x86_64-portbld-freebsd.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.6.5/ghc-8.6.5-x86_64-portbld-freebsd.tar.xz
|
||||||
dlSubdir: ghc-8.6.5
|
dlSubdir: ghc-8.6.5
|
||||||
dlHash: 83a3059a630d40a98e26cb5b520354e12094a96e36ba2f5ab002dad94cf2fb37
|
dlHash: 83a3059a630d40a98e26cb5b520354e12094a96e36ba2f5ab002dad94cf2fb37
|
||||||
A_32:
|
A_32:
|
||||||
@@ -794,7 +806,7 @@ ghcupDownloads:
|
|||||||
unknown_versioning: *ghc-865-32-deb9
|
unknown_versioning: *ghc-865-32-deb9
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.6.5-i386-alpine-linux.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.6.5/ghc-8.6.5-i386-alpine-linux.tar.xz
|
||||||
dlSubdir: ghc-8.6.5
|
dlSubdir: ghc-8.6.5
|
||||||
dlHash: 3737837550d9b177acfe150e3a3cd4545427ded020487c2ed5194d7b8f116349
|
dlHash: 3737837550d9b177acfe150e3a3cd4545427ded020487c2ed5194d7b8f116349
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
@@ -963,7 +975,7 @@ ghcupDownloads:
|
|||||||
dlHash: 7016de90dd226b06fc79d0759c5d4c83c2ab01d8c678905442c28bd948dbb782
|
dlHash: 7016de90dd226b06fc79d0759c5d4c83c2ab01d8c678905442c28bd948dbb782
|
||||||
FreeBSD:
|
FreeBSD:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.8.3-x86_64-portbld-freebsd.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.3/ghc-8.8.3-x86_64-portbld-freebsd.tar.xz
|
||||||
dlSubdir: ghc-8.8.3
|
dlSubdir: ghc-8.8.3
|
||||||
dlHash: 569719075b4d14b3875a899df522090ae31e6fe085e6dffe518e875b09a2f0be
|
dlHash: 569719075b4d14b3875a899df522090ae31e6fe085e6dffe518e875b09a2f0be
|
||||||
A_32:
|
A_32:
|
||||||
@@ -980,7 +992,6 @@ ghcupDownloads:
|
|||||||
unknown_versioning: *ghc-883-32-deb9
|
unknown_versioning: *ghc-883-32-deb9
|
||||||
8.8.4:
|
8.8.4:
|
||||||
viTags:
|
viTags:
|
||||||
- Recommended
|
|
||||||
- base-4.13.0.0
|
- base-4.13.0.0
|
||||||
viChangeLog: https://downloads.haskell.org/~ghc/8.8.4/docs/html/users_guide/8.8.4-notes.html
|
viChangeLog: https://downloads.haskell.org/~ghc/8.8.4/docs/html/users_guide/8.8.4-notes.html
|
||||||
viSourceDL:
|
viSourceDL:
|
||||||
@@ -1017,7 +1028,7 @@ ghcupDownloads:
|
|||||||
unknown_versioning: *ghc-884-64-centos
|
unknown_versioning: *ghc-884-64-centos
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.8.4-x86_64-alpine-linux.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.4/ghc-8.8.4-x86_64-alpine-linux.tar.xz
|
||||||
dlSubdir: ghc-8.8.4
|
dlSubdir: ghc-8.8.4
|
||||||
dlHash: 90c6a1661de7f20c7d169cd6270125035b3332063e45103ce028df0beecf434e
|
dlHash: 90c6a1661de7f20c7d169cd6270125035b3332063e45103ce028df0beecf434e
|
||||||
Linux_AmazonLinux:
|
Linux_AmazonLinux:
|
||||||
@@ -1031,7 +1042,7 @@ ghcupDownloads:
|
|||||||
dlHash: e80a789e9d8cfb41dd87f3284b75432427c4461c1731d220d04ead8733ccdb5e
|
dlHash: e80a789e9d8cfb41dd87f3284b75432427c4461c1731d220d04ead8733ccdb5e
|
||||||
FreeBSD:
|
FreeBSD:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.8.4-x86_64-portbld-freebsd.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.4/ghc-8.8.4-x86_64-portbld-freebsd.tar.xz
|
||||||
dlSubdir: ghc-8.8.4
|
dlSubdir: ghc-8.8.4
|
||||||
dlHash: 8cebe5ccf454e82acd1ff52ca57590d1ab0f3f44a981b46257ec12158c8c447e
|
dlHash: 8cebe5ccf454e82acd1ff52ca57590d1ab0f3f44a981b46257ec12158c8c447e
|
||||||
A_32:
|
A_32:
|
||||||
@@ -1046,7 +1057,7 @@ ghcupDownloads:
|
|||||||
unknown_versioning: *ghc-884-32-deb9
|
unknown_versioning: *ghc-884-32-deb9
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.8.4-i386-alpine-linux.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.4/ghc-8.8.4-i386-alpine-linux.tar.xz
|
||||||
dlSubdir: ghc-8.8.4
|
dlSubdir: ghc-8.8.4
|
||||||
dlHash: 1d18e89ee031197e55c48683e78a7ffc67601ac5fd9f73aac555eb064b3859a2
|
dlHash: 1d18e89ee031197e55c48683e78a7ffc67601ac5fd9f73aac555eb064b3859a2
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
@@ -1107,7 +1118,7 @@ ghcupDownloads:
|
|||||||
dlHash: 65b1ca361093de4804a7e40b3e68178e1ef720f84f743641ec8d95e56a45b3a8
|
dlHash: 65b1ca361093de4804a7e40b3e68178e1ef720f84f743641ec8d95e56a45b3a8
|
||||||
FreeBSD:
|
FreeBSD:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.10.1-x86_64-portbld-freebsd.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.1/ghc-8.10.1-x86_64-portbld-freebsd.tar.xz
|
||||||
dlSubdir: ghc-8.10.1
|
dlSubdir: ghc-8.10.1
|
||||||
dlHash: e8646ec9b60fd40aa9505ee055f22f04601290ab7a1342c2cf37c34de9d3f142
|
dlHash: e8646ec9b60fd40aa9505ee055f22f04601290ab7a1342c2cf37c34de9d3f142
|
||||||
A_32:
|
A_32:
|
||||||
@@ -1123,14 +1134,14 @@ ghcupDownloads:
|
|||||||
unknown_versioning: *ghc-8101-32-deb9
|
unknown_versioning: *ghc-8101-32-deb9
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.10.1-i386-alpine-linux.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.1/ghc-8.10.1-i386-alpine-linux.tar.xz
|
||||||
dlSubdir: ghc-8.10.1
|
dlSubdir: ghc-8.10.1
|
||||||
dlHash: 7360cc6b29e9b4ab08f6ea5bc3bcca6f5c216933e81ef1620dcdd700f1fdb289
|
dlHash: 7360cc6b29e9b4ab08f6ea5bc3bcca6f5c216933e81ef1620dcdd700f1fdb289
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
unknown_versioning: *ghc-8101-32-deb9
|
unknown_versioning: *ghc-8101-32-deb9
|
||||||
8.10.2:
|
8.10.2:
|
||||||
viTags:
|
viTags:
|
||||||
- Latest
|
- old
|
||||||
- base-4.14.1.0
|
- base-4.14.1.0
|
||||||
viChangeLog: https://downloads.haskell.org/~ghc/8.10.2/docs/html/users_guide/8.10.2-notes.html
|
viChangeLog: https://downloads.haskell.org/~ghc/8.10.2/docs/html/users_guide/8.10.2-notes.html
|
||||||
viSourceDL:
|
viSourceDL:
|
||||||
@@ -1202,80 +1213,239 @@ ghcupDownloads:
|
|||||||
unknown_versioning: *ghc-8102-32-deb9
|
unknown_versioning: *ghc-8102-32-deb9
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://files.hasufell.de/ghc/ghc-8.10.2-i386-alpine-linux.tar.xz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.2/ghc-8.10.2-i386-alpine-linux.tar.xz
|
||||||
dlSubdir: ghc-8.10.2
|
dlSubdir: ghc-8.10.2
|
||||||
dlHash: 9ee1cf1e85e9536088b3c9e80e975074e525ea378cd4eb156071bbc4b7b38327
|
dlHash: 9ee1cf1e85e9536088b3c9e80e975074e525ea378cd4eb156071bbc4b7b38327
|
||||||
9.0.0.20200925:
|
8.10.3:
|
||||||
viTags:
|
viTags:
|
||||||
- Prerelease
|
- base-4.14.1.0
|
||||||
- base-4.15.0.0
|
viChangeLog: https://downloads.haskell.org/~ghc/8.10.3/docs/html/users_guide/8.10.3-notes.html
|
||||||
viSourceDL:
|
viSourceDL:
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-src.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-src.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
dlSubdir: ghc-8.10.3
|
||||||
dlHash: 142189a3a741af1deb40020c031f05aebfc2b6fd077ffd0c230cf405587cdbb0
|
dlHash: ccdc8319549028a708d7163e2967382677b1a5a379ff94d948195b5cf46eb931
|
||||||
viArch:
|
viArch:
|
||||||
A_64:
|
A_64:
|
||||||
Linux_Debian:
|
Linux_Debian:
|
||||||
'( >= 9 && < 10 )': &ghc-901a1-64-deb9
|
'( >= 9 && < 10 )': &ghc-8103-64-deb9
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-x86_64-deb9-linux.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-deb9-linux.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
dlSubdir: ghc-8.10.3
|
||||||
dlHash: d44ab6f933292066d3f4bafc7e1a4209f8044069f9360bd60a97d2de05a73db2
|
dlHash: 95e4aadea30701fe5ab84d15f757926d843ded7115e11c4cd827809ca830718d
|
||||||
'( >= 10 && < 11 )': &ghc-901a1-64-deb10
|
'( >= 10 && < 11 )': &ghc-8103-64-deb10
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-x86_64-deb10-linux-dwarf.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-deb10-linux.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
dlSubdir: ghc-8.10.3
|
||||||
dlHash: 958f98a97d244899d986168c89e4babe2b85ceaa4b0cf1c4631ea1dfa82ad75e
|
dlHash: c8f3d9f0e61a89eaba1d3ad8fb2eced1af0e81576811261b887993bee12538ac
|
||||||
unknown_versioning: *ghc-901a1-64-deb9
|
unknown_versioning: *ghc-8103-64-deb9
|
||||||
Linux_Ubuntu:
|
Linux_Ubuntu:
|
||||||
unknown_versioning: &ghc-901a1-64-fedora
|
unknown_versioning: &ghc-8103-64-fedora
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-x86_64-fedora27-linux.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-fedora27-linux.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
dlSubdir: ghc-8.10.3
|
||||||
dlHash: 2711afabbaab7abd1b8fdf846802ce6ca8e531641d64bbf75780d4de64180dca
|
dlHash: f8739b12008712d6b6a9ffc6c39f9d05af77ef3bcb932c9aff20fa0893c8c159
|
||||||
'( >= 16 && < 19 )': *ghc-901a1-64-deb9
|
'( >= 16 && < 19 )': *ghc-8103-64-deb9
|
||||||
Linux_Mint:
|
Linux_Mint:
|
||||||
unknown_versioning: *ghc-901a1-64-deb10
|
unknown_versioning: *ghc-8103-64-deb10
|
||||||
Linux_Fedora:
|
Linux_Fedora:
|
||||||
'( >= 27 && < 28 )': *ghc-901a1-64-fedora
|
'( >= 27 && < 28 )': *ghc-8103-64-fedora
|
||||||
unknown_versioning: *ghc-901a1-64-fedora
|
unknown_versioning: *ghc-8103-64-fedora
|
||||||
Linux_CentOS:
|
Linux_CentOS:
|
||||||
'( >= 7 && < 8 )': &ghc-901a1-64-centos
|
'( >= 7 && < 8 )': &ghc-8103-64-centos
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-x86_64-centos7-linux.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-centos7-linux.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
dlSubdir: ghc-8.10.3
|
||||||
dlHash: 5f6cd94e0d3917fa5c87031706e665f5d9b997f5c991c9c4c4e2900c39dc98ac
|
dlHash: f562ca61979ff1d21e34e69e59028cb742a8eff8d84e46bbd3a750f2ac7d8ed1
|
||||||
unknown_versioning: *ghc-901a1-64-centos
|
unknown_versioning: *ghc-8103-64-centos
|
||||||
Linux_RedHat:
|
Linux_RedHat:
|
||||||
unknown_versioning: *ghc-901a1-64-centos
|
unknown_versioning: *ghc-8103-64-centos
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-x86_64-alpine3.10-linux-integer-simple.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-alpine3.10-linux-integer-simple.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925-x86_64-unknown-linux
|
dlSubdir: ghc-8.10.3-x86_64-unknown-linux
|
||||||
dlHash: 05c0176e39cc89a95047060a589df0686ea1eb99b3de7f2cfadbe5e68bf93f68
|
dlHash: 8506c478ebbfb5441c3c36c07c36fc8532cacb2b3e13c6733bd44cb17b3ce96c
|
||||||
Linux_AmazonLinux:
|
Linux_AmazonLinux:
|
||||||
unknown_versioning: *ghc-901a1-64-centos
|
unknown_versioning: *ghc-8103-64-centos
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
unknown_versioning: *ghc-901a1-64-fedora
|
unknown_versioning: *ghc-8103-64-fedora
|
||||||
Darwin:
|
Darwin:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-x86_64-apple-darwin.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-apple-darwin.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
dlSubdir: ghc-8.10.3
|
||||||
dlHash: fb85a78f2bdad53c591261e21c80f3f50fa2b68bbb22632d9be6960af7b27813
|
dlHash: 2635f35d76e44e69afdfd37cae89d211975cc20f71f784363b72003e59f22015
|
||||||
FreeBSD:
|
FreeBSD:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-x86_64-unknown-freebsd.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-portbld-freebsd.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
dlSubdir: ghc-8.10.3
|
||||||
dlHash: 1e094cbbf9636b1f231bc99e44197fe7a05f570cf46f079bba1a0ca796c3c30c
|
dlHash: 749007e995104db05cf6e3ad5bc36238cab8afac8055145661e5730e8f8af040
|
||||||
A_32:
|
A_32:
|
||||||
Linux_Debian:
|
Linux_Debian:
|
||||||
'( >= 9 && < 10 )': &ghc-901a1-32-deb9
|
'( >= 9 && < 10 )': &ghc-8103-32-deb9
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1-alpha1/ghc-9.0.0.20200925-i386-deb9-linux.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-i386-deb9-linux.tar.xz
|
||||||
dlSubdir: ghc-9.0.0.20200925
|
dlSubdir: ghc-8.10.3
|
||||||
dlHash: a533641720c33f953ca5d100bc7da219d4cf52eae081c94c97b9ac4cbd9c1d06
|
dlHash: f0addd2a16b705f58ff9e8702c3ddf3e2d6bd0d3555707b5b5095e51bafee7b1
|
||||||
unknown_versioning: *ghc-901a1-32-deb9
|
unknown_versioning: *ghc-8103-32-deb9
|
||||||
Linux_Ubuntu:
|
Linux_Ubuntu:
|
||||||
unknown_versioning: *ghc-901a1-32-deb9
|
unknown_versioning: *ghc-8103-32-deb9
|
||||||
Linux_Mint:
|
Linux_Mint:
|
||||||
unknown_versioning: *ghc-901a1-32-deb9
|
unknown_versioning: *ghc-8103-32-deb9
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
unknown_versioning: *ghc-901a1-32-deb9
|
unknown_versioning: *ghc-8103-32-deb9
|
||||||
|
Linux_Alpine:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.3/ghc-8.10.3-i386-alpine-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.3
|
||||||
|
dlHash: 309201cdefd2d13b8b3fd09c26c6137048c490d219a0a9c7407c3ce1d011f60c
|
||||||
|
8.10.4:
|
||||||
|
viTags:
|
||||||
|
- Recommended
|
||||||
|
- base-4.14.1.0
|
||||||
|
viChangeLog: https://downloads.haskell.org/~ghc/8.10.4/docs/html/users_guide/8.10.4-notes.html
|
||||||
|
viSourceDL:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-src.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.4
|
||||||
|
dlHash: 52af871b4e08550257d720c2944ac85727d0b948407cef1bebfe7508c224910e
|
||||||
|
viArch:
|
||||||
|
A_64:
|
||||||
|
Linux_Debian:
|
||||||
|
'( >= 9 && < 10 )': &ghc-8104-64-deb9
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-deb9-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.4
|
||||||
|
dlHash: 5694200a5c38f22c142baf850b1d2f3784211d2ec9302e11693259a1ae8e38b7
|
||||||
|
'( >= 10 && < 11 )': &ghc-8104-64-deb10
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-deb10-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.4
|
||||||
|
dlHash: 816365565e9927459b035515a7db6a0db62f9796f327389b6f8a0035d12fbda0
|
||||||
|
unknown_versioning: *ghc-8104-64-deb9
|
||||||
|
Linux_Ubuntu:
|
||||||
|
unknown_versioning: &ghc-8104-64-fedora
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-fedora27-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.4
|
||||||
|
dlHash: a189eed900a8717d6d7906bafd10b9a9a9688ad942d1c75e19df480376dff9ea
|
||||||
|
'( >= 16 && < 19 )': *ghc-8104-64-deb9
|
||||||
|
Linux_Mint:
|
||||||
|
unknown_versioning: *ghc-8104-64-deb10
|
||||||
|
Linux_Fedora:
|
||||||
|
'( >= 27 && < 28 )': *ghc-8104-64-fedora
|
||||||
|
unknown_versioning: *ghc-8104-64-fedora
|
||||||
|
Linux_CentOS:
|
||||||
|
'( >= 7 && < 8 )': &ghc-8104-64-centos
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-centos7-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.4
|
||||||
|
dlHash: fb8a91f0cf06594172aff46c2f6f7486179e1c3760855c79fbdd3012598cc2cd
|
||||||
|
unknown_versioning: *ghc-8104-64-centos
|
||||||
|
Linux_RedHat:
|
||||||
|
unknown_versioning: *ghc-8104-64-centos
|
||||||
|
Linux_Alpine:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-alpine3.10-linux-integer-simple.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.4-x86_64-unknown-linux
|
||||||
|
dlHash: 74c2c07537832708502716ef4ec40019f8e552ddda13c8eadf8f7c4b03a79359
|
||||||
|
Linux_AmazonLinux:
|
||||||
|
unknown_versioning: *ghc-8104-64-centos
|
||||||
|
Linux_UnknownLinux:
|
||||||
|
unknown_versioning: *ghc-8104-64-fedora
|
||||||
|
Darwin:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-apple-darwin.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.4
|
||||||
|
dlHash: 725ecf6543e63b81a3581fb8c97afd21a08ae11bc0fa4f8ee25d45f0362ef6d5
|
||||||
|
FreeBSD:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-portbld-freebsd.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.4
|
||||||
|
dlHash: c9776a2ccf9629b03e967206a507fcdcb6c5189800a626e9461ababf6733c357
|
||||||
|
A_32:
|
||||||
|
Linux_Debian:
|
||||||
|
'( >= 9 && < 10 )': &ghc-8104-32-deb9
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-i386-deb9-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.4
|
||||||
|
dlHash: 0022c5b9ac22825bb7b4745af3d92cef0ba1ecd01fab3ef387ddbd47146569ad
|
||||||
|
unknown_versioning: *ghc-8104-32-deb9
|
||||||
|
Linux_Ubuntu:
|
||||||
|
unknown_versioning: *ghc-8104-32-deb9
|
||||||
|
Linux_Mint:
|
||||||
|
unknown_versioning: *ghc-8104-32-deb9
|
||||||
|
Linux_UnknownLinux:
|
||||||
|
unknown_versioning: *ghc-8104-32-deb9
|
||||||
|
Linux_Alpine:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.4/ghc-8.10.4-i386-alpine-linux.tar.xz
|
||||||
|
dlSubdir: ghc-8.10.4
|
||||||
|
dlHash: 9161a98bed763692101854d83af69c1316030cfe5ee6f6acde283d04ef139735
|
||||||
|
9.0.1:
|
||||||
|
viTags:
|
||||||
|
- Latest
|
||||||
|
- base-4.15.0.0
|
||||||
|
viChangeLog: https://downloads.haskell.org/~ghc/9.0.1/docs/html/users_guide/9.0.1-notes.html
|
||||||
|
viSourceDL:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-src.tar.xz
|
||||||
|
dlSubdir: ghc-9.0.1
|
||||||
|
dlHash: a5230314e4065f9fcc371dfe519748fd85c825b279abf72a24e09b83578a35f9
|
||||||
|
viArch:
|
||||||
|
A_64:
|
||||||
|
Linux_Debian:
|
||||||
|
'( >= 9 && < 10 )': &ghc-901-64-deb9
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-deb9-linux.tar.xz
|
||||||
|
dlSubdir: ghc-9.0.1
|
||||||
|
dlHash: 4ca6252492f59fe589029fadca4b6f922d6a9f0ff39d19a2bd9886fde4e183d5
|
||||||
|
'( >= 10 && < 11 )': &ghc-901-64-deb10
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-deb10-linux.tar.xz
|
||||||
|
dlSubdir: ghc-9.0.1
|
||||||
|
dlHash: c253e7eb62cc9da6524c491c85ec8d3727c2ca6035a8653388e636aaa30a2a0f
|
||||||
|
unknown_versioning: *ghc-901-64-deb9
|
||||||
|
Linux_Ubuntu:
|
||||||
|
unknown_versioning: &ghc-901-64-fedora
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-fedora27-linux.tar.xz
|
||||||
|
dlSubdir: ghc-9.0.1
|
||||||
|
dlHash: 1fb8e27eeec51b4cdbfd1b3c16727adc5f77388d3e925e63799d8232647f316d
|
||||||
|
'( >= 16 && < 19 )': *ghc-901-64-deb9
|
||||||
|
Linux_Mint:
|
||||||
|
unknown_versioning: *ghc-901-64-deb10
|
||||||
|
Linux_Fedora:
|
||||||
|
'( >= 27 && < 28 )': *ghc-901-64-fedora
|
||||||
|
unknown_versioning: *ghc-901-64-fedora
|
||||||
|
Linux_CentOS:
|
||||||
|
'( >= 7 && < 8 )': &ghc-901-64-centos
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-centos7-linux.tar.xz
|
||||||
|
dlSubdir: ghc-9.0.1
|
||||||
|
dlHash: a23750950b6995a66ba59afe82bbc505bd3479d6ab59cf66f45bc6c056e4d87b
|
||||||
|
unknown_versioning: *ghc-901-64-centos
|
||||||
|
Linux_RedHat:
|
||||||
|
unknown_versioning: *ghc-901-64-centos
|
||||||
|
Linux_Alpine:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-alpine3.10-linux-integer-simple.tar.xz
|
||||||
|
dlSubdir: ghc-9.0.1-x86_64-unknown-linux
|
||||||
|
dlHash: 7c1a0154c9e361b75be6cb0305533bb8a3b963c54e8092ffd1759e5710805a5c
|
||||||
|
Linux_AmazonLinux:
|
||||||
|
unknown_versioning: *ghc-901-64-centos
|
||||||
|
Linux_UnknownLinux:
|
||||||
|
unknown_versioning: *ghc-901-64-fedora
|
||||||
|
Darwin:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-apple-darwin.tar.xz
|
||||||
|
dlSubdir: ghc-9.0.1
|
||||||
|
dlHash: 122d60509147d0117779d275f0215bde2ff63a64cda9d88f149432d0cae71b22
|
||||||
|
FreeBSD:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-portbld-freebsd.tar.xz
|
||||||
|
dlSubdir: ghc-9.0.1
|
||||||
|
dlHash: 9dbc06d8832cae5c9f86dd7b2db729b3748a47beb4fd4b1e62bb66119817c3c1
|
||||||
|
A_32:
|
||||||
|
Linux_Debian:
|
||||||
|
'( >= 9 && < 10 )': &ghc-901-32-deb9
|
||||||
|
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-i386-deb9-linux.tar.xz
|
||||||
|
dlSubdir: ghc-9.0.1
|
||||||
|
dlHash: 880e37cea8328401bcfecfe4bb56eb85195f30135b140140b3f24094264f8ba5
|
||||||
|
unknown_versioning: *ghc-901-32-deb9
|
||||||
|
Linux_Ubuntu:
|
||||||
|
unknown_versioning: *ghc-901-32-deb9
|
||||||
|
Linux_Mint:
|
||||||
|
unknown_versioning: *ghc-901-32-deb9
|
||||||
|
Linux_UnknownLinux:
|
||||||
|
unknown_versioning: *ghc-901-32-deb9
|
||||||
|
Linux_Alpine:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/9.0.1/ghc-9.0.1-i386-alpine-linux.tar.xz
|
||||||
|
dlSubdir: ghc-9.0.1
|
||||||
|
dlHash: ebfeb3b91e6f2bb5a49fd3376746f7fd1b89e62e9838bf5b1530a8756ff1e6aa
|
||||||
Cabal:
|
Cabal:
|
||||||
2.4.1.0:
|
2.4.1.0:
|
||||||
viTags:
|
viTags:
|
||||||
@@ -1342,8 +1512,7 @@ ghcupDownloads:
|
|||||||
dlHash: 6898ccd6e6dc0872999c06daaf61d546164e12f60a1880d09852c9f0c59c5cf6
|
dlHash: 6898ccd6e6dc0872999c06daaf61d546164e12f60a1880d09852c9f0c59c5cf6
|
||||||
3.2.0.0:
|
3.2.0.0:
|
||||||
viTags:
|
viTags:
|
||||||
- Recommended
|
- old
|
||||||
- Latest
|
|
||||||
viChangeLog: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/changelog
|
viChangeLog: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/changelog
|
||||||
viArch:
|
viArch:
|
||||||
A_64:
|
A_64:
|
||||||
@@ -1372,30 +1541,40 @@ ghcupDownloads:
|
|||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-i386-unknown-linux.tar.xz
|
dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-i386-unknown-linux.tar.xz
|
||||||
dlHash: 2b3ac28549916de5f3379241797eaf60e84b6c001f2abbe73d9fadbbaf768e93
|
dlHash: 2b3ac28549916de5f3379241797eaf60e84b6c001f2abbe73d9fadbbaf768e93
|
||||||
3.4.0.0-rc4:
|
3.4.0.0:
|
||||||
viTags:
|
viTags:
|
||||||
- Prerelease
|
- Recommended
|
||||||
|
- Latest
|
||||||
viChangeLog: https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.4.0.0.md
|
viChangeLog: https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.4.0.0.md
|
||||||
viArch:
|
viArch:
|
||||||
A_64:
|
A_64:
|
||||||
Linux_Ubuntu:
|
Linux_Ubuntu:
|
||||||
unknown_versioning: &cabal-3400rc4-ubuntu
|
unknown_versioning: &cabal-3400-ubuntu
|
||||||
dlUri: https://oleg.fi/cabal-install-3.4.0.0-rc4/cabal-install-3.4.0.0-x86_64-ubuntu-16.04.tar.xz
|
dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-ubuntu-16.04.tar.xz
|
||||||
dlHash: a1be168876816a624b206c55596d9bb5f442541c889ee2438d664698122b9ffe
|
dlHash: cf28f9ffd763476aa2b1730d85cbf155d366fac541f78ee3951e8cb2d6de63e6
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://oleg.fi/cabal-install-3.4.0.0-rc4/cabal-install-3.4.0.0-x86_64-alpine-3.11.6-static-noofd.tar.xz
|
dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-alpine-3.11.6-static-noofd.tar.xz
|
||||||
dlHash: 49dab6684483594e4c7c3e561ec477268002605253ad34701b471277efbe91bc
|
dlHash: c74073fe79110946182e522fcadc8dcabf07c87583e8cf7801ed4e0c327241f6
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
unknown_versioning: *cabal-3400rc4-ubuntu
|
unknown_versioning: *cabal-3400-ubuntu
|
||||||
Darwin:
|
Darwin:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://oleg.fi/cabal-install-3.4.0.0-rc4/cabal-install-3.4.0.0-x86_64-darwin-sierra.tar.xz
|
dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-darwin-sierra.tar.xz
|
||||||
dlHash: a3f809a3388e90b9fdf52444e30ea9aad3894e2cbe53c37fc3311ceb106eda9e
|
dlHash: cb10be9a53e856aa2d852fd88fb6944f138783ffe0ea84d93c9a69244e34ea91
|
||||||
FreeBSD:
|
FreeBSD:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://oleg.fi/cabal-install-3.4.0.0-rc4/cabal-install-3.4.0.0-x86_64-freebsd-12.1-release.tar.xz
|
dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-freebsd-12.1-release.tar.xz
|
||||||
dlHash: 9705e16d03497b46be4ad477e6c64d10890af853eafa8a9adf6dba89aa9e05f7
|
dlHash: a1e2db664ec00e42a1e071a4181f6476f6e0bad321f1ddc0cf27831119f4c6d4
|
||||||
|
A_32:
|
||||||
|
Linux_UnknownLinux:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-i386-debian-9.tar.xz
|
||||||
|
dlHash: ef3750644a53f7b1fad141b2ad02d4c7a3b239ec0cbfa7f0528fb02c1dfcebce
|
||||||
|
Linux_Alpine:
|
||||||
|
unknown_versioning:
|
||||||
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/cabal/3.4.0.0/cabal-install-3.4.0.0-i386-alpine-linux-musl.tar.gz
|
||||||
|
dlHash: 95adb65f3a72aa8d9ce83685bc06e1eee5b801f56e204e27e957e8a35abd9cf8
|
||||||
GHCup:
|
GHCup:
|
||||||
0.1.12:
|
0.1.12:
|
||||||
viTags:
|
viTags:
|
||||||
@@ -1427,20 +1606,20 @@ ghcupDownloads:
|
|||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning: *ghcup-32
|
unknown_versioning: *ghcup-32
|
||||||
HLS:
|
HLS:
|
||||||
0.7.1:
|
0.9.0:
|
||||||
viTags:
|
viTags:
|
||||||
- Recommended
|
- Recommended
|
||||||
- Latest
|
- Latest
|
||||||
viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#071
|
viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#090
|
||||||
viArch:
|
viArch:
|
||||||
A_64:
|
A_64:
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
unknown_versioning: &hls-64
|
unknown_versioning: &hls-64
|
||||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/0.7.1/haskell-language-server-Linux-0.7.1.tar.gz
|
dlUri: https://github.com/haskell/haskell-language-server/releases/download/0.9.0/haskell-language-server-Linux-0.9.0.tar.gz
|
||||||
dlHash: e74f3bd1f91613a1859a411f369dc34afce9e3e9b7c99ea4f251d81111627f62
|
dlHash: 6933216e2fcdc51a32a828f7880403d83433b6585ff393da196f6db1d4e1e53f
|
||||||
Darwin:
|
Darwin:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/0.7.1/haskell-language-server-macOS-0.7.1.tar.gz
|
dlUri: https://github.com/haskell/haskell-language-server/releases/download/0.9.0/haskell-language-server-macOS-0.9.0.tar.gz
|
||||||
dlHash: 87ac37cfc74abb4f348a799ee6e76266fe1972dead72b7b11ee1411cc83924ed
|
dlHash: f6197977941e803e128889f1170bebca97a80c1b62234bf5c7b1032ab3df68f4
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning: *hls-64
|
unknown_versioning: *hls-64
|
||||||
|
|||||||
@@ -431,6 +431,7 @@ executable ghcup-gen
|
|||||||
, optics
|
, optics
|
||||||
, optparse-applicative
|
, optparse-applicative
|
||||||
, pretty-terminal
|
, pretty-terminal
|
||||||
|
, regex-posix
|
||||||
, resourcet
|
, resourcet
|
||||||
, safe-exceptions
|
, safe-exceptions
|
||||||
, string-interpolate
|
, string-interpolate
|
||||||
|
|||||||
20
lib/GHCup.hs
20
lib/GHCup.hs
@@ -1314,12 +1314,24 @@ upgradeGHCup dls mtarget force pfreq = do
|
|||||||
tmp <- lift withGHCupTmpDir
|
tmp <- lift withGHCupTmpDir
|
||||||
let fn = [rel|ghcup|]
|
let fn = [rel|ghcup|]
|
||||||
p <- liftE $ download dli tmp (Just fn)
|
p <- liftE $ download dli tmp (Just fn)
|
||||||
let fullDest = fromMaybe (binDir </> fn) mtarget
|
let destDir = dirname destFile
|
||||||
liftIO $ hideError NoSuchThing $ deleteFile fullDest
|
destFile = fromMaybe (binDir </> fn) mtarget
|
||||||
|
lift $ $(logDebug) [i|mkdir -p #{toFilePath destDir}|]
|
||||||
|
liftIO $ createDirRecursive' destDir
|
||||||
|
lift $ $(logDebug) [i|rm -f #{toFilePath destFile}|]
|
||||||
|
liftIO $ hideError NoSuchThing $ deleteFile destFile
|
||||||
|
lift $ $(logDebug) [i|cp #{toFilePath p} #{toFilePath destFile}|]
|
||||||
handleIO (throwE . CopyError . show) $ liftIO $ copyFile p
|
handleIO (throwE . CopyError . show) $ liftIO $ copyFile p
|
||||||
fullDest
|
destFile
|
||||||
Overwrite
|
Overwrite
|
||||||
lift $ chmod_755 fullDest
|
lift $ chmod_755 destFile
|
||||||
|
|
||||||
|
liftIO (isInPath destFile) >>= \b -> when (not b) $
|
||||||
|
lift $ $(logWarn) [i|"#{toFilePath (dirname destFile)}" is not in PATH! You have to add it in order to use ghcup.|]
|
||||||
|
liftIO (isShadowed destFile) >>= \case
|
||||||
|
Nothing -> pure ()
|
||||||
|
Just pa -> lift $ $(logWarn) [i|ghcup is shadowed by "#{toFilePath pa}". The upgrade will not be in effect, unless you remove "#{toFilePath pa}" or make sure "#{toFilePath destDir}" comes before "#{toFilePath (dirname pa)}" in PATH.|]
|
||||||
|
|
||||||
pure latestVer
|
pure latestVer
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ data Tool = GHC
|
|||||||
| Cabal
|
| Cabal
|
||||||
| GHCup
|
| GHCup
|
||||||
| HLS
|
| HLS
|
||||||
deriving (Eq, GHC.Generic, Ord, Show)
|
deriving (Eq, GHC.Generic, Ord, Show, Enum, Bounded)
|
||||||
|
|
||||||
|
|
||||||
-- | All necessary information of a tool version, including
|
-- | All necessary information of a tool version, including
|
||||||
@@ -172,7 +172,7 @@ data DownloadInfo = DownloadInfo
|
|||||||
, _dlSubdir :: Maybe TarDir
|
, _dlSubdir :: Maybe TarDir
|
||||||
, _dlHash :: Text
|
, _dlHash :: Text
|
||||||
}
|
}
|
||||||
deriving (Eq, GHC.Generic, Show)
|
deriving (Eq, Ord, GHC.Generic, Show)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -185,7 +185,7 @@ data DownloadInfo = DownloadInfo
|
|||||||
-- | How to descend into a tar archive.
|
-- | How to descend into a tar archive.
|
||||||
data TarDir = RealDir (Path Rel)
|
data TarDir = RealDir (Path Rel)
|
||||||
| RegexDir String -- ^ will be compiled to regex, the first match will "win"
|
| RegexDir String -- ^ will be compiled to regex, the first match will "win"
|
||||||
deriving (Eq, GHC.Generic, Show)
|
deriving (Eq, Ord, GHC.Generic, Show)
|
||||||
|
|
||||||
|
|
||||||
-- | Where to fetch GHCupDownloads from.
|
-- | Where to fetch GHCupDownloads from.
|
||||||
|
|||||||
@@ -407,6 +407,32 @@ searchPath paths needle = go paths
|
|||||||
else pure False
|
else pure False
|
||||||
|
|
||||||
|
|
||||||
|
-- | Check wether a binary is shadowed by another one that comes before
|
||||||
|
-- it in PATH. Returns the path to said binary, if any.
|
||||||
|
isShadowed :: Path Abs -> IO (Maybe (Path Abs))
|
||||||
|
isShadowed p = do
|
||||||
|
let dir = dirname p
|
||||||
|
fn <- basename p
|
||||||
|
spaths <- catMaybes . fmap parseAbs <$> (liftIO getSearchPath)
|
||||||
|
if dir `elem` spaths
|
||||||
|
then do
|
||||||
|
let shadowPaths = takeWhile (/= dir) spaths
|
||||||
|
searchPath shadowPaths fn
|
||||||
|
else pure Nothing
|
||||||
|
|
||||||
|
|
||||||
|
-- | Check whether the binary is in PATH. This returns only `True`
|
||||||
|
-- if the directory containing the binary is part of PATH.
|
||||||
|
isInPath :: Path Abs -> IO Bool
|
||||||
|
isInPath p = do
|
||||||
|
let dir = dirname p
|
||||||
|
fn <- basename p
|
||||||
|
spaths <- catMaybes . fmap parseAbs <$> (liftIO getSearchPath)
|
||||||
|
if dir `elem` spaths
|
||||||
|
then isJust <$> searchPath [dir] fn
|
||||||
|
else pure False
|
||||||
|
|
||||||
|
|
||||||
findFiles :: Path Abs -> Regex -> IO [Path Rel]
|
findFiles :: Path Abs -> Regex -> IO [Path Rel]
|
||||||
findFiles path regex = do
|
findFiles path regex = do
|
||||||
dirStream <- openDirStream (toFilePath path)
|
dirStream <- openDirStream (toFilePath path)
|
||||||
|
|||||||
Reference in New Issue
Block a user